2017-01-21 13 views
0

GCCのソースコードを読んでいて、いくつか質問があります。 GCCはautotoolsで構築されていることは明らかです。しかし、私はautomakeに必要なMakefile.amファイルを見つけることができませんでした。 GCCのMakefile.inファイルは手書きで書かれていますか?手で書かれている場合、Makefile.inの構文を記述する文書はどこにありますか?GCCのMakefile.amを使わないでMakefile.in?

同様の質問:Makefile.in without Makefile.am in projects

+0

これはGNUツールなので、Makefile.inが何かから生成された場合、何かが利用可能でなければならないでしょう。 ChangeLogにアクセスすると、Makefile.inの変更が「変更bla bla」と表示され、configureのように「再生成」されないことがわかります。あなたは結論づけることができます。 –

+0

はい。しかし一方で、Makefile.inは本当に大きく、読みにくいです。私はこのようなファイルがいくつかのプライベートなメンテナースクリプトによって自動的に生成されたことに疑問を持ってきました... – noinput

答えて

1

Makefile.amはAutotool群の家族に、後で追加ではなく、すべてのプロジェクトは、それを使用しています。 GCCは特にそれを使用しません。 Makefile.inは、autogen(詳細はhereを参照)を使用してMakefile.tplから生成されます。他のMakefile.inAutoconf rulesに従って手書きで書かれています。

+0

一番上のディレクトリは、Makefile.tplテンプレートファイルを使用しています。しかし、私は他のサブディレクトリでも同様のテンプレートファイルを見つけることができませんでした。例えば、libcppのように、Makefile.inだけがあります。このファイルは「手で書かれていますか? – noinput

+0

はい、これらの他の 'Makefile.in'は手作業で編集されます([Autoconf rules](https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Makefile -Substitutions.html#Makefile-Substitutions))。 – yugr

+0

@noinputこの回答は役に立ちましたか? – yugr

関連する問題