GNU make 3.8中文手册:嵌入式开发必备
需积分: 9 196 浏览量
更新于2024-11-27
收藏 1.29MB PDF 举报
"GNUmake中文手册 ver-3.8 嵌入式必看"
GNU Make是用于自动化构建系统的工具,特别适用于管理嵌入式系统中的编译过程。该手册的中文版为开发者提供了详细的理解和使用指南。以下是手册内容的概要:
### 第一章:概述
这一章介绍了在使用Make之前需要的基本知识,包括对Makefile的初步理解。它分为以下几个部分:
1.1.1 概述:解释了Make的目的,即自动化编译和链接过程。
1.1.2 准备知识:简要介绍了需要了解的编程和命令行基础。
1.2 GNUmake介绍:详细讲解了GNU Make的功能和特性。
1.2.1 Makefile简介:描述了Makefile的结构和作用。
1.2.2 Makefile规则介绍:解释了规则如何定义目标及其依赖项。
1.2.3 简单示例:通过实例展示了如何编写基本的Makefile。
1.2.4 make如何工作:阐述了make执行Makefile的过程。
1.2.5 指定变量:介绍了如何在Makefile中定义和使用变量。
1.2.6 自动推导规则:说明了Make自动推导目标依赖的规则。
1.2.7 另类风格的makefile:讨论了不同风格的Makefile编写方式。
1.2.8 清除工作目录过程文件:讲解如何设置清理目标以删除编译过程中产生的临时文件。
### 第二章:Makefile总述
本章深入探讨Makefile的各个方面:
2.1 Makefile概述:对Makefile的结构和内容进行了详细说明。
2.2 makefile文件的命名:讨论了Makefile文件的命名约定。
2.3 包含其他makefile文件:解释了如何在一个Makefile中包含其他Makefile以扩展规则。
2.4 变量MAKEFILES:介绍了一个特殊的变量,用于指定额外的Makefile路径。
2.5 变量MAKEFILE_LIST:详细描述了记录所有加载的Makefile的变量。
2.6 其他特殊变量:列举了一些Make预定义的特殊变量。
2.7 makefile文件的重建:讲述了如何在需要时重新构建Makefile。
2.8 重载另一个makefile:说明了如何在运行时改变Make的目标Makefile。
2.9 make如何解析makefile文件:解析过程包括变量取值、条件语句和规则定义。
2.10 总结:对本章内容做了扼要总结。
### 第三章:Makefile的规则
本章专注于Makefile的核心元素——规则:
3.1 一个例子:通过一个实际的规则示例来说明其工作原理。
3.2 规则语法:详细阐述了规则的语法结构。
3.3 依赖的类型:解释了目标可以依赖于的各种类型。
3.4 文件名使用通配符:介绍了如何使用通配符匹配多个文件。
3.4.1 统配符使用举例:给出了通配符在Makefile中的应用。
3.4.2 通配符存在的缺陷:讨论了使用通配符可能导致的问题。
3.4.3 函数wildcard:提到了一个用于获取匹配通配符的文件列表的内置函数。
3.5 目录搜寻:说明了如何让Make在多个目录中查找依赖文件。
3.5.1 一般搜索(变量VPATH):使用VPATH变量进行全局目录搜索。
3.5.2 选择性搜索(关键字vpath):介绍了局部目录搜索的设置方法。
3.5.3 目录搜索的机制:详细描述了Make的搜索流程。
3.5.4 命令行和搜索目录:如何在命令行中指定额外的搜索路径。
3.5.5 隐含规则和搜索目录:隐含规则如何与目录搜索结合。
3.5.6 库文件和搜索目录:库文件的处理方式与目录搜索的关系。
3.6 Makefile伪目标:讲解了如clean这样的特殊目标,它们不对应任何物理文件。
3.7 强制目标:没有命令或依赖的规则,用于更新目标。
3.8 空目标文件:用于确保命令执行,即使没有文件更改。
3.9 Makefile的特殊目标:如PHONY、.SUFFIXES等特殊目标的用法。
3.10 多目标:一个规则可以更新多个目标。
3.11 多规则目标:多个规则指向同一个目标的情况。
3.12 静态模式:一种更灵活的规则表示方式,可减少重复代码。
3.12.1 静态模式规则的语法:描述了静态模式规则的写作规则。
这个手册对于学习和精通GNU Make,特别是对于在嵌入式开发环境中使用Make构建系统的人来说,是一份非常有价值的参考资料。通过深入理解和实践手册中的内容,开发者能够有效地管理和自动化他们的构建过程。
118 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
126 浏览量
点击了解资源详情
279 浏览量
点击了解资源详情
点击了解资源详情

gflytu
- 粉丝: 191
最新资源
- 乘风多用户PHP统计系统v4.1:源码与项目实践指南
- Vue.js拖放组件:vue-smooth-dnd的封装与应用
- WPF图片浏览器开发教程与源码分享
- 泰坦尼克号获救预测:分享完整版机器学习训练测试数据
- 深入理解雅克比和高斯赛德尔迭代法在C++中的实现
- 脉冲序列调制与跳周期调制相结合的Buck变换器研究
- 探索OpenCV中的PCA人脸检测技术
- Oracle分区技术:表、索引与索引分区深入解析
- Windows 64位SVN客户端下载安装指南
- SSM与Shiro整合的实践案例分析
- 全局滑模控制Buck变换器设计及其仿真分析
- 1602液晶动态显示实现源码及使用教程下载
- Struts2、Hibernate与Spring整合在线音乐平台源码解析
- 掌握.NET Reflector 8.2.0.42:反编译及源码调试技巧
- 掌握grunt-buddha-xiaofangmoon插件的入门指南
- 定频滑模控制在Buck变换器设计中的应用