2017-04-04 2 views
1

Ich muss nur eine Variable aus einem anderen Makefile importieren. Ich kann nicht einfach das andere Makefile einschließen, da einige der Variablen, die in dem anderen Makefile definiert sind, nicht importiert werden müssen. Ich dachte, mit grep wäre eine Lösung, aber ich konnte nicht herausfinden, wie genau. Die Variable genannt USE_SU und es kann in der DateiImportieren einzelner Variable von einem anderen Makefile

$ (ANDROID_BUILD_TOP)/Gerät/*/$ (BS_BUILD) /BoardConfig.mk

finden Wie kann ich diese Variable in meiner aktuellen Make-Datei importieren?

Vielen Dank!

Antwort

0

Die richtige Lösung wäre, ein drittes Makefile zu erstellen, das nur die Variable definiert und das ursprüngliche Makefile hat, und Ihr neues Makefile enthält dieses. Wenn jedoch eine dritte Partei Make-Datei die andere Make-Datei ist (Sie können es nicht ändern können), dann könnten Sie die hier beschriebene Technik verwenden: https://blog.melski.net/2010/11/30/makefile-hacks-print-the-value-of-any-variable/

Sie erstellen print.mak:

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

und dann in Ihrem neues Makefile, das Sie tun:

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

VAR:=$(shell $(MAKE) -f $(ORIG_MAKEFILE) -f print.mak print-VAR) 
Verwandte Themen