【问题标题】:Is it possible to have multiple .PHONY targets in a GNU makefile?GNU makefile 中是否可以有多个 .PHONY 目标?
【发布时间】:2011-05-08 13:39:16
【问题描述】:

出于各种原因,我可以方便地在 makefile 的多个部分中指定 .PHONY。我觉得我没有正确理解这是如何工作的,但这可能吗?

而不是.PHONY: clean cleanall 做:

.PHONY: clean
<some text>
.PHONY: cleanall

【问题讨论】:

  • 是的,一个常见的模式是在相关目标的正上方有一个PHONY。也可以通过以 \ 结束连续行来进行多行假冒

标签: makefile gnu-make


【解决方案1】:

是的,这是允许的。 (不信就试试吧!)

【讨论】:

  • 事实上,您可以对任何目标执行此操作。您可以在一个地方说a: b,在另一个地方说a: c,然后a 的依赖项将是bc
【解决方案2】:
PHONY= 
PHONY+= clean

...

PHONY+= cleanall
.PHONY : $(PHONY)

【讨论】: