makefile的.PHONY功能
时间: 2023-11-04 12:05:54 浏览: 100
makefile 函数
在 Makefile 中,`.PHONY` 是一个特殊的标记,用于声明一些伪目标(phony targets)。伪目标是指在 Makefile 中定义的目标,但并不对应真实的文件。
`.PHONY` 的作用是告诉 Make 工具,这些目标不是用来生成文件的,而是用来执行一系列命令的。当在命令行中执行这些伪目标时,Make 工具会忽略文件是否存在的检查,直接执行伪目标对应的命令。
使用 `.PHONY` 的主要好处是避免与同名文件产生冲突。当存在一个与目标同名的文件时,如果没有使用 `.PHONY` 标记,Make 工具会认为该文件已经是最新的,不需要重新执行对应的命令。
以下是一个示例:
```makefile
.PHONY: clean
clean:
rm -rf *.o
```
在上面的示例中,`.PHONY` 声明了 `clean` 为一个伪目标。当执行 `make clean` 命令时,无论是否存在 `clean` 文件,Make 工具都会执行 `rm -rf *.o` 命令来删除所有 `.o` 文件。
另外,你可以在 `.PHONY` 中声明多个伪目标,以便在 Makefile 中定义一些常用的操作或命令集合。这样就可以通过简单的命令行调用来执行这些操作,而不需要手动输入一长串的命令。
总结一下,`.PHONY` 提供了一种声明伪目标的方式,用于定义不生成文件,而是执行命令的目标。它可以避免与同名文件产生冲突,并提供了一种简便的方式来执行一系列命令。
阅读全文