que tienen un Makefile que tiene este aspecto¿Cómo incluir un objetivo limpio en Makefile?
CXX = g++ -O2 -Wall
all: code1 code2
code1: code1.cc utilities.cc
$(CXX) $^ -o [email protected]
code2: code2.cc utilities.cc
$(CXX) $^ -o [email protected]
Lo que quiero hacer ahora es incluir clean target
para que cada vez corro make
se eliminará automáticamente los archivos binarios existentes de code1
y code2
antes de crear el nuevos.
traté de poner estas líneas al final del archivo MAKE, pero no funciona
clean:
rm -f [email protected]
echo Clean done
Cuál es la forma correcta de hacerlo?
+1 para '.PHONY' (que es un GNU-ismo, pero Mayormente inofensivo en otros lugares). Sin embargo, es una mala idea poner 'clean' como una dependencia de' all'; eso aumenta el tiempo de construcción y el ruido. Es mejor definir todas las dependencias * reales * para que los cambios en la fuente se propaguen exactamente tanto como sea necesario. –