我是靠谱客的博主 奋斗马里奥,最近开发中收集的这篇文章主要介绍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中的origin,filter,dir,sort,call函数originfilterdirsortcall所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部