GNU makefile中文手册:Linux与Unix工程管理必备
需积分: 44 158 浏览量
更新于2024-07-20
收藏 1.9MB PDF 举报
"GNU+makefile中文手册.pdf"
GNU Makefile 是一种在 Linux 和 Unix 系统中广泛使用的构建工具,用于自动化编译、链接和其他工程管理任务。它通过定义一系列规则来指示系统如何从源代码生成可执行文件或其他输出。这份手册详细介绍了 GNU Make 的使用方法,包括其基本概念、规则定义、变量使用、文件搜索和自动化构建策略。
1. **概述**
- make 是一个命令行工具,用于根据依赖关系更新目标文件。
- makefile 是包含规则和指令的文本文件,指导 make 如何操作。
2. **GNU make介绍**
- **Makefile简介**:Makefile 包含目标和它们的依赖,以及更新目标所需的命令。
- **Makefile规则**:规则描述了如何从依赖文件生成目标文件,通常包含目标、依赖和命令三部分。
- **简单示例**:例如,一个简单的规则可能指示当源文件更新时重新编译目标文件。
- **make如何工作**:make 会检查目标和依赖的时间戳,如果依赖较新,就会运行相应的命令。
- **指定变量**:变量可以存储重复使用的值,如编译器路径或编译选项。
- **自动推导规则**:make 内置了一些隐含规则,可以自动推导出如何构建某些类型的文件。
- **另类风格的makefile**:makefile 可以采用不同的书写格式,但基本结构保持不变。
- **清除工作目录**:Makefile 通常包含清理目标,用于删除临时或编译生成的文件。
3. **Makefile总述**
- **Makefile的内容**:除了规则,Makefile 还可以包含变量定义、条件语句和包含其他 makefile 的指令。
- **命名与包含**:Makefile 文件可以有多种命名,也可以通过 `include` 指令包含其他文件。
- **变量MAKEFILES**:这个环境变量可以指定额外的 makefile。
- **变量MAKEFILE_LIST**:记录了 make 加载的所有 makefile 名称。
- **makefile的重建**:有时需要 make 自身去更新 makefile,这可以通过特殊的规则实现。
- **重载另一个makefile**:通过 `-f` 或 `--file` 参数指定要使用的 makefile。
4. **Makefile的规则**
- **规则语法**:规则由目标、依赖和命令组成,命令前加制表符或多个空格。
- **依赖类型**:直接依赖和间接依赖,决定了哪些文件触发规则。
- **通配符**:`*` 和 `?` 用于匹配多个文件,但可能会引发问题,需要谨慎使用。
- **目录搜索**:通过 `VPATH` 变量或 `vpath` 指令进行目录搜索,方便处理分散的源文件。
- **伪目标**:如 `.PHONY`,确保目标总是被视为已更新,即使同名文件存在。
- **静态模式**:允许更灵活地定义规则,适用于多文件生成相同类型的目标。
这份手册深入浅出地解释了 GNU Makefile 的各个方面,对于任何想要管理 Linux 或 Unix 工程的人来说都是宝贵的参考资料。通过学习和实践,开发者可以编写出高效、自动化的构建流程,提高开发效率。
2021-05-27 上传
2023-10-19 上传
2024-01-27 上传
2023-09-01 上传
2024-04-21 上传
2023-11-11 上传
2023-07-28 上传
for_sun_read
- 粉丝: 1
- 资源: 6
最新资源
- 前端面试必问:真实项目经验大揭秘
- 永磁同步电机二阶自抗扰神经网络控制技术与实践
- 基于HAL库的LoRa通讯与SHT30温湿度测量项目
- avaWeb-mast推荐系统开发实战指南
- 慧鱼SolidWorks零件模型库:设计与创新的强大工具
- MATLAB实现稀疏傅里叶变换(SFFT)代码及测试
- ChatGPT联网模式亮相,体验智能压缩技术.zip
- 掌握进程保护的HOOK API技术
- 基于.Net的日用品网站开发:设计、实现与分析
- MyBatis-Spring 1.3.2版本下载指南
- 开源全能媒体播放器:小戴媒体播放器2 5.1-3
- 华为eNSP参考文档:DHCP与VRP操作指南
- SpringMyBatis实现疫苗接种预约系统
- VHDL实现倒车雷达系统源码免费提供
- 掌握软件测评师考试要点:历年真题解析
- 轻松下载微信视频号内容的新工具介绍