考虑用于重建的修改文件

时间:2010-05-03 14:26:29

标签: makefile rebuild bakefile

我有一个C ++项目,我使用Bakefile进行构建过程,为msvc,mingw,gnu等生成Makefile,以获得跨平台支持。

现在的问题是,如果我更改任何.h文件(包含在其他.cpp文件中)并执行重建不会重新编译已修改的文件。但是,更改任何.cpp文件都会被重新编译。

根据项目中包含的任何文件的修改时间戳,我希望将该文件视为重建文件。

我是否遗漏了需要在.bkl文件中添加为标签的内容? 请帮忙。

1 个答案:

答案 0 :(得分:1)

Bakefile本身只处理目标之间的依赖关系。源文件和标头之间的依赖关系经常变化,无法在makefile中写下来。这种依赖关系由编译器和make处理,他们必须合作。

GCC和GNU支持这一点很好(Bakefile的gnuautoconf格式生成带有正确deps跟踪的makefile。我猜你的抱怨特别是nmake(Bakefile的msvc格式),对吗?

你在这里运气不好,我担心 - nmake太有限,不支持动态依赖。我建议生成和使用项目文件,IDE和vcbuild都会跟踪依赖项。