Makefile中赋值
?= 若变量未定义,则定义
+= 在变量后面追加
:= 和 = 均为赋值符号,其区别可通过下面的例子看出:
$vim makefile
a=1
b=2
c=$(a)+$(b)
c:
@echo $(c)
a=56
$make -f makefile c
56+2
再看另一个例子:
$vim makefile2
a:=1
b:=2
c:=$(a)+$(b)
c:
@echo $(c)
a:=12
$make -f makefile2 c
1+2
看完这两个例子基本上就明白了吧~
=赋值,输出的结果跟最后的变量赋值相关
:=只跟该变量之前的赋值语句有关,后面变量的变化不会影响
make编译指定的makefile文件的格式:
make -f makefile_name args或
make --file makefile_name args