深入理解makefile:变量设置与SSE4.2命令集
需积分: 4 109 浏览量
更新于2024-08-09
收藏 4.21MB PDF 举报
"本文档是GNU make中文手册的一部分,涵盖了如何设置变量以及变量的使用方法。主要内容包括变量的取值方式、如何通过命令行选项、makefile文件、系统环境变量和自动化变量设置值,以及变量的设置规则,如递归展开和直接展开的区别。此外,还介绍了Makefile的基本概念、规则和工作原理。"
在GNU make中,变量是构建Makefile的核心元素,用于存储可重复使用的值,如文件列表或命令。变量可以通过多种方式设置:
1. **命令行选项**:在运行make时,可以使用`override`指示符通过命令行选项改变已定义的变量值。
2. **makefile文件**:通过`=`, `:=`或`define`语句在makefile中设置变量。`=`定义的变量是递归展开的,意味着在使用时才展开其值;`:=`定义的变量是直接展开的,值在定义时即被计算。
3. **系统环境变量**:所有系统环境变量都可以被make使用,可以直接设置为变量的值。
4. **自动化变量**:在不同规则中,自动化变量会有特定的值,如`$@`表示目标文件,`$<`表示第一个依赖文件等。
变量设置有以下几个要点:
1. **变量名的创建**:变量名可以包含函数和变量引用,make会根据已定义的变量进行替换。
2. **变量值的长度**:变量值长度无限制,但应考虑实际内存限制。长值可以分成多行,使用反斜杠`\`连接,保持可读性。
3. **未定义变量的默认值**:如果引用未定义的变量,make会将其值视为空。
Makefile的基本结构包括目标、依赖和命令,规则定义了如何从依赖文件生成目标文件。`Makefile`可以包含规则、变量定义和其他控制make行为的指令。通过指定变量,可以简化Makefile的编写和维护,例如使用变量来存储一系列文件名,或者设置通用的编译选项。
此外,`VPATH`变量用于指定源文件的搜索路径,`vpath`关键字允许更精细的目录配置。`wildcard`函数用于获取当前目录下的匹配文件名。Makefile中的特殊目标,如`.PHONY`用于定义伪目标,确保make总是执行相应的命令,即使目标文件已经存在。
理解和熟练运用变量设置是编写高效、灵活的Makefile的关键,它有助于构建复杂的构建系统,自动化软件编译和构建流程。
2020-01-10 上传
105 浏览量
2019-12-30 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
沃娃
- 粉丝: 31
- 资源: 3970
最新资源
- StarModAPI: StarMade 模组开发的Java API工具包
- PHP疫情上报管理系统开发与数据库实现详解
- 中秋节特献:明月祝福Flash动画素材
- Java GUI界面RPi-kee_Pilot:RPi-kee专用控制工具
- 电脑端APK信息提取工具APK Messenger功能介绍
- 探索矩阵连乘算法在C++中的应用
- Airflow教程:入门到工作流程创建
- MIP在Matlab中实现黑白图像处理的开源解决方案
- 图像切割感知分组框架:Matlab中的PG-framework实现
- 计算机科学中的经典算法与应用场景解析
- MiniZinc 编译器:高效解决离散优化问题
- MATLAB工具用于测量静态接触角的开源代码解析
- Python网络服务器项目合作指南
- 使用Matlab实现基础水族馆鱼类跟踪的代码解析
- vagga:基于Rust的用户空间容器化开发工具
- PPAP: 多语言支持的PHP邮政地址解析器项目