GNUMAKE中文手册:变量中的变量解析
需积分: 50 192 浏览量
更新于2024-08-06
收藏 860KB PDF 举报
"《变量中的变量 - thomas calculus 13th edition》是关于Makefile中使用变量的一个讨论,特别是如何在变量中嵌套定义变量。在Makefile中,有两类方式来定义变量的值,一种是使用简单的赋值运算符“=”。这种方式允许在变量的右侧使用其他变量来构建其值,即使这些被引用的变量在其后定义,这被称为延迟扩展。例如:
```makefile
foo = $(bar)
bar = $(ugh)
ugh = Huh?
all:
echo $(foo)
```
在这个例子中,`foo`的值会是`$(ugh)`的值,即`Huh?`,因为Makefile在执行命令前会解析所有变量,确保所有变量都被正确地替换。
Makefile的变量基础包括变量的定义和使用,变量可以存储文本字符串,这些字符串可以是简单的文本,也可以是复杂的表达式。除了基本的赋值外,还有其他高级用法,如追加变量值(`+=`),覆盖变量(`override`),以及多行变量等。
变量的高级用法包括条件判断和函数的使用。条件判断允许根据特定条件决定是否执行某些规则或设置变量值。函数则提供了一种更强大的方式来操作变量,如字符串处理、文件名操作、循环和条件检查等。例如,`ifeq`函数可以用于进行条件比较,`$(shell)`函数可以执行系统命令并返回结果。
在Makefile中,变量分为几种类型,如全局变量和局部变量,目标变量和模式变量等。全局变量在整个Makefile中可见,而局部变量只在定义它们的规则或者函数内部有效。模式变量则允许在规则中使用通配符来匹配一组文件。
Makefile的执行过程涉及到规则的解析、依赖性检查以及命令的执行。make会根据目标文件的时间戳判断是否需要重新构建。如果目标文件比它的依赖文件旧或者依赖文件有改动,那么对应的规则就会被执行。
此外,Makefile还可以引用其他Makefile,利用环境变量,甚至可以自定义隐含规则来简化常见任务的编写。隐含规则是预定义的构建模式,可以自动应用到没有明确规则的文件上,大大提高了编写Makefile的效率。
《变量中的变量 - thomas calculus 13th edition》这一主题深入探讨了Makefile中变量的使用技巧和复杂性,对于理解和编写高效Makefile具有重要指导意义。"
2018-10-10 上传
2018-10-31 上传
2019-05-27 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
sun海涛
- 粉丝: 36
- 资源: 3843
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录