3

前処理後のメイクファイルを表示するには? たとえば、2 つの makefile があるとします。

# Makefile
include Makefile2

# Makefile2
a:a.c
    gcc -o a a.c

次に<preprocessor> Makefile与える必要があります:

a:a.c
    gcc -o a a.c

これは、C プリプロセッサが行うことと似ています ( gcc -E)。そのようなメイクファイル プリプロセッサはありますか?

4

1 に答える 1

1

makefile を作成している make ツールを指定していません。GNU make であると仮定すると、makefile を-n (--just-print)オプションで実行してみることができます。こちらのコマンドライン オプションの章を参照してください。これにより、make が実行なしで実行される内容が表示されます (ただし、変数の評価に必要なコマンドは実行されます)。これはおそらく、あなたが見たいものに最も近いものです。

これにより、make は makefile を読み取り、ターゲットを更新するために通常実行するすべてのコマンドを出力しますが、実行はしません。

それとは別に、メイクファイルをデバッグするための$(warning )関数があります。makefile のほとんどの部分に配置できます。次の例では、その場所に定義されているすべての変数の値が表示されます。

$(warning Variables HERE: .VARIABLES)
于 2013-07-08T21:43:59.760 に答える