GNUmake中文手册解析:origin函数与Makefile规则
需积分: 12 171 浏览量
更新于2024-08-07
收藏 2.02MB PDF 举报
"GNUmake中文手册,ver-3.8,由徐海兵翻译整理,2004年9月11日发布"
在GNUmake中,“origin”函数是一个特殊的内置函数,用于查询变量的来源信息。它不改变或操作变量本身,而是返回变量的定义方式。`$(origin VARIABLE)` 是其基本语法,其中 `VARIABLE` 是我们要查询的变量名,而不是变量的引用。需要注意的是,`VARIABLE` 通常不会包含 `$` 符号,除非是涉及计算的变量名。
GNUmake是用于自动化构建软件的工具,它基于Makefile文件来决定哪些任务需要执行。Makefile由一系列规则组成,每个规则定义了目标(通常是文件)及其依赖项以及更新目标所需的命令。当目标比其依赖项更新时,make会运行相应的命令来更新目标。
在Makefile中,变量的定义和使用是关键概念。变量可以存储值,如文件路径、编译选项等,通过`=`或`:=`进行赋值。`origin`函数可以帮助我们了解变量是默认设置、在Makefile中定义、用户输入还是环境变量。
Makefile的规则描述了如何从依赖文件生成目标文件。规则通常包含目标、依赖项和命令三部分。例如,一个简单的规则可能如下所示:
```
target : dependency
command
```
当`target`比`dependency`旧或者`dependency`不存在时,`command`会被执行。
`VPATH`变量允许我们指定除当前目录外的其他搜索路径,这对于处理多个源文件目录的情况非常有用。`vpath`则允许我们为特定类型的文件指定特定的搜索路径。
Makefile还可以包含条件语句,根据特定条件选择性地执行规则或设定变量。这可以通过`ifdef`、`ifndef`、`ifeq`等条件关键字实现。
此外,Makefile支持伪目标,如`.PHONY`,确保目标总是被重新构建,即使同名的文件存在。静态模式规则允许更灵活地定义多目标和依赖关系,而隐含规则则提供了预定义的构建步骤,如编译C或C++源文件。
通过深入理解`origin`函数以及Makefile的其他特性,我们可以更有效地编写和管理构建过程,提高开发效率,确保软件构建的一致性和可重复性。在实际的软件工程中,掌握这些知识对于自动化构建流程至关重要。
103 浏览量
2021-01-17 上传
2020-03-23 上传
2019-07-08 上传
点击了解资源详情
点击了解资源详情
2018-08-06 上传
2019-01-16 上传
2023-03-20 上传
刘看山福利社
- 粉丝: 34
- 资源: 3889
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫