Použijte rm -f
(nebo ještě lépe $(RM)
, kterou poskytuje vestavěný make
pravidla, která lze zjistit pomocí make -p
) namísto rm
ve vašem clean
pravidlo.
Když cíle selžou
Když je cíl spuštěn, vrací stav založený na tom, zda byl nebo nebyl úspěšný - pokud cíl selže, make nespustí žádné cíle, které na něm závisí. Například ve výše uvedeném příkladu, pokud selže "clean", pak rebuild neprovede cíl "build". Bohužel k tomu může dojít, pokud není k dispozici žádný základní soubor, který by bylo možné odstranit. Tento problém lze naštěstí poměrně snadno vyřešit zahrnutím znaménko aminus před příkazem, jehož stav by měl být ignorován:
clean: -rm -f *.o core
~ http://www.cprogramming.com/tutorial/makefiles.html
rm -f
vynutí a nevypíše žádnou chybu