Makefile中的变量赋值

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

 

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

 

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

比如:

A = 3

B = $(A) 4

A = 1

最后的AB各是什么?

答案:A是1,B是14.

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

 

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

posted @ 2019-11-21 09:45  头上有多云  阅读(582)  评论(0编辑  收藏  举报