:=$= 在 Makefile 中是什么意思?

问题描述

在这个 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) 这样的定义并进行很多 此外,定义变量的名称如 =、# 或 :

我认为,= 只是一些其他变量。此处,$= 表示扩展变量 =

:= 用于简单赋值(仅计算一次)。