Makefile内置变量,递归式变量,直接展开式变量,条件赋值,追加赋值
2014-10-25 16:33
134 查看
将shell命令的输出赋值给变量:
VALUE = $(shell 命令)
Makefile中给变量赋值:
= 是递归展开式变量
value1 = 5
value2 = $(value1)
value1 = 6
最终$(value2)就变成了6
:= 是直接展开式变量
value1 := 5
value2 := $(value1)
value1 :=6
最终$(value2)是5
?= 是条件赋值
value ?= xyz 意思是,当value之前没有使用的话,就给value赋值
xyz;当value之前已经使用的话,就不给value赋值
+= 追加赋值
value = filename1.o filename2.o
value += filename3.o
则$(value)为filename1.o filename2.o filename3.o
给变量赋值时,如果在一行放不下,可以用\符号将他们连接起来
Makefile中的内置变量
TARGET:REFERENCE
在他们下面,就可以用$@表示TARGET的内容,可以用$^表示REFERENCE的内容
VALUE = $(shell 命令)
Makefile中给变量赋值:
= 是递归展开式变量
value1 = 5
value2 = $(value1)
value1 = 6
最终$(value2)就变成了6
:= 是直接展开式变量
value1 := 5
value2 := $(value1)
value1 :=6
最终$(value2)是5
?= 是条件赋值
value ?= xyz 意思是,当value之前没有使用的话,就给value赋值
xyz;当value之前已经使用的话,就不给value赋值
+= 追加赋值
value = filename1.o filename2.o
value += filename3.o
则$(value)为filename1.o filename2.o filename3.o
给变量赋值时,如果在一行放不下,可以用\符号将他们连接起来
Makefile中的内置变量
TARGET:REFERENCE
在他们下面,就可以用$@表示TARGET的内容,可以用$^表示REFERENCE的内容
相关文章推荐
- Makefile内置变量,递归式变量,直接展开式变量,条件赋值,追加赋值
- Makefile内置变量,递归式变量,直接展开式变量,条件赋值,追加赋值,Makefile中shell命令的执行
- 同类型的结构体变量可以元素直接赋值,而不是地址赋值
- 很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序
- 用环境变量控制makefile /D选项。从而控制源文件条件编译
- makefile 变量赋值规则
- Makefile知识点-1-----变量赋值的方式
- Makefile 中经常会用到一些内置的标准变量
- 使用var声明的变量 和 直接赋值并未声明的变量的区别
- C++构造函数对类成员变量初始化,使用初始化列表和构造函数内部直接赋值 的区别
- Makefile中变量赋值=,:=,?=
- Makefile 中经常会用到一些内置的标准变量
- 把SQL的执行结果赋值给变量,然后将其作为while的条件,循环执行SQL
- int 变量直接赋值,是原子操作吗?
- 为什么上面这段代码没有直接写的 function add (){...} 而是把function赋值给了变量add呢?
- php 直接获取url参数赋值成变量。省去繁琐的获取参数,再一个个赋值
- Makefile 中经常会用到一些内置的标准变量
- Makefile 变量定义(*赋值)
- makefile 变量的赋值方式
- shell 变量的条件赋值