unplugged-system/vendor/mediatek/proprietary/geniezone/Android.mk

118 lines
4.1 KiB
Makefile

LOCAL_PATH := $(call my-dir)
ifeq ($(strip $(MTK_ENABLE_GENIEZONE)),yes)
GZ_IMAGE := gz
GZ_INSTALLED_TARGET_IMG := $(PRODUCT_OUT)/$(GZ_IMAGE).img
GZ_IMAGE_NAME := $(notdir $(GZ_INSTALLED_TARGET_IMG))
include $(CLEAR_VARS)
LOCAL_MODULE := gz.img
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_OWNER := mtk
LOCAL_PROPRIETARY_MODULE := true
LOCAL_MODULE_PATH := $(PRODUCT_OUT)
intermediates := $(call local-intermediates-dir)
my_geniezone_intermediates := $(intermediates)/GZ_OBJ
GZ_COMP_IMAGE_NAME := $(my_geniezone_intermediates)/gz.img
LOCAL_PREBUILT_MODULE_FILE := $(GZ_COMP_IMAGE_NAME)
include $(BUILD_PREBUILT)
GZ_ROOT_DIR := $(LOCAL_PATH)
VM_PREBUILTS_EXTERNAL_PATH := $(GZ_ROOT_DIR)/prebuilts/libs/vm
VM_PREBUILTS_INTERNAL_PATH := $(GZ_ROOT_DIR)/prebuilts/third-party/vm
GZ_PROJECT :=
GZ_TARGET_BOARD_PLATFORM :=
VM_PREBUILTS_NEBULA_HEE_BIN :=
# Supported platform mappings
GZ_PROJECT := mtk_armv8_el2
GZ_TARGET_BOARD_PLATFORM := mtk_armv8
ifeq ($(strip $(MTK_NEBULA_VM_SUPPORT)),yes)
ifneq ($(wildcard $(VM_PREBUILTS_INTERNAL_PATH)/nebula/nebula_hee.bin),)
GZ_PROJECT := mtk_armv8_nebula
VM_PREBUILTS_NEBULA_HEE_BIN := $(VM_PREBUILTS_INTERNAL_PATH)/nebula/nebula_hee.bin
else ifneq ($(wildcard $(VM_PREBUILTS_EXTERNAL_PATH)/nebula/nebula_hee.bin),)
GZ_PROJECT := mtk_armv8_nebula
VM_PREBUILTS_NEBULA_HEE_BIN := $(VM_PREBUILTS_EXTERNAL_PATH)/nebula/nebula_hee.bin
endif#wildcard
endif#MTK_NEBULA_VM_SUPPORT
ifeq ($(strip $(GZ_PROJECT)),)
$(error Unsupported plaform : $(TARGET_BOARD_PLATFORM))
endif
GZ_BUILD_SYSTEM := $(LOCAL_PATH)/trusty/device/arm/mediatek/build
GZ_KEY_PATH := $(GZ_ROOT_DIR)/trusty/device/arm/mediatek/project/iv/$(GZ_TARGET_BOARD_PLATFORM)
# ------ prebuilt setting ------
GZ_PREBUILTS_LIB_PATH := $(GZ_ROOT_DIR)/prebuilts/libs/$(GZ_PROJECT)/lib
GZ_PREBUILTS_APP_PATH := $(GZ_ROOT_DIR)/prebuilts/libs/$(GZ_PROJECT)/app
GZ_PREBUILTS_LDSCRIPTS := $(GZ_ROOT_DIR)/prebuilts/libs/$(GZ_PROJECT)/ldscripts
GZ_LDSCRIPTS := $(GZ_PREBUILTS_LDSCRIPTS)/system-onesegment.ld
GZ_MKIMAGE_TOOL := $(GZ_ROOT_DIR)/prebuilts/libs/tool/mkimage
# ------ Toolchain setting ------
GZ_TOOLCHAIN_PREFIX_arm := prebuilts/gcc/linux-x86/arm/arm-eabi-4.9/bin/arm-eabi-
GZ_LIBGCC_arm := prebuilts/gcc/linux-x86/arm/arm-eabi-4.9/lib/gcc/arm-eabi/4.9.4/libgcc.a
GZ_TOOLCHAIN_PREFIX := prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9.1/bin/aarch64-linux-android-
GZ_LIBGCC := prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9.1/lib/gcc/aarch64-linux-android/4.9.x/libgcc.a
GZ_CC_arm := $(GZ_TOOLCHAIN_PREFIX_arm)gcc
GZ_LD_arm := $(GZ_TOOLCHAIN_PREFIX_arm)ld
GZ_LD_LIBRARY_PATH_arm := LD_LIBRARY_PATH=prebuilts/gcc/linux-x86/arm/arm-eabi-4.9/libexec/gcc/arm-eabi/4.9.4/libmpfr
GZ_CC := $(GZ_TOOLCHAIN_PREFIX)gcc
GZ_LD := $(GZ_TOOLCHAIN_PREFIX)ld
GZ_OBJDUMP := $(GZ_TOOLCHAIN_PREFIX)objdump
GZ_OBJCOPY := $(GZ_TOOLCHAIN_PREFIX)objcopy
GZ_SIZE := $(GZ_TOOLCHAIN_PREFIX)size
GZ_NM := $(GZ_TOOLCHAIN_PREFIX)nm
GZ_AR := $(GZ_TOOLCHAIN_PREFIX)ar
GZ_STRIP := $(GZ_TOOLCHAIN_PREFIX)strip
GLOBAL_GZ_COMPILEFLAGS := -g -fno-builtin -finline
GLOBAL_GZ_COMPILEFLAGS += -Wall
GLOBAL_GZ_OPTFLAGS := -O2
GLOBAL_GZ_CFLAGS := --std=gnu99 -Werror-implicit-function-declaration -Wstrict-prototypes -Wwrite-strings
GLOBAL_GZ_CFLAGS += -D__TRUSTZONE_TEE__ -DARM_ISA_ARMV7 -DARM_CPU_ARM7 -D__GLIBC__
GLOBAL_GZ_ASMFLAGS := -DASSEMBLY
GLOBAL_GZ_LDFLAGS :=
# For co-exist RPMB parition with GP
ifeq ($(strip $(MTK_TEE_GP_SUPPORT)), yes)
GLOBAL_GZ_CFLAGS += -DMTK_TEE_GP_SUPPORT
endif # MTK_TEE_GP_SUPPORT
# ------ User Task ------
GZ_EXECUTABLE := $(GZ_BUILD_SYSTEM)/executable.mk
gz_subdir_makefiles := $(call first-makefiles-under, $(GZ_ROOT_DIR))
$(info including $(gz_subdir_makefiles) ...)
include $(gz_subdir_makefiles)
$(info including $(GZ_ROOT_DIR)/trusty/device/arm/mediatek/app/$(GZ_TARGET_BOARD_PLATFORM).mk ...)
include $(GZ_ROOT_DIR)/trusty/device/arm/mediatek/app/$(GZ_TARGET_BOARD_PLATFORM).mk
.PHONY: $(GZ_IMAGE) $(GZ_IMAGE_NAME)
$(GZ_IMAGE): $(GZ_INSTALLED_TARGET_IMG) $(GZ_IMAGE_NAME)
$(GZ_IMAGE_NAME):
$(info including $(GZ_BUILD_SYSTEM)/build_tz_image.mk ...)
include $(GZ_BUILD_SYSTEM)/build_tz_image.mk
endif # MTK_ENABLE_GENIEZONE