Makefile 中的?= 条件赋值的意思
2017-01-17 09:31
239 查看
:= 是立即变量赋值,在定义时值已经被确定
= 是延时变量赋值,只有在这个变量被使用时才展开,$(VAR)就是一种被使用
例
VAR_A=abcd
VAR_B=$(VAR_A)
VAR_C:=$(VAR_A)
VAR_A=cdef
此时,$(VAR_B) 为 cdef (跟随VAR_A变化)。
$(VAR_C) 为 abcd (不随VAR_A变化)。
?= 是条件赋值, 比如
foo ?= $(bar)
只有当foo变量还没有被定义的时候,才会将bar的值赋给foo。
= 是延时变量赋值,只有在这个变量被使用时才展开,$(VAR)就是一种被使用
例
VAR_A=abcd
VAR_B=$(VAR_A)
VAR_C:=$(VAR_A)
VAR_A=cdef
此时,$(VAR_B) 为 cdef (跟随VAR_A变化)。
$(VAR_C) 为 abcd (不随VAR_A变化)。
?= 是条件赋值, 比如
foo ?= $(bar)
只有当foo变量还没有被定义的时候,才会将bar的值赋给foo。
相关文章推荐
- Makefile内置变量,递归式变量,直接展开式变量,条件赋值,追加赋值
- Makefile内置变量,递归式变量,直接展开式变量,条件赋值,追加赋值,Makefile中shell命令的执行
- Makefile内置变量,递归式变量,直接展开式变量,条件赋值,追加赋值
- 学习Makefile第五课------使用判断条件
- (一)shell中条件判断if中的-z到-d的意思
- verilog中对同一个变量有判断条件的赋值
- make(六)makefile中使用条件判断
- shell中条件判断if中的-z到-d的意思
- CoffeeScript系列教程(六)—IF, ELSE, UNLESS 和条件赋值
- js if(!!!e) {} 判断条件中的三个感叹号什么意思
- [转] Makefile的条件执行
- html中子页面给父页面赋值,关闭子页面给父页面传值,父页面条件按子页面设置查询
- makefile变量赋值
- final:修饰后,就是最终的意思。不能再被赋值,
- makefile详解(20) 条件判断
- makefile的变量定义和赋值
- makefile中三种赋值的差别
- Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D
- shell中条件判断if中的-z到-d的意思
- GCC 64位程序的makefile条件编译心得——32位版与64位版、debug版与release版(兼容MinGW、TDM-GCC)