函数作用

$(函数名 参数,参数…)

其中函数名和参数之间用空格隔开,参数与参数之间用逗号隔开。下面简单介绍一些常用的基本函数。

  1. subst

格式:$(subset 参数1,参数2,参数3)

功能:把参数3中的参数1替换成参数2

返回值:被替换后的参数3

例如:

result := $(subst china, the world, I love China)

result的值为“I love the world”。

  1. patsubst

格式:$(patsubset模式参数,参数1,参数2)

功能:把参数2中符合模式参数的单词(单词是指参addsu数中被空格隔开的字符串)替换成参数1

返回值:被替换后的参数2

例如:

result := $(patsubst %.c, %.o, x.c y.c)

result的值为“x.o y.o”。

  1. wildcard

格式:$(wildcard模式参数)

功能:列出当前目录下所有符合模式参数的文件名

返回值:当前目录下所有符合模式参数的文件名

例如:

result := $(wildcard *.c)

result的值为当前目录下所有的C文件名。

  1. strip 参数

格式:$(strip 参数)

功能:去掉参数中开头和结尾的空格

返回值:被去掉空格的参数

例如:

result := $(strip   China    )

result的值为“China”。

  1. findstring

格式:$(findstring 参数1,参数2)

功能:在参数2中查找参数1

返回值:如果找到返回参数1,如果没找到返回空

例如:

result := $(findstring me, you and me)

result的值为“me”。

result := $(findstring she, you and me)

result的值为“”。

  1. filter

格式:$(filter模式参数,参数1)

功能:从参数1中筛选出符合模式参数的字符串

返回值:符合参数模式的字符串

例如:

a := x.c y.c z.h

result := $(filter %.c, $(a))

result的值为“x.c y.c”。

  1. addsuffix

格式:$(addsuffix 参数1,参数2)

功能:在参数2中的每个单词加上后缀参数1

返回值:加上后缀的所有单词

例如:

result := $(addsuffix .c, x y)

result的值为“x.c y.c”。

  1. addprefix

格式:$(addprefix 参数1,参数2)

功能:在参数2中的每个单词加上前缀参数1

返回值:加上前缀的所有单词

例如:

result := $(addprefix src/, x.c y.c)

result的值为“src/x.c src/y.c”。

  1. foreach

格式:$(foreach 变量参数,参数1,表达式)

功能:循环取出参数1中的单词赋给变量参数,然后运行表达式

返回值:表达式的运行结果

例如:

a:= x y z

result := $(foreach b, $(a), $(b).c)

result的值为“x.c y.c z.c”。

注意,b在这里是一个临时的变量。

  1. call

格式:$(call 变量参数,参数…)

功能:循环把参数依次赋给变量参数中的$(1)、$(2)…

返回值:赋值后的变量值

例如:

a:= $(2) $(1)

result := $(call $(a), x y)

result的值为“yx”。

  1. if

格式:$(if 条件参数,执行参数)

功能:如果条件参数非空,运行执行参数部分

返回值:条件参数非空,返回执行参数部分

例如:

result := $(if China, world)

result的值为“world”。

格式:$(if 条件参数,执行参数1,执行参数2)

功能:如果条件参数非空,运行执行参数1部分;反之运行执行参数2部分

返回值:条件参数非空,返回执行参数1;反之返回执行参数2

例如:

a:=

result := $(if $(a), China, world)

result的值为“world”。

  1. dir

格式:$(dir 参数)

功能:从参数中取出目录部分

返回值:目录部分

例如:

result:=$(dir /home/test/a.c)

result的值为“/home/test/”。

  1. error

格式:$(error 参数)

功能:停止“Make”运行并显示参数

返回值:参数

例如:

result:=$(error error occure!)

result的值为“error occure!”。

  1. warning

格式:$(warning 参数)

功能:“Make”运行时显示参数

返回值:参数

例如:

result:=$( warning warning occure!)

result的值为“warning occure!”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值