Makefile字符串处理函数详解
需积分: 33 7 浏览量
更新于2024-09-21
收藏 43KB DOC 举报
"Makefile常用函数表"
在Makefile中,函数是用于处理文本和控制构建过程的关键元素。以下是对给定的Makefile常用函数的详细说明:
1. **$(subst FROM,TO,TEXT)**
- **函数名称**:字符串替换函数—`subst`
- **函数功能**:这个函数在文本`TEXT`中查找所有出现的`FROM`子字符串,并将其替换为`TO`。
- **返回值**:替换操作后的新的字符串。
- **示例**:`$(subst old,new,text_with_old)`会将`text_with_old`中的所有`old`替换为`new`。
2. **$(patsubst PATTERN,REPLACEMENT,TEXT)**
- **函数名称**:模式替换函数—`patsubst`
- **函数功能**:此函数根据模式`PATTERN`在`TEXT`中搜索单词,将匹配的模式替换为`REPLACEMENT`。`%`字符可以作为通配符,代表任意数量的字符。
- **返回值**:经过模式替换后的新字符串。
- **示例**:`$(patsubst %.c,%.o,srcs)`将`srcs`中所有以`.c`结尾的单词替换为`.o`。
3. **$(strip STRINT)**
- **函数名称**:去空格函数—`strip`
- **函数功能**:该函数移除字符串`STRINT`首尾的空格和制表符,并合并连续的空格或制表符为单个空格。
- **返回值**:处理后的字符串,没有前导或尾随空格,且内部的连续空格被压缩为单个空格。
- **示例**:`$(strip whitespace string )`将返回`whitespace string`,移除了首尾和连续的空格。
4. **$(findstring FIND,IN)**
- **函数名称**:查找字符串函数—`findstring`
- **函数功能**:在字符串`IN`中查找`FIND`,如果找到,返回`FIND`;否则返回空字符串。
- **返回值**:如果`FIND`在`IN`中,返回`FIND`,否则返回空。
- **示例**:`$(findstring hello,world hello)`将返回`hello`,因为它在`world hello`中找到了`hello`。
5. **$(filter PATTERN…,TEXT)**
- **函数名称**:过滤函数—`filter`
- **函数功能**:这个函数在`TEXT`中查找所有与`PATTERN`匹配的单词,返回这些匹配的单词。`PATTERN`通常包含通配符`%`,并且可以接受多个模式。
- **返回值**:一个由`TEXT`中匹配`PATTERN`的单词组成的空格分隔的字符串。
- **示例**:`$(filter %.cpp %.cc,sources)`将返回`sources`中所有以`.cpp`或`.cc`结尾的单词。
这些函数在Makefile中用于处理文本、筛选文件列表、生成目标文件名等任务,极大地增强了Makefile的灵活性和实用性。正确理解和使用这些函数,可以使Makefile更加高效地管理项目构建。
2021-05-17 上传
2021-09-18 上传
2023-05-16 上传
2023-08-13 上传
2023-09-22 上传
2023-10-12 上传
2023-03-28 上传
2023-06-10 上传
zoubenteng
- 粉丝: 0
- 资源: 17
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载