我们为我们的系统使用GNU Make.在我们的makefile文件的末尾,我们有一个名为Makedepends的包含,它使用gcc上的-MM开关生成一堆.d文件.然后,我们使用include $(CXXFILES:.cc = .d)行为每个.cc文件包含.d文件.但是当我们删除文件或移动文件时,依赖性步骤会中断,我们必须手动删除.d文件(即使make clean也不起作用,因为依赖项失败)
有没有办法生成这些依赖.d文件或包含这些依赖.d文件,它们将优雅地处理文件删除或重定位?
编辑:例如:我有serial.cc和makefile生成一个serial.d文件,它依赖于buffer.h,但后来我改变它,所以我不再需要buffer.h,我删除buffer.h.下次我运行make时,它会阻塞,因为它包含.d文件仍然使serial.o依赖于buffer.h.
http://make.mad-scientist.net/papers/advanced-auto-dependency-generation有这个确切的问题的描述,和一对夫妇的周围方式.第一个是有点误导,但"先进"基本上是现货.