makefile-赋值

2. makefile 中的赋值语句

makefile 中的赋值符有 = := ?= +=

ex:

/*****************makefile 2*********************/

a = 123

b = $(a)

a = 456

/************************************************/

在 makefile 2 文件中,b = $(a) , = 可以推迟赋值,使得

b = a 的最后一次有效值, 也就是说  最终 b = 456

/*****************makefile 3*********************/

a = 123

b := $(a)

a = 456

/************************************************/

在 makefile 3 文件中,b := $(a) , := 只会赋值当前值,

也就是说, 最终 b = 123

/*****************makefile 4*********************/

a = 123

b ?= $(a)

a = 456

/************************************************/

在 makefile 4 文件中,b ?= $(a) , ?= 会判断当前左边的 b

有没有被赋值, 如果没有的话,最终效果会跟 b = $(a) 一样,

也就是 最终 b = 456

/*****************makefile 5*********************/

a = 123

a += 456

/************************************************/

在 makefile 5 文件中,a 首先赋值了 123 然后 += 456

最终 a = 123 456

123与456 之间会被插入一个空格

你可能感兴趣的:(makefile-赋值)