=Makefile========》常见问题

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

posted @ 2020-10-20 10:10  豌豆果果  阅读(118)  评论(0编辑  收藏  举报