.file在makefile中的用法

时间:2013-12-03 13:15:51

标签: makefile

在makefile中搜索.PHONY的用法时,我来到了this,其中有类似

的内容
  

.PHONY还允许您拥有没有关联规则的目标

我把这个帖子中的例子放在一个makefile中,然后我跑了但是它没有向我显示OP中提到的任何错误。有人可以详细说明吗?

makefile

target1: dostuff

.PHONY: target2
target2: dostuff



dostuff:
        @echo "Stuff gets done!!!!"

O / P

[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]$

1 个答案:

答案 0 :(得分:2)

真。 .PHONY目标只能有依赖项,没有任何规则。在这种情况下,make将不会执行任何规则,但会检查是否满足依赖关系(如果不满足,将执行其规则)。

因此,在您的示例中,target1target2调用dostuff是正确的,因为它是一个依赖项。