Makefile 变量 在当前目录下新建一目录 var ,利用 vim 再创建一个 makefile 文件在该目录下。 makefile 内容如下: 1 )递归展开方式: x = foo y = $(x)b x = new test: @echo "y => $(y)" @echo "x => $(x)" 执行 make ,查看运行的结果: #make 运行结果(截图) : 2 )简单展开方式: x := foo y := $(x)b x := new test: @echo "y => $(y)" @echo "x => $(x)" 执行 make ,查看运行的结果: #make 运行结果(截图) : 3 )预定义变量的使用 重新进入工程 program 目录下,修改 makefile 文件,将 gcc 全部用预定义变量 CC 代替, rm 用预定义变量 RM 代替,例如 gcc -c main.c -o main.o 改为 $(CC) -c main.c -o main.o #makefile 执行 make ,查看运行的结果: #make 运行结果(截图) : 执行 make ,编译器改为使用交叉编译器,再查看运行的结果: #make clean #make CC=arm-linux-gcc 运行结果(截图) : 4 )自动变量的使用 修改 makefile 文件,使用自动变量 $@ 、 $< 或 $^ ,替换命令中的依赖文件和目标文件,例如 $(CC) -c main.c -o main.o 改为 $(CC) -c $< -o $@ #makefile 执行 make ,查看运行的结果: #make clean #make 运行结果(截图) :