使用以下 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)