我正在尝试创建一个 Makefile,如果输入文件丢失,它会跳过目标。目前我正在使用以下代码:
default: foo \
bar
foo: foo.pdf
bar: bar.pdf
%.pdf: %.tex
@if [ -s $< ]; then \
pdflatex -interaction=batchmode $<; \
else \
echo 'Skipped' $<; \
fi;
只要文件 foo.tex
存在,它就可以工作,但如果丢失,它就会失败:
make: *** No rule to make target 'foo.pdf', needed by 'foo'. Stop.
我希望该过程继续使用可能存在的 bar.tex
,而不是停止。
如何正确处理此类情况?
最佳答案
%.pdf: %.tex
pdflatex -interaction=batchmode $<
%.pdf:
@echo Skipped $@
关于makefile - 跳过丢失文件的目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49927484/