wildcard 关键字
# 寻找目录下的某类文件
SRC = $(wildcard ./*.c)
patsubst 关键字
# 把SRC中的所有.c替换成.o
OBJ = $(patsubst %.c, %.o, $(SRC))
关键符号
符号 | 含义 |
---|---|
$@ | 表示规则中的目标 |
$< | 表示规则中的第一个依赖条件 |
$^ | 表示规则中的所有依赖条件 |
赋值
符号 | 含义 |
---|---|
= | 赋值,如果‘=’右边有变量,浅拷贝该值 |
:= | 赋值,如果‘=’右边有变量,深拷贝该值 |
?= | 如果没有赋值才赋值 |
+= | 追加内容 |
vpath 关键字
# 要求在 ../headers 目录下寻找 .h
vpath %.h ../headers
条件判断
有4个关键字:ifeq
(如果相等)、ifneq
(如果不相等)、ifdef
(如果有值)、ifndef
(如果没有值)
ifeq ($(var1),$(var2))
@echo "eq"
else
@echo "neq"
endif