现在我有一个 makefile,它在与它相同的目录中构建 .tex 文件 (latex),并输出该文件的 pdf 版本以及一堆行李。我想知道如何在 make 文件中指定将结果发送到哪里。我想将结果发送到我的桌面目录。这是可能吗?我还使用了 clean 函数来清除自动生成的垃圾文件,但它仍然会把它们吐出来。有什么帮助吗?
PDFLATEX=/usr/texbin/pdflatex
SOURCE=report_Template.tex
RESULT=report_Template.pdf
$(RESULT): $(SOURCE)
$(PDFLATEX) $(SOURCE)
$(PDFLATEX) $(SOURCE)
clean:
rm -f $(RESULT) *.aux *.log *.toc *.out *~
最佳答案
这与 make 无关。您运行的命令将其输出放在您指定的位置。
似乎 pdflatex
在输入旁边创建了输出,因此在您从中运行它(和 makefile)的任何目录中。
您可以在该规则的末尾添加一个 cp
以将文件复制到您想要的任何位置和/或查看 pdflatex
是否具有可以为输出提供的参数文件名。
也就是说,如果您的 make 目标规则没有准确地创建目标文件名,那么这是一个糟糕的规则,可能会给您带来更大的 make 设置麻烦。 (这就是 .PHONY
规则的部分用途。)
clean
不是魔法。它只是一个像其他任何目标一样的目标。您需要运行它才能执行任何操作。
关于linux - 如何在 makefile 中指定将结果发送到哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25925687/