GNU Make Incremental Build:强制重建特定文件

时间:2013-08-23 21:53:18

标签: eclipse makefile eclipse-cdt incremental-build

我在Windows 7上使用Eclipse(Juno)+ CDT来驱动GCC,并自动生成makefile。在我使用GCC的__DATE____TIME__预处理器宏在我的项目配置头文件中添加构建日期/时间戳之前,我一直很努力。

在干净的构建中,这些宏工作得很好 - 但在增量构建中,Make不会重建关联的目标文件;它只是直接跳到链接。

我尝试将Windows等效于touch作为预构建步骤(此处描述:https://stackoverflow.com/questions/51435/windows-version-of-the-unix-touch-command),但Make仍会跳过该文件。还尝试“触摸”包含标题的源文件;仍然没有骰子。

如何让Make始终重建任何依赖于特定标头的文件,即使在增量构建中也是如此?

2 个答案:

答案 0 :(得分:2)

将标题标记为.PHONY。这将确保始终被认为不是最新的:

.PHONY: particular_header.h

答案 1 :(得分:1)

原来我需要删除目标文件作为预构建步骤,如下所述:

Force Eclipse CDT makefile to clean file before compiling(这可能与该问题重复)