使用 make 规则调用另一个

use*_*987 7 make

我正在编写一个使用 makefile 的 LaTeX 项目。我有一个清理功能来清理多余的 LaTeX 文件:

.PHONY: clean
clean:
    \rm *.aux *.blg *.out *.bbl *.log
Run Code Online (Sandbox Code Playgroud)

但在某些情况下,我需要删除生成的文件以及 PDF 文件。我已经尝试过使用:

.PHONY: clean_all
clean_all:
        $(clean) \rm *.pdf
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为它只会删除 PDF 文件。

我的问题是如何调用clean规则中的clean_all规则?

Ant*_*hon 10

根据 clean_all目标制定clean目标:

.PHONY: clean_all clean

clean:
        rm -f *.aux *.blg *.out *.bbl *.log

clean_all: clean
        rm -f *.pdf
Run Code Online (Sandbox Code Playgroud)

我添加了-ftorm以便不存在的文件不会在规则中产生错误(例如,当您运行命令两次时)。

(顺便说一句,我从来没有听说过这些规则被称为函数,您可能想重新检查您的术语并在谷歌搜索有关 makefile 的内容时获得更多成功)。