我是靠谱客的博主 奋斗马里奥,这篇文章主要介绍Makefile中的origin,filter,dir,sort,call函数originfilterdirsortcall,现在分享给大家,希望可以做个参考。

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

上面的例子可以体现**“依序”**的含义
更详细的说明参考此链接

最后

以上就是奋斗马里奥最近收集整理的关于Makefile中的origin,filter,dir,sort,call函数originfilterdirsortcall的全部内容,更多相关Makefile中内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(137)

评论列表共有 0 条评论

立即
投稿
返回
顶部