坚持学习,每天进步一点点……
分类: LINUX
2016-01-28 21:56:03
名称 |
格式 |
含义 |
字符串处理部分
|
||
subst |
$(subst from,to,$(text)) |
将字符串text中的from换成to |
patsubst |
$(patsubst %.mk, %.o, $(text)) |
将$(text)变量中所有以.mk结尾的单词替换为.a结尾。 |
strip |
$(strip $(text)) |
去除$(text)变量首尾的空格,变量中的空格不去除 |
findstring |
$(findstring $(find) $(in)) |
在字符串$(in)中查找$(find).若找到则返回$(find),若未找到返回空 |
filter |
$(filter $(pattern1) $(patternn),$(in)) |
以pattern1至patternn的规则过滤$(in),输出过滤后的字符串。filter和pattern1,pattern1和patternn之间均用空格分隔 |
filter-out |
$(filter-out $(pattern1) $(patternn),$(in)) |
和filter功能相反,是反过滤函数 |
sort |
$(sort $(in)) |
将$(in)中各单词的首字母按照从小到大的顺序进行排列,返回排列后并去除重复单词的字符串 |
word |
$(word N,$(word)) |
取出$(word)中的第N个单词,若超过单词的长度,则返回空。 |
wordlist |
$(word M,N,$(word)) |
取出$(word)中从第M到第N个单词,若M超过单词的长度,则返回空。若N超过单词的数量,则返回从M开始知道字符串结束的单词。 |
words |
$(words $(word)) |
统计$(word)中包含多少个单词 |
firstword |
$(firstword $(word)) |
取出$(word)中的第一个单词 |
目录部分
|
||
dir |
$(dir $(names)) |
从文件名序列$(names)中取出目录部分。取出的目录是指最后一个/之前的部分,若没有则返回./ |
notdir |
$(notdir $(names)) |
从文件名序列$(names)中取出非目录部分。即最后一个/后的部分 |
suffix |
$( suffix $(names)) |
从文件名序列$(names)中取出所有文件的后缀,若没有,返回空 |
basename |
$( basename $(names)) |
从文件名序列$(names)中取出所有文件名的前缀。若没有,返回空。 test.txt /home/sfc0907/test.c的前缀是:/home/sfc0907/ |
addsuffix |
$( addsuffix $(suffix),$(names)) |
将后缀$(suffix)添加到文件名序列$(names)中所有文件名之后 |
addprefix |
$( addprefix $(prefix),$(names)) |
将前缀$( prefix)添加到文件名序列$(names)中所有文件名之前 |
join |
$( join $(list1),$(list2)) |
将$(list2) 中的内容对应的加到$(list1)后面。若不对应则不加 |
foreach |
$( foreach $(var), $(list),$(text)) |
控制循环。$(var)是一个临时变量,在循环结束后自动失效,$(list)是一个表达式,$(text)通常包含$(var)变量来依次枚举$(list)中的单词。 |
if |
$(if $(condition),$(then))或者是$(if $(condition),$(then), $(else)) |
if的参数可以是两个也可是三个,若$(condition)的值不为空或条件判断为真,则执行$(then),否则执行$(else)或什么也不执行 |
call |
$(call $(expression),$(par1), $(par2), $(par3)……) |
call用于调用用户自己定义的函数。 |
origin |
$(origin $(variable)) |
查询变量的定义信息 |
shell |
$(shell $(command), $(par1), $(par2), $(par3)……) |
$(command)表示需要执行的shell命令,$(par1), $(par2), $(par3)是该命令的参数,返回shell命令的执行结果 |