TARGET_DEVICE := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEVICE)
它来自Android makefile。点(。)的使用令我困惑,这是什么样的语法?任何与此语法相关的关键字?
答案 0 :(得分:1)
这里没什么特别的。
这只是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