Makefile中.PHONY的作用

一.实例

拿clean举例,如果make完成后,自己另外定义一个名叫clean的文件,再执行make clean时,将不会执行rm命令。
  为了避免出现这个问题,需要.PHONY: clean

图示:
(1)不添加.PHONY:clean
Makefile中.PHONY的作用_第1张图片
在Makefile所在的目录下touch一个clean文件
运行make–>运行make clean
Makefile中.PHONY的作用_第2张图片
结果:由于目录下clean文件冲突,无法执行make clean
(2)添加.PHONY:clean
Makefile中.PHONY的作用_第3张图片
运行make–>运行make clean
Makefile中.PHONY的作用_第4张图片
结果:make clean正常执行

二.结论

.PHONY是一个伪目标,可以防止在Makefile中定义的只执行命令的目标和工作目录下的实际文件出现名字冲突,另一种是提交执行makefile时的效率。

更多关于.PHONY的知识请看http://www.cnblogs.com/chenyadong/archive/2011/11/19/2255279.html

你可能感兴趣的:(PHONY,笔试面试)