Makefile进阶:变量替换与模式匹配技巧
需积分: 39 69 浏览量
更新于2024-08-06
收藏 581KB PDF 举报
"这篇文档是关于Makefile的高级用法,特别是变量的使用。文档作者是陈皓,由祝冬华整理。主要内容包括Makefile的规则、变量、自动推导、命令、条件判断和函数的使用等。"
在Makefile中,变量的高级用法是提升效率和灵活性的关键。文档介绍了两种变量替换技术:
1. **变量值的替换**:通过`$(var:a=b)`或`${var:a=b}`的格式,可以替换变量"var"中所有以"a"结尾的部分为"b"。这里的"结尾"指的是空格或结束符。例如,定义`foo := a.o b.o c.o`,然后使用`bar := $(foo:.o=.c)`,将所有".o"后缀替换为".c",结果是`$(bar)`的值为`a.c b.c c.c`。
2. **静态模式替换**:利用静态模式匹配,如`$(foo:%.o=%.c)`,当模式`%.o`在变量`foo`的值中出现时,会被替换为`%.c`。这个例子同样让`$(bar)`的值为`a.c b.c c.c`。这种方法依赖于被替换字符串中有相同的模式,并且模式中必须包含一个"%"字符。
此外,文档还提到了一种变量的高级用法——**变量的值再当成变量**。这意味着你可以使用一个变量的值来决定另一个变量的行为。这种技巧在处理复杂的依赖关系或者构建规则时非常有用。
在Makefile中,变量的灵活运用可以极大地简化规则的编写,使得Makefile更加可读和可维护。例如,通过动态地生成目标列表,自动推导依赖关系,以及使用条件判断和函数来控制构建流程,可以构建出强大的构建系统。
文档中还涵盖了其他主题,如Makefile的基本规则、工作原理、变量定义、自动推导规则、清理目标文件的规则,以及如何书写规则、命令、使用条件判断和函数等。这些内容构成了Makefile编程的基础,对于任何需要自动化构建过程的开发者来说都是必备的知识。
2019-10-25 上传
122 浏览量
998 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情

马运良
- 粉丝: 34
最新资源
- 支付宝订单监控免签工具:实时监控与信息通知
- 一键永久删除QQ空间说说的绿色软件
- Appleseeds训练营第4周JavaScript练习
- 免费HTML转CHM工具:将网页文档化简成章
- 奇热剧集站SEO优化模板下载
- Python xlrd库:实用指南与Excel文件读取
- Genegraph:通过GraphQL API使用Apache Jena展示RDF基因数据
- CRRedist2008与CRRedist2005压缩包文件对比分析
- SDB交流伺服驱动系统选型指南与性能解析
- Android平台简易PDF阅读器的实现与应用
- Mybatis实现数据库物理分页的插件源码解析
- Docker Swarm实例解析与操作指南
- iOS平台GTMBase64文件的使用及解密
- 实现jQuery自定义右键菜单的代码示例
- PDF处理必备:掌握pdfbox与fontbox jar包
- Java推箱子游戏完整源代码分享