Was sind .in-Dateien?

28

Manchmal sehe ich in den Quellen von Projekten "* .in" -Dateien. Zum Beispiel eine Reihe von "Makefile.in" s. Wofür sind sie und / oder was bedeutet der Teil ".in"? Ich nehme an, das hat etwas mit autoconfoder makeoder so etwas zu tun , aber ich bin mir nicht sicher.

Ich habe versucht, nach ".in-Dateierweiterung", "autoconf .in-Dateierweiterung", "autoconf .in", "autoconf dot in" und anderen Varianten zu suchen, ohne Erfolg.

strugee
quelle
Wenn Sie wissen möchten, wie Autotools funktionieren, empfehle ich diese Artikelserie: freesoftwaremagazine.com/articles/… .
Boris Burkov
Ich habe dies in meiner Google-Suche gefunden. Ein bisschen gruselig. fileinfo.com/extension/in
Bozeyman9000

Antworten:

18

Es ist nur eine Konvention, die besagt, dass die angegebene Datei für ist input. Nach meiner Erfahrung handelt es sich bei diesen Dateien in der Regel um eine Art allgemeine Vorlage, aus der eine bestimmte Ausgabedatei oder ein bestimmtes Skript resultiert.

Josh McGee
quelle
3
Können Sie aus Interesse einige Beispiele nennen, in denen ".in" außerhalb des autoconfBereichs auf diese Weise verwendet wird ?
Spinkus
32

Ich glaube, der automake- Prozess mit einer Makefile.in ist ungefähr so:

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

Niemand schreibt tatsächlich ein Makefile.in. Die einzige vom Programmierer definierte Datei hier ist die Datei "Makefile.am".

Trevor Hickey
quelle
3
Nun, gelegentlich habe ich eine geschrieben Makefile.in, weil automake nicht das tun würde, was ich will.
Simon Richter
6

Sie sind Eingabedateien für den m4Makro-Präprozessor. Diese Dateien enthalten unter anderem mit @ gekennzeichnete Makros, die um m4 erweitert werden.

Ninjalj
quelle
1
Nee. Makefile.inwird nie von irgendetwas in m4Verbindung gebracht.
Simon Richter