深入理解makefile中的函数调用
需积分: 9 142 浏览量
更新于2024-09-12
收藏 60KB DOC 举报
"这篇文档介绍了makefile中的函数使用,包括函数调用的语法和一些常用的字符串处理函数。"
在makefile中,函数是处理文本、计算文件和执行命令的重要工具。函数调用的语法通常采用`$(function arguments)`或者`${function arguments}`的形式,其中`function`是函数名,`arguments`则是传递给函数的参数。参数可以包含变量引用或其他函数调用,但需要注意的是,函数调用中只能使用一种定界符,并且参数会被按照出现的顺序进行变量替换。
为了处理特殊字符,如逗号和空格,可以定义变量来代表这些字符。例如,可以定义`comma:=,`和`space:=$(empty)$(empty)`,然后在需要的地方使用这些变量,避免直接使用逗号和空格导致的问题。
文档中提到了一个示例函数`subst`,它用于在文本中进行字符串替换。在这个例子中,`$(subst $(space),$(comma),$(foo))`将变量`foo`中的空格替换为逗号,使得`foo`的值变为`a,b,c`。
除了`subst`,还有其他字符串处理函数,如`patsubst`,它能够进行模式匹配替换。`patsubst`的语法是`$(patsubst pattern,replacement,text)`,它会在`text`中的每一项匹配`pattern`的字符串上应用`replacement`。例如,如果有一个文件列表`objects`,包含`.c`扩展名的文件,可以使用`$(patsubst %.c,%.o,$(objects))`将`.c`文件转换为对应的`.o`目标文件。
此外,还有一些其他有用的函数,如`findstring`用于查找字符串是否包含在另一个字符串中,`filter`和`filter-out`用于筛选列表中的元素,`join`用于合并两个列表,`sort`用于排序列表,以及`word`和`words`用于访问和计数列表中的元素等。
`makefile`中的函数功能强大,能够帮助自动化构建过程中的复杂文本处理任务,提高构建效率和可维护性。熟练掌握这些函数的使用,对于编写高效的makefile至关重要。
2018-05-09 上传
2023-08-18 上传
2024-01-10 上传
2020-02-23 上传
点击了解资源详情
点击了解资源详情
dwt19880703
- 粉丝: 1
- 资源: 34
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍