makefile中常见函数应用例子

makefile中常见函数应用例子

1)subst函数:
subst函数用于字符串替换。以下是一个示例:

$(subst ee,EE,feet on the street)

2)patsubst函数:
patsubst函数用于模式字符串替换。以下是一个示例:

$(patsubst %a,X,1a 2a 3a)

这个表达式中,"%"表示匹配任意字符,"a"是要被替换的字符,"X"是替换后的字符,“1a 2a 3a"是要被操作的字符串。这个函数将返回"X 2X 3X”。

3)addsuffix函数:
addsuffix函数用于给文件名列表添加后缀。以下是一个示例:

$(addsuffix .c,foo bar)

这个表达式将返回"foo.c bar.c"。

4)addprefix函数:
addprefix函数用于给文件名列表添加前缀。以下是一个示例:

$(addprefix src/,foo bar)

5)basename函数:
basename函数用于提取文件路径中的文件名。以下是一个示例:

$(basename src/foo.c src-1.0/bar.c hacks)

6)foreach函数:
foreach函数用于循环处理列表中的元素。以下是一个示例:

names := a b c d  
files := $(foreach n,$(names),$(n).o)

在这个例子中,(name)中的单词"a"、“b”、“c"和"d"会被依次取出,并存到变量"n"中,然后根据变量"n"的值计算出一个文件名,这些文件名以空格分隔,最后作为foreach函数的返回值,所以,(files)的值是"a.o b.o c.o d.o”。

7)if函数:
if函数用于条件判断。以下是一个示例:

$(if <condition>,then-part[,else-part])

这个函数会根据条件判断结果返回相应的部分,如果条件为真,则返回then-part,否则返回else-part。例如,下面的代码判断文件是否存在:

$(if target-file,target-part[,other-part])

如果文件"target-file"存在,则返回"target-part",否则返回"other-part"。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

付宇利

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值