Verwenden Sie rm -f
(oder noch besser $(RM)
, bereitgestellt durch den eingebauten make
Regeln, die mit make -p
herausgefunden werden können ) statt rm
in Ihrem clean
Regel.
Wenn Ziele versagen
Wenn ein Ziel ausgeführt wird, gibt es einen Status zurück, der darauf basiert, ob es erfolgreich war oder nicht. Wenn ein Ziel fehlschlägt, führt make keine davon abhängigen Ziele aus. Wenn zum Beispiel im obigen Beispiel "clean" fehlschlägt, wird rebuild das Ziel "build" nicht ausführen. Leider kann dies passieren, wenn es keine zu entfernende Kerndatei gibt. Glücklicherweise kann dieses Problem leicht genug durch Einschließen gelöst werden Minuszeichen vor dem Befehl, dessen Status ignoriert werden soll:
clean:
-rm -f *.o core
~ http://www.cprogramming.com/tutorial/makefiles.html
rm -f
erzwingt und gibt keinen Fehler aus