Makefile中=和:=有什么区别

保存此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)