我已经能够使用自动工具生成便携式Makefile,但是当我更改其中一个依赖项时,我遇到了重新编译目标的问题(它没有)。我们假设我有以下代码结构:
include -> head.h
src -> main.cpp
bin -> a.out
我已经能够创建一个makefile,它将编译main.cpp
并将a.out
放在bin
中。应该注意main.cpp
取决于head.h
。我遇到的问题是,如果我更改head.h
,我需要重新编译main.cpp
并重新链接到a.out
,并且它不会。传统上,我可以通过向每个目标(main.o, a.out
等)添加依赖项来在手工制作的Makefile中执行此操作。即使我更改main.cpp
(即如果我更改main.cpp
它根本没有重新编译),此问题仍会继续存在。
我确实已经从配置启用了依赖关系跟踪(并且它会选择main.cpp
取决于head.h
),但是还有其他一些我想要重新编译的目标重要的依赖性在没有清理和重新编译的情况下改变了吗?