私は、オブジェクトファイルにCファイルをコンパイルするための既存の%.c
〜%.o
のメイクファイルを持っています。暗黙ルールのすべての使用に依存関係を追加する
しかし、この暗黙のルールを使用して作成された.o
ファイルはすべて、追加のヘッダーfoo.h
に依存していることをお勧めします。
は、私は、個々の.o
ファイルは次のように、foo.h
に依存するために追加のワンオフルールを追加することができます知っている:
bar.o : foo.h
...しかし、私はすべての依存関係としてfoo.h
を追加したいです.o
ファイルは.c
個のファイルから生成されます。私は依存関係を「追加」が、暗黙のルールを守ることができるかどうかを確認するために
%.o : foo.h
:
%.o : %.c foo.h
と、この:私はこれを試してみまし上記と同様
。
動作しませんでした。私は確かにちょうどように私のパターンルールに暗黙のルールからレシピをコピー&ペーストすることができます
%.o : %.c foo.h
$(CC) -c $(CPPFLAGS) $(CFLAGS) $<
しかし、私は可能であればそれを複製しないたいと思います。
ありがとうございました。私は暗黙のルールを複製することとほぼ同じだと思います。 – BeeOnRope
@BeeOnRope私は[Implicit Rule Search Algorithm](https://www.gnu.org/software/make/manual/make.html#Implicit-Rule-Search)に関連していると思います。ステップ4を参照してください... –
マニュアルを引用する: "複数のターゲットを持つ通常のルールよりも一般的です。なぜなら、ターゲットは同じ前提条件を持つ必要がないからです。" ...しかし、この場合の前提条件は同じですから、通常の '$(OBJS):foo.h'より静的パターン規則を使用する利点はありません。私は何かが恋しいですか? – Vroomfondel