From 518ce5753a95355eccf396f8ed9c36960c83274b Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Queru Date: Mon, 1 Mar 2010 16:18:59 -0800 Subject: [PATCH] De-dupe PRODUCT_COPY_FILES This allows to explicitly deal with situations where we want to use PRODUCT_COPY_FILES to manage overrides. Change-Id: I2f87862e19b973f090099f335e9bdeb0c9f3bfe9 --- core/Makefile | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/core/Makefile b/core/Makefile index a232e13c0..1ae746020 100644 --- a/core/Makefile +++ b/core/Makefile @@ -14,12 +14,15 @@ endif # PRODUCT_COPY_FILES contains words like :. # is relative to $(PRODUCT_OUT), so it should look like, # e.g., "system/etc/file.xml". +# The filter part means "only eval the copy-one-file rule if this +# src:dest pair is the first one to match %:dest" $(foreach cf,$(PRODUCT_COPY_FILES), \ $(eval _src := $(call word-colon,1,$(cf))) \ - $(eval _dest := $(call \ - append-path,$(PRODUCT_OUT),$(call word-colon,2,$(cf)))) \ - $(eval $(call copy-one-file,$(_src),$(_dest))) \ - $(eval ALL_DEFAULT_INSTALLED_MODULES += $(_dest)) \ + $(eval _dest := $(call word-colon,2,$(cf))) \ + $(eval _fulldest := $(call append-path,$(PRODUCT_OUT),$(_dest))) \ + $(if $(filter $(_src):$(_dest),$(firstword $(filter %:$(_dest),$(PRODUCT_COPY_FILES)))), \ + $(eval $(call copy-one-file,$(_src),$(_fulldest))),) \ + $(eval ALL_DEFAULT_INSTALLED_MODULES += $(_fulldest)) \ ) # -----------------------------------------------------------------