"Makefile详解.pdf" 本资源是关于GNU make工具的中文手册,详细解读了Makefile的使用和编写方法,适用于对构建自动化有兴趣的软件开发者。手册版本为3.8,由徐海兵在2004年9月11日翻译整理。 **第一章:概述** 章节介绍了make工具的基本概念,包括其在软件构建中的作用,以及学习Makefile前需要了解的基础知识。 **第二章:GNU make 介绍** 这一章深入讨论了Makefile,包括Makefile的构成和基本规则。它涵盖了: - **Makefile简介**:解释了Makefile是用来驱动GNU make执行编译、链接等任务的文本文件。 - **Makefile规则**:详细阐述了规则的结构,包括目标、依赖项和命令。 - **简单的示例**:通过实例展示了如何编写简单的Makefile来编译程序。 - **make如何工作**:解释了make是如何读取、解析和执行Makefile中的指令的。 - **指定变量**:介绍了如何在Makefile中定义和使用变量,以提高代码的可读性和复用性。 - **自动推导规则**:讲解了make如何自动推导源文件与目标文件之间的依赖关系,简化Makefile的编写。 - **另类风格的makefile**:提到了不遵循传统格式的Makefile编写方式。 - **清除工作目录过程文件**:说明了如何在Makefile中设置清理目标以删除编译过程中产生的临时文件。 **第三章:Makefile 总述** 该章更全面地探讨了Makefile的高级特性,包括: - **Makefile的内容**:解释了Makefile可以包含的各种指令和信息。 - **makefile文件的命名**:说明了Makefile的默认名称及如何指定不同的Makefile。 - **包含其它makefile文件**:介绍了如何使用`include`指令将多个Makefile组合在一起。 - **变量MAKEFILES**:讲述了这个特殊变量的作用,用于指定额外的Makefile。 - **变量MAKEFILE_LIST**:描述了记录所有加载的Makefile的列表。 - **其他特殊变量**:提到了更多与make行为相关的预定义变量。 - **makefile文件的重建**:讨论了如何让make重新读取Makefile。 - **重载另外一个makefile**:解释了如何在运行过程中改变Makefile。 - **make如何解析makefile文件**:深入解析make解析规则、变量和条件语句的过程。 **第四章:Makefile的规则** 这部分详细介绍了Makefile的规则细节,包括: - **一个例子**:提供了规则的实例,展示如何定义和使用规则。 - **规则语法**:规范了规则的书写格式。 - **依赖的类型**:区分了不同类型的依赖关系。 - **文件名使用通配符**:说明了如何使用通配符匹配多个文件,同时指出了使用通配符的潜在问题和解决方法。 - **目录搜寻**:解释了如何设置VPATH和vpath来搜索不同目录中的文件。 - **Makefile伪目标**:介绍了像`.PHONY`这样的伪目标,用于确保目标总是被重新生成。 - **强制目标**:描述了没有命令或依赖的规则,用于确保目标总是被执行。 - **空目标文件**:解释了创建空目标文件的用途,通常是作为依赖关系的占位符。 - **Makefile的特殊目标**:如`.SUFFIXES`、`.DEFAULT`等,它们有特殊的含义和作用。 - **多目标**:说明了如何在一个规则中处理多个目标。 - **多规则目标**:描述了如何为同一个目标设置多个规则。 - **静态模式**:介绍了静态模式规则,它允许更灵活的规则定义,同时与隐含规则相互作用。 通过这份手册,读者可以深入理解Makefile的工作原理,从而更好地利用GNU make进行自动化构建,提高开发效率。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 307
- 资源: 24
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)