GNUmake中文手册:Makefile完全指南
5星 · 超过95%的资源 需积分: 36 98 浏览量
更新于2024-11-03
1
收藏 1.34MB PDF 举报
"gmake中文手册(v3-8)完全版"
GNU `make` 是一个强大的自动化构建工具,尤其在Linux和其他Unix-like系统中广泛使用。手册“gmake中文手册(v3-8)完全版”是学习如何编写和使用`makefile`的重要参考资料。手册由徐海兵翻译整理,涵盖了`make`的基本概念、语法和高级特性。
手册的章节内容如下:
1. **概述**:这部分简要介绍了`make`的作用和基本理念,以及在开始学习之前需要了解的基础知识。
2. **GNUmake介绍**:深入解释了`Makefile`的基础结构,包括`Makefile`的基本组成,如规则、目标和依赖项。此外,还讨论了简单的`makefile`示例,以及`make`如何执行构建过程。
- **Makefile简介**:说明了`Makefile`是如何定义构建步骤的。
- **Makefile规则**:详细阐述了规则的格式,规则用于指示哪些文件依赖于哪些其他文件,以及当依赖项改变时应运行哪些命令。
- **简单的示例**:通过实例展示了一个基本的`Makefile`是如何工作的。
- **make如何工作**:解释了`make`程序如何解析`Makefile`,决定哪些目标需要更新,并执行相应的命令。
- **指定变量**:介绍了如何在`Makefile`中定义变量,以便简化和重用指令。
- **自动推导规则**:`make`提供了一些预定义的规则,可以自动推导出某些类型的文件生成过程。
- **另类风格的makefile**:讨论了不同风格的`Makefile`写法。
- **清除工作目录过程文件**:说明了如何设置清理目标来删除临时或生成的文件。
3. **Makefile总述**:进一步深入`Makefile`的细节,包括其内容、命名、包含其他`makefile`的方法,以及`make`使用的特殊变量和解析机制。
- **Makefile的内容**:详细描述了`Makefile`可以包含的指令和结构。
- **makefile文件的命名**:解释了如何命名和定位`Makefile`。
- **包含其它makefile文件**:介绍了如何使用`include`指令来组合多个`Makefile`。
- **变量MAKEFILES**:说明了这个特殊变量如何影响`make`的行为。
- **变量MAKEFILE_LIST**:记录了所有被读取的`Makefile`列表。
- **其他特殊变量**:提到了更多用于控制`make`行为的变量。
- **makefile文件的重建**:讨论了如何让`make`自动生成或更新`Makefile`。
- **重载另外一个makefile**:介绍了如何改变`make`的工作`Makefile`。
- **make如何解析makefile文件**:详细阐述了`make`解析`Makefile`的过程,包括变量取值、条件语句和规则定义。
4. **Makefile的规则**:这部分深入到`Makefile`的规则体系,包括各种规则的语法、类型和特殊用法。
- **一个例子**:通过一个具体的规则示例来说明规则的运用。
- **规则语法**:详细描述了规则的结构和组成部分。
- **依赖的类型**:区分了直接依赖和间接依赖。
- **文件名使用通配符**:介绍了如何使用通配符匹配多个文件,包括优点、缺点以及`wildcard`函数的使用。
- **目录搜寻**:讲述了如何配置`VPATH`和`vpath`,以便在不同的目录下查找源文件和目标文件。
- **Makefile伪目标**:伪目标不实际代表文件,但用于控制构建流程。
- **强制目标**:没有命令或依赖的规则,用于满足特定需求。
- **空目标文件**:用于确保某些命令总是被执行。
- **Makefile的特殊目标**:如`.PHONY`、`.SILENT`等,这些目标有特殊的含义和作用。
- **多目标**:一个规则可以关联多个目标。
- **多规则目标**:一个目标可以有多个规则,`make`会选取最新的适用规则。
- **静态模式**:静态模式规则允许更灵活的规则定义,可以结合隐含规则使用。
这个手册对理解和编写高效、可维护的`Makefile`非常有帮助,是任何希望深入`make`技术的人不可或缺的参考材料。
2011-02-16 上传
2017-10-24 上传
2023-07-14 上传
2021-04-23 上传
2021-03-28 上传
2024-03-26 上传
2021-04-22 上传
mltrees
- 粉丝: 1
- 资源: 4
最新资源
- ScalesWebAplication
- webpage2
- Bumblebee-Optimus:大WaSP擎天柱的GUI
- Excel模板00科目余额表.zip
- 毕业设计&课设--毕业设计智慧景区之PC端(管理端)后台管理系统.zip
- 烧瓶在线分级程序
- efte-unit:efte 项目构建工具
- chess_puzzle
- uiuStudentRecordSystem
- 毕业设计&课设--毕业设计-中医诊疗系统-疾病药品管理-中医开方.zip
- Excel模板收款收据模板电子版.zip
- 基于stm32的频率检测计.zip
- play-mp3-url-from-terminal:只是使用node.js从命令行简单的在线mp3网址播放器
- Aula_2705_Data
- SystemTTS:Android系统语音播报
- Excel模板00明细账.zip