变量高级用法揭秘:Makefile中的创新技术
需积分: 50 134 浏览量
更新于2024-08-10
收藏 964KB PDF 举报
本篇文章深入探讨了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`。这种替换可以在变量值中进行,且支持静态模式,如`$(foo:%.o=%.c)`。
2. 变量嵌套:另一个高级用法是将变量的值作为一个新变量来使用,允许在Makefile中动态地构造复杂的目标路径或命令。比如,将变量作为另一个变量的一部分,增加了Makefile的灵活性。
接着,文章详细阐述了变量的其他特性:
- 基础变量:包括基础定义、变量中的变量、追加变量值、override指示符和多行变量。
- 环境变量:在Makefile中,环境变量对规则和变量也有影响,如`MAKEFILES`。
- 目标变量:这些变量与实际的编译目标相关,如目标文件名。
- 模式变量:用于匹配特定模式的变量,如`%.o`用于匹配所有以.o结尾的文件。
此外,文章还涉及条件判断和函数的使用,如条件语句的语法以及一系列字符串处理和文件名操作的函数,如`subst`, `patsubst`, `strip`, `findstring`, `filter`等。这些功能允许根据特定条件或模式进行更复杂的逻辑操作,提高了Makefile的自动化和定制能力。
总而言之,本文档为学习和编写高效Makefile提供了关键的技巧和知识,帮助读者理解和利用变量的高级用法来简化构建过程,实现更灵活和强大的自动化构建系统。
482 浏览量
2018-08-20 上传
205 浏览量
1006 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
赵guo栋
- 粉丝: 43
最新资源
- DENSITY超快速压缩库:高速压缩与领先算法
- Matlab开发工具:EditorTemplatesPackage代码模板库
- Gmail机密模式替代Secure Gmail扩展程序指南
- 电子秤通讯协议与数据格式解析
- 蓝色公安局信息网模板html项目源码下载
- Python编程自学指南:笨办法学Python(第四版)
- JBText:一个跨平台的开源纯文本编辑器项目
- 从失败中学习:培养软件开发者成长心态
- MATLAB脚本功能:bringEditorsToFocus.m解析
- 太阳能MPPT控制器:成本低廉实现最大效能
- Rust语言中快速开发优质命令行界面的quicli工具
- C++实现数据结构顺序表与单链表
- Angular项目开发与部署流程解析
- Python库twint_fork-2.1.24详细使用指南与安装教程
- TechCodeDev技术开发新进展
- Matlab GUI开发:入门标签的创建与欢迎界面