GNU Makeでは、パターンファイル以外のファイルに依存するパターンルールの意味はどういうものですか?GNU非パターンファイルに応じてパターンルールを作る
私は以下のスニペットをMakefileに持っています。 foo.a
が存在する場合、make foo.b
が呼び出されたときにGNU Makeはfoo.b
を作成していないようです。
.SUFFIXES:
%.b: move_a_to_b.artifact
move_a_to_b.artifact:
mv foo.a foo.b
touch move_a_to_b.artifact
以下は、しかし、正常に動作してfoo.a
からfoo.b
にファイルを移動します。
.SUFFXIES:
%.b: %.a
mv $< [email protected]
これがそうであるように、パターンルールとパターンルール
.SUFFIXES:
%.b: %.intermediate
mv $< [email protected]
%.intermediate: %.a
mv $< [email protected]
を。しかし、あなたはそうでなければ証明しました。その混乱をクリアしていただきありがとうございます! :-) –
'%.b:move_a_to_b.artifact;'は、明示的に空のレシピに対しても機能します。 –