Loading CleanSpec.mk +4 −0 Original line number Diff line number Diff line Loading @@ -374,6 +374,10 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) # $(PRODUCT_OUT)/recovery/root/sdcard goes from symlink to folder. $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/sdcard) # Add BOARD_USES_SYSTEM_OTHER_ODEX $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/*) # ************************************************ # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST # ************************************************ core/Makefile +62 −0 Original line number Diff line number Diff line Loading @@ -1415,6 +1415,59 @@ IGNORE_CACHE_LINK := --exclude=cache endif # BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE # ----------------------------------------------------------------- # system_other partition image ifeq ($(BOARD_USES_SYSTEM_OTHER_ODEX),true) BOARD_USES_SYSTEM_OTHER := true # Marker file to identify that odex files are installed INSTALLED_SYSTEM_OTHER_ODEX_MARKER := $(TARGET_OUT_SYSTEM_OTHER)/system-other-odex-marker ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_SYSTEM_OTHER_ODEX_MARKER) $(INSTALLED_SYSTEM_OTHER_ODEX_MARKER): $(hide) touch $@ endif ifdef BOARD_USES_SYSTEM_OTHER INTERNAL_SYSTEMOTHERIMAGE_FILES := \ $(filter $(TARGET_OUT_SYSTEM_OTHER)/%,\ $(ALL_DEFAULT_INSTALLED_MODULES)\ $(ALL_PDK_FUSION_FILES)) INSTALLED_FILES_FILE_SYSTEMOTHER := $(PRODUCT_OUT)/installed-files-system-other.txt $(INSTALLED_FILES_FILE_SYSTEMOTHER) : $(INTERNAL_SYSTEMOTHERIMAGE_FILES) @echo Installed file list: $@ @mkdir -p $(dir $@) @rm -f $@ $(hide) build/tools/fileslist.py $(TARGET_OUT_SYSTEM_OTHER) > $@ systemotherimage_intermediates := \ $(call intermediates-dir-for,PACKAGING,system_other) BUILT_SYSTEMOTHERIMAGE_TARGET := $(PRODUCT_OUT)/system_other.img # Note that we assert the size is SYSTEMIMAGE_PARTITION_SIZE since this is the 'b' system image. define build-systemotherimage-target $(call pretty,"Target system_other fs image: $(INSTALLED_SYSTEMOTHERIMAGE_TARGET)") @mkdir -p $(TARGET_OUT_SYSTEM_OTHER) @mkdir -p $(systemotherimage_intermediates) && rm -rf $(systemotherimage_intermediates)/system_other_image_info.txt $(call generate-userimage-prop-dictionary, $(systemotherimage_intermediates)/system_other_image_info.txt, skip_fsck=true) $(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH \ ./build/tools/releasetools/build_image.py \ $(TARGET_OUT_SYSTEM_OTHER) $(systemotherimage_intermediates)/system_other_image_info.txt $(INSTALLED_SYSTEMOTHERIMAGE_TARGET) $(TARGET_OUT) $(hide) $(call assert-max-image-size,$(INSTALLED_SYSTEMOTHERIMAGE_TARGET),$(BOARD_SYSTEMIMAGE_PARTITION_SIZE)) endef # We just build this directly to the install location. INSTALLED_SYSTEMOTHERIMAGE_TARGET := $(BUILT_SYSTEMOTHERIMAGE_TARGET) $(INSTALLED_SYSTEMOTHERIMAGE_TARGET): $(INTERNAL_USERIMAGES_DEPS) $(INTERNAL_SYSTEMOTHERIMAGE_FILES) $(INSTALLED_FILES_FILE_SYSTEMOTHER) $(build-systemotherimage-target) .PHONY: systemotherimage-nodeps systemotherimage-nodeps: | $(INTERNAL_USERIMAGES_DEPS) $(build-systemotherimage-target) endif # BOARD_USES_SYSTEM_OTHER # ----------------------------------------------------------------- # vendor partition image ifdef BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE Loading Loading @@ -1646,6 +1699,7 @@ $(BUILT_TARGET_FILES_PACKAGE): \ $(INSTALLED_USERDATAIMAGE_TARGET) \ $(INSTALLED_CACHEIMAGE_TARGET) \ $(INSTALLED_VENDORIMAGE_TARGET) \ $(INSTALLED_SYSTEMOTHERIMAGE_TARGET) \ $(INSTALLED_ANDROID_INFO_TXT_TARGET) \ $(SELINUX_FC) \ $(APKCERTS_FILE) \ Loading Loading @@ -1718,6 +1772,11 @@ ifdef BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE @# Contents of the vendor image $(hide) $(call package_files-copy-root, \ $(TARGET_OUT_VENDOR),$(zip_root)/VENDOR) endif ifdef INSTALLED_SYSTEMOTHERIMAGE_TARGET @# Contents of the system_other image $(hide) $(call package_files-copy-root, \ $(TARGET_OUT_SYSTEM_OTHER),$(zip_root)/SYSTEM_OTHER) endif @# Extra contents of the OTA package $(hide) mkdir -p $(zip_root)/OTA Loading Loading @@ -1832,6 +1891,9 @@ endif $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="BOOT/RAMDISK/" } /^BOOT\/RAMDISK\// {print $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -D $(TARGET_OUT) -S $(SELINUX_FC) > $(zip_root)/META/boot_filesystem_config.txt ifneq ($(INSTALLED_RECOVERYIMAGE_TARGET),) $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="RECOVERY/RAMDISK/" } /^RECOVERY\/RAMDISK\// {print $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -D $(TARGET_OUT) -S $(SELINUX_FC) > $(zip_root)/META/recovery_filesystem_config.txt endif ifdef INSTALLED_SYSTEMOTHERIMAGE_TARGET $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="SYSTEM_OTHER/" } /^SYSTEM_OTHER\// { print "system/" $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -D $(TARGET_OUT) -S $(SELINUX_FC) > $(zip_root)/META/system_other_filesystem_config.txt endif $(hide) (cd $(zip_root) && zip -qX ../$(notdir $@) META/*filesystem_config.txt) $(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH MKBOOTIMG=$(MKBOOTIMG) \ Loading core/cleanbuild.mk +1 −0 Original line number Diff line number Diff line Loading @@ -242,6 +242,7 @@ installclean_files := \ $(PRODUCT_OUT)/recovery \ $(PRODUCT_OUT)/root \ $(PRODUCT_OUT)/system \ $(PRODUCT_OUT)/system_other \ $(PRODUCT_OUT)/vendor \ $(PRODUCT_OUT)/oem \ $(PRODUCT_OUT)/dex_bootjars \ Loading core/dex_preopt.mk +4 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,10 @@ DEXPREOPT_BOOT_JAR_DIR_FULL_PATH := $(DEXPREOPT_PRODUCT_DIR_FULL_PATH)/$(DEXPREO # The default value for LOCAL_DEX_PREOPT DEX_PREOPT_DEFAULT ?= true # The default filter for which files go into the system_other image (if it is # being used). To bundle everything one should set this to '%' SYSTEM_OTHER_ODEX_FILTER ?= app/% priv-app/% # The default values for pre-opting: always preopt PIC. # Conditional to building on linux, as dex2oat currently does not work on darwin. ifeq ($(HOST_OS),linux) Loading core/dex_preopt_libart.mk +15 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,21 @@ define get-odex-file-path $(dir $(2))oat/$(1)/$(basename $(notdir $(2))).odex endef # Returns the full path to the installed .odex file. # This handles BOARD_USES_SYSTEM_OTHER_ODEX to install odex files into another # partition. # $(1): the arch name. # $(2): the full install path (including file name) of the corresponding .apk. ifeq ($(BOARD_USES_SYSTEM_OTHER_ODEX),true) define get-odex-installed-file-path $(if $(filter $(foreach f,$(SYSTEM_OTHER_ODEX_FILTER),$(TARGET_OUT)/$(f)),$(2)), $(call get-odex-file-path,$(1),$(patsubst $(TARGET_OUT)/%,$(TARGET_OUT_SYSTEM_OTHER)/%,$(2))), $(call get-odex-file-path,$(1),$(2))) endef else get-odex-installed-file-path = $(get-odex-file-path) endif # Returns the path to the image file (such as "/system/framework/<arch>/boot.art" # $(1): the arch name (such as "arm") # $(2): the image location (such as "/system/framework/boot.art") Loading Loading
CleanSpec.mk +4 −0 Original line number Diff line number Diff line Loading @@ -374,6 +374,10 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) # $(PRODUCT_OUT)/recovery/root/sdcard goes from symlink to folder. $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/sdcard) # Add BOARD_USES_SYSTEM_OTHER_ODEX $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/*) # ************************************************ # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST # ************************************************
core/Makefile +62 −0 Original line number Diff line number Diff line Loading @@ -1415,6 +1415,59 @@ IGNORE_CACHE_LINK := --exclude=cache endif # BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE # ----------------------------------------------------------------- # system_other partition image ifeq ($(BOARD_USES_SYSTEM_OTHER_ODEX),true) BOARD_USES_SYSTEM_OTHER := true # Marker file to identify that odex files are installed INSTALLED_SYSTEM_OTHER_ODEX_MARKER := $(TARGET_OUT_SYSTEM_OTHER)/system-other-odex-marker ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_SYSTEM_OTHER_ODEX_MARKER) $(INSTALLED_SYSTEM_OTHER_ODEX_MARKER): $(hide) touch $@ endif ifdef BOARD_USES_SYSTEM_OTHER INTERNAL_SYSTEMOTHERIMAGE_FILES := \ $(filter $(TARGET_OUT_SYSTEM_OTHER)/%,\ $(ALL_DEFAULT_INSTALLED_MODULES)\ $(ALL_PDK_FUSION_FILES)) INSTALLED_FILES_FILE_SYSTEMOTHER := $(PRODUCT_OUT)/installed-files-system-other.txt $(INSTALLED_FILES_FILE_SYSTEMOTHER) : $(INTERNAL_SYSTEMOTHERIMAGE_FILES) @echo Installed file list: $@ @mkdir -p $(dir $@) @rm -f $@ $(hide) build/tools/fileslist.py $(TARGET_OUT_SYSTEM_OTHER) > $@ systemotherimage_intermediates := \ $(call intermediates-dir-for,PACKAGING,system_other) BUILT_SYSTEMOTHERIMAGE_TARGET := $(PRODUCT_OUT)/system_other.img # Note that we assert the size is SYSTEMIMAGE_PARTITION_SIZE since this is the 'b' system image. define build-systemotherimage-target $(call pretty,"Target system_other fs image: $(INSTALLED_SYSTEMOTHERIMAGE_TARGET)") @mkdir -p $(TARGET_OUT_SYSTEM_OTHER) @mkdir -p $(systemotherimage_intermediates) && rm -rf $(systemotherimage_intermediates)/system_other_image_info.txt $(call generate-userimage-prop-dictionary, $(systemotherimage_intermediates)/system_other_image_info.txt, skip_fsck=true) $(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH \ ./build/tools/releasetools/build_image.py \ $(TARGET_OUT_SYSTEM_OTHER) $(systemotherimage_intermediates)/system_other_image_info.txt $(INSTALLED_SYSTEMOTHERIMAGE_TARGET) $(TARGET_OUT) $(hide) $(call assert-max-image-size,$(INSTALLED_SYSTEMOTHERIMAGE_TARGET),$(BOARD_SYSTEMIMAGE_PARTITION_SIZE)) endef # We just build this directly to the install location. INSTALLED_SYSTEMOTHERIMAGE_TARGET := $(BUILT_SYSTEMOTHERIMAGE_TARGET) $(INSTALLED_SYSTEMOTHERIMAGE_TARGET): $(INTERNAL_USERIMAGES_DEPS) $(INTERNAL_SYSTEMOTHERIMAGE_FILES) $(INSTALLED_FILES_FILE_SYSTEMOTHER) $(build-systemotherimage-target) .PHONY: systemotherimage-nodeps systemotherimage-nodeps: | $(INTERNAL_USERIMAGES_DEPS) $(build-systemotherimage-target) endif # BOARD_USES_SYSTEM_OTHER # ----------------------------------------------------------------- # vendor partition image ifdef BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE Loading Loading @@ -1646,6 +1699,7 @@ $(BUILT_TARGET_FILES_PACKAGE): \ $(INSTALLED_USERDATAIMAGE_TARGET) \ $(INSTALLED_CACHEIMAGE_TARGET) \ $(INSTALLED_VENDORIMAGE_TARGET) \ $(INSTALLED_SYSTEMOTHERIMAGE_TARGET) \ $(INSTALLED_ANDROID_INFO_TXT_TARGET) \ $(SELINUX_FC) \ $(APKCERTS_FILE) \ Loading Loading @@ -1718,6 +1772,11 @@ ifdef BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE @# Contents of the vendor image $(hide) $(call package_files-copy-root, \ $(TARGET_OUT_VENDOR),$(zip_root)/VENDOR) endif ifdef INSTALLED_SYSTEMOTHERIMAGE_TARGET @# Contents of the system_other image $(hide) $(call package_files-copy-root, \ $(TARGET_OUT_SYSTEM_OTHER),$(zip_root)/SYSTEM_OTHER) endif @# Extra contents of the OTA package $(hide) mkdir -p $(zip_root)/OTA Loading Loading @@ -1832,6 +1891,9 @@ endif $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="BOOT/RAMDISK/" } /^BOOT\/RAMDISK\// {print $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -D $(TARGET_OUT) -S $(SELINUX_FC) > $(zip_root)/META/boot_filesystem_config.txt ifneq ($(INSTALLED_RECOVERYIMAGE_TARGET),) $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="RECOVERY/RAMDISK/" } /^RECOVERY\/RAMDISK\// {print $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -D $(TARGET_OUT) -S $(SELINUX_FC) > $(zip_root)/META/recovery_filesystem_config.txt endif ifdef INSTALLED_SYSTEMOTHERIMAGE_TARGET $(hide) zipinfo -1 $@ | awk 'BEGIN { FS="SYSTEM_OTHER/" } /^SYSTEM_OTHER\// { print "system/" $$2}' | $(HOST_OUT_EXECUTABLES)/fs_config -C -D $(TARGET_OUT) -S $(SELINUX_FC) > $(zip_root)/META/system_other_filesystem_config.txt endif $(hide) (cd $(zip_root) && zip -qX ../$(notdir $@) META/*filesystem_config.txt) $(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH MKBOOTIMG=$(MKBOOTIMG) \ Loading
core/cleanbuild.mk +1 −0 Original line number Diff line number Diff line Loading @@ -242,6 +242,7 @@ installclean_files := \ $(PRODUCT_OUT)/recovery \ $(PRODUCT_OUT)/root \ $(PRODUCT_OUT)/system \ $(PRODUCT_OUT)/system_other \ $(PRODUCT_OUT)/vendor \ $(PRODUCT_OUT)/oem \ $(PRODUCT_OUT)/dex_bootjars \ Loading
core/dex_preopt.mk +4 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,10 @@ DEXPREOPT_BOOT_JAR_DIR_FULL_PATH := $(DEXPREOPT_PRODUCT_DIR_FULL_PATH)/$(DEXPREO # The default value for LOCAL_DEX_PREOPT DEX_PREOPT_DEFAULT ?= true # The default filter for which files go into the system_other image (if it is # being used). To bundle everything one should set this to '%' SYSTEM_OTHER_ODEX_FILTER ?= app/% priv-app/% # The default values for pre-opting: always preopt PIC. # Conditional to building on linux, as dex2oat currently does not work on darwin. ifeq ($(HOST_OS),linux) Loading
core/dex_preopt_libart.mk +15 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,21 @@ define get-odex-file-path $(dir $(2))oat/$(1)/$(basename $(notdir $(2))).odex endef # Returns the full path to the installed .odex file. # This handles BOARD_USES_SYSTEM_OTHER_ODEX to install odex files into another # partition. # $(1): the arch name. # $(2): the full install path (including file name) of the corresponding .apk. ifeq ($(BOARD_USES_SYSTEM_OTHER_ODEX),true) define get-odex-installed-file-path $(if $(filter $(foreach f,$(SYSTEM_OTHER_ODEX_FILTER),$(TARGET_OUT)/$(f)),$(2)), $(call get-odex-file-path,$(1),$(patsubst $(TARGET_OUT)/%,$(TARGET_OUT_SYSTEM_OTHER)/%,$(2))), $(call get-odex-file-path,$(1),$(2))) endef else get-odex-installed-file-path = $(get-odex-file-path) endif # Returns the path to the image file (such as "/system/framework/<arch>/boot.art" # $(1): the arch name (such as "arm") # $(2): the image location (such as "/system/framework/boot.art") Loading