From: Ying Wang Date: Wed, 7 Nov 2012 22:07:34 +0000 (-0800) Subject: Collapse multiple --extra-packages into one. X-Git-Tag: android-x86-4.4-r1~457^2~1^2~9 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=0138951eaffaeaf32f8376959074aabf4ecfaff1;p=android-x86%2Fbuild.git Collapse multiple --extra-packages into one. Change-Id: Icbdd56fa104c03e0a6cc58e441e60286a7f25bb2 --- diff --git a/core/base_rules.mk b/core/base_rules.mk index 186c4db13..07ef02467 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -435,10 +435,10 @@ endif cleantarget := clean-$(LOCAL_MODULE) $(cleantarget) : PRIVATE_MODULE := $(LOCAL_MODULE) $(cleantarget) : PRIVATE_CLEAN_FILES := \ - $(PRIVATE_CLEAN_FILES) \ - $(LOCAL_BUILT_MODULE) \ - $(LOCAL_INSTALLED_MODULE) \ - $(intermediates) + $(PRIVATE_CLEAN_FILES) \ + $(LOCAL_BUILT_MODULE) \ + $(LOCAL_INSTALLED_MODULE) \ + $(intermediates) $(cleantarget):: @echo "Clean: $(PRIVATE_MODULE)" $(hide) rm -rf $(PRIVATE_CLEAN_FILES) @@ -447,6 +447,21 @@ $(cleantarget):: ## Common definitions for module. ########################################################### +# aapt doesn't accept multiple --extra-packages flags. +# We have to collapse them into a single --extra-packages flag here. +LOCAL_AAPT_FLAGS := $(strip $(LOCAL_AAPT_FLAGS)) +ifdef LOCAL_AAPT_FLAGS +ifeq ($(filter 0 1,$(words $(filter --extra-packages,$(LOCAL_AAPT_FLAGS)))),) +aapt_flags := $(subst --extra-packages$(space),--extra-packages@,$(LOCAL_AAPT_FLAGS)) +aapt_flags_extra_packages := $(patsubst --extra-packages@%,%,$(filter --extra-packages@%,$(aapt_flags))) +aapt_flags_extra_packages := $(sort $(subst :,$(space),$(aapt_flags_extra_packages))) +LOCAL_AAPT_FLAGS := $(filter-out --extra-packages@%,$(aapt_flags)) \ + --extra-packages $(subst $(space),:,$(aapt_flags_extra_packages)) +aapt_flags_extra_packages := +aapt_flags := +endif +endif + # Propagate local configuration options to this target. $(LOCAL_INTERMEDIATE_TARGETS) : PRIVATE_PATH:=$(LOCAL_PATH) $(LOCAL_INTERMEDIATE_TARGETS) : PRIVATE_AAPT_FLAGS:= $(LOCAL_AAPT_FLAGS)