Loading core/Makefile +83 −43 Original line number Diff line number Diff line Loading @@ -16,53 +16,93 @@ VENDOR_DLKM_NOTICE_DEPS := ODM_DLKM_NOTICE_DEPS := SYSTEM_DLKM_NOTICE_DEPS := # ----------------------------------------------------------------- # Release Config Flags # Create a summary file of build flags for each partition # $(1): build flags json file # $(2): flag names define generate-partition-build-flag-file $(eval $(strip $(1)): PRIVATE_OUT := $(strip $(1))) $(eval $(strip $(1)): PRIVATE_FLAG_NAMES := $(strip $(2))) $(strip $(1)): mkdir -p $$(dir $$(PRIVATE_OUT)) echo '{' > $$(PRIVATE_OUT) echo '"flags": [' >> $$(PRIVATE_OUT) $$(foreach flag, $$(PRIVATE_FLAG_NAMES), \ ( \ printf ' { "name": "%s", "value": "%s", ' \ '$$(flag)' \ '$$(_ALL_RELEASE_FLAGS.$$(flag).VALUE)' \ ; \ printf '"set": "%s", "default": "%s", "declared": "%s" }' \ '$$(_ALL_RELEASE_FLAGS.$$(flag).SET_IN)' \ '$$(_ALL_RELEASE_FLAGS.$$(flag).DEFAULT)' \ '$$(_ALL_RELEASE_FLAGS.$$(flag).DECLARED_IN)' \ ; \ printf '$$(if $$(filter $$(lastword $$(PRIVATE_FLAG_NAMES)),$$(flag)),,$$(comma))\n' ; \ ) >> $$(PRIVATE_OUT) \ ) echo "]" >> $$(PRIVATE_OUT) echo "}" >> $$(PRIVATE_OUT) endef _FLAG_PARTITIONS := product system system_ext vendor # IMAGES_TO_BUILD is a list of the partition .img files that will be created. IMAGES_TO_BUILD:= ifneq ($(BUILDING_BOOT_IMAGE),) IMAGES_TO_BUILD += boot endif ifneq ($(BUILDING_CACHE_IMAGE),) IMAGES_TO_BUILD += cache endif ifneq ($(BUILDING_DEBUG_BOOT_IMAGE),) IMAGES_TO_BUILD += debug_boot endif ifneq ($(BUILDING_DEBUG_VENDOR_BOOT_IMAGE),) IMAGES_TO_BUILD += debug_vendor_boot endif ifneq ($(BUILDING_INIT_BOOT_IMAGE),) IMAGES_TO_BUILD += init_boot endif ifneq ($(BUILDING_ODM_DLKM_IMAGE),) IMAGES_TO_BUILD += odm_dlkm endif ifneq ($(BUILDING_ODM_IMAGE),) IMAGES_TO_BUILD += odm endif ifneq ($(BUILDING_PRODUCT_IMAGE),) IMAGES_TO_BUILD += product endif ifneq ($(BUILDING_RAMDISK_IMAGE),) IMAGES_TO_BUILD += ramdisk endif ifneq ($(BUILDING_RECOVERY_IMAGE),) IMAGES_TO_BUILD += recovery endif ifneq ($(BUILDING_SUPER_EMPTY_IMAGE),) IMAGES_TO_BUILD += super_empty endif ifneq ($(BUILDING_SYSTEM_DLKM_IMAGE),) IMAGES_TO_BUILD += system_dlkm endif ifneq ($(BUILDING_SYSTEM_EXT_IMAGE),) IMAGES_TO_BUILD += system_ext endif ifneq ($(BUILDING_SYSTEM_IMAGE),) IMAGES_TO_BUILD += system endif ifneq ($(BUILDING_SYSTEM_OTHER_IMAGE),) IMAGES_TO_BUILD += system_other endif ifneq ($(BUILDING_USERDATA_IMAGE),) IMAGES_TO_BUILD += userdata endif ifneq ($(BUILDING_VBMETA_IMAGE),) IMAGES_TO_BUILD += vbmeta endif ifneq ($(BUILDING_VENDOR_BOOT_IMAGE),) IMAGES_TO_BUILD += vendor_boot endif ifneq ($(BUILDING_VENDOR_DLKM_IMAGE),) IMAGES_TO_BUILD += vendor_dlkm endif ifneq ($(BUILDING_VENDOR_IMAGE),) IMAGES_TO_BUILD += vendor endif ifneq ($(BUILDING_VENDOR_KERNEL_BOOT_IMAGE),) IMAGES_TO_BUILD += vendor_kernel_boot endif $(foreach partition, $(_FLAG_PARTITIONS), \ $(eval BUILD_FLAG_SUMMARIES.$(partition) \ := $(TARGET_OUT_FLAGS)/$(partition)/etc/build_flags.json) \ $(eval $(call generate-partition-build-flag-file, \ $(BUILD_FLAG_SUMMARIES.$(partition)), \ $(_ALL_RELEASE_FLAGS.PARTITIONS.$(partition)) \ ) \ ########################################################### # Get the module names suitable for ALL_MODULES.* variables that are installed # for a given partition # # $(1): Partition ########################################################### define register-names-for-partition $(sort $(foreach m,$(product_MODULES),\ $(if $(filter $(PRODUCT_OUT)/$(strip $(1))/%, $(ALL_MODULES.$(m).INSTALLED)), \ $(m) ) \ ) )) endef # Release & Aconfig Flags # ----------------------------------------------------------------- include $(BUILD_SYSTEM)/packaging/flags.mk # TODO: Remove .PHONY: flag-files flag-files: $(foreach partition, $(_FLAG_PARTITIONS), \ $(TARGET_OUT_FLAGS)/$(partition)/etc/build_flags.json) # ----------------------------------------------------------------- # Define rules to copy PRODUCT_COPY_FILES defined by the product. Loading core/base_rules.mk +4 −0 Original line number Diff line number Diff line Loading @@ -1058,6 +1058,10 @@ ALL_MODULES.$(my_register_name).SUPPORTED_VARIANTS := \ $(ALL_MODULES.$(my_register_name).SUPPORTED_VARIANTS) \ $(filter-out $(ALL_MODULES.$(my_register_name).SUPPORTED_VARIANTS),$(my_supported_variant)) ALL_MODULES.$(my_register_name).ACONFIG_FILES := \ $(ALL_MODULES.$(my_register_name).ACONFIG_FILES) $(LOCAL_ACONFIG_FILES) ########################################################################## ## When compiling against API imported module, use API import stub ## libraries. Loading core/clear_vars.mk +1 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ LOCAL_AAPT2_ONLY:= LOCAL_AAPT_FLAGS:= LOCAL_AAPT_INCLUDE_ALL_RESOURCES:= LOCAL_AAPT_NAMESPACES:= LOCAL_ACONFIG_FILES:= LOCAL_ADDITIONAL_CERTIFICATES:= LOCAL_ADDITIONAL_CHECKED_MODULE:= LOCAL_ADDITIONAL_DEPENDENCIES:= Loading core/config.mk +1 −0 Original line number Diff line number Diff line Loading @@ -625,6 +625,7 @@ FILESLIST := $(HOST_OUT_EXECUTABLES)/fileslist FILESLIST_UTIL :=$= build/make/tools/fileslist_util.py HOST_INIT_VERIFIER := $(HOST_OUT_EXECUTABLES)/host_init_verifier XMLLINT := $(HOST_OUT_EXECUTABLES)/xmllint ACONFIG := $(HOST_OUT_EXECUTABLES)/aconfig # SOONG_ZIP is exported by Soong, but needs to be defined early for # $OUT/dexpreopt.global. It will be verified against the Soong version. Loading core/main.mk +1 −0 Original line number Diff line number Diff line Loading @@ -1364,6 +1364,7 @@ else ifdef FULL_BUILD product_host_FILES := $(call host-installed-files,$(INTERNAL_PRODUCT)) product_target_FILES := $(call product-installed-files, $(INTERNAL_PRODUCT)) # WARNING: The product_MODULES variable is depended on by external files. # It contains the list of register names that will be installed on the device product_MODULES := $(_pif_modules) # Verify the artifact path requirements made by included products. Loading Loading
core/Makefile +83 −43 Original line number Diff line number Diff line Loading @@ -16,53 +16,93 @@ VENDOR_DLKM_NOTICE_DEPS := ODM_DLKM_NOTICE_DEPS := SYSTEM_DLKM_NOTICE_DEPS := # ----------------------------------------------------------------- # Release Config Flags # Create a summary file of build flags for each partition # $(1): build flags json file # $(2): flag names define generate-partition-build-flag-file $(eval $(strip $(1)): PRIVATE_OUT := $(strip $(1))) $(eval $(strip $(1)): PRIVATE_FLAG_NAMES := $(strip $(2))) $(strip $(1)): mkdir -p $$(dir $$(PRIVATE_OUT)) echo '{' > $$(PRIVATE_OUT) echo '"flags": [' >> $$(PRIVATE_OUT) $$(foreach flag, $$(PRIVATE_FLAG_NAMES), \ ( \ printf ' { "name": "%s", "value": "%s", ' \ '$$(flag)' \ '$$(_ALL_RELEASE_FLAGS.$$(flag).VALUE)' \ ; \ printf '"set": "%s", "default": "%s", "declared": "%s" }' \ '$$(_ALL_RELEASE_FLAGS.$$(flag).SET_IN)' \ '$$(_ALL_RELEASE_FLAGS.$$(flag).DEFAULT)' \ '$$(_ALL_RELEASE_FLAGS.$$(flag).DECLARED_IN)' \ ; \ printf '$$(if $$(filter $$(lastword $$(PRIVATE_FLAG_NAMES)),$$(flag)),,$$(comma))\n' ; \ ) >> $$(PRIVATE_OUT) \ ) echo "]" >> $$(PRIVATE_OUT) echo "}" >> $$(PRIVATE_OUT) endef _FLAG_PARTITIONS := product system system_ext vendor # IMAGES_TO_BUILD is a list of the partition .img files that will be created. IMAGES_TO_BUILD:= ifneq ($(BUILDING_BOOT_IMAGE),) IMAGES_TO_BUILD += boot endif ifneq ($(BUILDING_CACHE_IMAGE),) IMAGES_TO_BUILD += cache endif ifneq ($(BUILDING_DEBUG_BOOT_IMAGE),) IMAGES_TO_BUILD += debug_boot endif ifneq ($(BUILDING_DEBUG_VENDOR_BOOT_IMAGE),) IMAGES_TO_BUILD += debug_vendor_boot endif ifneq ($(BUILDING_INIT_BOOT_IMAGE),) IMAGES_TO_BUILD += init_boot endif ifneq ($(BUILDING_ODM_DLKM_IMAGE),) IMAGES_TO_BUILD += odm_dlkm endif ifneq ($(BUILDING_ODM_IMAGE),) IMAGES_TO_BUILD += odm endif ifneq ($(BUILDING_PRODUCT_IMAGE),) IMAGES_TO_BUILD += product endif ifneq ($(BUILDING_RAMDISK_IMAGE),) IMAGES_TO_BUILD += ramdisk endif ifneq ($(BUILDING_RECOVERY_IMAGE),) IMAGES_TO_BUILD += recovery endif ifneq ($(BUILDING_SUPER_EMPTY_IMAGE),) IMAGES_TO_BUILD += super_empty endif ifneq ($(BUILDING_SYSTEM_DLKM_IMAGE),) IMAGES_TO_BUILD += system_dlkm endif ifneq ($(BUILDING_SYSTEM_EXT_IMAGE),) IMAGES_TO_BUILD += system_ext endif ifneq ($(BUILDING_SYSTEM_IMAGE),) IMAGES_TO_BUILD += system endif ifneq ($(BUILDING_SYSTEM_OTHER_IMAGE),) IMAGES_TO_BUILD += system_other endif ifneq ($(BUILDING_USERDATA_IMAGE),) IMAGES_TO_BUILD += userdata endif ifneq ($(BUILDING_VBMETA_IMAGE),) IMAGES_TO_BUILD += vbmeta endif ifneq ($(BUILDING_VENDOR_BOOT_IMAGE),) IMAGES_TO_BUILD += vendor_boot endif ifneq ($(BUILDING_VENDOR_DLKM_IMAGE),) IMAGES_TO_BUILD += vendor_dlkm endif ifneq ($(BUILDING_VENDOR_IMAGE),) IMAGES_TO_BUILD += vendor endif ifneq ($(BUILDING_VENDOR_KERNEL_BOOT_IMAGE),) IMAGES_TO_BUILD += vendor_kernel_boot endif $(foreach partition, $(_FLAG_PARTITIONS), \ $(eval BUILD_FLAG_SUMMARIES.$(partition) \ := $(TARGET_OUT_FLAGS)/$(partition)/etc/build_flags.json) \ $(eval $(call generate-partition-build-flag-file, \ $(BUILD_FLAG_SUMMARIES.$(partition)), \ $(_ALL_RELEASE_FLAGS.PARTITIONS.$(partition)) \ ) \ ########################################################### # Get the module names suitable for ALL_MODULES.* variables that are installed # for a given partition # # $(1): Partition ########################################################### define register-names-for-partition $(sort $(foreach m,$(product_MODULES),\ $(if $(filter $(PRODUCT_OUT)/$(strip $(1))/%, $(ALL_MODULES.$(m).INSTALLED)), \ $(m) ) \ ) )) endef # Release & Aconfig Flags # ----------------------------------------------------------------- include $(BUILD_SYSTEM)/packaging/flags.mk # TODO: Remove .PHONY: flag-files flag-files: $(foreach partition, $(_FLAG_PARTITIONS), \ $(TARGET_OUT_FLAGS)/$(partition)/etc/build_flags.json) # ----------------------------------------------------------------- # Define rules to copy PRODUCT_COPY_FILES defined by the product. Loading
core/base_rules.mk +4 −0 Original line number Diff line number Diff line Loading @@ -1058,6 +1058,10 @@ ALL_MODULES.$(my_register_name).SUPPORTED_VARIANTS := \ $(ALL_MODULES.$(my_register_name).SUPPORTED_VARIANTS) \ $(filter-out $(ALL_MODULES.$(my_register_name).SUPPORTED_VARIANTS),$(my_supported_variant)) ALL_MODULES.$(my_register_name).ACONFIG_FILES := \ $(ALL_MODULES.$(my_register_name).ACONFIG_FILES) $(LOCAL_ACONFIG_FILES) ########################################################################## ## When compiling against API imported module, use API import stub ## libraries. Loading
core/clear_vars.mk +1 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ LOCAL_AAPT2_ONLY:= LOCAL_AAPT_FLAGS:= LOCAL_AAPT_INCLUDE_ALL_RESOURCES:= LOCAL_AAPT_NAMESPACES:= LOCAL_ACONFIG_FILES:= LOCAL_ADDITIONAL_CERTIFICATES:= LOCAL_ADDITIONAL_CHECKED_MODULE:= LOCAL_ADDITIONAL_DEPENDENCIES:= Loading
core/config.mk +1 −0 Original line number Diff line number Diff line Loading @@ -625,6 +625,7 @@ FILESLIST := $(HOST_OUT_EXECUTABLES)/fileslist FILESLIST_UTIL :=$= build/make/tools/fileslist_util.py HOST_INIT_VERIFIER := $(HOST_OUT_EXECUTABLES)/host_init_verifier XMLLINT := $(HOST_OUT_EXECUTABLES)/xmllint ACONFIG := $(HOST_OUT_EXECUTABLES)/aconfig # SOONG_ZIP is exported by Soong, but needs to be defined early for # $OUT/dexpreopt.global. It will be verified against the Soong version. Loading
core/main.mk +1 −0 Original line number Diff line number Diff line Loading @@ -1364,6 +1364,7 @@ else ifdef FULL_BUILD product_host_FILES := $(call host-installed-files,$(INTERNAL_PRODUCT)) product_target_FILES := $(call product-installed-files, $(INTERNAL_PRODUCT)) # WARNING: The product_MODULES variable is depended on by external files. # It contains the list of register names that will be installed on the device product_MODULES := $(_pif_modules) # Verify the artifact path requirements made by included products. Loading