makefile中的赋值

来源:互联网 发布:seo综合查询 编辑:程序博客网 时间:2024/06/05 09:59

=        最基本的赋值,其值在整个makefile展开后决定

:=       覆盖之前的值,由其值由位置决定

?=      如果没有赋过值,赋与值

+=      增加值


x = "a"
y = $(x) b
x = c
all:
        @echo $(y)
        @echo $(x)

输出值是

c b

c


x := "a"
y := $(x) b
x := c
all:
        @echo $(y)
        @echo $(x)

输出值是

a b

c


x = "a"
x ?= "b"
all:
        @echo $(x)
输出值是

a


x = "a"
x += "b"
all:
        @echo $(x)
输出值是

a b


0 0