资源描述:
《makefile中的常用函数及实例分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Makefile中的常用函数1.$(subset,,) 名称:字符串替换 功能:把字符串中得字符串替换成 返回值:返回被替换过后的字符串 示例: $(substee,EE,feetonthestreet) 把"feetonthestreet"中的"ee"替换成"EE",返回结果是“fEEtonthestrEEt".2.$(patsubst,,) 名称:模式字符串替换函数 功
2、能:查找中的单词(单词以"空格"、"Tab"或"回车""换行"分隔)是否符合模式, 如果匹配的话,则以替换。这里,可以包括通配符"%",表示任意长度的字串。 如果中也包含“%",那么,中的这个“%"将是中的那个"%"所代表的字串。 (可以用""来转义,以"%"来表示真实含义的"%"字符) 返回值:函数返回被替换过后的字符串。 示例: $(pats
3、ubst%.c,%.o,x.c.cbar.c) 把字串"x.c.cbar.c"符合模式[%.c]的单词替换成[%.o],返回结果是"x.o.obar.o"3.$(strip) 名称:去空格函数——strip 功能:去掉字符串中开头和结尾的空字符。 返回:返回被去掉空格的字符串值。 示例: $(stripabc) 把字串"abc"去到开头和结尾的空格,结果是"abc"。4.$(findstring,) 名称:查找字符串函数——findstring
4、功能:在字符串中查找字符串 返回:如果找到,那么返回,否则返回空字符串。 示例: $(findstringa,abc),运行后返回"a" $(findstringa,bc), 运行后返回""5.$(filter,) 名称:过滤函数——filter。 功能:以模式过滤字符串中的单词,保留符合模式的单词。可以有多个模式。 返回:返回符合模式的字串。 示例: s
5、ources:=foo.cbar.cbaz.sugh.h foo:$(sources) cc$(filter%.c%.s,$(sources))-ofoo $(filter%.c%.s,$(sources))返回的值是"foo.cbar.cbaz.s"。6.$(filter-out,) 名称:反过滤函数——filter-out。 功能:以模式过滤字符串中的单词,去除符合模式的单词。可以有多个模式。 返回:返
6、回不符合模式的字串。 示例: objects=main1.ofoo.omain2.obar.o mains=main1.omain2.o $(filter-out$(mains),$(objects))返回值是"foo.obar.o".7.$(sort) 名称:排序函数——sort。 功能:给字符串中的单词排序(升序)。 返回:返回排序后的字符串。 示例: $(sortfoobarlose)返回"barfoolose"。 备注:sort函数会去掉<
7、list>中相同的单词。8.$(word,) 名称:取单词函数——word. 功能:取字符串中第个单词。(从一开始) 返回:返回字符串中第个单词。如果比中的单词数要大,那么返回空字符串。 示例:$(word2,foobarbaz)返回值是"bar"。9.$(wordlist,,) 名称:取单词串函数——wordlist。 功能:从字符串中取从开始到的单词串。和是一个数字。 返回:返回
8、字符串中从到的单词字串。如果比中的单词数要大,那么返回空字符串。 如果大于的单词数,那么返回从开始,到结束的单词串。 示例:$(wordlist2,3,foobarbaz)返回值是"barbaz"。10.$(words) 名称:单词个数统计函数——words。 功能: