makefile常用相关函数

本文介绍了Makefile中常用的函数,如wildcard用于获取符合特定模式的文件列表,patsubst实现模式替换功能。同时解释了特殊变量$@、$<及$^的含义与用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

博客搬家,原地址:https://langzi989.github.io/2017/05/25/makefile常用相关函数/

makefile中函数的用法与变量类似,变量的用法是在变量前面加上 , 函 数 的 用 法 一 样 , 也 是 使 用 ,函数的用法一样,也是使用 使开头,$之后加一个括号,括号中的第一个参数是函数名,后面紧跟此函数需要的参数,用逗号分隔。下面介绍几个常用的函数。

wildcard函数

  • 参数: 一个正则表达式

wildcard的中文意思是通配符,它的功能类似于正则表达式,用于展开一列所有符合其参数描述的文件名,文件之间用空格分割。

实例:

SOURCE=$(wildcard *.cpp)

此时SOURCE的值为所有的以.cpp为后缀的文件集合,以空格隔开。

patsubst函数

其功能是一个匹配替换的函数(pattern substitute)。

  • 参数:第一个是需要匹配的样式,第二个是表示用什么替换它,第三个被处理的以空格隔开的字符串。

实例:

TARGET = $(patsubst *.cpp, *.o, $(SOURCE))

TARGET表示与SOURCE中同名的目标文件.

@ , @, @,<, $^

上述几个变量的含义:

  • $@ 表示目标的文件名
  • $< 表示依赖中的第一个文件名
  • $^ 表示依赖中所有的文件名

实例:

all: library.cpp main.cpp

其中$@标识all, &lt; 表 示 l i b r a r y . c p p , &lt;表示library.cpp , <library.cpp^表示library.cpp main.cpp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值