Usa rm -f
(o incluso mejor $(RM)
, proporcionado por el make
integrado reglas, que se pueden encontrar usando make -p
) en lugar de rm
en tu clean
regla.
Cuando los objetivos fallan
Cuando se ejecuta un objetivo, devuelve un estado basado en si tuvo éxito o no; si un objetivo falla, make no ejecutará ningún objetivo que dependa de él. Por ejemplo, en el ejemplo anterior, si "limpiar" falla, la reconstrucción no ejecutará el objetivo de "compilación". Desafortunadamente, esto podría suceder si no hay un archivo central para eliminar. Afortunadamente, este problema se puede resolver fácilmente al incluir un signo menos delante del comando cuyo estado debe ignorarse:
clean:
-rm -f *.o core
~ http://www.cprogramming.com/tutorial/makefiles.html
rm -f
forzará y no generará ningún error