.in ファイルとは何ですか?

.in ファイルとは何ですか?

プロジェクトのソースで「*.in」ファイルを見かけることがあります。たとえば、「Makefile.in」の束などです。これらは何のためにあるのでしょうか。また、「.in」の部分はどういう意味なのでしょうか。これは、または、autoconfまたはmake、それらに似たものと関係があると思いますが、よくわかりません。

「.in ファイル拡張子」、「autoconf .in ファイル拡張子」、「autoconf .in」、「autoconf ドットイン」などのバリエーションを検索してみましたが、見つかりません。

答え1

私はオートメイクプロセスを伴うメイクファイル.in次のようなものです:

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

実際に Makefile.in を書く人はいません。ここでプログラマが定義する唯一のファイルは Makefile.am です。

答え2

これは、特定のファイルが 用であることを示す単なる規則ですinput。私の経験では、これらのファイルは、特定の出力ファイルまたはスクリプトが生成される一種の汎用テンプレートになる傾向があります。

答え3

これらはm4マクロ プリプロセッサの入力ファイルです。特に、これらのファイルには @ でマークされたマクロが含まれており、m4 によって展開されます。

関連情報