变量定义
VARIABLE = value
# 在执行时扩展,允许递归扩展。
VARIABLE := value
# 在定义时扩展。
VARIABLE ?= value
# 只有在该变量为空时才设置值。
VARIABLE += value
# 将值追加到变量的尾端。
自动变量
-
$@当前目标 -
$<第一个前置条件 -
$?指代比目标更新的所有前置条件,之间以空格分隔 -
$^指代所有前置条件,之间以空格分隔 -
$*指代匹配符 % 匹配的部分, 比如% 匹配 f1.txt 中的f1 ,$* 就表示 f1 -
$(@D) $(@F)分别指向 $@ 的目录名和文件名。比如,$@是 src/input.c,那么$(@D) 的值为 src ,$(@F) 的值为 input.c -
$(<D) $(<F)分别指向 $< 的目录名和文件名









网友评论