2009-08-02 5 views
5

を指定した場合に、ターゲットを再実行します。私は、以下のGNUのmakefileを持つ複数のルールに依存関係として

.PHONY a b c d 

a: b c 
b: d 
c: d 
d: 
    echo HI 

私は、ターゲット「d」は二回実行することを希望 - それはで依存性として指定されているので、両方とも& c。残念ながら、ターゲット 'd'は1回だけ実行されます。実行中のmakeの出力は、単に 'HI HI'ではなく 'HI'になります。

どうすればこの問題を解決できますか?

ありがとうございます!明確にするために

、目標は、このようなものです:

subdirs = a b c 

build: x y 

x: target=build 
x: $(subdirs) 

y: target=prepare 
y: $(subdirs) 

$(subdirs): 
    $(make) -f [email protected]/makefile $(target) 

答えて

1

あなたはこのような何かやろうとしています:

.PHONY: a b c 

define print-hi 
@echo HI 
endef 

a: b c 
b: 
    $(print-hi) 
c: 
    $(print-hi) 
+0

このようなもっと何か: サブディレクトリ= ABC ビルド:XY X:ターゲット=構築 X:$(サブディレクトリ) Y:ターゲット=準備 Z:$(サブディレクトリ) $(サブディレクトリ): $(make)-f $ @/makefile $(target) –

関連する問題