makefile - phony - rm-rf contra-rm-rf
makefile windows (1)
En un Makefile, leí:
-rm -rf (en lugar de rm -rf). ¿Qué significa el primer "-" al principio de la línea en un Makefile?
Significa que make ignora cualquier código de error de rm .
En un makefile , si algún comando falla, el proceso make mismo interrumpe el procesamiento. Al prefijar sus comandos con - , usted notifica que debe continuar procesando las reglas sin importar el resultado del comando.
Por ejemplo, la regla makefile:
clean:
rm *.o
rm *.a
no eliminará los archivos *.a si rm *.o devuelve un error (si, por ejemplo, no hay ningún archivo *.o para eliminar). Utilizando:
clean:
-rm *.o
-rm *.a
Arreglará ese problema en particular.
Aparte: aunque probablemente no sea necesario en su caso específico (ya que la marca -f parece evitar que rm devuelva un error cuando el archivo no existe), sigue siendo una buena práctica marcar la línea explícitamente en el makefile - rm puede devolver otra Errores en determinadas circunstancias y deja clara su intención.