使用clearmake makefile构建时如何多次对象

时间:2013-03-07 16:28:25

标签: makefile

我正在Makefile中创建一个主构建目标。我有一个像“all_images”

这样的目标

all_images:fast_image slow_image

fast_image:clean_objects dep_1 dep_2 dep_3

slow_image:clean_objects dep_1 dep_2 dep_3

fast_image在makefile中有一些其他条件导致它在最终图像名称中包含fast_image,而slow_image在其名称中具有相同的内容。

我想在快速和慢速的构建之间进行清理(删除所有的.o文件,显然不是最终的图像),但是当我这样做时,第二次不会发生clean_objects,因为它已经在fast_image中发生了。

在你说“你不应该因为slow_image应该重建所有改变的东西而需要清理”之前,我们的特定环境有一个非常复杂的makefile,可以执行代码生成,clearmake可以执行一些gnu_make启动等等。我必须清理之间的对象,有没有办法强制已经发生的依赖再次发生?我知道我可以遍布这个地方并手动删除所有的.o文件,但是clean_objects目标已经关闭并且有一堆依赖关系,可以执行各种复杂的对象删除,我不想手动完成所有操作。我没有。

谢谢!

1 个答案:

答案 0 :(得分:0)

我确信有很多方法可以做到这一点,但我想到的第一件事就是创建两个单独的目标clean_fast_image_objectsclean_slow_image_objects然后让它们都调用一个定义的makefile函数运行clean_objects当前执行的命令。