规则¶
通配符¶
| 符号 | 说明 |
|---|---|
| * | 任意字符 |
| ? | 单个字符 |
| […] | 符号集 |
| [^…] | 符号集取反 |
假想目标(Phony target)¶
不代表文件的工作目标。例如:clean
.PHONY: clean
标准假想工作目标:
all,install,clean,distclean,check
变量¶
$(variable-name)
变量名若为单一字符,则不需要加上括号。
自动变量¶
| 符号 | 描述 |
|---|---|
| $@ | 工作目标的文件名 |
| $% | 归档文件成员结构中的文件名元素。 |
| $< | 第一个必要条件的文件名 |
| $? | 时间搓在工作目标之后的所有必要条件,并以空格隔开这些必要条件 |
| $^ | 所有必要条件的文件名,并以空格隔开。会删除重复的文件名。 |
| $+ | 所有必要条件的文件名,并以空格隔开。包含重复的文件名。 |
| $* | 工作目标的主文件名。文件名由两部分组成,主文件名+后缀 |
VPATH = src:include;该变量是一系列文件夹名称,可供make查找文件
模式 模式规则中,%代表任意多个字符。可以放在模式中的任何地方,不过只能出现一次。
静态模式规则
| Bash | |
|---|---|
1 2 | |
回显 以@开头,表示不显示要执行的命令。 执行 每行命令在单独的子shell中执行,互不依赖。可以用“;”隔开。
递归执行¶
| Bash | |
|---|---|
1 2 3 4 5 | |
环境变量¶
使用export将变量加入环境变量中。
| Bash | |
|---|---|
1 2 | |