phony - makefile windows
¿Puede un Makefile ejecutar código SOLAMENTE cuando se produce un error? (1)
La marca recursiva es tu amiga aquí, me temo.
.PHONY: all
all:
${MAKE} files || ${MAKE} network
Si los make files
logrados make files
éxito, su trabajo está hecho y el código de salida es exitoso. En caso de falla, el código de salida es el de make network
.
En mi Makefile, tengo un código que comprueba la conectividad de la red. Este código toma una cantidad decente de tiempo para ejecutarse y solo me gustaría ejecutarlo si otro objetivo no se puede construir.
Makefile actual
all: files network
# compile files
files:
# get files from network resources
network:
# check for network connectivity
# echo and return an error if it''s not available
Orden de ejecución:
if not network:
# exit with error
if not files:
# exit with error
if not all:
# exit with error
Makefile deseado
En el ejemplo anterior, me gustaría que el objetivo de la network
sea "creado", solo si el objetivo de los files
no se "hace".
Orden de ejecución:
if not files:
if not network:
# exit with error
if not all:
# exit with error