问题描述
在这个 Makefile 上:https://github.com/GrapheneOS/platform_frameworks_base/blob/11/Android.mk 我找到了
SDK_Metadata_dir :=$= $(call intermediates-dir-for,PACKAGING,framework-doc-stubs-Metadata,COMMON)
:=$=
是什么意思?
我在这里什么也没找到:What's the difference between := and = in Makefile? 在提供的链接上都没有
解决方法
来自 thegnumakebook 一书,第 126 页,暮光之城:
可以采用像 $( ) 和 $(\n) 这样的定义并进行很多 此外,定义变量的名称如 =、# 或 :
我认为,=
只是一些其他变量。此处,$=
表示扩展变量 =
。
而 :=
用于简单赋值(仅计算一次)。