Loading core/base_rules.mk +6 −0 Original line number Diff line number Diff line Loading @@ -598,6 +598,12 @@ ALL_MODULES.$(my_register_name).BUILT := \ $(ALL_MODULES.$(my_register_name).BUILT) $(LOCAL_BUILT_MODULE) ALL_MODULES.$(my_register_name).INSTALLED := \ $(strip $(ALL_MODULES.$(my_register_name).INSTALLED) $(LOCAL_INSTALLED_MODULE)) ifdef LOCAL_PICKUP_FILES # Files or directories ready to pick up by the build system # when $(LOCAL_BUILT_MODULE) is done. ALL_MODULES.$(my_register_name).PICKUP_FILES := \ $(ALL_MODULES.$(my_register_name).PICKUP_FILES) $(LOCAL_PICKUP_FILES) endif ALL_MODULES.$(my_register_name).REQUIRED := \ $(strip $(ALL_MODULES.$(my_register_name).REQUIRED) $(LOCAL_REQUIRED_MODULES) \ $(LOCAL_REQUIRED_MODULES_$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH))) Loading core/clear_vars.mk +1 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ LOCAL_BUILT_MODULE_STEM:= OVERRIDE_BUILT_MODULE_PATH:= LOCAL_INSTALLED_MODULE:= LOCAL_INSTALLED_MODULE_STEM:= LOCAL_PICKUP_FILES:= LOCAL_UNINSTALLABLE_MODULE:= LOCAL_INTERMEDIATE_TARGETS:= LOCAL_UNSTRIPPED_PATH:= Loading core/tasks/tools/package-modules.mk 0 → 100644 +43 −0 Original line number Diff line number Diff line # Package up modules to a zip file. # It preserves the install path of the modules' installed files. # # Input variables: # my_modules: a list of module names # my_package_name: the name of the output zip file. # Output variables: # my_package_zip: the path to the output zip file. # # my_staging_dir := $(call intermediates-dir-for,PACKAGING,$(my_package_name)) my_built_modules := my_copy_pairs := my_pickup_files := # Search for modules' built files and installed files; # Calculate the dest files in the output zip file. $(foreach m,$(my_modules),\ $(if $(ALL_MODULES.$(m).INSTALLED),,\ $(warning Unknown installed file for module '$(m)'))\ $(eval my_pickup_files += $(ALL_MODULES.$(m).PICKUP_FILES))\ $(foreach i,$(filter $(TARGET_OUT_ROOT)/%,$(ALL_MODULES.$(m).INSTALLED)),\ $(eval b := $(filter %$(suffix $(i)),$(filter $(TARGET_OUT_ROOT)/%,$(ALL_MODULES.$(m).BUILT))))\ $(if $(filter 1,$(words $(b))),\ $(eval my_built_modules += $(b))\ $(eval my_copy_pairs += $(b):$(patsubst $(PRODUCT_OUT)/%,$(my_staging_dir)/%,$(i))),\ $(warning Unexpected module built file '$(b)' for module '$(m)'))\ )) my_package_zip := $(my_staging_dir)/$(my_package_name).zip $(my_package_zip): PRIVATE_COPY_PAIRS := $(my_copy_pairs) $(my_package_zip): PRIVATE_PICKUP_FILES := $(my_pickup_files) $(my_package_zip) : $(my_built_modules) @echo "Package $@" @rm -rf $(dir $@) && mkdir -p $(dir $@) $(hide) $(foreach p, $(PRIVATE_COPY_PAIRS), \ $(eval pair := $(subst :,$(space),$(p)))\ mkdir -p $(dir $(word 2,$(pair))); \ cp -rf $(word 1,$(pair)) $(word 2,$(pair));) $(hide) $(foreach f, $(PRIVATE_PICKUP_FILES), \ cp -rf $(f) $(dir $@);) $(hide) cd $(dir $@) && zip -rq $(notdir $@) * Loading
core/base_rules.mk +6 −0 Original line number Diff line number Diff line Loading @@ -598,6 +598,12 @@ ALL_MODULES.$(my_register_name).BUILT := \ $(ALL_MODULES.$(my_register_name).BUILT) $(LOCAL_BUILT_MODULE) ALL_MODULES.$(my_register_name).INSTALLED := \ $(strip $(ALL_MODULES.$(my_register_name).INSTALLED) $(LOCAL_INSTALLED_MODULE)) ifdef LOCAL_PICKUP_FILES # Files or directories ready to pick up by the build system # when $(LOCAL_BUILT_MODULE) is done. ALL_MODULES.$(my_register_name).PICKUP_FILES := \ $(ALL_MODULES.$(my_register_name).PICKUP_FILES) $(LOCAL_PICKUP_FILES) endif ALL_MODULES.$(my_register_name).REQUIRED := \ $(strip $(ALL_MODULES.$(my_register_name).REQUIRED) $(LOCAL_REQUIRED_MODULES) \ $(LOCAL_REQUIRED_MODULES_$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH))) Loading
core/clear_vars.mk +1 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ LOCAL_BUILT_MODULE_STEM:= OVERRIDE_BUILT_MODULE_PATH:= LOCAL_INSTALLED_MODULE:= LOCAL_INSTALLED_MODULE_STEM:= LOCAL_PICKUP_FILES:= LOCAL_UNINSTALLABLE_MODULE:= LOCAL_INTERMEDIATE_TARGETS:= LOCAL_UNSTRIPPED_PATH:= Loading
core/tasks/tools/package-modules.mk 0 → 100644 +43 −0 Original line number Diff line number Diff line # Package up modules to a zip file. # It preserves the install path of the modules' installed files. # # Input variables: # my_modules: a list of module names # my_package_name: the name of the output zip file. # Output variables: # my_package_zip: the path to the output zip file. # # my_staging_dir := $(call intermediates-dir-for,PACKAGING,$(my_package_name)) my_built_modules := my_copy_pairs := my_pickup_files := # Search for modules' built files and installed files; # Calculate the dest files in the output zip file. $(foreach m,$(my_modules),\ $(if $(ALL_MODULES.$(m).INSTALLED),,\ $(warning Unknown installed file for module '$(m)'))\ $(eval my_pickup_files += $(ALL_MODULES.$(m).PICKUP_FILES))\ $(foreach i,$(filter $(TARGET_OUT_ROOT)/%,$(ALL_MODULES.$(m).INSTALLED)),\ $(eval b := $(filter %$(suffix $(i)),$(filter $(TARGET_OUT_ROOT)/%,$(ALL_MODULES.$(m).BUILT))))\ $(if $(filter 1,$(words $(b))),\ $(eval my_built_modules += $(b))\ $(eval my_copy_pairs += $(b):$(patsubst $(PRODUCT_OUT)/%,$(my_staging_dir)/%,$(i))),\ $(warning Unexpected module built file '$(b)' for module '$(m)'))\ )) my_package_zip := $(my_staging_dir)/$(my_package_name).zip $(my_package_zip): PRIVATE_COPY_PAIRS := $(my_copy_pairs) $(my_package_zip): PRIVATE_PICKUP_FILES := $(my_pickup_files) $(my_package_zip) : $(my_built_modules) @echo "Package $@" @rm -rf $(dir $@) && mkdir -p $(dir $@) $(hide) $(foreach p, $(PRIVATE_COPY_PAIRS), \ $(eval pair := $(subst :,$(space),$(p)))\ mkdir -p $(dir $(word 2,$(pair))); \ cp -rf $(word 1,$(pair)) $(word 2,$(pair));) $(hide) $(foreach f, $(PRIVATE_PICKUP_FILES), \ cp -rf $(f) $(dir $@);) $(hide) cd $(dir $@) && zip -rq $(notdir $@) *