ファイルを編集すると、変更されたタイムスタンプが将来の時刻に設定されるという問題があります
問題の図:
$ make
make: Nothing to be done for `all'.
$ touch makefile
$ make
make: Warning: File `makefile' has modification time 19 s in the future
make: Nothing to be done for `all'.
make: warning: Clock skew detected. Your build may be incomplete.
ファイルを編集すると、同じことが起こります (つまり、これは に固有の問題ではありませんtouch
) 。
詳細:
$ date
Thu Jan 24 20:18:19 EST 2013
$ ls -l
total 24
-rw-rw-r--. 1 steve steve 13907 Jan 24 20:18 makefile
-rw-rw-r--. 1 steve steve 23 Jan 24 19:54 modules.mk
drwxrwxr-x. 3 steve steve 4096 Jan 24 19:54 test
$ touch makefile
$ ls -l
total 24
-rw-rw-r--. 1 steve steve 13907 Jan 24 2013 makefile <-- in the future!
-rw-rw-r--. 1 steve steve 23 Jan 24 19:54 modules.mk
drwxrwxr-x. 3 steve steve 4096 Jan 24 19:54 test
$ ls -l
total 24
-rw-rw-r--. 1 steve steve 13907 Jan 24 20:18 makefile
-rw-rw-r--. 1 steve steve 23 Jan 24 19:54 modules.mk
drwxrwxr-x. 3 steve steve 4096 Jan 24 19:54 test
$ date
Thu Jan 24 20:18:48 EST 2013
ファイルを編集して、変更時刻を現在に設定するにはどうすればよいですか?