如果我有一个假目标,我是否需要使用.PHONY标签列出它,还是可以避免呢?如果我没有列出,会不会出错?
答案 0 :(得分:0)
如果您的目标不是文件,只要没有像目标那样命名的文件,将其不列出在.PHONY
中就没有害处。
一个示例是目标clean
,通常会添加该目标以删除文件-它不会构建名为clean
的文件。如果您没有在clean
中列出.PHONY
,并且在cwd中有一个名为clean
的文件,则clean
配方将不会运行,因为文件clean
是最新。
我个人不会为.PHONY
添加非文件目标。如果您问我一个非文件目标和一个名为该目标的文件,这是一个更大的问题。仅当当前make会话无法确定目标是否最新时才需要.PHONY
,这在进行递归make时经常发生。