2011-09-21 8 views
9

如何使文件保持時間戳?我正在設法將我的git回購。我爲大多數不會改變的文件添加預編譯的二進制文件。現在,當我從git檢出repo時,我不想編譯這些c文件。我想使用這些預先構建的二進制文件。所以,爲了設置這個方案,我想知道makefile如何跟蹤時間戳。誰能幫我?如何使跟蹤時間戳

感謝

回答

-1

如果您正在使用make我不認爲你應該把這些二進制文件到存儲庫 - 只是簡單地使make,以確定它們是最新的。你可以隨時重建它們。如果您不是唯一從事該項目工作的人,則情況尤其如此。您將需要在將來更新這些文件,並重新編譯它們。如果你有幻想,他們不會改變,你可能會在事情失敗時被咬。

+0

是的,但仍然問題不是關於良好的做法。 –

+0

@Ed:這個想法是項目中的大部分文件不會改變。當任何人得到一個新的回購副本,那麼我不希望他/她編譯整個事情。我想知道我是否可以跟蹤git標籤和二進制文件。如果git標籤和二進制匹配,那麼只需複製二進制文件即可。我只是試圖提高編譯速度。 –

9

make查看上次修改時間。從GNU make manual

make程序使用makefile文件數據庫和文件的最後修改時間來決定哪些文件需要更新。

而且從IEEE Std 1003.1-2008 make manual

使程序檢查時間的關係,並應更新早於文件的修改時間(稱爲先決條件)已經修改了多次的派生的文件(稱爲目標)從中得出它們。

您可以使用touch

觸摸 - 修改文件訪問和修改時間

在必要時調整時間戳。

+0

這是否意味着,在第一次運行時創建數據庫?如果是這種情況,那麼當thr回購被檢出時,我無法改進編譯時間。 –

+0

@ agent.smith:makefile本身是一個sorts數據庫,一個生產規則數據庫。 –

+0

有什麼辦法可以在服務器上使用已編譯的二進制文件首次簽出時提高編譯時間? –