日期:2014-05-16  浏览次数:20713 次

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”。


------解决方案--------------------
这就是规定,用等号定义的变量,在最终使用时解析

你如果改用:=,那就地解析,就没有值了