Команда $ make all
дает ошибки такой как rm: cannot remove '.lambda': No such file or directory
таким образом, это останавливается. Я хочу, чтобы это проигнорировало rm-not-found-errors. Как я могу вызвать - делают?
Make-файл
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
Попробуйте установить флаг -i
(или - ignore-errors
). Документация , кажется, предлагает более надежный способ достижения этого, кстати:
Чтобы игнорировать ошибки в командной строке, напишите
-
в начале текста строки (после начальной вкладки).-
отбрасывается до того, как команда передается в оболочку для выполнения.Например,
clean: -rm -f * .o
Это заставляет
rm
продолжить, даже если он не может удалить файл.
Все примеры относятся к rm
, но применимы к любой другой команде, из которой вам нужно игнорировать ошибки (например, mkdir
).
Поместите параметр -f
в команду rm
.
rm -f .lambda .lambda_t .activity .activity_t_lambda
Измените свой чистый
, чтобы rm
не жаловался:
clean:
rm -f .lambda .lambda_t .activity .activity_t_lambda
Изменить очистку на
rm -f .lambda .lambda_t .activity .activity_t_lambda
Т.е. не запрашивать удаление; не жалуйтесь, если файл не существует.
make -k
(или - keep-going
в gnumake), я думаю, сделает то, о чем вы просите.
Вы действительно должны найти строку del или rm, которая дает сбой, и добавить к ней -f
, чтобы эта ошибка не повторилась другим.