GNU make中文手册:变量取值与Makefile规则解析
需积分: 12 79 浏览量
更新于2024-08-07
收藏 2.02MB PDF 举报
"该资源是关于GNUmake的中文手册,主要介绍了如何在Makefile中处理变量取值,包括通过命令行选项、makefile文件赋值、系统环境变量、自动化变量和隐含变量等方式。手册还涵盖了Makefile的基本概念、规则、包含其他makefile、变量解析、规则定义以及目录搜索等内容,旨在帮助用户理解和编写有效的Makefile来自动化构建过程。"
在编程和构建自动化领域,`Make`是一个强大的工具,用于管理项目中的编译和构建过程。在 GNUmake 中,变量是 Makefile 中的核心概念,它们允许存储值并在后续的指令中复用。标题提到的“变量取值-三星emmc参考设计”可能是指在一个特定的嵌入式系统设计中,如何管理和使用变量来控制EMMC(Embedded Multi-Media Card)的构建过程。
**变量取值**:
1. **命令行选项**:通过在运行`make`时添加命令行选项,可以覆盖已经定义的变量值。例如,`make VAR=value`会在执行makefile时将`VAR`设置为`value`。
2. **override指示符**:如果需要在makefile内部覆盖已经定义的变量,可以使用`override`指示符。这通常用于确保即使变量在makefile的上层已经被定义,依然能使用新的赋值。
3. **makefile文件赋值**:变量可以在makefile中通过简单的赋值语句(如`VAR = value`)或者使用`define`关键字进行多行赋值。
4. **系统环境变量**:所有系统环境变量都能被make使用,这意味着可以在shell环境中设置的变量在执行make时也会生效。
5. **自动化变量**:在不同的规则中,自动化变量(如 `$@`, `$<`, `$?`, `$^`等)会自动获取特定的信息,如目标文件、依赖文件等。
6. **隐含变量**:GNUmake提供了一些预定义的变量,它们有固定的作用,比如`CC`通常代表C编译器,`CFLAGS`用于传递给C编译器的选项。
手册中还提到了Makefile的其他关键概念:
- **Makefile规则**:定义了目标文件及其依赖文件,以及如何从依赖文件构建目标文件的指令。
- **自动推导规则**:make会自动应用一些预定义的规则来编译源文件,如`.c`到`.o`的转换。
- **包含其他makefile**:使用`include`指令可以将其他makefile文件的内容包含进来,方便组织大型项目。
- **清除工作目录**:通过`clean`这样的伪目标,可以清除构建过程中产生的临时文件。
掌握这些知识点对于编写高效且易于维护的Makefile至关重要,特别是对于复杂的工程和嵌入式系统开发。通过理解变量的取值方法和Makefile的规则,可以更灵活地控制构建过程,适应各种项目需求。
105 浏览量
2021-01-17 上传
2020-03-23 上传
2019-07-08 上传
点击了解资源详情
点击了解资源详情
2018-08-06 上传
2019-01-16 上传
MichaelTu
- 粉丝: 25
- 资源: 4029
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器