2010-10-22 64 views
1

方案1:使看不到變化?

我檢出了一個項目,並對源文件做了一些更改,並確定了make,並看到了更改。

方案2:

我再次被檢出的項目不同的目錄下(由於某種原因),這裏複製的修改的源文件,並沒有做並沒有任何反應,如果我運行程序,我沒有看到我的更改,使得看不到我對此源文件進行了更改

回答

3

make使用文件的時間戳確定要構建的內容。

也許你的版本控制系統正在用當前時間檢查所有文件。當你複製你的源代碼時,它已經有一段時間了,使make認爲目標文件(大概在你的簽出中)比你的源代碼更新。

如果是這種情況,您可以使用touch來設置文件的時間戳。

0

好的,我剛剛觸摸了複製的(修改過的)源代碼,現在可以識別這些更改。

1

添加到現有的答案:

觸摸的目標,你可以使用化妝的-t--touch選項。這個選項不會製作目標,而只是觸摸它,以便下一次調用make時,目標將被製作。

或者,您可以使用-B--always-make選項,該選項將無條件地創建目標,而不管其依賴項的修改如何。

0

如果使用cp複製文件選項-a --archive -p --preserve將保留時間戳。那不是你想要的!

添加選項--no-preserve=timestamps

cp [options] --no-preserve=timestamps .....