在makefile中搜索.PHONY
的用法时,我来到了this,其中有类似
.PHONY还允许您拥有没有关联规则的目标
我把这个帖子中的例子放在一个makefile中,然后我跑了但是它没有向我显示OP中提到的任何错误。有人可以详细说明吗?
target1: dostuff
.PHONY: target2
target2: dostuff
dostuff:
@echo "Stuff gets done!!!!"
[sourav@titan temp]$ make target1
Stuff gets done!!!!
[sourav@titan temp]$ make target2
Stuff gets done!!!!
[sourav@titan temp]$ make
Stuff gets done!!!!
[sourav@titan temp]$
根据OP,make target1应该抛出错误。请点亮。
一些信息
[sourav@titan temp]$ uname -r
2.6.18-194.el5PAE
[sourav@titan temp]$ make --version
GNU Make 3.81
[sourav@titan temp]$
答案 0 :(得分:2)
真。 .PHONY
目标只能有依赖项,没有任何规则。在这种情况下,make将不会执行任何规则,但会检查是否满足依赖关系(如果不满足,将执行其规则)。
因此,在您的示例中,target1
和target2
调用dostuff
是正确的,因为它是一个依赖项。