1

ラボで他の誰かが作成したMakefileに取り組んでいますが、次のように表示されます。

include /path/to/Makefile.inc

TARGET_A: pre_req_1 pre_req_2
    cmd_1;
    cmd_2;
    ...

見てみる と、の前提条件やレシピを/path/to/Makefile.inc含むターゲットも含まれていることがわかります。TARGET_A

これは通常の習慣ですか?(そしてそれは機能しますか?)make2つのルールを別々に扱いますか?どちらが最初に考慮されるかについて、安全に仮定を立てることができますか?

4

1 に答える 1

4

どちらが適用されているかを知ることは混乱を招くため、これは危険な行為です。

インクルードされたファイルの内容がMakefileにある場合、「include」は動作し、Makefileの読み取り中にターゲットがオーバーライドされます。したがって、最後のターゲットが尊重され、(含まれているファイル内の)最初のターゲットは無視されます。

于 2012-10-08T20:04:02.380 に答える