我已经搜索了Make和在线论坛的文档。我也在文档中搜索了Bash。也许我错过了什么。
我有一个包含的文件
BUILD_SYSTEM :=$= build/make/core
BUILD_SYSTEM_COMMON :=$= build/make/common
include $(BUILD_SYSTEM_COMMON)/core.mk
$=
是什么意思?
答案 0 :(得分:3)
您没有说您使用的是哪个版本的make,所以我假设使用的是POSIX兼容的标准版本,例如GNU make。
在makefile文件中,任何单个字符$x
的{{1}}表示名为x
的变量的扩展,除少数例外:x
扩展为单个{{1 }},$$
和$
表示变量名的开头。可能还有一些其他特殊字符。
但除此之外,任何字符都可以是有效的变量名。因此,$(
扩展为变量${
的值,就像$=
扩展为变量=
的值一样。可能很难设置,因为只需使用:
$a
不起作用。但是,您可以使用另一个变量从make解析器中隐藏等号:
a
然后:
= = foo