我正在我的 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 目标已经关闭并且有一堆依赖项可以执行各种复杂的对象删除,我不想手动完成所有这些如果我不必。
谢谢!