GNU makefile中文教程详解
"GNU+makefile中文手册,ver-3.8,由徐海兵翻译整理,涵盖了关于GNU make的全面介绍,包括Makefile的基本概念、规则、变量使用、自动推导规则、目录搜索等内容。" GNU Makefile是构建自动化工具,它允许程序员通过编写Makefile来自动化编译、链接等构建过程。手册详细介绍了以下知识点: 1. **概述**: - Makefile是用于管理项目构建的文件,包含了构建过程中各种目标文件的依赖关系以及构建这些目标的命令。 - GNU make是流行的Make工具之一,支持更复杂的Makefile语法和功能。 2. **准备知识**: - 在使用GNU make之前,需要了解基本的shell命令和编译原理。 3. **GNU make介绍**: - **Makefile简介**:Makefile包含目标(如可执行文件)、依赖项(如源代码文件)和构建目标所需的命令。 - **规则介绍**:规则定义了目标和依赖,以及如何从依赖构建目标的命令。 - **简单示例**:通常包括目标、依赖和命令,如`target: dependency1 dependency2; command`。 - **make如何工作**:make根据Makefile中的规则检查目标是否需要更新,并执行相应的命令。 - **指定变量**:使用变量可以简化Makefile,减少重复,如`CC=gcc`指定C编译器。 - **自动推导规则**:GNU make可以自动推导某些类型的依赖关系,例如从.c文件生成.o文件的编译过程。 - **另类风格的makefile**:Makefile的写法可以有多种,但应保持可读性和一致性。 4. **Makefile总述**: - **Makefile内容**:包括目标、依赖、命令、变量等。 - **命名**:Makefile可以命名为任意名字,但通常使用`Makefile`或`makefile`。 - **包含其他makefile**:使用`include`指令引入其他Makefile文件。 - **特殊变量**:如`MAKEFILES`和`MAKEFILE_LIST`记录了make使用的Makefile列表。 - **文件重建**:make可以自动生成Makefile的依赖关系,以便于追踪文件更改。 5. **Makefile的规则**: - **规则语法**:规则定义了目标、依赖和命令的结构。 - **依赖类型**:可以是文件依赖,也可以是其他规则。 - **通配符**:`*`用于匹配任何字符序列,但可能导致不期望的行为。 - **函数wildcard**:用于获取当前目录下匹配通配符的文件列表。 - **目录搜索**:通过`VPATH`和`vpath`关键字控制源文件的搜索路径。 - **伪目标**:如`.PHONY`,确保目标总是被重新构建。 - **强制目标**:无命令或依赖的规则,用于指示make进行特定操作。 - **空目标文件**:用于标记构建过程中的中间状态。 - **特殊目标**:如`.SILENT`、`.SECONDARY`等,控制make的行为。 - **多目标**:一个规则可以有多个目标,共享相同的依赖和命令。 - **静态模式规则**:更灵活的规则形式,允许指定模式依赖和命令。 手册还深入探讨了静态模式规则的语法和用法,以及它们与隐含规则的关系,提供了一整套构建自动化的方法论,对于理解和编写高效Makefile非常有价值。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![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://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/a68c4106b0c84ac58ce45a9e898548df_lhf19891003.jpg!1)
- 粉丝: 13
- 资源: 6
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 计算机人脸表情动画技术发展综述
- 关系数据库的关键字搜索技术综述:模型、架构与未来趋势
- 迭代自适应逆滤波在语音情感识别中的应用
- 概念知识树在旅游领域智能分析中的应用
- 构建is-a层次与OWL本体集成:理论与算法
- 基于语义元的相似度计算方法研究:改进与有效性验证
- 网格梯度多密度聚类算法:去噪与高效聚类
- 网格服务工作流动态调度算法PGSWA研究
- 突发事件连锁反应网络模型与应急预警分析
- BA网络上的病毒营销与网站推广仿真研究
- 离散HSMM故障预测模型:有效提升系统状态预测
- 煤矿安全评价:信息融合与可拓理论的应用
- 多维度Petri网工作流模型MD_WFN:统一建模与应用研究
- 面向过程追踪的知识安全描述方法
- 基于收益的软件过程资源调度优化策略
- 多核环境下基于数据流Java的Web服务器优化实现提升性能
![](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)