1.= 是最基本的赋值,makefile会将全文进行展开后进行赋值,如x = foo y = $(x) bar x = xyz 在上例中,y的值将会是 xyz bar ,而不是 foo bar 。
2.:= 是覆盖之前的值,不会将之后的展开,参考1,y的值为foo bar
3.?= 是如果没有被赋值过就赋予等号后面的值
4.+= 是添加等号后面的值
1.= 是最基本的赋值,makefile会将全文进行展开后进行赋值,如x = foo y = $(x) bar x = xyz 在上例中,y的值将会是 xyz bar ,而不是 foo bar 。
2.:= 是覆盖之前的值,不会将之后的展开,参考1,y的值为foo bar
3.?= 是如果没有被赋值过就赋予等号后面的值
4.+= 是添加等号后面的值