GNU make中文手册:Makefile编写指南
"GNUmake中文手册,由徐海兵翻译整理,版本ver-3.81,涵盖概述、GNUmake介绍、Makefile总述以及Makefile的规则等内容,旨在帮助不擅长阅读英文文档的用户理解make工具的使用。" 在编程领域,`Makefile`是用于自动化构建项目的工具,尤其是C/C++项目,它告诉`make`程序哪些文件需要被编译或链接,以及如何执行这些操作。这份中文手册详细介绍了`GNU make`,它是`make`的最广泛使用的实现之一。 **第一章:概述** 章节简要介绍了`make`的基本概念,包括它的作用和基本工作原理,以及读者需要了解的基础知识,比如命令行和简单的文本编辑。 **第二章:GNUmake介绍** 这一章详细讲解了`Makefile`的构成,如: - **Makefile简介**:介绍了`Makefile`的结构和作用,它是`make`程序的配置文件。 - **Makefile规则**:规则定义了如何从一个或多个源文件生成目标文件,包括目标、依赖和命令。 - **简单的示例**:展示了基础的`Makefile`编写方式。 - **make如何工作**:解释了`make`如何解析`Makefile`,决定哪些文件需要更新。 - **指定变量**:变量用于存储重复使用的字符串,简化`Makefile`。 - **自动推导规则**:`make`可以自动推断某些类型的文件如何生成。 - **另类风格的makefile**:介绍了一些非标准的写法。 - **清除工作目录过程文件**:`clean`目标用于清理编译过程中产生的临时文件。 **第三章:Makefile总述** 此章深入讨论`Makefile`的高级特性,如: - **Makefile的内容**:包括目标、依赖、命令、变量等元素。 - **makefile文件的命名**:`make`默认查找名为`Makefile`或`makefile`的文件。 - **包含其它makefile文件**:通过`include`指令合并多个`Makefile`。 - **变量MAKEFILES**:系统环境变量,用于指定额外的`Makefile`位置。 - **变量MAKEFILE_LIST**:包含了`make`正在处理的所有`Makefile`列表。 - **其他特殊变量**:介绍了一些预定义的`make`变量。 - **makefile文件的重建**:如何让`make`更新`Makefile`自身。 - **重载另外一个makefile**:如何切换到不同的`Makefile`进行构建。 - **make如何解析makefile文件**:解析规则、变量取值、条件语句等的细节。 **第四章:Makefile的规则** 这部分详细讲解了规则的各种方面: - **规则语法**:包括依赖和命令的书写格式。 - **依赖的类型**:如显式依赖和隐含依赖。 - **文件名使用通配符**:`*`和`?`等通配符在文件名中的应用。 - **目录搜寻**:`VPATH`变量和`vpath`关键字用于指定搜索源文件的目录。 - **Makefile伪目标**:如`.PHONY`,确保目标总是被重新执行。 - **强制目标**:没有命令或依赖的规则。 - **空目标文件**:用于表示依赖关系但不生成实际文件的目标。 - **特殊目标**:如`.SILENT`, `.DELETE_ON_ERROR`等,控制`make`的行为。 - **多目标**:一个规则可以更新多个目标。 - **多规则目标**:针对同一目标的不同规则。 - **静态模式**:允许更灵活的规则匹配。 这份手册对于理解和编写`Makefile`非常有帮助,无论是初学者还是经验丰富的开发者,都能从中获取有价值的信息。通过学习,读者将能够有效地组织和自动化他们的构建过程。
剩余198页未读,继续阅读
- 粉丝: 0
- 资源: 11
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IPQ4019 QSDK开源代码资源包发布
- 高频组电赛必备:掌握数字频率合成模块要点
- ThinkPHP开发的仿微博系统功能解析
- 掌握Objective-C并发编程:NSOperation与NSOperationQueue精讲
- Navicat160 Premium 安装教程与说明
- SpringBoot+Vue开发的休闲娱乐票务代理平台
- 数据库课程设计:实现与优化方法探讨
- 电赛高频模块攻略:掌握移相网络的关键技术
- PHP简易简历系统教程与源码分享
- Java聊天室程序设计:实现用户互动与服务器监控
- Bootstrap后台管理页面模板(纯前端实现)
- 校园订餐系统项目源码解析:深入Spring框架核心原理
- 探索Spring核心原理的JavaWeb校园管理系统源码
- ios苹果APP从开发到上架的完整流程指南
- 深入理解Spring核心原理与源码解析
- 掌握Python函数与模块使用技巧