Co to są pliki .in?

28

Czasami w źródłach projektów widzę pliki „* .in”. Na przykład kilka plików „Makefile.in”. Do czego służą i / lub co oznacza część „.in”? Przypuszczam, że to ma coś wspólnego z autoconflub makeczy coś ci, ale nie jestem pewien.

Próbowałem wyszukać „rozszerzenie pliku .in”, „rozszerzenie pliku autoconf .in”, „autoconf .in”, „autoconf kropka w” i inne warianty, bez powodzenia.

strugee
źródło
Jeśli chcesz dowiedzieć się, jak działają narzędzia automatyczne, proponuję serię artykułów: freesoftwaremagazine.com/articles/… .
Boris Burkov
Znalazłem to podczas wyszukiwania w Google. Trochę straszne. fileinfo.com/extension/in
Bozeyman9000

Odpowiedzi:

18

to tylko konwencja oznaczająca, że ​​dany plik jest przeznaczony input; z mojego doświadczenia wynika, że ​​te pliki są typowym szablonem, z którego wynikają określone pliki wyjściowe lub skrypty.

Josh McGee
źródło
3
Czy poza zainteresowaniem możesz podać kilka przykładów, w których „.in” jest używany w ten sposób poza autoconfdomeną?
spinkus
32

Uważam, że proces automatycznego tworzenia pliku Makefile.in jest mniej więcej taki:

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

W rzeczywistości nikt nie pisze pliku Makefile.in. Jedynym plikiem zdefiniowanym przez programistę jest tutaj Makefile.am.

Trevor Hickey
źródło
3
Cóż, czasami pisałem Makefile.in, bo automake nie zrobiłby tego, co chciałem.
Simon Richter,
6

Są to pliki wejściowe dla m4preprocesora makr. Pliki te zawierają między innymi makra oznaczone @, które są rozwijane przez m4.

ninjalj
źródło
1
Nie. Makefile.innigdy nie ma na nią wpływu m4.
Simon Richter,