Makefile中的变量相当于C语言中的宏变量,变量名称是区分大小写的,变量在声明时需要给予初值,使用时在变量名前加上$ 符号,但最好用小括号() 或是大括号{} 把变量给包括起来。如果你要使用$ 字符,要用$$ 来表示
4.2 变量的命名规范-
当变量用来表示命令行上或环境中的常数时,全部以大写字母编写,单词之间以下划线( _ )隔开;
Makefile文件中出现的内部变量或函数中使用的变量,全部以小写编写,单词之间以破折线( - )隔开;
:= 执行时赋值运算符的右边部分会立刻被扩展;
DEFEND := $(CC) -M此变量一般会变成这样:gcc -M
如果CC变量尚未定义,则此变量一般会变成: -M
= 延后赋值
DEFEND = $(CC) -M
CC = gcc
当DEFEND使用时,CC并未定义,但DEFEND依然被扩展成gcc -M
?= 条件赋值
DEFEND ?= $(CC) -M
如果DEFEND的值不存在则进行赋值 *** 作,如果已经存在了则不进行赋值 *** 作
+= 附加赋值,给变量追加某个值
使用宏可以封装多行命令序列
d
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)