summaryrefslogtreecommitdiffstats
path: root/core/base_rules.mk
diff options
context:
space:
mode:
authorYing Wang <wangying@google.com>2012-11-07 14:07:34 -0800
committerYing Wang <wangying@google.com>2012-11-08 10:46:49 -0800
commit95221cac120465f7e001b6fc598eda77116e5790 (patch)
tree3a732a7774a1202e8c08f9e8817c03c90963ed26 /core/base_rules.mk
parent373539079494574def2754ba42bf012e8cdc14ca (diff)
downloadbuild-95221cac120465f7e001b6fc598eda77116e5790.zip
build-95221cac120465f7e001b6fc598eda77116e5790.tar.gz
build-95221cac120465f7e001b6fc598eda77116e5790.tar.bz2
Collapse multiple --extra-packages into one.
Change-Id: Icbdd56fa104c03e0a6cc58e441e60286a7f25bb2
Diffstat (limited to 'core/base_rules.mk')
-rw-r--r--core/base_rules.mk23
1 files changed, 19 insertions, 4 deletions
diff --git a/core/base_rules.mk b/core/base_rules.mk
index 76c059b..fcd40a2 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)