方案1:使看不到变化?
我检出了一个项目,并对源文件做了一些更改,并确定了make,并看到了更改。
方案2:
我再次被检出的项目不同的目录下(由于某种原因),这里复制的修改的源文件,并没有做并没有任何反应,如果我运行程序,我没有看到我的更改,使得看不到我对此源文件进行了更改
方案1:使看不到变化?
我检出了一个项目,并对源文件做了一些更改,并确定了make,并看到了更改。
方案2:
我再次被检出的项目不同的目录下(由于某种原因),这里复制的修改的源文件,并没有做并没有任何反应,如果我运行程序,我没有看到我的更改,使得看不到我对此源文件进行了更改
make
使用文件的时间戳确定要构建的内容。
也许你的版本控制系统正在用当前时间检查所有文件。当你复制你的源代码时,它已经有一段时间了,使make
认为目标文件(大概在你的签出中)比你的源代码更新。
如果是这种情况,您可以使用touch
来设置文件的时间戳。
好的,我刚刚触摸了复制的(修改过的)源代码,现在可以识别这些更改。
添加到现有的答案:
触摸的目标,你可以使用化妆的-t
或--touch
选项。这个选项不会制作目标,而只是触摸它,以便下一次调用make
时,目标将被制作。
或者,您可以使用-B
或--always-make
选项,该选项将无条件地创建目标,而不管其依赖项的修改如何。
如果使用cp
复制文件选项-a --archive -p --preserve
将保留时间戳。那不是你想要的!
添加选项--no-preserve=timestamps
cp [options] --no-preserve=timestamps .....