2017-04-04 72 views
1

我需要從另一個生成文件導入一個變量。我不能只包含另一個makefile,因爲其他makefile中定義的一些變量不能被導入。我認爲使用grep將是一個解決方案,但我無法弄清楚究竟如何。所謂USE_SU可變的,它可以將文件從另一個生成文件導入單個變量

$(ANDROID_BUILD_TOP)/設備/ */$(BS_BUILD)/BoardConfig.mk

中找到如何導入這個變量到我目前的makefile文件?

非常感謝!

回答

0

正確的解決辦法是創建第三個Makefile文件僅僅定義變量,並有原始的makefile,和你的新的makefile包括一個。但是,如果其他的Makefile第三方生成文件(你不能修改的話),那麼你可以使用這裏描述的技術:https://blog.melski.net/2010/11/30/makefile-hacks-print-the-value-of-any-variable/

創建print.mak

print-%: 
    @echo '$*=$($*)' 

,然後在新的makefile你這樣做:

ORIG_MAKEFILE=$(ANDROID_BUILD_TOP)/device/*/$(BS_BUILD)/BoardConfig.mk 

VAR:=$(shell $(MAKE) -f $(ORIG_MAKEFILE) -f print.mak print-VAR) 
相關問題