Makefile有四种赋值运算符:简单赋值(:=)、递归赋值(=)、条件赋值(?=)和追加赋值(+=)
1. 简单赋值( := )
作用:覆盖之前的值。若在多次简单赋值之间将变量(A)赋值给了其他变量(B),后续该变量(A)的变化不会影响其他变量(B)的变化。
例:
A::=5
B:=A
A:=6
B?-->5
2. 递归赋值( = )
作用:覆盖之前的值。与简单赋值不同的是,若在多次简单赋值之间将变量(A)赋值给了其他变量(B),后续该变量(A)的变化会影响其他变量(B)的变化。
例:
A=5
B=A
A=6
B?-->6
3. 条件赋值( ?= )
作用:如果变量之前未赋值则将对该变量进行赋值,否则赋值无效。若在多次简单赋值之间将变量(A)赋值给了其他变量(B),后续该变量(A)的变化不会影响其他变量(B)的变化。
4. 追加赋值( += )
作用:追加赋值,并用空格隔开。若在多次简单赋值之间将变量(A)赋值给了其他变量(B),后续该变量(A)的变化会影响其他变量(B)的变化。