【发布时间】:2015-04-30 04:08:43
【问题描述】:
TARGET_DEVICE := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEVICE)
它来自 Android makefile。 dot(.) 的使用让我感到困惑,这是什么语法?任何与此语法相关的关键字?
【问题讨论】:
TARGET_DEVICE := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEVICE)
它来自 Android makefile。 dot(.) 的使用让我感到困惑,这是什么语法?任何与此语法相关的关键字?
【问题讨论】:
这里没有什么特别的。
这只是 computed variable name 的扩展。
$ cat Makefile
PRODUCTS.foo.PRODUCT_DEVICE := foo-DEVICE
PRODUCTS.bar.PRODUCT_DEVICE := bar-DEVICE
INTERNAL_PRODUCT := foo
TARGET_DEVICE := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEVICE)
$(info INTERNAL_PRODUCT is $(INTERNAL_PRODUCT))
$(info TARGET_DEVICE is $(TARGET_DEVICE))
INTERNAL_PRODUCT := bar
TARGET_DEVICE := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEVICE)
$(info INTERNAL_PRODUCT is $(INTERNAL_PRODUCT))
$(info TARGET_DEVICE is $(TARGET_DEVICE))
$ make
INTERNAL_PRODUCT is foo
TARGET_DEVICE is foo-DEVICE
INTERNAL_PRODUCT is bar
TARGET_DEVICE is bar-DEVICE
【讨论】: