是否需要用.PHONY列出所有虚假目标?

时间:2020-07-24 02:42:18

标签: linux makefile

如果我有一个假目标,我是否需要使用.PHONY标签列出它,还是可以避免呢?如果我没有列出,会不会出错?

1 个答案:

答案 0 :(得分:0)

如果您的目标不是文件,只要没有像目标那样命名的文件,将其不列出在.PHONY中就没有害处。

一个示例是目标clean,通常会添加该目标以删除文件-它不会构建名为clean的文件。如果您没有在clean中列出.PHONY,并且在cwd中有一个名为clean的文件,则clean配方将不会运行,因为文件clean是最新。

我个人不会为.PHONY添加非文件目标。如果您问我一个非文件目标和一个名为该目标的文件,这是一个更大的问题。仅当当前make会话无法确定目标是否最新时才需要.PHONY,这在进行递归make时经常发生。