tengo un makefile estructurado así:makefile ejecutar otro objetivo
all :
compile executable
clean :
rm -f *.o $(EXEC)
me di cuenta de que yo estaba corriendo constantemente "make clean" seguido de "claro" en mi terminal antes de ejecutar "hacer todo". Me gusta tener un terminal limpio antes de intentar examinar los desagradables errores de compilación de C++. Así que traté de agregar un tercer objetivo:
fresh :
rm -f *.o $(EXEC)
clear
make all
Esto funciona, sin embargo, esto ejecuta una segunda instancia de make (creo). ¿Hay una manera correcta de obtener la misma funcionalidad sin ejecutar una segunda instancia de make?
@ sas4740.: básicamente, todo sigue a '.PHONY:' como una palabra clave que siempre se ejecuta, mientras que los objetivos no falsos son archivos. – Dacav
son condicional "requisitos previos de solo pedido"? para el objetivo t2 Quiero primero hacer t0, que solo si t0 ejecuta sucesivamente t1, y solo si ambos ejecuta alguna tarea en t3 – fantastory
@ fantastory, no, creo ** que son independientes. 't2' dependerá de' t0', 't1' y' t3'. Si necesita esto, debe poner 't3' como lo requiere' t2', 't1' como lo requieren' t3' y 't0' como lo requiere' t1'. Esto significa 3 reglas diferentes. Sin embargo, debes verificar esto. No estoy 100% seguro. – Dacav