2009-08-02 13 views
5

Mam następujący GNU makefile:Ponownie wykonać gdy cel określony jako zależność do wielu reguł

.PHONY a b c d 

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

Chciałbym cel „D” należy uruchomić dwa razy - ponieważ jest on określony jako zależność przez zarówno b & c. Niestety cel "d" zostanie wykonany tylko raz. Wynik działania make będzie po prostu "HI", zamiast "HI HI".

Jak mogę to naprawić?

Dzięki!

do wyjaśnienia, celem jest coś takiego:

subdirs = a b c 

build: x y 

x: target=build 
x: $(subdirs) 

y: target=prepare 
y: $(subdirs) 

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

Odpowiedz

1

Czy starasz się zrobić coś takiego:

.PHONY: a b c 

define print-hi 
@echo HI 
endef 

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

Niezupełnie. Bardziej coś takiego: subdirs = abc Budowa: XY X: docelowa = budowy X: $ (subdirs) r: docelowa = przygotować z: $ (SUBDIRS) $ (subdirs) $ (make) -f $ @/makefile $ (miejsce docelowe) –

Powiązane problemy