2012-09-07 20 views
13

que estoy viendo una serie de reglas en un Makefile que se parecen a esto:punto y coma en la definición de la regla Makefile

$(PATH)/foo.inc:; 
include $(PATH)/foo.inc 

$(PATH)/bar.inc:; 
include $(PATH)/bar.inc 

Es el punto y coma al final de la definición de la regla no-op o hace tiene un significado particular?

+0

En este contexto, no es operativo. Si fue seguido por algo en la misma línea, no sería un no-op. –

Respuesta

15

Un punto y coma en la línea con el requisito previo del objetivo es la primera línea de comando para ejecutar para esta regla, al menos en la marca GNU.

Desde el capítulo 5 del manual:

Los comandos de una regla consisten en líneas de comandos shell a ejecutar uno por uno. Cada línea de comando debe comenzar con una pestaña, excepto que la primera línea de comando se puede unir a la línea de destino y requisitos previos con un punto y coma en el medio.

En su caso, ya que no hay ningún comando después del punto y coma, termina siendo una operación no operativa.

Cuestiones relacionadas