是否有makefile选项只删除obj文件但保持目标完整?

时间:2011-08-11 03:38:43

标签: linux makefile

在尝试比较不同版本的Android时,我缺少磁盘空间(每个版本在构建之后大约需要6-7G)。 我认为make有一个选项(类似于make clean)它将删除所有中间.obj文件并单独留下目标。但我不记得它是什么;或者有这样的选择吗?!

2 个答案:

答案 0 :(得分:1)

makefile将执行它所写的任何操作。 clean目标是makefile的约定,而不是Make的功能。 makefile不需要clean规则;如果有一个clean规则,并且如果写得好,它会清理你想要清理的文件,如果写得很糟糕,那么它的糟糕程度是没有限制的。

如果您正在编写(或编辑)makefile,则可以添加删除目标文件的规则。如果您正在使用由其他人编写的makefile,则它具有此规则或不具有此规则。

答案 1 :(得分:1)

也许.INTERMEDIATE指令会有所帮助。从GNU Make文档(10.4链的隐式规则):

  

第二个区别是,如果make' _does_ create B in order to update something else, it deletes B later on after it is no longer needed. Therefore, an intermediate file which did not exist before 制作'在make'.制作'之后也不存在,则报告删除   通过打印`rm -f'命令来显示它是哪个文件   删除。

     

通常,如果文件中提到的话,文件不能是中间文件   makefile作为目标或先决条件。但是,你可以明确地说   通过将文件列为文件的先决条件将文件标记为中间文件   特殊目标`.INTERMEDIATE'。即使文件是,这也会生效   用其他方式明确提到。