Que sont les fichiers .in?

28

Parfois, dans les sources de projets, je vois des fichiers "* .in". Par exemple, un tas de "Makefile.in" s. À quoi servent-ils et / ou que signifie la partie ".in"? Je suppose que cela a quelque chose à voir avec autoconfou makeou quelque chose comme ça, mais je ne suis pas sûr.

J'ai essayé de rechercher ".in file extension", "autoconf .in file extension", "autoconf .in", "autoconf dot in" et d'autres variantes, sans succès.

strugee
la source
Si vous voulez savoir comment fonctionnent les outils automatiques, je suggère cette série d'articles: freesoftwaremagazine.com/articles/… .
Boris Burkov
J'ai trouvé cela dans ma recherche Google. Un peu effrayant. fileinfo.com/extension/in
Bozeyman9000

Réponses:

18

c'est juste une convention qui signifie que le fichier donné est pour input; d'après mon expérience, ces fichiers ont tendance à être une sorte de modèle générique à partir duquel un fichier de sortie ou un script spécifique résulte.

Josh McGee
la source
3
Par intérêt, pourriez-vous citer quelques exemples où ".in" est utilisé de cette manière en dehors du autoconfdomaine?
spinkus
32

Je crois que le automake processus impliquant un Makefile.in est quelque chose comme ceci:

  Makefile.am
       |
      \'/
+--------------+
|   automake   |
+--------------+
       |
      \'/
   Makefile.in
       |
      \'/
+--------------+    +--------------+
| ./configure  |<-- |   autoconf   |<-- configure.in
+--------------+    +--------------+
       |
      \'/
    Makefile

Personne n'écrit réellement un Makefile.in. Le seul fichier défini par le programmeur ici est le Makefile.am.

Trevor Hickey
la source
3
Eh bien, à l'occasion, j'en ai écrit un Makefile.in, car Automake ne faisait pas ce que je voulais.
Simon Richter
6

Ce sont des fichiers d'entrée pour le m4préprocesseur de macros. Entre autres, ces fichiers contiennent des macros marquées par @, qui sont développées par m4.

ninjalj
la source
1
Nan. Makefile.inn'est jamais touché par quelque chose de m4connexe.
Simon Richter