原因:机器系统时间与文件时间不一致
解决:更新所有文件的时间后重新编译
find . -type f | xargs -n 5 touch make clean make
xargs -n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。
touch 无选项,会同时更新文件的修改时间和访问时间
补充:
find . -exec touch {} ;
find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。
在有些系统中,使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行;这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高;
http://blog.csdn.net/zhangfn2011/article/details/6776925/