[英]GNU make: How to modify a file without re-executing rules?
假設我想對文件做一個非常小的(即評論,空格清理等)更改但我不希望Make經歷耗時(> 24小時)的重建過程。 有沒有辦法做到這一點?
我知道你可以使用“觸摸”來做相反的事情(即重建而不編輯文件),但這並沒有真正幫助。
你也可以用touch
來做相反的事情。 我這樣做的一種方式很簡單:
$ cp -a foo.c foo.c.bak
$ <fix up foo.c>
$ touch foo.c -r foo.c.bak
因為cp -a
應該保留修改時間戳。 類似的另一種方法是注意修改時間戳(例如stat -c "%y" foo.c
或類似的東西)並使用-m
和-t
參數來touch
而不是復制文件。
編輯文件后,您可以將“修改時間”更改為您想要的任何內容
touch -m -r filename
其中filename
是具有您要復制時間的文件的名稱(來自構建的另一個未觸摸的文件)。 見http://www.computerhope.com/unix/utouch.htm
觸摸仍然是您只需要向后使用它的答案。
-p
)。 這應該足以做你想要的。
並且記得你總是可以讓make -q
看看它是否認為它有任何工作要做,以確保你做對了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.