1

なじみのないソフトウェアパッケージを作ろうとしていますが、これもなじみのないautomakeを使用しています。さまざまなMakefileには、マクロ$(AM_MAKEFLAGS)がいたるところにあります。このマクロの内容を知る必要があります。greppedとgreppedを実行しましたが、定義されている場所が見つかりません。これは、AM_MAKEFLAGSが空白であることを意味しますか?それとも、automaketypicalは私が決して見ようとは思わない場所にそれを置きますか?結論:どこにも定義されていない場合、何が含まれているのかを知るにはどうすればよいですか?ありがとう。

4

2 に答える 2

4

を呼び出すときmakeは、コマンドラインパラメーターを使用する-pか、検出--print-data-baseしたすべてのルールと変数の値を出力させることができます。出力をファイルにリダイレクトし、AM_MAKEFLAGSそのファイルを検索すると、変数が定義されているかどうか、定義されている場合はその値が表示されます。追加情報については、セクション9.7オプションの要約を参照してください。

于 2013-02-01T07:59:33.313 に答える
1

Makefile.inまず、 automakeによって生成されたもの、またはテンプレートMakefileからconfigureによって(config.statusを介して)構築されたものを確認する必要はほとんどなく、望ましくないことに注意してMakefile.inください。これらは人間の消費を目的としたものではありません。それらを読むことは、元のソースコードではなく、コンパイラによって生成されたマシンコードを見ることに似ています。

AM_MAKEFLAGSパッケージメンテナが基本的ににテキストを追加できるメカニズムMAKEFLAGSです。のすべての呼び出しは、引数としてmake呼び出されます。AM_MAKEFLAGSそれは(非常に)しばしば未定義のままであり、無視することができます。メンテナがそれを定義することを選択した場合、定義はになり、定義を提供する行は、automakeによってMakefile.am逐語的にコピーされます。Makefile.in

于 2013-02-02T16:00:30.573 に答える