Makefile中 变量赋值含义
From: http://hi.baidu.com/linuxking/item/aab87527ac88550a76272c91
作者联系方式:李先静 <xianjimli at hotmail dot com>
在Makefile中,对变量的赋值,有好几种方式,它们的意义、使用的场合都各不相同,初学者往往比较迷惑。这里对它们的用法简要介绍一下。
<!--[if !supportEmptyParas]-->
= 递归展开赋值,这是默认的赋值方式。Makefile是两遍解析的,若一个变量引用另外一个变量,两个变量定义的位置,谁在前谁在后没有任何关系,都能达到同样的效果。如:
SUBARCH=arm
ARCH = $(SUBARCH)
all:
@echo $(ARCH)
输出:
arm
而
ARCH = $(SUBARCH)
SUBARCH=arm
all:
@echo $(ARCH)
也输出:
arm
<!--[if !supportEmptyParas]--> <!--[endif]-->
?= 如果没有初始化该变量,就给它赋上默认值。如:
ARCH=arm
ARCH ?= i386
all:
@echo $(ARCH)
输出:
arm
而
ARCH ?= i386
all:
@echo $(ARCH)
输出:
i386
<!--[if !supportEmptyParas]--> <!--[endif]-->
:= 直接赋值,不会递归展开,若引用的变量不存在,就展开为空串。如:
SUBARCH=arm
ARCH = $(SUBARCH)
all:
@echo $(ARCH)
输出:
arm
而
ARCH = $(SUBARCH)
SUBARCH=arm
all:
@echo $(ARCH)
输出:
(空串)
<!--[if !supportEmptyParas]--> <!--[endif]-->
<!--[if !supportEmptyParas]--><!--[endif]-->
+= 字符串连接
Makefile中 变量赋值含义相关推荐
- js中变量赋值3e3的含义简介
js中变量赋值3e3的含义简介 3e3 3e3 getNewTimer = setTimeout(function () {get_new_sign_list()}, 3e3) 其中3e3含义 3e3 ...
- Makefile中=, :=, ?=和+=的含义
Makefile中=, :=, ?=和+=的含义 1. 含义 1.1 " = " 1.2 " := " 1.3 " ?= " 1.4 &qu ...
- makefile中变量有哪些?
make一些参数选项: -p 选项,可以打印出make过程中的数据库, 下面研究一下内置的变量和规则. -n 选项, 只运行,不执行, -d 选项,相当于–debug=a,b(basic),v(ver ...
- 【Makefile由浅入深完全学习记录6】Makefile中变量的高级主题上
抓住基础,学习更多技术,迎接挑战,加qq:1126137994 微信:liu1126137994 一起学习更多技术~ 上一篇文章学习了makefile中的预定义变量的使用,今天来继续学习makefil ...
- mysql 触发器 赋值_MYSQL的触发器中 变量赋值
CREATETRIGGERsync_doingBEFOREINSERTONet_contentFOREACHROWBEGINSELECT@uc_id:=user_headFROMet_usersWHE ...
- python赋值语句对错_深入理解Python中变量赋值的问题
前言 在Python中变量名规则与其他大多数高级语言一样,都是受C语言影响的,另外变量名是大小写敏感的. Python是动态类型语言,也就是说不需要预先声明变量类型,变量的类型和值在赋值那一刻被初始化 ...
- 【Makefile由浅入深完全学习记录7】Makefile中变量的高级主题下
加qq:1126137994 微信:liu1126137994 一起学习更多技术~ 继续上一篇文章关于变量的学习! 1.环境变量(全局变量) -makefile中能够直接使用环境变量的值 如果make ...
- python 变量赋值是引用和拷贝_Python 中变量赋值传递时的引用和拷贝
曾经看到这样一个问题,一个字典中的元素是列表,将这个列表元素赋值给一个变量,然后修改这个列表中元素的值,结果发现,字典中那个列表也同样修改了.那个问题如下: dict = {'a':[1,2,3,4, ...
- Makefile中.PHONY的含义
目录标题 含义 作用 说明 含义 单词phony (即phoney)的意思是:伪造的,假的. 在Makefile中, .PHONY后面的target表示的也是一个伪造的target, 而不是真实存在的 ...
最新文章
- 基于CentOS中PXE网络环境构建实例
- 在C#中使用SqlDbType.Xml类型参数
- 龙格库塔法解微分方程组的matlab程序,MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc...
- 网站优化中应该注意的细节有哪些?
- Keil uvision 5 MDK 安装教程
- ibe加密原理_ibe 基于身份的IBE加密源代码,采用C++语言编写,能够运行。 Crypt_De algrithms 解密 238万源代码下载- www.pudn.com...
- 阿里笔试-二叉树由前序遍历和中序遍历推导后序遍历
- 泰山挑夫1(菜鸟题解)
- 【Spring】Spring autowire-candidate解决注入的时候有多个符合的bena
- GitHub上最流行的10000个Java都使用了哪些库?
- 2013年04月12日 JavaEE+物联云计算就业班-上海
- 城市记忆:(一)灵洲----河奇;(二)富平三迁
- 树莓派查看CPU温度
- C# 实现登录并跳转界面
- VC++ MFC实现的优秀的开源项目
- 单细胞分析:归一化和回归(八)
- js截取url问号前面_JS获取URL中问号后面参数值
- HTML---下拉框、列表框使用详解(select 与 option)
- 软件测试--测试用例
- AcWing蓝桥杯AB组辅导课07、贪心
热门文章
- Prototype 字符串
- 做论坛签名外链 我们需要注意什么?
- 广告投手_测量投手隐藏自己的音高的程度
- 余弦相似度和欧氏距离_欧氏距离和余弦相似度
- 相似图像搜索的哈希算法思想及实现(差值哈希算法和均值哈希算法)
- leetcode120. 三角形最小路径和(动态规划)
- javascript闭包_JavaScript闭包教程–带有JS闭包示例代码
- 开源贡献 计算_使用此网站为开源做贡献
- img 加载 svg占位符_如何使用SVG作为占位符以及其他图像加载技术
- 学习sql注入:猜测数据库_面向数据科学家SQL:学习简单方法