makefile 函数格式:
# 基本格式: $(函数名, 参数列表...)
# 形参列表:不同参数之间使用逗号隔开
$(<function>, <argument1>, <argument2> ...)
参考文章:Makefile函数 - 腾讯云开发者社区-腾讯云
目录
3、$(C_SOURCES:.c=.o) —— 按指定格式替换后缀
一、名称处理函数
1、wildcard —— 获取指定格式的文件列表
原型(不同格式之间使用空格隔开)
$(wildcard <pattern...>)
示例:获取当前目录下所有的 .cpp 文件和 test目录下所有的 .cpp 文件
$(wildcard *.cpp test/*.cpp)
![]()
2、dir —— 获取文件所在目录
获取文件所在目录,本质是获取最后一个反斜杠 '/' 以前的内容。如果没有反斜杠 '/' ,返回 ./
$(dir <names...>) # 不同文件名之间以空格隔开
示例:
$(dir src/foo.c sum.txt)
![]()
3、notdir —— 获取文件路径非目录部分
获取一个文件路径的非目录部分,也可以理解为获取文件名(含后缀),本质是获取最后一个反斜杠 '/' 之后的内容。如果没有反斜杠,直接返回本身。
$(notdir <names...>)
示例:
$(notdir src/foo.c sum.txt)
![]()
4、suffix —— 获取文件后缀
取出文件名的后缀,如果文件无后缀,返回空字符。注意其本质并非是单纯获取到最后一个点符号 '.' 之后的内容。
$(suffix <names…>)
示例:
$(suffix src/foo.c src-1.0/bar.c hacks)
![]()
5、basename —— 去除文件后缀
$(basename <names...>)
示例:
$(basename src/foo.c src-1.0/bar.c hacks)
![]()
二、字符串替换与分析函数
1、subst —— 直接替换字符
subst 直接将 <text> 中的字符 <src> 替换为字符 <dst>。
$(subst <src>,<dst>,<text>)

文章详细介绍了Makefile中的各种函数,包括名称处理函数如wildcard、dir、notdir等,字符串替换与分析函数如subst、patsubst,以及控制函数如info、warning、error。这些函数在构建自动化过程中的文件管理和信息输出方面起着关键作用。
最低0.47元/天 解锁文章
1504

被折叠的 条评论
为什么被折叠?



