Polecenie wyświetla $ make all
błędy, takie jak rm: cannot remove '.lambda': No such file or directory
więc zatrzymuje się. Chcę, aby ignorował błędy nie znalezionych-rm. Jak mogę wymusić zrobienie?
Makefile
all:
make clean
make .lambda
make .lambda_t
make .activity
make .activity_t_lambda
clean:
rm .lambda .lambda_t .activity .activity_t_lambda
.lambda:
awk '{printf "%.4f \n", log(2)/log(2.71828183)/$$1}' t_year > .lambda
.lambda_t:
paste .lambda t_year > .lambda_t
.activity:
awk '{printf "%.4f \n", $$1*2.71828183^(-$$1*$$2)}' .lambda_t > .activity
.activity_t_lambda:
paste .activity t_year .lambda | sed -e 's@\t@\t\&\t@g' -e 's@$$@\t\\\\@g' | tee > .activity_t_lambda > ../RESULTS/currentActivity.tex
rm -f
jest lepsze dla konkretnego problemu, który ma użytkownik, ale nadal dobrze jest wiedzieć o ogólnym rozwiązaniu, nawet jeśli czasami jest ono niebezpieczne.$(RM)
, których możesz użyć zamiastrm -f
.make -k
(lub--keep-going
na gnumake) zrobi to, o co prosisz, myślę.Naprawdę powinieneś znaleźć linię del lub rm, która nie działa i dodać
-f
do niej a, aby ten błąd nie spotkał innych.źródło
make
na zbudowanie jak największej liczby jednostek kompilacji podczas naprawiania tego, na czym kompilator się zaciął. W ten sposób, gdy naprawisz to, co zostało zepsute, nie musisz czekać, aż wszystko inne się zbuduje.Zmień czyste na
To znaczy nie pytaj o usunięcie; nie narzekaj, jeśli plik nie istnieje.
źródło
Powróć pomyślnie, blokując
rm
kod powrotu za potokiem za pomocątrue
polecenia, które zawsze zwraca0
(sukces)źródło
Aby make faktycznie ignorował błędy w pojedynczym wierszu, możesz po prostu dodać do niego sufiks
; true
, ustawiając wartość zwracaną na 0. Na przykład:Spowoduje to przekierowanie wyjścia stderr na null i wykonanie polecenia z wartością true (która zawsze zwraca 0, powodując, że make uważa, że polecenie się powiodło, niezależnie od tego, co się faktycznie stało), umożliwiając kontynuację przepływu programu.
źródło
Zmień swój,
clean
więcrm
nie będziesz narzekać:źródło
Umieść
-f
opcję w swoimrm
poleceniu.źródło