首页 > 解决方案 > 使用 makefile 复制文件

问题描述

我创建了以下makefile来生成a.pdf,然后将其复制到b.pdf。

all:
    arara a.tex
    rm *.dvi *.aux *.log
    cp a.pdf b.pdf

前两个命令运行正确:意味着生成了一个名为 a.pdf 的文件,并删除了临时的 *.dvi、*.aux、*.log 文件。

但是 cp 命令没有运行:意思是 b.pdf 没有创建。知道为什么吗?我也试过 cp -f 。

(arara 是一个编译 tex 文件并生成 pdf 文件的实用程序,它的细节对于这个问题并不重要)

标签: gnu-make

解决方案


错误原来是在 rm 命令中,而不是在 cp 命令中。其中一个扩展名 *.aux 不存在,因此 rm 引发了错误。我通过在 rm 命令中添加 -f 来解决它。


推荐阅读