#
# Copyright (c) [2020], MediaTek Inc. All rights reserved.
#
# This software/firmware and related documentation ("MediaTek Software") are
# protected under relevant copyright laws.
# The information contained herein is confidential and proprietary to
# MediaTek Inc. and/or its licensors.
# Except as otherwise provided in the applicable licensing terms with
# MediaTek Inc. and/or its licensors, any reproduction, modification, use or
# disclosure of MediaTek Software, and information contained herein, in whole
# or in part, shall be strictly prohibited.
#

KBUILD_CFLAGS += -D'DONT_USE_CMA' -D'MSOS_TYPE_NOS' -D'MCU_ARM_CA7' -D'UTOPIA_V2'

UBOOTINCLUDE += -I$(srctree)/Mediatek-internal/drivers/include/ \
                -I$(srctree)/Mediatek-internal/drivers/include/chip/ \
                -I$(srctree)/Mediatek-internal/drivers/include/tools/

UBOOTINCLUDE += -I$(srctree)/Mediatek-internal/drivers/driver/graphic/hal/$(CONFIG_SYS_BOARD)/ge/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/graphic/drv/ge/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/graphic/hal/$(CONFIG_SYS_BOARD)/gop/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/graphic/drv/gop/

UBOOTINCLUDE += -I$(srctree)/Mediatek-internal/drivers/driver/xc/hal/$(CONFIG_SYS_BOARD)/xc/include/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/xc/drv/xc/include/uapi/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/xc/drv/xc/include/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/xc/api/xc/

UBOOTINCLUDE += -I$(srctree)/Mediatek-internal/drivers/driver/xc/hal/$(CONFIG_SYS_BOARD)/pnl \
                -I$(srctree)/Mediatek-internal/drivers/driver/xc/drv/pnl/include/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/xc/drv/pnl/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/xc/api/pnl/

UBOOTINCLUDE += -I$(srctree)/Mediatek-internal/drivers/driver/njpd/hal/$(CONFIG_SYS_BOARD)/njpd_ex/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/njpd/drv/njpd_ex/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/njpd/api/njpeg_ex/

UBOOTINCLUDE += -I$(srctree)/Mediatek-internal/drivers/driver/msos/hal/$(CONFIG_SYS_BOARD)/msos/nos/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/msos/utopia_core/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/msos/utopia_api_relation/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/msos/msos/linux/
        
UBOOTINCLUDE += -I$(srctree)/Mediatek-internal/drivers/driver/msos/hal/$(CONFIG_SYS_BOARD)/mmio/

UBOOTINCLUDE += -I$(srctree)/Mediatek-internal/drivers/driver/cpu/hal/$(CONFIG_SYS_BOARD)/cpu/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/cpu/drv/cpu/

UBOOTINCLUDE += -I$(srctree)/Mediatek-internal/drivers/driver/sys/hal/$(CONFIG_SYS_BOARD)/sys/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/sys/drv/sys/closeSRC/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/sys/drv/sys/

UBOOTINCLUDE += -I$(srctree)/Mediatek-internal/drivers/driver/mvop/hal/$(CONFIG_SYS_BOARD)/mvop/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/mvop/drv/mvop/

UBOOTINCLUDE += -I$(srctree)/Mediatek-internal/drivers/driver/miu/hal/$(CONFIG_SYS_BOARD)/miu/ \
                -I$(srctree)/Mediatek-internal/drivers/driver/miu/drv/miu/ \

UBOOTINCLUDE += -I$(srctree)/Mediatek-internal/drivers/driver/pq/drv/pq/
UBOOTINCLUDE += -I$(srctree)/Mediatek-internal/drivers/driver/sem/hal/$(CONFIG_SYS_BOARD)/sem/

COBJS  =

COBJS += ./driver/msos/utopia_core/nos/utopia_module.o
COBJS += ./driver/msos/utopia_core/nos/utopia_dapi.o
COBJS += ./driver/msos/utopia_core/nos/utopia.o
COBJS += ./driver/cpu/hal/$(CONFIG_SYS_BOARD)/cpu/halCPU.o
COBJS += ./driver/cpu/drv/cpu/drvCPU.o
COBJS += ./driver/cpu/drv/cpu/mdrvCPU.o
COBJS += ./driver/msos/hal/$(CONFIG_SYS_BOARD)/mmio/halMMIO.o
COBJS += ./driver/msos/hal/$(CONFIG_SYS_BOARD)/msos/nos/halMPool.o
COBJS += ./driver/msos/drv/mmio/drvMMIO.o
COBJS += ./driver/msos/msos/arm_ca7/asmCPU.o
COBJS += ./driver/msos/msos/nos/MsOS_nos.o
COBJS += ./driver/msos/msos/nos/MsOS_prana.o
COBJS += ./driver/msos/msos/nos/drvMPool.o
COBJS += ./driver/mvop/hal/$(CONFIG_SYS_BOARD)/mvop/halMVOP.o
COBJS += ./driver/mvop/drv/mvop/osalMVOP.o
COBJS += ./driver/mvop/drv/mvop/drvMVOP.o
COBJS += ./driver/miu/hal/$(CONFIG_SYS_BOARD)/miu/halMIU.o
COBJS += ./driver/miu/drv/miu/mdrvMIU.o
COBJS += ./driver/miu/drv/miu/drvMIU.o

COBJS += ./driver/sem/hal/$(CONFIG_SYS_BOARD)/sem/halSEM.o
COBJS += ./driver/sem/drv/sem/drvSEM.o
COBJS += ./driver/sem/drv/sem/mdrvSEM.o

COBJS += ./driver/graphic/hal/$(CONFIG_SYS_BOARD)/ge/halGE.o
COBJS += ./driver/graphic/drv/ge/drvGE.o
COBJS += ./driver/graphic/drv/ge/osalGE.o
COBJS += ./driver/graphic/api/gfx/mapiGFX.o
COBJS += ./driver/graphic/api/gfx/apiGFX.o

COBJS += ./driver/graphic/hal/$(CONFIG_SYS_BOARD)/gop/halGOP.o
COBJS += ./driver/graphic/hal/$(CONFIG_SYS_BOARD)/gop/halGFLIP.o
COBJS += ./driver/graphic/drv/gop/drvGOP.o
COBJS += ./driver/graphic/drv/gop/drvGFLIP.o
COBJS += ./driver/graphic/api/gop/mapiGOP.o
COBJS += ./driver/graphic/api/gop/apiGOP.o

COBJS += ./driver/sys/hal/$(CONFIG_SYS_BOARD)/sys_closeSRC/halSYS_priv.o
COBJS += ./driver/sys/drv/sys/closeSRC/drvSYS_priv.o
COBJS += ./driver/sys/drv/sys/drvSYS.o

COBJS += ./driver/xc/hal/$(CONFIG_SYS_BOARD)/xc/mhal_adc.o
COBJS += ./driver/xc/hal/$(CONFIG_SYS_BOARD)/xc/mhal_ip.o
COBJS += ./driver/xc/hal/$(CONFIG_SYS_BOARD)/xc/mhal_dip.o
COBJS += ./driver/xc/hal/$(CONFIG_SYS_BOARD)/xc/mhal_pip.o
COBJS += ./driver/xc/hal/$(CONFIG_SYS_BOARD)/xc/mhal_mux.o
COBJS += ./driver/xc/hal/$(CONFIG_SYS_BOARD)/xc/mhal_dynamicscaling.o
COBJS += ./driver/xc/hal/$(CONFIG_SYS_BOARD)/xc/mhal_isr.o
COBJS += ./driver/xc/hal/$(CONFIG_SYS_BOARD)/xc/mhal_frc.o
COBJS += ./driver/xc/hal/$(CONFIG_SYS_BOARD)/xc/mhal_hdmi.o
COBJS += ./driver/xc/hal/$(CONFIG_SYS_BOARD)/xc/mhal_menuload.o
COBJS += ./driver/xc/hal/$(CONFIG_SYS_BOARD)/xc/mhal_offline.o
COBJS += ./driver/xc/hal/$(CONFIG_SYS_BOARD)/xc/mhal_sc.o
COBJS += ./driver/xc/hal/$(CONFIG_SYS_BOARD)/pnl/halPNL.o
COBJS += ./driver/xc/drv/pnl/drvPNL.o
COBJS += ./driver/xc/drv/xc/mvideo.o
COBJS += ./driver/xc/drv/xc/mvideo_context.o
COBJS += ./driver/xc/drv/xc/mdrv_sc_menuload.o
COBJS += ./driver/xc/drv/xc/mdrv_sc_dynamicscaling.o
COBJS += ./driver/xc/drv/xc/mdrv_sc_scaling.o
COBJS += ./driver/xc/drv/xc/mdrv_sc_pip.o
COBJS += ./driver/xc/drv/xc/mdrv_sc_ip.o
COBJS += ./driver/xc/drv/xc/mdrv_adc.o
COBJS += ./driver/xc/drv/xc/mdrv_sc_display.o
COBJS += ./driver/xc/drv/xc/mdrv_sc_isr.o
COBJS += ./driver/xc/drv/xc/mdrv_mux.o
COBJS += ./driver/xc/drv/xc/mdrv_hdmi.o
COBJS += ./driver/xc/drv/xc/mdrv_sc_3d.o
COBJS += ./driver/xc/drv/xc/mdrv_frc.o
COBJS += ./driver/xc/drv/xc/apiXC_Adc.o
COBJS += ./driver/xc/api/pnl/apiPNL.o
COBJS += ./driver/xc/api/pnl/apiPNL_EX.o
COBJS += ./driver/xc/api/pnl/apiPNL_v2.o
COBJS += ./driver/xc/api/xc/apiXC_v2.o
COBJS += ./driver/xc/api/xc/apiXC_PCMonitor.o
COBJS += ./driver/xc/api/xc/apiXC_Adc_v2.o
COBJS += ./driver/xc/api/xc/apiXC_Common.o
COBJS += ./driver/xc/api/xc/apiXC_Auto_v2.o
COBJS += ./driver/xc/api/xc/apiXC_ModeParse_v2.o
COBJS += ./driver/xc/api/xc/apiXC_PCMonitor_v2.o
COBJS += ./driver/xc/api/xc/drvXC_HDMI_if_v2.o

COBJS += ./driver/njpd/hal/$(CONFIG_SYS_BOARD)/njpd_ex/halNJPD.o
COBJS += ./driver/njpd/drv/njpd_ex/osalNJPD.o
COBJS += ./driver/njpd/drv/njpd_ex/osalJPD.o
COBJS += ./driver/njpd/drv/njpd_ex/drvNJPD.o
COBJS += ./driver/njpd/drv/njpd_ex/drvJPD.o
COBJS += ./driver/njpd/api/njpeg_ex/jpeg_memory.o
COBJS += ./driver/njpd/api/njpeg_ex/apiJPEG_OJPD.o
COBJS += ./driver/njpd/api/njpeg_ex/apiJPEG_v2.o
COBJS += ./driver/njpd/api/njpeg_ex/apiJPEG.o

OBJS   := $(addprefix $(obj),$(AOBJS) $(COBJS))

obj-y += $(COBJS)

all:	$(obj).depend $(OBJS)

#########################################################################
# defines $(obj).depend target
include $(srctree)/rules.mk

sinclude $(obj).depend

#########################################################################
