Manchmal sehe ich in den Quellen von Projekten „* .in“ -Dateien. Zum Beispiel eine Reihe von „Makefile.in“. Wofür sind sie und / oder was bedeutet der Teil „.in“? Ich gehe davon aus, dass dies etwas mit autoconf
oder make
oder so etwas zu tun hat, 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.
Kommentare
- Wenn Sie wissen möchten, wie Autotools funktionieren, empfehle ich diese Artikelserie: freesoftwaremagazine.com/articles / … .
- Ich habe dies in meiner Google-Suche gefunden. Ein bisschen gruselig. fileinfo.com/extension/in
Antwort
Es ist nur eine Konvention, die angibt, dass die angegebene Datei für input
ist. Nach meiner Erfahrung handelt es sich bei diesen Dateien in der Regel um eine Art generische Vorlage, aus der eine bestimmte Ausgabedatei stammt oder Skriptergebnisse.
Kommentare
- Könnten Sie aus Interesse einige Beispiele nennen, bei denen ". in " wird auf diese Weise außerhalb des Bereichs
autoconf
verwendet?
Antwort
Ich glaube, der automake -Prozess mit einem Makefile.in sieht ungefähr so aus:
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 Makefile.am.
Kommentare
- Nun, gelegentlich habe ich ' eine
Makefile.in
geschrieben, weil automake nicht
tu nicht was ich will.
Antwort
Das sind sie Eingabedateien für den Makro-Präprozessor m4
. Diese Dateien enthalten unter anderem mit @ gekennzeichnete Makros, die um m4 erweitert werden.
Kommentare
- Nein.
Makefile.in
wird niemals von irgendetwas berührt, das mitm4
zusammenhängt.