O comando $ make all
fornece erros como rm: cannot remove '.lambda': No such file or directory
para que pare. Quero que ele ignore os erros rm-não-encontrados. Como posso fazer força?
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
é melhor para o problema específico que o usuário está enfrentando, mas ainda é bom saber sobre a solução geral, mesmo que algumas vezes não seja segura.$(RM)
, que você pode usar em vez derm -f
.make -k
(ou--keep-going
no gnumake) fará o que você está pedindo, eu acho.Você realmente deve encontrar a linha del ou rm que está falhando e adicionar uma
-f
para impedir que esse erro aconteça com outras pessoas.fonte
make
criar o maior número possível de unidades de compilação enquanto você corrige o que o compilador tiver usado. Dessa forma, quando você conserta o que foi quebrado, não precisa esperar que todo o resto seja construído também.Mude limpo para
Ou seja, não solicite a remoção; não reclame se o arquivo não existir.
fonte
Retorne com sucesso, bloqueando
rm
o código de retorno atrás de um canal com otrue
comando, que sempre retorna0
(sucesso)fonte
Para fazer com que o make realmente ignore erros em uma única linha, você pode simplesmente sufixá-lo
; true
, definindo o valor de retorno como 0. Por exemplo:Isso redirecionará a saída stderr para null e seguirá o comando com true (que sempre retorna 0, fazendo com que o comando acredite que o comando foi bem-sucedido independentemente do que realmente aconteceu), permitindo que o fluxo do programa continue.
fonte
Mude o seu
clean
pararm
não reclamar:fonte
Coloque uma
-f
opção em seurm
comando.fonte