使用GNU Make触摸符号链接时,“无解除引用”选项

时间:2015-09-30 16:09:51

标签: makefile timestamp symlink

GNU Make有一个-t标志来更新目标文件的时间戳,就像它们已经重建一样。我的一些目标是符号链接,我希望GNU Make更新符号链接的时间戳,而不是引用的文件。

  • GNU Make有-L|--check-symlink-times选项来读取来自符号链接的时间戳而不是他们引用的文件,所以它至少知道一个相关的问题。
  • touch命令有-h|--no-dereference标志,这正是我正在寻找的行为。

但是在运行make -t时是否可以调用此类行为?

1 个答案:

答案 0 :(得分:1)

快速查看make source会让您看起来无法做到这一点。

上面链接的touch_file函数是我认为有问题的时间戳更新的函数,它只使用open来打开和更新文件。

      int fd = open (file->name, O_RDWR | O_CREAT, 0666);