GNUMAKE中文手册:origin函数详解
需积分: 50 108 浏览量
更新于2024-08-06
收藏 860KB PDF 举报
"origin函数-thomas calculus 13th edition - makefile"
在Makefile编程中,`origin`函数是一个非常有用的工具,它用于查询变量的来源。了解`origin`函数可以帮助我们更好地理解Makefile中变量的定义和作用域。下面我们将深入探讨这个函数及其返回值的含义。
`origin`函数的语法很简单:`$(origin <variable>)`。这里的`<variable>`是你想要查询的变量名。需要注意的是,变量名不应包含引用符号`$`,因为`origin`期望的是变量名而不是变量的值。
1. undefined: 当变量从未被定义过时,`origin`函数将返回“undefined”。这意味着Makefile或命令行中都没有给这个变量赋值。
2. default: 如果`<variable>`是一个默认定义的变量,如“CC”,这种情况下,`origin`会返回“default”。默认变量通常是Makefile内部预定义的,它们提供了特定的行为或者默认的编译器设置。
3. environment: 如果变量是一个环境变量,并且在执行Makefile时没有使用`-e`选项,`origin`将返回“environment”。这表明变量的值来自当前的Shell环境。
4. file: 当变量在Makefile本身中被定义时,`origin`返回“file”。这意味着在Makefile的某一行中,你显式地设置了这个变量的值。
5. command line: 如果变量是在命令行中定义的,例如`make VAR=value`,`origin`函数会返回“command line”。这种定义优先于Makefile和环境变量的定义。
`origin`函数的这些返回值有助于调试Makefile,尤其是在处理变量的优先级和作用域问题时。例如,如果一个变量在Makefile中定义了,但在命令行上又有了不同的值,`origin`可以帮助确定哪个定义生效。
在编写Makefile时,理解变量的来源和如何被赋值是非常重要的,因为它可以影响到构建过程中的行为。例如,如果你希望覆盖默认的编译器,可以在命令行上定义一个变量,然后通过`origin`检查确保这个定义被采用了。
此外,Makefile的其他部分包括规则、变量、条件判断、函数等,都是构建自动化过程的关键组成部分。规则定义了如何从源文件生成目标文件,变量用于存储可重用的值,条件判断允许根据特定条件执行不同操作,而函数则提供了一种增强Makefile表达能力的方式,如字符串处理、文件名操作等。
`origin`函数是Makefile中诊断和控制变量来源的一个强大工具,它使得Makefile的编写和维护更加透明和可控。正确使用`origin`和其他Makefile特性,可以极大地提高构建系统的效率和可靠性。
2018-10-10 上传
2018-10-31 上传
2019-05-27 上传
点击了解资源详情
2023-12-06 上传
2021-05-30 上传
2018-08-14 上传
Davider_Wu
- 粉丝: 45
- 资源: 3893
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载