标签:输出 efi bsp 停止 简单 例子 没有 file 最大的
1 递归扩展变量和简单扩展变量的区别
最大的区别在于,递归扩展变量等号右边的表达式里面的变量要等到该递归变量被用的时候再去扩展,而简单变量的话,在读取makefile的时候就已经扩展了。
并且简单扩展变量有前后关系,简单扩展变量只能用到在其前面定义的变量,而不能用到在其后面定义的变量。而递归扩展变量,要用的时候,需要扩展的时候,可以一直扩展到不能扩展为止,即递归扩展。
2 例子
foo := $(bar)
bar = aaa
all:;echo $(foo)
输出为空,因为在给foo赋值扩展等号右边的时候,还没有bar,因此为空。
foo = $(bar)
bar=aaa
all:;echo $(foo)
输出aaa,读取makefile时,foo等号右边还没有被扩展,要用foo的时候再去递归扩展,到了bar,它的右边已经没有需要继续扩展的变量了,因此停止扩展。
标签:输出 efi bsp 停止 简单 例子 没有 file 最大的
原文地址:http://www.cnblogs.com/hustdc/p/7459421.html