makefile中伪目标
时间: 2024-12-05 14:14:16 浏览: 36
Makefile中的伪目标是指一些特殊的目标名,在Makefile中它们并不代表实际的文件或任务,而是用于控制流程或提供默认行为。常见的几个伪目标包括:
1. **`.PHONY`**:这是一个特殊的变量,当你指定某个规则的目标是`.PHONY`时,表示这个目标不是一个真正存在的文件,其后面的命令会被当作命令来运行,而不是尝试创建一个文件。比如`clean: .PHONY`,表示clean任务是一个特殊的清理操作,不会去检查是否有名为clean的实际文件。
2. **`all`**:这是Makefile中最基本的目标,通常作为默认构建目标,当用户不指明特定目标时,Make会默认构建这个目标。例如,如果你的项目有多个目标,`all`可能会包含构建所有相关的步骤。
3. **`.PRECIOUS`** 和 **`.SILENT`**:前者用于设置已经生成过的依赖文件,如果后续命令失败,仍然保留之前的文件;后者则用于使命令的输出保持沉默,减少终端输出信息。
4. **`phony`**:类似于`.PHONY`,但更易读,`phony`后接空格再跟伪目标名称也是同样的效果。
5. **`VPATH`**:虽然不是严格意义上的伪目标,但在Makefile中经常用来指定查找源文件的路径集合。
相关问题
makefile 伪目标
伪目标是一种不与文件名相对应的目标,它不是真正需要生成的文件,而是一个执行特定命令序列的标签。在 Makefile 中,我们可以使用 .PHONY 来声明伪目标。常见的伪目标包括 clean(清除生成的文件)、all(生成所有的可执行文件)、install(安装程序)等等。
在 Makefile 中,伪目标的语法如下:
```
.PHONY: target_name
target_name:
command1
command2
...
```
其中,target_name 是伪目标的名称,command1、command2 等是需要执行的命令序列。
注意,伪目标不会检查其依赖项是否更新,因此每次执行伪目标时,都会执行其下的所有命令。同时,伪目标也不会生成对应的文件,因此如果存在与伪目标同名的文件,Makefile 会优先使用该文件而不执行伪目标。
makefile伪目标
Makefile中的伪目标是指那些不对应任何实际文件,只是用来指定一些特殊操作或规则的目标。它们通常以“.”开头,比如“.PHONY”、“.DEFAULT”等。伪目标的作用是告诉make工具在执行时不要将其作为文件名或依赖项来处理,而是按照特定的规则进行处理。
常见的伪目标有:
1. .PHONY:指定一些“虚拟”的目标,比如“clean”、“install”等,用于执行特定的操作而不是生成文件。
2. .DEFAULT:指定默认的目标,当make没有指定目标时,就会执行该伪目标。
3. .SUFFIXES:指定所有可识别的后缀名。
4. .PRECIOUS:指定一些目标,当make被中断时,会将这些目标保存下来,以便下次从这些目标开始继续执行。
5. .IGNORE:指定忽略某些错误,使得make不会因为这些错误而停止执行。
6. .SECONDARY:指定一些目标为次要目标,当这些次要目标被删除或更新时,不会影响其他目标的生成。
阅读全文