scons使用MD5哈希值而不是文件修改时间来确定依赖项是否需要构建。
我希望这是默认行为。但是,除了编辑文件使其不同之外,是否有任何方法强制它假定特定文件已过期(相当于“touch”)?
编辑:用例:
二进制文件F用于使用工具X创建另一个文件G。由于某种原因,文件G已更改(损坏或我对其进行了编辑),或者工具X已更改,我想重新创建文件G和其下游的所有内容。
编辑:这仅用于偶尔使用。我不希望这总是发生,只有在我要求时才会发生。此外,我可能事先不知道特定的文件。出于这个原因,我不想修改SConscript / SConstruct文件来构建特定文件。我想在命令提示符下执行以下操作:
scons {something to specify file foobar.h}
这样会强制scons构建所有依赖于foobar.h的文件,而仅输入scons
将使用MD5哈希进行依赖项检查的常规构建。 如果有办法在不显著增加构建时间的情况下允许此操作(自定义Decider,我猜),我不介意提前编辑SConscript / SConstruct文件。
scons --interactive --no-cache
,否则交互命令build
将只从缓存中选择,并不会使用您的编译器。 - Nordlöw