GNU make中文手册:Unix/Linux程序员必读
需积分: 0 155 浏览量
更新于2025-01-08
收藏 1.9MB PDF 举报
"GNU make中文手册,ver-3.8,由徐海兵翻译整理,包含了关于makefile的详细说明,适用于unix和linux环境下的程序编译。"
GNU Make是Unix/Linux环境中广泛使用的自动化构建工具,它通过读取名为`Makefile`的文件来管理项目的编译、链接等构建步骤。手册的章节结构如下:
1. **概述**:这部分介绍了make的基本概念和使用背景,是理解make工具的基础。
- **准备知识**:在深入学习前,读者需要对基础的编程和构建概念有所了解。
2. **GNU make介绍**:这一章详细讲解了`Makefile`的构造和工作原理。
- **Makefile简介**:介绍了Makefile的基本结构和组成部分。
- **Makefile规则**:规则定义了目标文件及其依赖,以及如何生成目标文件的命令。
- **简单的示例**:通过实例展示如何编写基本的Makefile。
- **make如何工作**:解释了make如何解析和执行Makefile中的指令。
- **指定变量**:变量用于存储常量和表达式,简化Makefile的编写。
- **自动推导规则**:make可以自动推导某些常见的编译和链接规则。
- **另类风格的makefile**:介绍了非标准格式的Makefile编写方式。
- **清除工作目录过程文件**:说明如何定义清理命令,删除临时或编译生成的文件。
3. **Makefile总述**:更深入地探讨Makefile的各种特性。
- **Makefile的内容**:详细阐述Makefile可以包含的各种指令和设置。
- **makefile文件的命名**:可以使用多个名字或包含其他Makefile。
- **包含其它makefile文件**:如何用`include`指令引入外部Makefile。
- **变量MAKEFILES**:这个变量可以指定额外的Makefile源。
- **变量MAKEFILE_LIST**:保存所有已读取的Makefile列表。
- **其他特殊变量**:讨论了一些预定义的特殊变量。
- **makefile文件的重建**:如何让make重新读取Makefile。
- **重载另外一个makefile**:如何切换到不同的Makefile执行。
- **make如何解析makefile文件**:解析规则、条件语句和变量取值的过程。
4. **Makefile的规则**:规则是Makefile的核心,定义了构建流程。
- **一个例子**:通过实例展示规则的用法。
- **规则语法**:详细描述规则的格式。
- **依赖的类型**:目标可以依赖于多个其他文件。
- **文件名使用通配符**:利用通配符匹配多个文件,包括`wildcard`函数。
- **目录搜寻**:如何指定搜索路径,如`VPATH`和`vpath`。
- **Makefile伪目标**:如`.PHONY`,用于指示目标总是需要构建。
- **强制目标**:没有命令或依赖的目标。
- **空目标文件**:用于收集依赖的虚拟目标。
- **Makefile的特殊目标**:如`.DEFAULT`和`.SUFFIXES`等。
- **多目标**:一个规则可以生成多个目标。
- **多规则目标**:多个规则对应同一个目标。
- **静态模式**:更灵活的规则模式,结合了隐含规则和显式规则。
手册的每一部分都深入浅出地解释了GNU Make的各个方面,对于编写和维护复杂的构建系统非常有帮助。通过学习,程序员可以有效地自动化项目构建,提高开发效率。
186 浏览量
2011-07-31 上传
538 浏览量
116 浏览量
2025-01-08 上传
2025-01-08 上传
「已注销」
- 粉丝: 0
- 资源: 3
最新资源
- 智睿学校选课系统 v3.2.0
- javascript-pw-generator
- 带有Blynk和全息图的蜂窝物联网-项目开发
- SkytecBotRewrite:Skytec Bot
- 基于欧姆龙的PLC实验.rar
- java-array-classwork1-CalebC94:GitHub Classroom创建的java-array-classwork1-CalebC94
- expo-sample-app
- crossphp简洁高效PHP开发框架 v1.6.0
- 海康威视LED屏DS-TVL224文本语音二次开发代码
- Leetcode
- 智睿录取查询报名系统 v8.2.0
- website-2.0
- 索尔玛兹·波托利奥
- letmehear:有声书批处理器(resplitter)
- jhipster-sample-application
- MSR Paraphrase Corpus data.zip