小编Bru*_*och的帖子

强制 GNU make 按顺序运行命令

使用以下 Makefile,GNU make 并行运行这两个命令。由于第一个需要时间才能完成,rm *.log因此在log创建文件之前运行,并且失败。

dummy.pdf: dummy.tex
    tex dummy.tex &> /dev/null;
    rm *.log
Run Code Online (Sandbox Code Playgroud)

文件dummy.tex一行:\bye(TeX 的一个简短的空文件)。tex dummy.tex用任何其他命令替换显示相同的行为。删除&> /dev/null当然可以解决问题,但在我的情况下这不是一个很好的选择,因为 Makefile 是由第三方提供的。

是否可以阻止 GNU make 并行执行任何操作?(旗帜-j 1没有帮助)。

编辑:输出到终端:

bruno@bruno-laptop:~/LaTeX/make-experiment$ make
tex dummy.tex &> /dev/null;
rm *.log
rm: cannot remove `*.log': No such file or directory
make: *** [dummy.pdf] Error 1
bruno@bruno-laptop:~/LaTeX/make-experiment$ This is TeX, Version 3.1415926 (TeX Live 2009/Debian)
(./dummy.tex )
No pages of output.
Transcript written on dummy.log.
Run Code Online (Sandbox Code Playgroud)

make parallelism

6
推荐指数
1
解决办法
3017
查看次数

标签 统计

make ×1

parallelism ×1