ディレクティブがあるとしますinclude
:
include dep/dep.mk
ビルドに必要なその他の情報を含めるため。ただし、特定のターゲットが構築された後にのみ含める必要があります。どうやってやるの?
例えば:
test: foo.c bar.c
include dep/dep.mk
この場合はinclude
、シェルコマンドとして認識させるため動作しません。
ディレクティブがあるとしますinclude
:
include dep/dep.mk
ビルドに必要なその他の情報を含めるため。ただし、特定のターゲットが構築された後にのみ含める必要があります。どうやってやるの?
例えば:
test: foo.c bar.c
include dep/dep.mk
この場合はinclude
、シェルコマンドとして認識させるため動作しません。
そんなことはできません。十分に最新のヴィンテージの GNU make を使用している場合は、 を使用できますが$(eval include dep/dep.mk)
、含まれている makefileではルールを定義できないことに注意してください。make がターゲットの構築を開始すると、 を使用しても、新しいルール/ターゲットを定義できません$(eval ...)
。
あなたができる最善のことは、そのファイルをインクルードしたいコマンドがmakeを再帰的に呼び出して、サブmakeがファイルをインクルードするようにすることです。
しかし、私はエルダーに同意します。要件を再検討する必要があります。なぜそうしたいのかを説明していただければ、より適切なアドバイスができるかもしれません。