diff --git a/core/base_rules.mk b/core/base_rules.mk index 1da65548b..1f55eaef3 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -537,6 +537,9 @@ my_required_modules += $(LOCAL_REQUIRED_MODULES_$($(my_prefix)OS)) endif ALL_MODULES.$(my_register_name).REQUIRED := \ $(strip $(ALL_MODULES.$(my_register_name).REQUIRED) $(my_required_modules)) +ALL_MODULES.$(my_register_name).EXPLICITLY_REQUIRED := \ + $(strip $(ALL_MODULES.$(my_register_name).EXPLICITLY_REQUIRED)\ + $(my_required_modules)) ALL_MODULES.$(my_register_name).EVENT_LOG_TAGS := \ $(ALL_MODULES.$(my_register_name).EVENT_LOG_TAGS) $(event_log_tags) ALL_MODULES.$(my_register_name).MAKEFILE := \ diff --git a/core/tasks/tools/package-modules.mk b/core/tasks/tools/package-modules.mk index 24a7608b2..ef49d9080 100644 --- a/core/tasks/tools/package-modules.mk +++ b/core/tasks/tools/package-modules.mk @@ -14,10 +14,20 @@ my_built_modules := my_copy_pairs := my_pickup_files := +# Iterate over the modules and include their direct dependencies stated in the +# LOCAL_REQUIRED_MODULES. +my_modules_and_deps := $(my_modules) +$(foreach m,$(my_modules),\ + $(eval _explicitly_required := \ + $(strip $(ALL_MODULES.$(m).EXPLICITLY_REQUIRED)\ + $(ALL_MODULES.$(m)$(TARGET_2ND_ARCH_MODULE_SUFFIX).EXPLICITLY_REQUIRED)))\ + $(eval my_modules_and_deps += $(_explicitly_required))\ +) + # Iterate over modules' built files and installed files; # Calculate the dest files in the output zip file. -$(foreach m,$(my_modules),\ +$(foreach m,$(my_modules_and_deps),\ $(eval _pickup_files := $(strip $(ALL_MODULES.$(m).PICKUP_FILES)\ $(ALL_MODULES.$(m)$(TARGET_2ND_ARCH_MODULE_SUFFIX).PICKUP_FILES)))\ $(eval _built_files := $(strip $(ALL_MODULES.$(m).BUILT_INSTALLED)\