GNU Makefile中文手册概览
需积分: 33 81 浏览量
更新于2024-07-20
收藏 2.24MB PDF 举报
"GNU_Makefile中文手册"
GNU Makefile 是一个强大的自动化构建工具,用于编译和管理项目中的源代码。这个中文手册是基于ver-3.81版本的,由徐海兵在2004年9月11日翻译整理。手册详细介绍了GNU make的工作原理和使用方法,对软件开发人员来说是一份非常实用的参考文档。
手册分为多个章节,详细讲解了以下几个关键知识点:
1. **概述**:这部分介绍了 GNU make 的基本概念和作用,以及学习 GNU make 需要的基础知识。
2. **GNU make介绍**:
- **Makefile简介**:Makefile 是由一系列规则组成,用来指示 make 如何构建项目的文件。
- **Makefile规则**:规则描述了目标文件如何依赖于其他文件,并提供了构建目标所需的命令。
- **简单的示例**:通过实例展示如何编写基本的 Makefile。
- **make如何工作**:解释了 make 如何解析和执行 Makefile 中的规则。
- **指定变量**:变量可以存储值,简化 Makefile 并提供可重用性。
- **自动推导规则**:make 自动为某些常见的文件类型提供构建规则。
- **另类风格的makefile**:介绍了不同格式和风格的 Makefile 写法。
- **清除工作目录过程文件**:如何设置清理目标以删除临时或编译产生的文件。
3. **Makefile总述**:
- **Makefile的内容**:包括Makefile可以包含的目标、规则、变量等元素。
- **文件的命名**:可以使用不同的文件名来表示Makefile。
- **包含其它makefile**:使用`include`指令合并多个Makefile。
- **变量MAKEFILES**:特殊变量记录了被包含的Makefile列表。
- **变量MAKEFILE_LIST**:包含当前处理的所有Makefile的列表。
- **其他特殊变量**:介绍了其他有用的预定义变量。
- **makefile文件的重建**:当Makefile本身需要更新时,如何处理。
- **重载另一个makefile**:如何在运行时切换到不同的Makefile。
- **make如何解析makefile文件**:详细解释了解析和解释Makefile的步骤。
4. **Makefile的规则**:
- **规则语法**:定义规则的结构和语法。
- **依赖的类型**:目标可以依赖于多种类型的文件。
- **文件名使用通配符**:使用`*`等通配符匹配一组文件,但也有其限制。
- **函数wildcard**:获取匹配通配符的文件列表。
- **目录搜寻**:如何配置 make 在不同目录中查找文件。
- **Makefile伪目标**:如`.PHONY`,确保目标总是被视为需要重新构建。
- **强制目标**:没有命令或依赖的规则,用于确保目标总是被执行。
- **空目标文件**:用于创建不存在的依赖,通常与链接脚本相关。
- **Makefile的特殊目标**:如`.SUFFIXES`、`.PRECIOUS`等,它们有特殊的含义和作用。
- **多目标**:一个规则可以生成多个目标。
- **多规则目标**:一个目标可以有多个规则,每个规则有不同的命令。
- **静态模式**:静态模式规则允许更灵活地匹配多个目标。
这个手册全面覆盖了 GNU Makefile 的各个方面,对于理解和编写 Makefile 来构建复杂的软件项目具有很高的指导价值。开发者可以通过深入学习和实践,提高项目构建的效率和可维护性。
2011-05-02 上传
2021-05-27 上传
2021-09-30 上传
2022-09-19 上传
2009-09-26 上传
2015-10-12 上传
2013-03-10 上传
2014-06-09 上传
芋头CF
- 粉丝: 27
- 资源: 4
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载