这里我要说的make宏,其实就是makefile中的变量,它其实不光可以在makefile文件中定义,也可以在命令行中定义。
而且在命令行中定义的make宏,会覆盖makefile文件中的定义。
这个makefile文件中定义了一个X的值为x。
$cat makefile
X=x
all:
@echo $(X)
@echo "finish!"
执行make后的结果
$make
x
finish!
执行make X=y后的结果。 这里X=y就是把make宏写在命令行中,如果变量中有空格的话,需要用双引号引起来。
$make X=y
y
finish!