2017-04-04 41 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) 
相关问题