[英]Makefile always says generated-file target is up to date, but generates target as expected
[英]Makefile: assume file is up to date for a specific target?
我正在使用 GNU Make 為論文構建圖表。 我有兩個目標:
data
以重新生成數據/ *。CSV文件夾。 這在計算上非常昂貴。 (在金錢方面也是如此。)plot
從數據/文件夾重建圖現在,由於計算data
成本很高,我將生成的文件提交到 git 中。 我想盡可能避免更改它們。 但是當有人克隆 git 存儲庫時,它會弄亂文件的 mtime,所以make plot
想要重建data
,即使它們已經存在。
也就是說,我不想刪除目標依賴項! 如果出於某種原因,我重新計算了data
某些內容,我希望這些圖能夠看到並能夠自行重建。 另外,如果缺少一個 csv,我希望它被計算出來。
我認為理想情況下,我想要的是有一種方法可以說“如果這些文件存在,則假設它們是最新的”。 有沒有辦法在 GNU Make 中做到這一點?
感謝 Renaud Pacalet 的評論,我使用了order-only 依賴來重寫我的規則,如下所示:
data/%.csv: | source/%.py
...
使用這個|
允許make
永遠不會重建已經存在的 CSV 文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.