Makefile常用函数说明

常用函数

Makefile 常用函数语法:

1. abspath函数
语法格式:$(abspath names)
功能:该函数主要用于将names中的各路径转换成绝对路径,并将转换后的结果返回.

2. filter与filter-out函数
语法格式:$(filter < pattern…>,< text >) 与 $(filter-out < pattern…>,< text>)
功能:过滤函数与反过滤函数,返回符合条件模式(或者不符合条件模式)的字符串。

3. eval函数
语法格式:$(eval text)
功能:eval函数的存在使得Makefile具有动态语言的特征。eval函数使得make将再一次解析text语句。

4、patsubst函数
语法格式:$(patsubst pattern, replacement, text)
功能:查找< text >中的单词(单词以“空格”、“Tab”或“回车”“换行”分隔)是否符合模式< pattern >,如果匹配的话,则以< replacement >替换。这里,< pattern >可以包括通配符“%”,表示任意长度的字串。如果< replacement >中也包含“%”,那么,< replacement >中的这个“%”将是< pattern >中的那个“%”所代表的字串。(可以用“/”来转义,以“/%”来表示真实含义的“%”字符)

5、strip函数
语法格式:$(strip string)
功能:strip用于去除字符串首尾空格,并且将有多个空格(或者tab等)的相邻字符串之间缩减为一个空格。

STR =    a    b c      
LOSTR = $(strip $(STR)) 

结果是“a b c”,“strip”函数经常用在条件判断语句的表达式中,确保表达式比较的可靠和健壮!

6、addsuffix 函数
功能:加后缀函数,用于把后缀加到函数中的每个单词后面,返回加过后缀的文件名序列。
示例:$(addsuffix .c,test)返回值是“test.c”。

7、addprefix 函数
功能:加前缀函数,用于把前缀加到函数中的每个单词前面,返回加过前缀的文件名序列。
示例:$(addprefix home/,jerry)返回值是“home/jerry”。

8. subst函数
语法格式:$(subst < before > ,< later >,< text >)
功能:字符串替换函数,将text字符串中的before字符串换成later字符串,并返回处理后的字符串。

9. findstring函数
语法格式:$(findstring < word>, < text >)
功能:字符串查找函数,在字符串text中查找word字符串,找到返回word字符串,否则返回空字串。

10. sort函数
语法格式:$(sort < List >)
功能:排序函数,按照升序给字符串List排序,并返回排序后的字符串,在返回的字符串中相同的字符串会被去掉。

11. word函数
语法格式:$(word < n >,< text >)
功能:取单词函数,取出text中的第n个单词并返回,当n比text中的单词数大时,返回空字符串。

12. wordllist函数
语法格式:$(wordlist < m >,< n >,< text >)
功能: 取单词串函数,m超过单词数量时,返回空字符串。

13. words函数
语法格式:$(words < text >)
功能:统计text中的单词数量,并返回。
示例:要取最后一个单词可以这样:$( word $(words < text >),< text >)

14. firstword函数
语法格式:$(firstword < text >)
功能:获取首单词函数

15. dir函数
语法格式:$(dir < names…> )
功能:取目录函数,从文件名序列中取目录,返回反斜杠"/ “之前的目录,如果没有”/ “那么返回”./ "

16. notdir函数
语法格式:$(notdir < names…>)
功能:取出非目录部分

17. suffix函数
语法格式:$(suffix < names…>)
功能:获取后缀函数

18. basename函数
语法格式:$(basename < names…>)
功能:获取前缀函数

19. join函数
语法格式:$(join < list1 >,< list2 >)
功能:连接函数,将list1和list2中的对应单词连接起来并返回。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值