0

ディレクティブがあるとしますinclude:

include dep/dep.mk

ビルドに必要なその他の情報を含めるため。ただし、特定のターゲットが構築された後にのみ含める必要があります。どうやってやるの?

例えば:

test: foo.c bar.c
     include dep/dep.mk

この場合はinclude、シェルコマンドとして認識させるため動作しません。

4

1 に答える 1

2

そんなことはできません。十分に最新のヴィンテージの GNU make を使用している場合は、 を使用できますが$(eval include dep/dep.mk)、含まれている makefileではルールを定義できないことに注意してください。make がターゲットの構築を開始すると、 を使用しても、新しいルール/ターゲットを定義できません$(eval ...)

あなたができる最善のことは、そのファイルをインクルードしたいコマンドがmakeを再帰的に呼び出して、サブmakeがファイルをインクルードするようにすることです。

しかし、私はエルダーに同意します。要件を再検討する必要があります。なぜそうしたいのかを説明していただければ、より適切なアドバイスができるかもしれません。

于 2012-05-28T20:03:53.173 に答える