Makefile 变量赋值中的两个“=”

问题描述 投票:0回答:2

有什么作用

FOO := BAR=$(BAZ)

在 Makefile 中意味着什么?这是我很好奇的第二个“=”。

makefile
2个回答
0
投票

示例分配

FOO
来扩展为字符串
BAR=$(BAZ)


0
投票

第二个

=
是正在分配的数据的一部分。鉴于
:=
表示对简单扩展变量的赋值,在处理赋值时扩展后出现的所有内容,结果都是变量的值。这将取决于当时变量
BAZ
的值,但例如,给定这个 makefile:

BAZ = 42
FOO := BAR=$(BAZ)
BAZ = 37

all:
        @echo "$(FOO)"

命令

make all
的输出将是

BAR=42
© www.soinside.com 2019 - 2024. All rights reserved.