我们使用GNU让我们的系统。在我们的makefile结尾,我们有一个名为Makedepends的包含,它使用gcc上的-MM开关生成一堆.d文件。然后,我们使用include $(CXXFILES:.cc = .d)行包含每个.cc文件的.d文件。但是,当我们删除文件或移动文件时,依赖性步骤中断,我们必须手动删除.d文件(即使清理不起作用,因为依赖关系失败)需要一个makefile依赖关系规则,能够处理丢失的文件
有没有办法生成这些依赖关系。 d文件还是包含这些依赖性.d文件,它们将优雅地处理文件删除或重定位?
编辑:例如:我有serial.cc和makefiles生成一个serial.d文件,它有一个依赖于buffer.h,但然后我改变它,所以我不需要buffer.h了,我删除buffer.h。下一次我运行make时,它会窒息,因为它包含仍然会使serial.o依赖于buffer.h的.d文件。
它没有那么多,.d文件丢失,但如果.cc文件被删除,相应的.d文件仍然悬挂在先前的make上,并且会导致make失败,因为它取决于.c文件。 – MattSmith 2008-10-27 03:57:52
然后我推荐wnoise的链接:如他所说,滚动第一部分到“有用”部分。并尝试“信息制作”或找到一本好书,了解详情和示例。你永远不会“完成”学习......总会有另一颗宝石!祝你好运! – 2008-10-27 04:02:08