从另一个Makefile导入单个变量

时间:2017-04-04 21:50:03

标签: android variables makefile

我只需从另一个makefile导入一个变量。我不能只包含其他makefile,因为其他makefile中定义的某些变量不能导入。我认为使用grep会是一个解决方案,但我无法弄清楚究竟是怎样的。变量名为USE_SU,可以在文件

中找到

$(ANDROID_BUILD_TOP)/设备/ * / $(BS_BUILD)/BoardConfig.mk

如何将此变量导入到当前的makefile中?

非常感谢!

1 个答案:

答案 0 :(得分:0)

正确的解决方案是创建第三个makefile,它只定义变量,并拥有原始的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)