Makefile进阶:变量替换与模式匹配技巧
需积分: 39 108 浏览量
更新于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 上传
2019-08-15 上传
2012-02-14 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
马运良
- 粉丝: 34
- 资源: 3878
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器