如何告诉GNU make立即删除中间文件?

时间:2014-11-13 05:47:22

标签: makefile

我正在使用make来自动创建一个文件,该文件依赖于其他几个文件,每个文件都取决于正在创建的中间文件,最终取决于硬盘驱动器上的文件。

    all
   /   \
 a1     a2
  |      |
 b1     b2
  |      |
file1  file2

all取决于a1a2,它取决于中间文件b1b2,后者又由{{1}制作和硬盘上的file1。这是我的Makefile。

file2

当我all: $(patsubst %, a%, 1 2) echo "making all" a%: b% echo "making $@ from $^" b%: file% echo "making $@ from $^" 时,我会看到以下输出(在触及make -nfile1后)。

file2

我的问题是echo "making b1 from file1" echo "making a1 from b1" echo "making b2 from file2" echo "making a2 from b2" echo "making all" rm b1 b2 b1非常大,我不能同时将它们放在我的硬盘上(在我的实际情况中,它不仅仅是两个而是几十个这些文件)。在开始制作b2之前,有没有办法告诉make在b1完成后立即处理a1?换句话说,我希望看到以下输出。

a2

0 个答案:

没有答案