2014-03-25 61 views

回答

22

它看起来像文件时间戳 - 很简单。如果依赖关系比目标更新,则目标被重建。

+0

还有一件事......它处理像'git'这样的变化吗?有没有可能读取该文件?谢谢:) – makeMonday

+0

@makeMonday:我不明白你的问题。什么makefile所做的就是Clifford在你的回答中所说的。诸如保留以前文件的副本以便与最近的文件进行比较不属于“制作”作业。 –

+1

@TheMask是的,现在我完全明白了。我读了那些时间戳。我只是想知道他们是如何工作的。谢谢;) – makeMonday

4

通过检查有关文件的信息而不是它们的内容来工作。

确定目标及其依赖项之间的依赖关系,然后查看是否存在这些文件。如果他们这样做,它会向操作系统询问上次修改文件的时间和日期。这是用于此目的的'时间戳',尽管该术语可以具有其他含义。

如果目标文件或者不存在,或者存在并且早于其依赖文件,那么Make会通过应用规则从依赖项重建目标。

如果依赖关系不存在,则表明发生错误。

这样做的结果是,您可以通过删除目标或通过'触摸'依赖关系使其晚于目标来强制重建。您可以通过“触摸”目标来避免重建。触摸只是将时间戳更新为现在。

相关问题