GNU make中文手册:Makefile编写指南
下载需积分: 36 | PDF格式 | 1.34MB |
更新于2024-10-30
| 181 浏览量 | 举报
"GNUmake中文手册,由徐海兵翻译整理,涵盖了GNU make工具的使用,包括Makefile的编写、规则、变量、搜索目录等内容,旨在帮助用户理解和掌握自动化构建过程。"
GNU make是用于自动化构建项目的工具,它通过读取Makefile来决定哪些文件需要更新,并执行相应的命令。这份中文手册详细介绍了GNU make的基础知识和高级特性。
**第一章:概述**
这一章对GNU make进行了简要介绍,包括其基本概念和用途。它强调了理解Makefile结构和工作原理的重要性,是初学者入门的基础。
**第二章:GNU make介绍**
章节详细讲解了Makefile的基本元素,如:
- **Makefile简介**:介绍了Makefile的结构和作用,它是GNU make的核心。
- **Makefile规则**:规则定义了文件之间的依赖关系以及如何更新目标文件。
- **简单示例**:通过实例展示了如何编写一个基本的Makefile。
- **make如何工作**:解释了make如何解析和执行Makefile中的指令。
- **指定变量**:变量在Makefile中用于存储值,简化了重复的命令或设置。
- **自动推导规则**:make能自动推导某些类型的依赖关系,减少手动声明。
- **另类风格的makefile**:讨论了不同风格的Makefile写法。
- **清除工作目录过程文件**:如何设置清理目标以删除临时或编译产生的文件。
**第三章:Makefile总述**
本章深入探讨了Makefile的各个方面:
- **Makefile的内容**:涵盖了Makefile可以包含的各种指令和信息。
- **makefile文件的命名**:说明了默认的Makefile名称及如何指定非默认的Makefile。
- **包含其它makefile文件**:通过`include`指令组合多个Makefile。
- **变量MAKEFILES**:系统如何处理包含的Makefile。
- **变量MAKEFILE_LIST**:记录了被加载的所有Makefile。
- **其他特殊变量**:如目标、依赖、命令等变量的作用。
- **makefile文件的重建**:当Makefile自身改变时,如何重新构建。
- **重载另一个makefile**:如何在运行过程中切换Makefile。
- **make如何解析makefile文件**:详细解析过程,包括变量取值、条件语句和规则定义。
**第四章:Makefile的规则**
规则是Makefile的核心部分,本章深入解析了规则的各种细节:
- **一个例子**:通过实际案例展示规则的使用。
- **规则语法**:规范了目标、依赖和命令的书写格式。
- **依赖的类型**:包括直接依赖和间接依赖。
- **文件名使用通配符**:利用`*`和`?`进行批量匹配,以及相关的缺陷和解决方案。
- **目录搜寻**:如何在多个目录下查找依赖文件。
- **Makefile伪目标**:如`.PHONY`,确保目标总是被重新构建。
- **强制目标和空目标文件**:控制make的行为,即使目标已经存在也执行命令。
- **特殊目标**:如`.SILENT`、`.DELETE_ON_ERROR`等,影响make的默认行为。
- **多目标和多规则目标**:允许一个规则更新多个目标。
- **静态模式**:提供了更灵活的规则定义方式,允许更精细的控制。
这个手册全面覆盖了GNU make的各个方面,无论是初学者还是经验丰富的开发者,都能从中受益,提升对自动化构建的理解和实践能力。
相关推荐








2 浏览量

skyhb
- 粉丝: 12
最新资源
- Verilog实现的Xilinx序列检测器设计教程
- 九度智能SEO优化软件新版发布,提升搜索引擎排名
- EssentialPIM Pro v11.0 便携修改版:全面个人信息管理与同步
- C#源代码的恶作剧外表答题器程序教程
- Weblogic集群配置与优化及常见问题解决方案
- Harvard Dataverse数据的Python Flask API教程
- DNS域名批量解析工具v1.31:功能提升与日志更新
- JavaScript前台表单验证技巧与实例解析
- FLAC二次开发实用论文资料汇总
- JavaScript项目开发实践:Front-Projeto-Final-PS-2019.2解析
- 76云保姆:迅雷云点播免费自动升级体验
- Android SQLite数据库增删改查操作详解
- HTML/CSS/JS基础模板:经典篮球学习项目
- 粒子群算法优化GARVER-6直流配网规划
- Windows版jemalloc内存分配器发布
- 实用强大QQ机器人,你值得拥有