2009-08-02 7 views
5

tengo el siguiente makefile GNU:Vuelva a ejecutar cuando se especifican como la dependencia a múltiples normas

.PHONY a b c d 

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

Me gustaría que la 'd' de destino para ser ejecutado dos veces - ya que se especifica como una dependencia de ambos b & c. Lamentablemente, el objetivo 'd' se ejecutará solo una vez. La salida de ejecutar make será simplemente 'HI', en lugar de 'HI HI'.

¿Cómo puedo solucionar esto?

Gracias!

Para aclarar, la meta es algo como esto:

subdirs = a b c 

build: x y 

x: target=build 
x: $(subdirs) 

y: target=prepare 
y: $(subdirs) 

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

Respuesta

1

¿Estás tratando de hacer algo como esto:

.PHONY: a b c 

define print-hi 
@echo HI 
endef 

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

No del todo. Más o menos así: subdirectorios = abc construcción: xy x: target = construir x: $ (subdirectorios) y: target = preparar z: $ (subdirectorios) $ (subdirectorios): $ (make) -f $ @/makefile $ (objetivo) –

Cuestiones relacionadas