我正在使用GNU Make构建论文的图形。我有两个目标:
data
会重建data / *。csv文件夹。这在计算上非常昂贵。 (也就金钱而言。)plot
从数据/文件夹重建图现在,由于计算data
的成本,我将生成的文件提交到git中。我想避免尽可能地更改它们。但是,当有人克隆git存储库时,它会使文件的mtime混乱,因此make plot
希望重建data
,即使它们已经存在。
也就是说,我不想删除目标依赖项!如果由于某种原因我重新计算了data
中的某些内容,我希望这些图能够看到并能够重建它们自己。另外,如果缺少一个csv,我希望对其进行计算。
我认为,理想情况是,我想说一种“如果这些文件存在,则假定它们是最新的”。在GNU Make中有办法做到这一点吗?
答案 0 :(得分:1)
感谢Renaud Pacalet的评论,我使用order-only dependencies来重写我的规则,如下所示:
data/%.csv: | source/%.py
...
使用此|
可使make
永远不会重建已经存在的CSV文件。