Makefile教程:函数调用与示例解析
需积分: 48 178 浏览量
更新于2024-08-09
收藏 478KB PDF 举报
"函数的调用语法-2_特斯拉,全自动驾驶fsd系统"
在Makefile编程中,函数的调用语法是至关重要的,它允许我们执行特定的操作,比如字符串替换、文件名操作等。在本资源中,主要讨论的是如何调用函数以及一个具体的示例。
函数的调用语法通常采用以下两种形式:
1. `$(<function> <arguments>)`
2. `${<function> <arguments>}`
这里的`<function>`指的是函数名,Makefile支持的函数数量有限。`<arguments>`是传递给函数的参数,参数之间用逗号分隔,而函数名和参数之间则用空格分隔。函数调用前以`$`符号开头,函数名和参数用圆括号或花括号括起来。为了保持代码的清晰和一致性,建议使用相同的括号类型(如都使用圆括号)。
让我们看一个具体的示例:
```makefile
comma:= ,
empty:=
space:= $(empty) $(empty)
foo:= a b c
bar:= $(subst $(space),$(comma),$(foo))
```
在这个例子中,`$(comma)`被赋值为一个逗号,`$(space)`通过两次使用`$(empty)`定义了一个空格,`$(foo)`的值是"abc"。`$(bar)`的定义中,调用了函数`subst`。`subst`函数接受三个参数:第一个参数是要被替换的字符串,第二个参数是替换后的字符串,第三个参数是在其中进行替换操作的原始字符串。在这里,`subst`函数的作用是将`$(foo)`中的空格替换为逗号,因此`$(bar)`的值最终会是"a,b,c"。
Makefile中的函数是其强大之处,它们提供了丰富的文本处理和文件操作功能。例如,`subst`函数用于字符串替换,`patsubst`可以对模式匹配的字符串进行替换,`strip`用于去除字符串两端的空白字符,`findstring`查找字符串是否包含在另一个字符串中,`filter`和`filter-out`用于筛选列表中的元素,`sort`对列表进行排序,`word`、`wordlist`、`words`和`firstword`则用于提取和操作列表中的单词或部分单词。
文件名操作函数如`dir`获取路径中的目录部分,`notdir`提取路径中的文件名部分,`suffix`得到文件的扩展名等,这些函数在处理文件路径时非常有用。
在编写Makefile时,熟练掌握这些函数的使用能够极大地提高Makefile的可读性和效率,使得构建过程更加自动化和智能化。通过理解函数调用语法和各种内置函数的用法,我们可以编写出更复杂的Makefile规则,实现更精细化的项目构建流程。
点击了解资源详情
点击了解资源详情
1704 浏览量
1704 浏览量
2025-01-07 上传
2021-10-01 上传
112 浏览量
陆鲁
- 粉丝: 27
最新资源
- 掌握React项目创建与配置:DevOpsFE入门指南
- 电子应用程序开发:sample-electron-setup快速入门指南
- AK博客系统v4.2.8:轻量级优化与简易上手
- 物业行业十周年深度分析报告
- MATLAB仿真经典光伏并网模型及其电能质量影响分析
- Netlify Dotenv Exporter插件:轻松复制.env文件内容
- Gradle依赖管理指南:命令行下的高效操作
- 探讨CSS在genesis-main中的应用与成因
- 2023燃料电池产业发展深度分析报告
- Swift开发者的福音:qiita-swift API v2客户端使用指南
- Flutter框架与引擎核心源码解析
- 自动化下载:使用JavaScript从网址列表提取内容
- FixedTable插件:实现表格头部、左右侧固定功能
- Turbo-Django集成简介:Django与Hotwire Turbo早期结合
- 大炼油时代行业深度分析报告(37页)
- CartoDB共享地图解决方案:协作贡献新视角