保存此makefile
|
#example a = orginal_value b = $(a) a = later_value all: @echo $(b) |
运行make
#make
later_value
|
#example a = orginal_value b := $(a) a = later_value all: @echo $(b) |
#make
original_value
区别显而易见, :=
定义的变量如果值内容本身就是变量,他不会延伸。如果是=,会延伸。所以在使用时,不需要延伸的时候一定要加上: ,防止不可控的情况。
本文通过两个示例对比,详细解析了Makefile中变量定义方式:=与=的区别。前者定义的变量不会递归展开,后者则会。文章强调在定义变量时选择合适的方式可以避免不必要的错误。

3286

被折叠的 条评论
为什么被折叠?



