从另一个生成文件导入单个变量
问题描述:
我需要从另一个生成文件导入一个变量。我不能只包含另一个makefile,因为其他makefile中定义的一些变量不能被导入。我认为使用grep将是一个解决方案,但我无法弄清楚究竟如何。所谓USE_SU可变的,它可以将文件从另一个生成文件导入单个变量
$(ANDROID_BUILD_TOP)/设备/ */$(BS_BUILD)/BoardConfig.mk
中找到如何导入这个变量到我目前的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)