scons使用MD5哈希而不是文件mod时间来确定是否需要构建依赖项。
我希望这是默认行为。但是,除了编辑文件以使其与众不同之外,是否有任何方法可以迫使它假定特定文件已过时(相当于“触摸”)?
编辑:用例:
二进制文件F用于使用工具X创建另一个文件G。由于某种原因,文件G已更改(已损坏,或者我对其进行了编辑)或工具X已更改,并且我想重新创建文件G及其下游的所有内容。
编辑:这仅偶尔使用。我不希望这种情况总是发生,仅当我要求时才发生几次。另外,我可能不提前知道特定文件。因此,我不想修改SConscript/SConstruct文件以构建特定文件。我想要的是在命令提示符下执行此操作:
scons {something to specify file foobar.h}
这将迫使scons根据foobar.h来构建所有文件,而仅键入
scons
便会使用MD5哈希进行常规构建以进行依赖性检查。我不介意提前编辑SConscript/SConstruct文件以允许此操作(我想是自定义Decider),如果可以的话,这样做不会显着增加构建时间。 最佳答案
看看Scons的--interactive选项,您可以在那里清理并构建特定目标。
man page describing this.
关于touch - 相当于const中的 “touch”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1499926/