469 lines
17 KiB
Makefile
469 lines
17 KiB
Makefile
|
|
ifdef SYS_TARGET_PROJECT
|
||
|
|
# For virtual project
|
||
|
|
include $(wildcard $(SYS_PROJECT_FOLDER)/BoardConfig.mk)
|
||
|
|
else ifdef HAL_TARGET_PROJECT
|
||
|
|
else ifeq ($(wildcard $(MTK_TARGET_PROJECT_FOLDER)/vnd_*.mk),)
|
||
|
|
# For legacy project
|
||
|
|
include $(wildcard device/mediatek/system/common/BoardConfig.mk)
|
||
|
|
endif
|
||
|
|
TARGET_NO_KERNEL :=
|
||
|
|
ifndef HAL_TARGET_PROJECT
|
||
|
|
include device/mediatek/vendor/common/BoardConfig-kernel.mk
|
||
|
|
include device/mediatek/vendor/common/BoardConfig-vext.mk
|
||
|
|
else
|
||
|
|
include device/mediatek/vendor/common/BoardConfig-image.mk
|
||
|
|
endif
|
||
|
|
ifndef HAL_TARGET_PROJECT
|
||
|
|
ifdef MTK_TARGET_PROJECT_FOLDER
|
||
|
|
HAL_VENDOR_CONFIG_MK ?= $(MTK_TARGET_PROJECT_FOLDER)/ProjectConfig.mk
|
||
|
|
KRN_KERNEL_CONFIG_MK ?= $(MTK_TARGET_PROJECT_FOLDER)/ProjectConfig.mk
|
||
|
|
VEXT_PROJECT_CONFIG_MK ?= $(MTK_TARGET_PROJECT_FOLDER)/ProjectConfig.mk
|
||
|
|
endif
|
||
|
|
endif
|
||
|
|
ifdef MGVI_PLATFORM_GROUP
|
||
|
|
MTKCAM_PLATFORM_GROUP := $(MGVI_PLATFORM_GROUP)
|
||
|
|
else
|
||
|
|
MTKCAM_PLATFORM_GROUP := $(call to-lower,$(MTK_PLATFORM))
|
||
|
|
endif
|
||
|
|
|
||
|
|
BOARD_CONNECTIVITY_VENDOR := MediaTek
|
||
|
|
BOARD_USES_MTK_AUDIO := true
|
||
|
|
|
||
|
|
|
||
|
|
MTK_GLOBAL_C_INCLUDES:=
|
||
|
|
MTK_GLOBAL_CFLAGS:=
|
||
|
|
MTK_GLOBAL_CONLYFLAGS:=
|
||
|
|
MTK_GLOBAL_CPPFLAGS:=
|
||
|
|
MTK_GLOBAL_LDFLAGS:=
|
||
|
|
|
||
|
|
# Use the non-open-source part, if present
|
||
|
|
-include vendor/mediatek/common/BoardConfigVendor.mk
|
||
|
|
|
||
|
|
# Use the connectivity Boardconfig
|
||
|
|
include device/mediatek/vendor/common/connectivity/BoardConfig.mk
|
||
|
|
|
||
|
|
# Use ago BoardConfig, if present
|
||
|
|
-include device/mediatek/vendor/common/ago/BoardConfig.mk
|
||
|
|
|
||
|
|
# for flavor build base project assignment
|
||
|
|
ifneq ($(strip $(VEXT_BASE_PROJECT)),)
|
||
|
|
MTK_PROJECT_NAME := $(VEXT_BASE_PROJECT)
|
||
|
|
else ifneq ($(strip $(MTK_BASE_PROJECT)),)
|
||
|
|
MTK_PROJECT_NAME := $(MTK_BASE_PROJECT)
|
||
|
|
else
|
||
|
|
MTK_PROJECT_NAME := $(subst full_,,$(TARGET_PRODUCT))
|
||
|
|
endif
|
||
|
|
MTK_PROJECT := $(MTK_PROJECT_NAME)
|
||
|
|
MTK_PATH_SOURCE := vendor/mediatek/proprietary
|
||
|
|
MTK_ROOT := vendor/mediatek/proprietary
|
||
|
|
MTK_PATH_COMMON := vendor/mediatek/proprietary/custom/common
|
||
|
|
ifdef MTK_PROJECT
|
||
|
|
MTK_PATH_CUSTOM := vendor/mediatek/proprietary/custom/$(MTK_PROJECT)
|
||
|
|
endif
|
||
|
|
# Use TARGET_BOARD_PLATFORM if exits, otherwise use MTK_PLATFORM_DIR
|
||
|
|
MTK_PATH_CUSTOM_PLATFORM := $(strip $(firstword $(wildcard vendor/mediatek/proprietary/custom/$(TARGET_BOARD_PLATFORM)) $(wildcard vendor/mediatek/proprietary/custom/$(MTK_PLATFORM_DIR))))
|
||
|
|
ifneq ($(wildcard device/mediatek/$(TARGET_BOARD_PLATFORM)),)
|
||
|
|
MTK_REL_PLATFORM := $(TARGET_BOARD_PLATFORM)
|
||
|
|
else
|
||
|
|
MTK_REL_PLATFORM := $(MTK_PLATFORM_DIR)
|
||
|
|
endif
|
||
|
|
ifeq ($(strip $(MTK_K64_SUPPORT)),yes)
|
||
|
|
KERNEL_CROSS_COMPILE := $(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/aarch64/aarch64-linux-gnu-6.3.1/bin/aarch64-linux-gnu-
|
||
|
|
else
|
||
|
|
KERNEL_CROSS_COMPILE := $(PWD)/prebuilts/gcc/$(HOST_PREBUILT_TAG)/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-
|
||
|
|
endif
|
||
|
|
TARGET_BOARD_KERNEL_HEADERS :=
|
||
|
|
ifneq ($(strip $(MTK_REL_PLATFORM)),)
|
||
|
|
ifneq ($(MTK_REL_PLATFORM),common)
|
||
|
|
TARGET_BOARD_KERNEL_HEADERS += device/mediatek/$(MTK_REL_PLATFORM)/kernel-headers
|
||
|
|
endif
|
||
|
|
endif
|
||
|
|
|
||
|
|
ifdef MTK_GENERIC_HAL
|
||
|
|
# for LD2.0, include mt6893/kernel-headers as default
|
||
|
|
TARGET_BOARD_KERNEL_HEADERS += device/mediatek/mt6893/kernel-headers
|
||
|
|
endif
|
||
|
|
|
||
|
|
TARGET_BOARD_KERNEL_HEADERS += device/mediatek/common/kernel-headers
|
||
|
|
TARGET_BOARD_KERNEL_HEADERS += device/mediatek/vendor/common/kernel-headers
|
||
|
|
|
||
|
|
MTK_GLOBAL_C_INCLUDES += $(MTK_PATH_CUSTOM)/cgen/cfgdefault $(MTK_PATH_CUSTOM)/cgen/cfgfileinc $(MTK_PATH_CUSTOM)/cgen/inc $(MTK_PATH_CUSTOM)/cgen
|
||
|
|
ifneq ($(strip $(MTK_REL_PLATFORM)),)
|
||
|
|
MTK_GLOBAL_C_INCLUDES += $(MTK_PATH_CUSTOM_PLATFORM)/cgen/cfgdefault $(MTK_PATH_CUSTOM_PLATFORM)/cgen/cfgfileinc $(MTK_PATH_CUSTOM_PLATFORM)/cgen/inc $(MTK_PATH_CUSTOM_PLATFORM)/cgen
|
||
|
|
endif
|
||
|
|
MTK_GLOBAL_C_INCLUDES += $(MTK_PATH_COMMON)/cgen/cfgdefault $(MTK_PATH_COMMON)/cgen/cfgfileinc $(MTK_PATH_COMMON)/cgen/inc $(MTK_PATH_COMMON)/cgen
|
||
|
|
|
||
|
|
# Add MTK compile options to wrap MTK's modifications on AOSP.
|
||
|
|
ifneq ($(strip $(MTK_BASIC_PACKAGE)),yes)
|
||
|
|
MTK_BOARD_CONFIG_AOSP_ENH_DEFINED := yes
|
||
|
|
MTK_GLOBAL_CFLAGS += -DMTK_AOSP_ENHANCEMENT
|
||
|
|
endif
|
||
|
|
|
||
|
|
# Add vendor BoardConfig defined flag for virtual project on splti build
|
||
|
|
MTK_BOARD_VENDOR_COMMON_DEFINED := yes
|
||
|
|
|
||
|
|
# TODO: remove MTK_PATH_PLATFORM
|
||
|
|
MTK_PATH_PLATFORM := $(MTK_PATH_SOURCE)/platform/$(MTK_PLATFORM_DIR)
|
||
|
|
GOOGLE_RELEASE_RIL := no
|
||
|
|
|
||
|
|
ifeq ($(strip $(CUSTOM_BUILD_VERNO)),)
|
||
|
|
CUSTOM_BUILD_VERNO_HDR := $(shell echo $(firstword $(BUILD_NUMBER)) | cut -b 1-15)
|
||
|
|
else
|
||
|
|
CUSTOM_BUILD_VERNO_HDR := $(shell echo $(firstword $(CUSTOM_BUILD_VERNO)) | cut -b 1-15)
|
||
|
|
endif
|
||
|
|
|
||
|
|
ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS), true)
|
||
|
|
# add default super partition size here, will be overwritten by partition_size.mk
|
||
|
|
BOARD_SUPER_PARTITION_SIZE := 6442450944
|
||
|
|
BOARD_BUILD_SUPER_IMAGE_BY_DEFAULT := true
|
||
|
|
BOARD_SUPER_IMAGE_IN_UPDATE_PACKAGE := true
|
||
|
|
endif
|
||
|
|
ifndef VEXT_TARGET_PROJECT
|
||
|
|
# add default boot partition size here, will be overwritten by partition_size.mk
|
||
|
|
BOARD_BOOTIMAGE_PARTITION_SIZE ?= 41943040
|
||
|
|
endif
|
||
|
|
|
||
|
|
#Enable HWUI by default
|
||
|
|
USE_OPENGL_RENDERER := true
|
||
|
|
|
||
|
|
#SELinux Policy File Configuration
|
||
|
|
ifeq ($(strip $(MTK_BASIC_PACKAGE)), yes)
|
||
|
|
BOARD_SEPOLICY_DIRS := \
|
||
|
|
device/mediatek/sepolicy/basic/non_plat
|
||
|
|
BOARD_PLAT_PUBLIC_SEPOLICY_DIR := \
|
||
|
|
device/mediatek/sepolicy/basic/plat_public
|
||
|
|
BOARD_PLAT_PRIVATE_SEPOLICY_DIR := \
|
||
|
|
device/mediatek/sepolicy/basic/plat_private
|
||
|
|
ifeq ($(strip $(HAVE_MTK_DEBUG_SEPOLICY)), yes)
|
||
|
|
BOARD_SEPOLICY_DIRS += \
|
||
|
|
device/mediatek/sepolicy/basic/debug/non_plat
|
||
|
|
BOARD_PLAT_PUBLIC_SEPOLICY_DIR += \
|
||
|
|
device/mediatek/sepolicy/basic/debug/plat_public
|
||
|
|
BOARD_PLAT_PRIVATE_SEPOLICY_DIR += \
|
||
|
|
device/mediatek/sepolicy/basic/debug/plat_private
|
||
|
|
endif
|
||
|
|
endif
|
||
|
|
ifeq ($(strip $(MTK_BSP_PACKAGE)), yes)
|
||
|
|
BOARD_SEPOLICY_DIRS := \
|
||
|
|
device/mediatek/sepolicy/basic/non_plat \
|
||
|
|
device/mediatek/sepolicy/bsp/non_plat
|
||
|
|
BOARD_PLAT_PUBLIC_SEPOLICY_DIR := \
|
||
|
|
device/mediatek/sepolicy/basic/plat_public \
|
||
|
|
device/mediatek/sepolicy/bsp/plat_public
|
||
|
|
BOARD_PLAT_PRIVATE_SEPOLICY_DIR := \
|
||
|
|
device/mediatek/sepolicy/basic/plat_private \
|
||
|
|
device/mediatek/sepolicy/bsp/plat_private
|
||
|
|
ifeq ($(strip $(HAVE_MTK_DEBUG_SEPOLICY)), yes)
|
||
|
|
BOARD_SEPOLICY_DIRS += \
|
||
|
|
device/mediatek/sepolicy/basic/debug/non_plat \
|
||
|
|
device/mediatek/sepolicy/bsp/debug/non_plat
|
||
|
|
BOARD_PLAT_PUBLIC_SEPOLICY_DIR += \
|
||
|
|
device/mediatek/sepolicy/basic/debug/plat_public \
|
||
|
|
device/mediatek/sepolicy/bsp/debug/plat_public
|
||
|
|
BOARD_PLAT_PRIVATE_SEPOLICY_DIR += \
|
||
|
|
device/mediatek/sepolicy/basic/debug/plat_private \
|
||
|
|
device/mediatek/sepolicy/bsp/debug/plat_private
|
||
|
|
endif
|
||
|
|
endif
|
||
|
|
|
||
|
|
# MTK Internal SELinux Policy File Configuration
|
||
|
|
BOARD_SEPOLICY_DIRS += \
|
||
|
|
device/mediatek/sepolicy/internal/non_plat
|
||
|
|
BOARD_PLAT_PUBLIC_SEPOLICY_DIR += \
|
||
|
|
device/mediatek/sepolicy/internal/plat_public
|
||
|
|
BOARD_PLAT_PRIVATE_SEPOLICY_DIR += \
|
||
|
|
device/mediatek/sepolicy/internal/plat_private
|
||
|
|
|
||
|
|
#widevine data migration for OTA upgrade from O to P
|
||
|
|
ifneq ($(call math_lt,$(PRODUCT_SHIPPING_API_LEVEL),28),)
|
||
|
|
BOARD_SEPOLICY_DIRS += $(wildcard device/mediatek/sepolicy/bsp/ota_upgrade)
|
||
|
|
endif
|
||
|
|
|
||
|
|
ifneq ($(MTK_BUILD_IGNORE_IMS_REPO),yes)
|
||
|
|
ifdef CUSTOM_MODEM
|
||
|
|
ifeq ($(strip $(TARGET_BUILD_VARIANT)),eng)
|
||
|
|
MTK_MODEM_MODULE_MAKEFILES := $(foreach item,$(CUSTOM_MODEM),$(firstword $(wildcard vendor/mediatek/proprietary/modem/$(patsubst %_prod,%,$(item))/Android.mk vendor/mediatek/proprietary/modem/$(item)/Android.mk)))
|
||
|
|
else
|
||
|
|
MTK_MODEM_MODULE_MAKEFILES := $(foreach item,$(CUSTOM_MODEM),$(firstword $(wildcard vendor/mediatek/proprietary/modem/$(patsubst %_prod,%,$(item))_prod/Android.mk vendor/mediatek/proprietary/modem/$(item)/Android.mk)))
|
||
|
|
endif
|
||
|
|
MTK_MODEM_APPS_SEPOLICY_DIRS :=
|
||
|
|
$(foreach f,$(MTK_MODEM_MODULE_MAKEFILES),\
|
||
|
|
$(if $(strip $(MTK_MODEM_APPS_SEPOLICY_DIRS)),,\
|
||
|
|
$(eval MTK_MODEM_APPS_SEPOLICY_DIRS := $(wildcard $(patsubst %/Android.mk,%/sepolicy/s0,$(f))))\
|
||
|
|
)\
|
||
|
|
)
|
||
|
|
BOARD_SEPOLICY_DIRS += $(MTK_MODEM_APPS_SEPOLICY_DIRS)
|
||
|
|
endif
|
||
|
|
endif
|
||
|
|
|
||
|
|
# Include an expanded selection of fonts
|
||
|
|
EXTENDED_FONT_FOOTPRINT := true
|
||
|
|
|
||
|
|
# To disable AOSP rild
|
||
|
|
ENABLE_VENDOR_RIL_SERVICE := true
|
||
|
|
|
||
|
|
ifeq (yes,$(strip $(MTK_GMO_RAM_OPTIMIZE)))
|
||
|
|
BOARD_MTK_GMO_VENDOR_SIZE_KB := 417792
|
||
|
|
BOARD_MTK_GMO_CACHE_SIZE_KB := 114688
|
||
|
|
endif
|
||
|
|
|
||
|
|
PERL := prebuilts/perl/linux-x86/bin/perl
|
||
|
|
|
||
|
|
# Add MTK's MTK_PTGEN_OUT definitions
|
||
|
|
ifeq (,$(strip $(OUT_DIR)))
|
||
|
|
ifeq (,$(strip $(OUT_DIR_COMMON_BASE)))
|
||
|
|
MTK_PTGEN_OUT_DIR := $(TOPDIR)out
|
||
|
|
else
|
||
|
|
MTK_PTGEN_OUT_DIR := $(OUT_DIR_COMMON_BASE)/$(notdir $(PWD))
|
||
|
|
endif
|
||
|
|
else
|
||
|
|
MTK_PTGEN_OUT_DIR := $(strip $(OUT_DIR))
|
||
|
|
endif
|
||
|
|
# Change flavor progect to base project
|
||
|
|
MTK_PTGEN_PRODUCT_OUT := $(MTK_PTGEN_OUT_DIR)/target/product/$(TARGET_DEVICE)
|
||
|
|
|
||
|
|
ifneq ($(CALLED_FROM_SETUP),true)
|
||
|
|
ifdef VEXT_TARGET_PROJECT
|
||
|
|
else ifdef MTK_TARGET_PROJECT
|
||
|
|
ifneq ($(strip $(MTK_TARGET_PROJECT)), $(strip $(TARGET_DEVICE)))
|
||
|
|
$(shell mkdir -p $(OUT_DIR)/target/product && ln -sfn $(TARGET_DEVICE) $(OUT_DIR)/target/product/$(MTK_TARGET_PROJECT))
|
||
|
|
endif
|
||
|
|
endif
|
||
|
|
endif
|
||
|
|
|
||
|
|
MTK_PTGEN_OUT := $(MTK_PTGEN_PRODUCT_OUT)/obj/PTGEN
|
||
|
|
MTK_PTGEN_MK_OUT := $(MTK_PTGEN_PRODUCT_OUT)/obj/PTGEN
|
||
|
|
MTK_PTGEN_TMP_OUT := $(MTK_PTGEN_PRODUCT_OUT)/obj/PTGEN_TMP
|
||
|
|
|
||
|
|
TARGET_CUSTOM_OUT := $(MTK_PTGEN_PRODUCT_OUT)/custom
|
||
|
|
|
||
|
|
# Define MTK Recovery updater
|
||
|
|
ifneq ($(strip $(MTK_AB_OTA_UPDATER)), yes)
|
||
|
|
TARGET_RECOVERY_UPDATER_LIBS := librecovery_updater_mtk
|
||
|
|
TARGET_RECOVERY_UPDATER_EXTRA_LIBS := libpartition
|
||
|
|
endif
|
||
|
|
|
||
|
|
# Define MTK Recovery UI
|
||
|
|
MTK_RECOVERY_MEDIUM_RES := yes
|
||
|
|
TARGET_RECOVERY_UI_LIB := librecovery_ui_mtk
|
||
|
|
|
||
|
|
# Add defalut recovery mode drm format
|
||
|
|
TARGET_RECOVERY_PIXEL_FORMAT := BGRA_8888
|
||
|
|
|
||
|
|
# Define MTK ota and secure boot tool extension
|
||
|
|
TARGET_RELEASETOOLS_EXTENSIONS := vendor/mediatek/proprietary/scripts/releasetools
|
||
|
|
SECURITY_SIG_TOOL := vendor/mediatek/proprietary/scripts/sign-image/sign_image.sh
|
||
|
|
SECURITY_IMAGE_PATH := vendor/mediatek/proprietary/custom/$(MTK_PLATFORM_DIR)/security/cert_config/img_list.txt
|
||
|
|
|
||
|
|
ifeq ($(BUILD_GMS),yes)
|
||
|
|
ifeq ($(strip $(MTK_AB_OTA_UPDATER)), yes)
|
||
|
|
DONT_DEXPREOPT_PREBUILTS := false
|
||
|
|
else
|
||
|
|
DONT_DEXPREOPT_PREBUILTS := false
|
||
|
|
endif
|
||
|
|
else
|
||
|
|
ifeq ($(TARGET_BUILD_VARIANT),userdebug)
|
||
|
|
DEX_PREOPT_DEFAULT := nostripping
|
||
|
|
endif
|
||
|
|
endif
|
||
|
|
|
||
|
|
ifeq (yes,$(BUILD_MTK_LDVT))
|
||
|
|
MTK_RELEASE_GATEKEEPER := no
|
||
|
|
endif
|
||
|
|
ifeq (yes,$(MTK_BASIC_PACKAGE))
|
||
|
|
MTK_RELEASE_GATEKEEPER := no
|
||
|
|
endif
|
||
|
|
|
||
|
|
ALLOW_MISSING_DEPENDENCIES := true
|
||
|
|
BUILD_BROKEN_DUP_RULES := true
|
||
|
|
BUILD_BROKEN_USES_NETWORK := true
|
||
|
|
SKIP_BOOT_JARS_CHECK := true
|
||
|
|
BUILD_BROKEN_VINTF_PRODUCT_COPY_FILES := true
|
||
|
|
ifneq ($(wildcard vendor/mediatek/internal),)
|
||
|
|
ifneq ($(COVERITY_LOCAL_SCAN),yes)
|
||
|
|
BUILD_BROKEN_SRC_DIR_IS_WRITABLE := false
|
||
|
|
endif
|
||
|
|
endif
|
||
|
|
|
||
|
|
# define S VF setting ro.board.first_api_level for S MGVI
|
||
|
|
ifeq ($(strip $(MTK_GENERIC_HAL)), yes)
|
||
|
|
#BOARD_SHIPPING_API_LEVEL := 31
|
||
|
|
endif
|
||
|
|
|
||
|
|
# Assign target level version
|
||
|
|
ifneq ($(call math_lt,$(PRODUCT_SHIPPING_API_LEVEL_OVERRIDE),28),)
|
||
|
|
DEVICE_MANIFEST_FILE += device/mediatek/vendor/common/manifest_target_level_o.xml
|
||
|
|
else ifneq ($(call math_lt,$(PRODUCT_SHIPPING_API_LEVEL_OVERRIDE),29),)
|
||
|
|
DEVICE_MANIFEST_FILE += device/mediatek/vendor/common/manifest_target_level_p.xml
|
||
|
|
else ifneq ($(call math_lt,$(PRODUCT_SHIPPING_API_LEVEL_OVERRIDE),30),)
|
||
|
|
DEVICE_MANIFEST_FILE += device/mediatek/vendor/common/manifest_target_level_q.xml
|
||
|
|
else ifneq ($(call math_lt,$(PRODUCT_SHIPPING_API_LEVEL_OVERRIDE),31),)
|
||
|
|
DEVICE_MANIFEST_FILE += device/mediatek/vendor/common/manifest_target_level_r.xml
|
||
|
|
else
|
||
|
|
ifneq ($(strip $(MTK_GENERIC_HAL)), yes)
|
||
|
|
DEVICE_MANIFEST_FILE += device/mediatek/vendor/common/manifest_target_level_r.xml
|
||
|
|
else
|
||
|
|
DEVICE_MANIFEST_FILE += device/mediatek/vendor/common/manifest_target_level_s.xml
|
||
|
|
endif
|
||
|
|
endif
|
||
|
|
|
||
|
|
ifeq ($(strip $(MTK_GENERIC_HAL)), yes)
|
||
|
|
DEVICE_MANIFEST_FILE += device/mediatek/vendor/common/manifest.xml
|
||
|
|
DEVICE_MATRIX_FILE := device/mediatek/vendor/common/compatibility_matrix.xml
|
||
|
|
else
|
||
|
|
ifneq ($(wildcard $(MTK_TARGET_PROJECT_FOLDER)/manifest.xml),)
|
||
|
|
DEVICE_MANIFEST_FILE += $(MTK_TARGET_PROJECT_FOLDER)/manifest.xml
|
||
|
|
DEVICE_MATRIX_FILE := $(MTK_TARGET_PROJECT_FOLDER)/compatibility_matrix.xml
|
||
|
|
else
|
||
|
|
DEVICE_MANIFEST_FILE += device/mediatek/$(MTK_REL_PLATFORM)/manifest.xml
|
||
|
|
DEVICE_MATRIX_FILE := device/mediatek/$(MTK_REL_PLATFORM)/compatibility_matrix.xml
|
||
|
|
endif
|
||
|
|
endif
|
||
|
|
|
||
|
|
ifneq ($(filter 3 4,$(BOARD_BOOT_HEADER_VERSION)),)
|
||
|
|
BOARD_USES_RECOVERY_AS_BOOT :=
|
||
|
|
BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT := true
|
||
|
|
endif
|
||
|
|
|
||
|
|
# A/B System updates
|
||
|
|
ifeq ($(strip $(MTK_AB_OTA_UPDATER)), yes)
|
||
|
|
ifeq ($(filter 3 4,$(BOARD_BOOT_HEADER_VERSION)),)
|
||
|
|
BOARD_USES_RECOVERY_AS_BOOT := true
|
||
|
|
endif
|
||
|
|
TARGET_NO_RECOVERY := true
|
||
|
|
AB_OTA_UPDATER := true
|
||
|
|
|
||
|
|
ifeq ($(strip $(TARGET_COPY_OUT_PRODUCT)),product)
|
||
|
|
# A/B OTA partitions
|
||
|
|
AB_OTA_PARTITIONS := \
|
||
|
|
boot \
|
||
|
|
system \
|
||
|
|
product \
|
||
|
|
vendor
|
||
|
|
else
|
||
|
|
AB_OTA_PARTITIONS := \
|
||
|
|
boot \
|
||
|
|
system \
|
||
|
|
vendor
|
||
|
|
endif
|
||
|
|
|
||
|
|
# Install odex files into the other system image
|
||
|
|
BOARD_USES_SYSTEM_OTHER_ODEX := true
|
||
|
|
|
||
|
|
# A/B OTA dexopt update_engine hookup
|
||
|
|
AB_OTA_POSTINSTALL_CONFIG += \
|
||
|
|
RUN_POSTINSTALL_system=true \
|
||
|
|
POSTINSTALL_PATH_system=system/bin/otapreopt_script \
|
||
|
|
FILESYSTEM_TYPE_system=ext4 \
|
||
|
|
POSTINSTALL_OPTIONAL_system=true
|
||
|
|
else
|
||
|
|
BOARD_INCLUDE_RECOVERY_DTBO := true
|
||
|
|
endif
|
||
|
|
|
||
|
|
#settings for main vbmeta
|
||
|
|
BOARD_AVB_ENABLE ?= true
|
||
|
|
|
||
|
|
#########################################
|
||
|
|
#
|
||
|
|
# Configure Product Security Level Here
|
||
|
|
#
|
||
|
|
#########################################
|
||
|
|
SEC_LEVEL := 0
|
||
|
|
AVB_KEY_PATH := key/rsa2048
|
||
|
|
AVB_ALGO := SHA256_RSA2048
|
||
|
|
ifeq ($(SEC_LEVEL), 1)
|
||
|
|
AVB_ALGO := SHA256_RSA4096
|
||
|
|
AVB_KEY_PATH := key/rsa4096
|
||
|
|
else ifeq ($(SEC_LEVEL), 2)
|
||
|
|
AVB_ALGO := SHA256_RSA8192
|
||
|
|
AVB_KEY_PATH := key/rsa8192
|
||
|
|
else
|
||
|
|
$(warning SEC_LEVEL=$(SEC_LEVEL) invalid, use 0 as default.)
|
||
|
|
endif
|
||
|
|
|
||
|
|
#setting for main vbmeta in boot
|
||
|
|
MAIN_VBMETA_IN_BOOT ?= no
|
||
|
|
|
||
|
|
ifneq ($(strip $(BOARD_AVB_ENABLE)), true)
|
||
|
|
# if avb2.0 is not enabled
|
||
|
|
#$(call inherit-product, build/target/product/verity.mk)
|
||
|
|
else
|
||
|
|
|
||
|
|
BOARD_AVB_ALGORITHM ?= $(AVB_ALGO)
|
||
|
|
BOARD_AVB_KEY_PATH ?= device/mediatek/vendor/common/$(AVB_KEY_PATH)/oem_prvk.pem
|
||
|
|
BOARD_AVB_ROLLBACK_INDEX ?= 0
|
||
|
|
|
||
|
|
SET_RECOVERY_AS_CHAIN ?= yes
|
||
|
|
|
||
|
|
ifeq ($(strip $(MAIN_VBMETA_IN_BOOT)),no)
|
||
|
|
ifeq ($(strip $(SET_RECOVERY_AS_CHAIN)),yes)
|
||
|
|
#settings for recovery, which is configured as chain partition
|
||
|
|
BOARD_AVB_RECOVERY_KEY_PATH := device/mediatek/vendor/common/$(AVB_KEY_PATH)/recovery_prvk.pem
|
||
|
|
BOARD_AVB_RECOVERY_ALGORITHM := $(AVB_ALGO)
|
||
|
|
BOARD_AVB_RECOVERY_ROLLBACK_INDEX := 0
|
||
|
|
# Always assign "1" to BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION
|
||
|
|
# if MTK_OTP_FRAMEWORK_V2 is turned on in LK. In other words,
|
||
|
|
# rollback_index_location "1" can only be assigned to
|
||
|
|
# recovery partition.
|
||
|
|
BOARD_AVB_RECOVERY_ROLLBACK_INDEX_LOCATION := 1
|
||
|
|
endif
|
||
|
|
BOARD_AVB_BOOT_KEY_PATH := device/mediatek/vendor/common/$(AVB_KEY_PATH)/boot_prvk.pem
|
||
|
|
BOARD_AVB_BOOT_ALGORITHM := $(AVB_ALGO)
|
||
|
|
BOARD_AVB_BOOT_ROLLBACK_INDEX := 0
|
||
|
|
BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 3
|
||
|
|
endif
|
||
|
|
|
||
|
|
ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS), true)
|
||
|
|
BOARD_AVB_VBMETA_VENDOR := vendor
|
||
|
|
BOARD_AVB_VBMETA_VENDOR_KEY_PATH := device/mediatek/vendor/common/$(AVB_KEY_PATH)/vendor_prvk.pem
|
||
|
|
BOARD_AVB_VBMETA_VENDOR_ALGORITHM := $(AVB_ALGO)
|
||
|
|
BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX := 0
|
||
|
|
BOARD_AVB_VBMETA_VENDOR_ROLLBACK_INDEX_LOCATION := 4
|
||
|
|
else
|
||
|
|
BOARD_AVB_VENDOR_KEY_PATH := device/mediatek/vendor/common/$(AVB_KEY_PATH)/vendor_prvk.pem
|
||
|
|
BOARD_AVB_VENDOR_ALGORITHM := $(AVB_ALGO)
|
||
|
|
BOARD_AVB_VENDOR_ROLLBACK_INDEX := 0
|
||
|
|
BOARD_AVB_VENDOR_ROLLBACK_INDEX_LOCATION := 4
|
||
|
|
endif
|
||
|
|
|
||
|
|
BOARD_AVB_VENDOR_ADD_HASHTREE_FOOTER_ARGS := --hash_algorithm sha256
|
||
|
|
BOARD_AVB_ODM_ADD_HASHTREE_FOOTER_ARGS := --hash_algorithm sha256
|
||
|
|
BOARD_AVB_VENDOR_DLKM_ADD_HASHTREE_FOOTER_ARGS := --hash_algorithm sha256
|
||
|
|
BOARD_AVB_ODM_DLKM_ADD_HASHTREE_FOOTER_ARGS := --hash_algorithm sha256
|
||
|
|
endif
|
||
|
|
|
||
|
|
# Temp add TOP to keep NINJA_ENV
|
||
|
|
BUILD_BROKEN_NINJA_USES_ENV_VARS := TOP
|
||
|
|
BUILD_BROKEN_NINJA_USES_ENV_VARS += CCACHE_DIR
|
||
|
|
BUILD_BROKEN_NINJA_USES_ENV_VARS += CCACHE_READONLY
|
||
|
|
BUILD_BROKEN_NINJA_USES_ENV_VARS += CCACHE_TEMPDIR
|
||
|
|
|
||
|
|
# Set TINYSYS_PLATFORM default value as TARGET_BOARD_PLATFORM
|
||
|
|
TINYSYS_PLATFORM ?= $(TARGET_BOARD_PLATFORM)
|
||
|
|
|
||
|
|
# Set TARGET_VCODEC_PLATFORM default value as TARGET_BOARD_PLATFORM
|
||
|
|
TARGET_VCODEC_PLATFORM ?= $(TARGET_BOARD_PLATFORM)
|
||
|
|
|
||
|
|
# Set TEE_BRM_PLATFORM default value as TARGET_BOARD_PLATFORM
|
||
|
|
TEE_BRM_PLATFORM ?= $(TARGET_BOARD_PLATFORM)
|
||
|
|
|
||
|
|
# hal ca release
|
||
|
|
ifdef MTK_GENERIC_HAL
|
||
|
|
MGVI_MTK_TEE_RELEASE := yes
|
||
|
|
ifeq (yes, $(strip $(MGVI_MTK_TEE_RELEASE)))
|
||
|
|
TRUSTONIC_TEE_VERSION ?= 510
|
||
|
|
MICROTRUST_TEE_VERSION ?= 450
|
||
|
|
endif
|
||
|
|
endif
|
||
|
|
|
||
|
|
#Add MTK's hook
|
||
|
|
-include device/mediatek/build/core/base_rule_hook.mk
|
||
|
|
-include vendor/mediatek/build/core/base_rule_hook.mk
|
||
|
|
-include vendor/mediatek/build/core/rpgen.mk
|
||
|
|
|
||
|
|
#enable widevine to suppport 64bit
|
||
|
|
ifeq ($(strip $(MTK_WVDRM_SUPPORT)),yes)
|
||
|
|
TARGET_ENABLE_MEDIADRM_64 := true
|
||
|
|
endif
|
||
|
|
-include vendor/unplugged/proprietary/device/vendor/common/BoardConfig.mk
|