Makefile中的变量赋值

= 是最基本的赋值
:= 是覆盖之前的值
?= 是如果没有被赋值过就赋予等号后面的值
+= 是添加等号后面的值

=的赋值与:=的赋值区别

当一个变量使用=的赋值的时候,如果这个=的后面有变量,那么=后面的变量应该是全局的结果.

比如:

A = 3

B = $(A) 4

A = 1

最后的AB各是什么?

答案:A是1,B是14.

这就是B中的=的作用,它要看$(A)的最终结果,把最终结果赋值给B.

:=是覆盖.是按照顺序的覆盖的.

原文地址:https://www.cnblogs.com/dhu121/p/11903708.html