【发布时间】:2023-04-02 06:07:01
【问题描述】:
假设我想对文件进行非常小的(即注释、空白清理等)更改,但我不希望 Make 经历耗时(>24 小时)的重建过程。有没有办法做到这一点?
我知道您可以使用“触摸”来做相反的事情(即在不编辑文件的情况下重建),但这在这里并没有真正的帮助。
【问题讨论】:
标签: c++ build makefile dependencies
假设我想对文件进行非常小的(即注释、空白清理等)更改,但我不希望 Make 经历耗时(>24 小时)的重建过程。有没有办法做到这一点?
我知道您可以使用“触摸”来做相反的事情(即在不编辑文件的情况下重建),但这在这里并没有真正的帮助。
【问题讨论】:
标签: c++ build makefile dependencies
编辑文件后,您可以将“修改时间”更改为您想要的任何内容
touch -m -r filename
其中filename 是包含您要复制的时间的文件的名称(构建中另一个未触及的文件)。见http://www.computerhope.com/unix/utouch.htm
【讨论】:
你也可以用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 或类似的东西)并使用touch 的-m 和-t 参数而不是复制文件。
【讨论】:
触摸仍然是您只需向后使用它的答案。
-p)。这应该足以做你想做的事了。
请记住,您可以随时询问 make -q,看看它是否认为需要做任何工作来确保您做对了。
【讨论】: