origin
该函数返回参数的定义位置
$(origin V)
# 常见函数返回之及其含义
"environment" # 环境变量
"command line" # 命令行
"file" # 本文件中定义
"default" # 默认变量
"undefined" # 未定义变量
"automatic" # 自动化变量
自动化变量
$@ # 目标文件
$^ # 所有的依赖文件
$< # 第一个依赖文件。
filter
该函数会对入参进行模板匹配,返回符合条件的入参字符串
filter <匹配模板>,<被匹配字符串>
举例:
filter 4.%,$(MAKE_VERSION)
说明:
“%”是通配符,与shell中的“*”功能类似
dir
取出路径的目录部分
# 示例
all:
@echo $(dir /usr/share/test)
@echo $(dir ./test)
# 输出
/usr/share/
./
sort
sort命令的作用是将后面的字符串按照首字母生序排序,并去除重复项
$(sort foo bar lose foo)
=>bar foo lose
call
将第一个参数中“$(数字)”格式的临时变量用其他参数依序取代
tempvar = $(0)$(1)$(2)
$(call, tempvar, a, b)
=>tempvar a b
$(0)代表变量名自身
tempvar = $(2) $(1)
$(call, tempvar, a, b)
=>b a
上面的例子可以体现**“依序”**的含义
更详细的说明参考此链接