From ee64593e61a6cb2449a51b45d7598a6869e6c138 Mon Sep 17 00:00:00 2001 From: Steve Kondik Date: Fri, 13 Dec 2013 12:47:42 -0500 Subject: build: Add support for PRODUCT_COPY_FILES_OVERRIDES * We may have a case where prebuilts need to be built from source instead based on an externalized config. * New directive takes a list of destination files to remove from PRODUCT_COPY_FILES so that other instructions can be supplied. Change-Id: I7feff16440e54d1676ffddbbd96d5947efa43ede --- core/product.mk | 1 + core/product_config.mk | 16 ++++++++++++++++ core/tasks/product-graph.mk | 1 + 3 files changed, 18 insertions(+) diff --git a/core/product.mk b/core/product.mk index d0eaf83..be0e219 100644 --- a/core/product.mk +++ b/core/product.mk @@ -84,6 +84,7 @@ _product_var_list := \ PRODUCT_DEFAULT_PROPERTY_OVERRIDES \ PRODUCT_CHARACTERISTICS \ PRODUCT_COPY_FILES \ + PRODUCT_COPY_FILES_OVERRIDES \ PRODUCT_OTA_PUBLIC_KEYS \ PRODUCT_EXTRA_RECOVERY_KEYS \ PRODUCT_PACKAGE_OVERLAYS \ diff --git a/core/product_config.mk b/core/product_config.mk index 58437e9..6036f2e 100644 --- a/core/product_config.mk +++ b/core/product_config.mk @@ -349,6 +349,22 @@ PRODUCT_COPY_FILES += \ endif _boot_animation := +# We might want to skip items listed in PRODUCT_COPY_FILES for +# various reasons. This is useful for replacing a binary module with one +# built from source. This should be a list of destination files under $OUT +PRODUCT_COPY_FILES_OVERRIDES := \ + $(addprefix %:, $(strip $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_COPY_FILES_OVERRIDES))) + +ifneq ($(PRODUCT_COPY_FILES_OVERRIDES),) + PRODUCT_COPY_FILES := $(filter-out $(PRODUCT_COPY_FILES_OVERRIDES), $(PRODUCT_COPY_FILES)) +endif + +.PHONY: listcopies +listcopies: + @echo "Copy files: $(PRODUCT_COPY_FILES)" + @echo "Overrides: $(PRODUCT_COPY_FILES_OVERRIDES)" + + # A list of property assignments, like "key = value", with zero or more # whitespace characters on either side of the '='. PRODUCT_PROPERTY_OVERRIDES := \ diff --git a/core/tasks/product-graph.mk b/core/tasks/product-graph.mk index 9641f3f..94a1dc7 100644 --- a/core/tasks/product-graph.mk +++ b/core/tasks/product-graph.mk @@ -105,6 +105,7 @@ $(OUT_DIR)/products/$(strip $(1)).txt: $(this_makefile) $(hide) echo 'PRODUCT_DEFAULT_PROPERTY_OVERRIDES=$$(PRODUCTS.$(strip $(1)).PRODUCT_DEFAULT_PROPERTY_OVERRIDES)' >> $$@ $(hide) echo 'PRODUCT_CHARACTERISTICS=$$(PRODUCTS.$(strip $(1)).PRODUCT_CHARACTERISTICS)' >> $$@ $(hide) echo 'PRODUCT_COPY_FILES=$$(PRODUCTS.$(strip $(1)).PRODUCT_COPY_FILES)' >> $$@ + $(hide) echo 'PRODUCT_COPY_FILES_OVERRIDES=$$(PRODUCTS.$(strip $(1)).PRODUCT_COPY_FILES_OVERRIDES)' >> $$@ $(hide) echo 'PRODUCT_OTA_PUBLIC_KEYS=$$(PRODUCTS.$(strip $(1)).PRODUCT_OTA_PUBLIC_KEYS)' >> $$@ $(hide) echo 'PRODUCT_EXTRA_RECOVERY_KEYS=$$(PRODUCTS.$(strip $(1)).PRODUCT_EXTRA_RECOVERY_KEYS)' >> $$@ $(hide) echo 'PRODUCT_PACKAGE_OVERLAYS=$$(PRODUCTS.$(strip $(1)).PRODUCT_PACKAGE_OVERLAYS)' >> $$@ -- cgit v1.1