Makefile指南:环境变量与多行定义
需积分: 50 193 浏览量
更新于2024-08-10
收藏 964KB PDF 举报
"环境变量-算法引论:一种创造性方法---高清版"
本文主要讨论了Makefile中的两种设置变量的方法——单行赋值和多行赋值,并介绍了环境变量的使用。作者是陈皓,该资源可能来自《跟我一起写Makefile》这本书。
1. 多行变量:
在Makefile中,`define`关键字用于定义多行变量。这种方式允许变量的值跨越多行,方便组织复杂的命令序列。定义变量时,`define`后紧跟变量名,然后在新的一行开始定义变量的值,直到遇到`endef`关键字结束。这些值可以包含函数、命令、文本或其它变量。由于命令通常以制表符([Tab])开头,如果在`define`定义的命令变量中没有制表符,make将不会将其视为命令。例如:
```makefile
define two-lines
echo foo
echo $(bar)
endef
```
2. 环境变量:
当make运行时,它会加载系统环境变量到Makefile中。这意味着,可以在运行make时通过设置环境变量来影响Makefile的行为。环境变量可以用来传递配置信息或者作为Makefile中变量的默认值。例如,如果你设置了环境变量`CC`,那么在Makefile中未定义`CC`时,make会使用这个环境变量的值作为编译器。
3. Makefile基本结构:
- 显式规则:直接指定目标及其依赖和构建命令。
- 隐晦规则:make内置的规则,用于处理常见文件类型,如编译C源文件为对象文件。
- 变量定义:存储可复用的值,简化Makefile的编写。
- 文件指示:如`.PHONY`用于标记伪目标,确保make总是执行对应的命令。
- 注释:以`#`开始的行被视为注释。
4. 其他Makefile概念:
- 规则的语法包括目标、依赖和命令。
- 通配符(`*`)用于匹配一组文件。
- 文件搜寻和路径处理,如`$(wildcard)`函数用于查找匹配的文件。
- 伪目标(如`.PHONY`、`.DEFAULT`)不对应实际文件,但作为目标执行命令。
- 静态模式规则允许更灵活地定义规则。
- 自动依赖性生成,简化了管理依赖关系的过程。
- 命令执行的控制,包括错误处理和命令显示选项。
- 变量的高级用法,如变量的叠加、覆盖和条件语句。
- 函数的使用,如字符串处理和文件名操作,增强了Makefile的表达能力。
总结来说,这个资源详细介绍了Makefile中的变量使用和环境变量的集成,为编写和理解Makefile提供了深入的指导。通过学习这些内容,开发者可以更有效地管理和自动化构建过程。
2656 浏览量
2018-08-20 上传
161 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
Matthew_牛
- 粉丝: 41
- 资源: 3817
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库