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中 变量赋值含义相关推荐

  1. js中变量赋值3e3的含义简介

    js中变量赋值3e3的含义简介 3e3 3e3 getNewTimer = setTimeout(function () {get_new_sign_list()}, 3e3) 其中3e3含义 3e3 ...

  2. Makefile中=, :=, ?=和+=的含义

    Makefile中=, :=, ?=和+=的含义 1. 含义 1.1 " = " 1.2 " := " 1.3 " ?= " 1.4 &qu ...

  3. makefile中变量有哪些?

    make一些参数选项: -p 选项,可以打印出make过程中的数据库, 下面研究一下内置的变量和规则. -n 选项, 只运行,不执行, -d 选项,相当于–debug=a,b(basic),v(ver ...

  4. 【Makefile由浅入深完全学习记录6】Makefile中变量的高级主题上

    抓住基础,学习更多技术,迎接挑战,加qq:1126137994 微信:liu1126137994 一起学习更多技术~ 上一篇文章学习了makefile中的预定义变量的使用,今天来继续学习makefil ...

  5. mysql 触发器 赋值_MYSQL的触发器中 变量赋值

    CREATETRIGGERsync_doingBEFOREINSERTONet_contentFOREACHROWBEGINSELECT@uc_id:=user_headFROMet_usersWHE ...

  6. python赋值语句对错_深入理解Python中变量赋值的问题

    前言 在Python中变量名规则与其他大多数高级语言一样,都是受C语言影响的,另外变量名是大小写敏感的. Python是动态类型语言,也就是说不需要预先声明变量类型,变量的类型和值在赋值那一刻被初始化 ...

  7. 【Makefile由浅入深完全学习记录7】Makefile中变量的高级主题下

    加qq:1126137994 微信:liu1126137994 一起学习更多技术~ 继续上一篇文章关于变量的学习! 1.环境变量(全局变量) -makefile中能够直接使用环境变量的值 如果make ...

  8. python 变量赋值是引用和拷贝_Python 中变量赋值传递时的引用和拷贝

    曾经看到这样一个问题,一个字典中的元素是列表,将这个列表元素赋值给一个变量,然后修改这个列表中元素的值,结果发现,字典中那个列表也同样修改了.那个问题如下: dict = {'a':[1,2,3,4, ...

  9. Makefile中.PHONY的含义

    目录标题 含义 作用 说明 含义 单词phony (即phoney)的意思是:伪造的,假的. 在Makefile中, .PHONY后面的target表示的也是一个伪造的target, 而不是真实存在的 ...

最新文章

  1. 基于CentOS中PXE网络环境构建实例
  2. 在C#中使用SqlDbType.Xml类型参数
  3. 龙格库塔法解微分方程组的matlab程序,MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc...
  4. 网站优化中应该注意的细节有哪些?
  5. Keil uvision 5 MDK 安装教程
  6. ibe加密原理_ibe 基于身份的IBE加密源代码,采用C++语言编写,能够运行。 Crypt_De algrithms 解密 238万源代码下载- www.pudn.com...
  7. 阿里笔试-二叉树由前序遍历和中序遍历推导后序遍历
  8. 泰山挑夫1(菜鸟题解)
  9. 【Spring】Spring autowire-candidate解决注入的时候有多个符合的bena
  10. GitHub上最流行的10000个Java都使用了哪些库?
  11. 2013年04月12日 JavaEE+物联云计算就业班-上海
  12. 城市记忆:(一)灵洲----河奇;(二)富平三迁
  13. 树莓派查看CPU温度
  14. C# 实现登录并跳转界面
  15. VC++ MFC实现的优秀的开源项目
  16. 单细胞分析:归一化和回归(八)
  17. js截取url问号前面_JS获取URL中问号后面参数值
  18. HTML---下拉框、列表框使用详解(select 与 option)
  19. 软件测试--测试用例
  20. AcWing蓝桥杯AB组辅导课07、贪心

热门文章

  1. Prototype 字符串
  2. 做论坛签名外链 我们需要注意什么?
  3. 广告投手_测量投手隐藏自己的音高的程度
  4. 余弦相似度和欧氏距离_欧氏距离和余弦相似度
  5. 相似图像搜索的哈希算法思想及实现(差值哈希算法和均值哈希算法)
  6. leetcode120. 三角形最小路径和(动态规划)
  7. javascript闭包_JavaScript闭包教程–带有JS闭包示例代码
  8. 开源贡献 计算_使用此网站为开源做贡献
  9. img 加载 svg占位符_如何使用SVG作为占位符以及其他图像加载技术
  10. 学习sql注入:猜测数据库_面向数据科学家SQL:学习简单方法