2012-02-17 2 views
1

あなたは習得条件を構築するも、ターゲットを構築する必要がある場合、私は」、大体、言うメイクルールを記述しようとしています。しかし、をしないターゲットを再構築prereqが変更されているためです。の変更のために監視されていない依存関係を確認し

今私はこのハックを使用しています:

target: otherprereqs 
    $(MAKE) prereq 
    RECIPE 

は、これを行うのより良い方法はありますか?

+0

これは意味がありません。あなたのハックによると、makeは 'prereq'が変更されても' target'を再構築するべきです。 – Beta

+0

** otherprereqs **が変更された場合のみ。 ** prereq **変更は建物**の目標**を妨げないはずですが、それを引き起こすのに十分ではありません。 –

答えて

3

よろしくお願いします。あなたのGNUMakeのバージョンが十分である場合、order-only prerequisites

target: otherprereqs | prereq 
    RECIPE 
+0

ありがとう、これは私が欲しかったものです。 –

+0

おっと、申し訳ありません、私はそれを取り戻します。ドキュメントの記述は少し混乱しています。これは必要に応じて前提条件を作成しますが、ターゲットを構築しない場合があります。私は、ターゲットが構築されている場合にのみ、プリレックを構築するものが欲しい。 –

+0

その場合、あなたのハックはあなたができる最高のものです。 ( '$(MAKE)'を呼び出す代わりに、prereqのレシピを入れるだけでよいことに注意してください)。 – Beta