Wie zu vermeiden, "No such file or directory" Fehler bei `make clean` Makefile target

Habe ich ein Makefile, die definiert, ein .PHONY clean-Ziel zur Reinigung .o-Dateien und ausführbare Dateien, die Zielgruppe sieht so aus:

...
.PHONY : clean
clean:
    rm $(addprefix $(vq_DIR),$(vq_OBJS)) \
       $(addprefix $(vq_DIR),vq) \
       $(addprefix $(covq_DIR),$(covq_OBJS)) \
       $(addprefix $(covq_DIR),covq) \
       $(addprefix $(covq_2_DIR),$(covq_2_OBJS)) \
       $(addprefix $(covq_2_DIR),covq_2) \
       $(addprefix $(covq_2_DIR),$(test_OBJS)) \
       $(addprefix $(covq_2_DIR),test)

Alles funktioniert wie es sollte, aber wenn eine dieser Dateien nicht vorhanden sind, rm wirft einen Fehler (Keine solche Datei oder Verzeichnis), und die Ausgabe sagt, dass die Makefile-Ziel gescheitert, als es deutlich machte, was ich wollte.

Ist es ein guter Weg, um im Grunde sagen die rm Befehl "entfernen Sie diese Dateien, wenn Sie vorhanden sind, und Sie beschweren sich nicht, wenn Sie nicht"? Ich sah Sie in der manpage für rm, und fand kein solches flag.

Edit: ich habe tatsächlich nicht bemerkt, die Beschreibung des -f fahne in die manpage, das ist die Lösung.

InformationsquelleAutor jameh | 2014-02-22
Schreibe einen Kommentar