我正在编写一个使用 makefile 的 LaTeX 项目。我有一个 clean 函数来清理多余的 LaTeX 文件:
.PHONY: clean
clean:
\rm *.aux *.blg *.out *.bbl *.log
但在某些情况下,我需要删除生成的文件以及 PDF 文件。我尝试过使用以下方法:
.PHONY: clean_all
clean_all:
$(clean) \rm *.pdf
这不起作用,因为它只会删除 PDF 文件。
我的问题是如何调用规则clean
内的规则clean_all
?
答案1
clean_all
根据目标制定 目标clean
:
.PHONY: clean_all clean
clean:
rm -f *.aux *.blg *.out *.bbl *.log
clean_all: clean
rm -f *.pdf
我添加了 ,-f
以便rm
不存在的文件不会在规则中生成错误(例如,当您运行该命令两次时)。
(顺便说一句,我从来没有听说过这些规则被称为函数,您可能需要重新检查术语并在谷歌搜索有关 makefile 的内容时获得更多成功)。