Chinaunix首页 | 论坛 | 博客
  • 博客访问: 349027
  • 博文数量: 60
  • 博客积分: 1570
  • 博客等级: 上尉
  • 技术积分: 620
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-02 23:37
文章分类

全部博文(60)

文章存档

2012年(2)

2010年(2)

2009年(56)

分类: LINUX

2012-10-14 00:34:03

收集了网上的一些资料,记录下来:
Makefile文件中,对变量有好几种的赋值方式:"=", ":=", "?=", "+="

1) "=" 递归展开赋值,右侧的变量还允许在后面定义。左侧变量的值,由右侧变量最后的值决定。

2) ":=" 将右侧中包含的变量直接展开给左侧的变量赋值。

3) "?="  只有当左侧变量还没有被定义的时候,才会将右侧的值赋给左侧;
          如果左侧变量已经被定义过,即使是空值,?=不会给左侧赋值。

4) "+="  给左侧变量追加值。


举例例子:
a = 1
b = 2
c := $(a)3
d = 4
d ?= 5
e = $(a)4
b+=6
a = 7
f =
f ?= 8

all:
        @echo ${a}   --------》输出: 7
        @echo ${b}   --------》输出: 2 6 (中间有个空格)
        @echo ${c}   --------》输出: 13
        @echo ${d}   --------》输出: 4
        @echo ${e}   --------》输出: 74
        @echo ${f}   --------》输出: 一个空白


阅读(2379) | 评论(0) | 转发(0) |
0

上一篇:在shell 脚本中嵌入二进制可执行程序

下一篇:没有了

给主人留下些什么吧!~~