Makefile中的变量先使用后定义的问题
makefile中,为什么可以使用未定义的变量?比如
1.
foo = $(bar)
bar = $(ugh)
ugh = Huh?
all:
echo $(foo)
执行“make all”将会打出变量$(foo)的值是“Huh?”
2.
CFLAGS = $(include_dirs) -O
include_dirs = -Ifoo -Ibar
当“CFLAGS”在命令中被展开时,会是“-Ifoo -Ibar -O”。
[解决办法]
这就是规定,用等号定义的变量,在最终使用时解析
你如果改用:=,那就地解析,就没有值了