makefile中.PHONY的作用是什么?
初学makefile的时候,有一个关键字“.PHONY”搞不懂,在请教过同学之后豁然开朗,遂写下经验望帮助更多的同学能够理解。
在某度可以搜到phony的英文意思是:骗人的东西

那么,在Makefile中,.PHONY后面的target表示的也是一个伪造的target, 而不是真实存在的文件target,注意Makefile的target默认是文件。
例如:
先创建两个makefile文件


Makefile1和Makefile2的差别就是在Makefile2中定义了:
.PHONY: clear
- 直接make看看

Makefile1和Makefile2的行为没有什么区别。 - 再创建一个clear文件,make看看

区别来了,Makefile1拒绝了执行clear, 因为文件clear存在。而Makefile2却不理会文件clear的存在,总是执行clear后面的规则。由此可见,.PHONY clear起到“欺骗”的作用,欺骗make别管别的,让你干嘛你就干嘛的意思。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219745.html原文链接:https://javaforall.net
