2014-03-25 59 views

回答

22

它看起來像文件時間戳 - 很簡單。如果依賴關係比目標更新,則目標被重建。

+0

還有一件事......它處理像'git'這樣的變化嗎?有沒有可能讀取該文件?謝謝:) – makeMonday

+0

@makeMonday:我不明白你的問題。什麼makefile所做的就是Clifford在你的回答中所說的。諸如保留以前文件的副本以便與最近的文件進行比較不屬於「製作」作業。 –

+1

@TheMask是的,現在我完全明白了。我讀了那些時間戳。我只是想知道他們是如何工作的。謝謝;) – makeMonday

4

通過檢查有關文件的信息而不是它們的內容來工作。

確定目標及其依賴項之間的依賴關係,然後查看是否存在這些文件。如果他們這樣做,它會向操作系統詢問上次修改文件的時間和日期。這是用於此目的的'時間戳',儘管該術語可以具有其他含義。

如果目標文件或者不存在,或者存在並且早於其依賴文件,那麼Make會通過應用規則從依賴項重建目標。

如果依賴關係不存在,則表明發生錯誤。

這樣做的結果是,您可以通過刪除目標或通過'觸摸'依賴關係使其晚於目標來強制重建。您可以通過「觸摸」目標來避免重建。觸摸只是將時間戳更新爲現在。

相關問題