2015-02-27 2 views
1
TARGET_DEVICE := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_DEVICE) 

Он исходит из файла makefile для Android. Использование точки (.) Меня путает, что это за синтаксис? Любое ключевое слово, связанное с этим синтаксисом?

ответ

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 
+0

Я вижу сейчас, PRODUCTS.foo.PRODUCT_DEVICE определен где-то в другом месте. Спасибо за вашу помощь. –

Смежные вопросы