From 1b83413b5a765204e3def88ab758139df27123c2 Mon Sep 17 00:00:00 2001 From: Vic Yang Date: Fri, 18 Jan 2019 19:37:47 -0800 Subject: [PATCH] Add module-target-built-files function This is similar to module-built-files, except that it only returns files built for the target, not the host. Bug: 119423884 Test: Build with the no-vendor-variant VNDK change that uses this function. Change-Id: I2a3d99003b05999eae01c0b90bb62b5263d65592 --- core/base_rules.mk | 4 ++++ core/definitions.mk | 12 ++++++++++++ core/dpi_specific_apk.mk | 1 + 3 files changed, 17 insertions(+) diff --git a/core/base_rules.mk b/core/base_rules.mk index 742119f933..7e7d6dce1d 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -776,6 +776,10 @@ ALL_MODULES.$(my_register_name).CHECKED := \ $(ALL_MODULES.$(my_register_name).CHECKED) $(my_checked_module) ALL_MODULES.$(my_register_name).BUILT := \ $(ALL_MODULES.$(my_register_name).BUILT) $(LOCAL_BUILT_MODULE) +ifndef LOCAL_IS_HOST_MODULE +ALL_MODULES.$(my_register_name).TARGET_BUILT := \ + $(ALL_MODULES.$(my_register_name).TARGET_BUILT) $(LOCAL_BUILT_MODULE) +endif ifneq (true,$(LOCAL_UNINSTALLABLE_MODULE)) ALL_MODULES.$(my_register_name).INSTALLED := \ $(strip $(ALL_MODULES.$(my_register_name).INSTALLED) \ diff --git a/core/definitions.mk b/core/definitions.mk index d2f65ebd6d..2764401351 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -649,6 +649,18 @@ define module-installed-files $(foreach module,$(1),$(ALL_MODULES.$(module).INSTALLED)) endef +########################################################### +## Convert a list of short modules names (e.g., "framework", "Browser") +## into the list of files that are built *for the target* for those modules. +## NOTE: this won't return reliable results until after all +## sub-makefiles have been included. +## $(1): target list +########################################################### + +define module-target-built-files +$(foreach module,$(1),$(ALL_MODULES.$(module).TARGET_BUILT)) +endef + ########################################################### ## Convert a list of short modules names (e.g., "framework", "Browser") ## into the list of files that should be used when linking diff --git a/core/dpi_specific_apk.mk b/core/dpi_specific_apk.mk index ad734b566a..ad073c7eee 100644 --- a/core/dpi_specific_apk.mk +++ b/core/dpi_specific_apk.mk @@ -67,6 +67,7 @@ endif ALL_MODULES += $(dpi_apk_name) ALL_MODULES.$(dpi_apk_name).CLASS := APPS ALL_MODULES.$(dpi_apk_name).BUILT := $(built_dpi_apk) +ALL_MODULES.$(dpi_apk_name).TARGET_BUILT := $(built_dpi_apk) PACKAGES := $(PACKAGES) $(dpi_apk_name) PACKAGES.$(dpi_apk_name).PRIVATE_KEY := $(private_key) PACKAGES.$(dpi_apk_name).CERTIFICATE := $(certificate)