常用符号
类型 | 符号 | 作用 | 描述 |
---|---|---|---|
文件名通配符 | * | 匹配任意字符 | *.c : 所有.c结尾的文件 |
? | 匹配任意字符 | 包含空 | |
常用符 | \ | 命令换行符 | |
运算符 | = | 变量赋值 | object = fi.o 用于所赋值的对象是常量 |
?= | 为空赋值 | 若变量没有赋值,则给它赋值,否则不赋值 | |
:= | 变量赋值 | object := ${tmp} 用于赋值是个变量 | |
+= | 追加赋值 | object += tmp.o 将tmp.o追加到object | |
自动化变量 | $@ | 当前target | 当前目标名 |
$< | 第一个依赖名 | ||
$^ | 所有依赖名 | 去重 target:d1 d2 则 $^=d1 d2 |
|
$+ | 所有依赖名 | 不去重 | |
$? | 比目标新的依赖名 | ||
$* | 目标中%匹配的部分 | %.o:%.c 。有a.o目标时$*值为a | |
$(@D) | 目标的目录部分 | 目标为tmp/test,$(@D)值为tmp | |
$(@F) | 目标的文件部分 | 目标为tmp/test,$(@D)值为test | |
$(<D) | 依赖文件的目录部分 | ||
$(<F) | 依赖文件的文件部分 | ||
$(^D) | 所有依赖文件的目录部分 | 去重 | |
$(^F) | 所有依赖文件的文件部分 | 去重 | |
$(+D) | 所有依赖文件的目录部分 | 不去重 | |
$(+F) | 所有依赖文件的文件部分 | 不去重 | |
$(?D) | 被更新的依赖文件的目录部分 | ||
$(?F) | 被更新的依赖文件的文件部分 | ||
特别字符 | % | 任意匹配符 | 类似shell的 * |
@ | 不显示执行命令 | command前加@后 不打印改条命令 | |
- | 出错不中断 | command前加-,出现执行错误 不中断makefile编译 |
网友评论