GNUMAKE中文手册:origin函数详解
需积分: 50 2 浏览量
更新于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
- 资源: 3887
最新资源
- Windows CE Programming [PDA][C++].pdf
- Wince深入浅出教程.pdf
- PlatformBuilderandEmbeddedVisualC++.pdf
- SQL语法参考手册,简单易用
- profiler使用大全
- ejb3.0实例教程.pdf
- 数据挖掘概念与技术Ed2
- Arm system developer's giude.pdf
- SVM Nice paper
- Spring开发指南(PDF)
- SQL Server 2005安装使用教程
- 需求分析的模板要的下
- VIM用户使用手册中文版
- Fedora10正式版完全安装教程.pdf
- 高速PCB设计指南高速PCB设计指南高速PCB设计指南
- zend framework 分页类