2016-05-27 3 views
0

私が作成した実行ファイルに特別なスタンプ(そのスタンプの内容について心配しないでください)を入れたいとします。私はスタンプ自体を作成するルールを持っています。しかし、メイクファイルの残りの部分が何かをしない限り、スタンプは再作成されたくありません:コマンドを一度だけ実行する 'make'ルールがありますが、残りのメークファイルに何かがある場合に限りますか?

そしてmake -j(パラレル)で動作する必要があります。ここで開始するための疑似コードのmakefileは、(それが動作しません)です:

all: a b 

.PHONY: buildstamp 
buildstamp: all 
     date > buildstamp.txt 

a: a.cpp 
     cp buildstamp.txt a 

b: b.cpp 
     cp buildstamp.txt b 

任意のターゲットが更新される際に再度、buildstampのみ実行する必要があり、その場合でも、それだけで正確に(ないごとに一度に一度実行する必要がありますターゲット)。これらのターゲットのいずれかが明らかに実行する前に、それが完了する必要があります(そうでないbuildstamp.txtは、部分的な結果があるかもしれません。

ありがとう!

答えて

0
.PHONY: all 

all: a b 

a b: %: %.cpp buildstamp.txt 
     cp buildstamp.txt [email protected] 

buildstamp.txt: a.cpp b.cpp 
     date > buildstamp.txt 
関連する問題