# SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
#
# Copyright (c) 2023 MediaTek Inc.
#

LOCAL_PATH ?= $(M)

export CONFIG_VIDEO_MEDIATEK_SOURCE_CAPTURE=m

#ifeq ($(CONFIG_VIDEO_MEDIATEK_SRCCAP_MERAK),y)
#SUB_FOLDER = merak
#else
#SUB_FOLDER = mt5870
#endif

ifeq ($(CONFIG_VIDEO_MEDIATEK_SRCCAP_LEGACY),y)
SUB_FOLDER = mt5870
else
SUB_FOLDER = merak
endif

#MTK_SRCCAP_PATH=$(src)
ccflags-y := -DMSOS_TYPE_LINUX_KERNEL
ccflags-y += -DSTI_PLATFORM_BRING_UP
ccflags-y += -I$(srctree)/drivers/soc/mediatek/mtk-memory
ccflags-y += -I$(srctree)/drivers/soc/mediatek/realtime
ifeq ($(ANDROID_VTS_LTPKTF), yes)
ccflags-y      +=  -DAN_VTS_LTPKTF_BUILD
endif

ifeq ($(MTK_LTP_BUILD),true)
ccflags-y += -DLTP_BUILD
endif

ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/include
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/mtk-srccap-adc
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/mtk-srccap-avd
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/mtk-srccap-common
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/mtk-srccap-pattern
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/mtk-srccap-dscl
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/mtk-srccap-hdmirx
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/mtk-srccap-memout
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/mtk-srccap-mux
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/mtk-srccap-timingdetect
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/mtk-srccap-vbi
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/mtk-srccap-dv
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/mtk-srccap-debugcmd

ccflags-y += -I$(HWREG_HEADER_PATH)
ccflags-y += -I$(HWREG_HEADER_PATH)/common
ccflags-y += -I$(HWREG_HEADER_PATH)/srccap/adc
ccflags-y += -I$(HWREG_HEADER_PATH)/srccap/avd
ccflags-y += -I$(HWREG_HEADER_PATH)/srccap/common
ccflags-y += -I$(HWREG_HEADER_PATH)/srccap/dscl
ccflags-y += -I$(HWREG_HEADER_PATH)/srccap/hdmirx
ccflags-y += -I$(HWREG_HEADER_PATH)/srccap/memout
ccflags-y += -I$(HWREG_HEADER_PATH)/srccap/mux
ccflags-y += -I$(HWREG_HEADER_PATH)/srccap/timingdetect
ccflags-y += -I$(HWREG_HEADER_PATH)/srccap/dv
#ccflags-y += -I$(MDRV_MTKDRV_HWREG_SRC_DIR)/include
#ccflags-y += -I$(MDRV_MTKDRV_HWREG_SRC_DIR)/drv/vbi

#temp
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/hwreg
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/hwreg/common
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/hwreg/srccap/adc
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/hwreg/srccap/avd
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/hwreg/srccap/common
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/hwreg/srccap/dscl
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/hwreg/srccap/hdmirx
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/hwreg/srccap/memout
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/hwreg/srccap/mux
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/hwreg/srccap/timingdetect
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/hwreg/srccap/vbi
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/hwreg/srccap/dv
#ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/hwreg/include
#ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/hwreg/drv/vbi
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/meta_utility
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/pqmap_utility
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/xc_alg
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/xc_alg/reg
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/pixelmonitor
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/scriptmgt
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/mtktv-public-if/hwreg
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/pqu

ccflags-y += -I$(srctree)/drivers/iommu/mtk_iommu_dtv
#ccflags-y += -I$(MDRV_MTKDRV_SCRIPTMGT_SRC_DIR)/include

ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/common
ccflags-y += -I$(REPO_ROOT_PATH)/mtktv_drivers/ree/include/common/linux_kernel
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/utp
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/utp/drv/hdmirx/include
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/utp/drv/hdmirx
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/utp/drv/avd/include
ccflags-y += -I$(LOCAL_PATH)/$(SUB_FOLDER)/utp/drv/avd
#ccflags-y += -I$(LOCAL_PATH)/utp/hal/$(CONFIG_MSTAR_CHIP_NAME)/avd/include
#ccflags-y += -I$(LOCAL_PATH)/utp/hal/$(CONFIG_MSTAR_CHIP_NAME)/avd

ifeq ($(PRODUCT_OUT),)
ccflags-y += -I$(MISDK_DIR)/utopia/utpa2-secure/build/bsp/TEE_HEADER
else
ccflags-y += -I$(ANDROID_TOP)/$(PRODUCT_OUT)/obj/SECURE_UTOPIA/TEE_HEADER
endif
ccflags-y += -I$(MTK_OBJ_DIR)/misdk/utopia/utpa2-secure/obj/SECURE_UTOPIA/TEE_HEADER

CONFIG_MSTAR_CHIP_NAME := $(subst ",,$(CONFIG_MSTAR_CHIP_NAME))

mtk-srccap-objs := $(SUB_FOLDER)/mtk_srccap.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-adc/mtk_srccap_adc.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-avd/mtk_srccap_avd.o \
					$(SUB_FOLDER)/mtk-srccap-avd/show_param.o \
					$(SUB_FOLDER)/mtk-srccap-avd/mtk_srccap_avd_avd.o \
					$(SUB_FOLDER)/mtk-srccap-avd/mtk_srccap_avd_mux.o \
					$(SUB_FOLDER)/mtk-srccap-avd/mtk_srccap_avd_colorsystem.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-common/mtk_srccap_common.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-common/mtk_srccap_common_irq.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-common/mtk_srccap_common_pqmap.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-common/mtk_srccap_common_ca.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-hdmirx/mtk_srccap_hdmirx.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-mux/mtk_srccap_mux.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-timingdetect/mtk_srccap_timingdetect.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-dscl/mtk_srccap_dscl.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-memout/mtk_srccap_memout.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-pattern/mtk_srccap_pattern.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-memout/mtk_srccap_memout_svp.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-vbi/mtk_srccap_vbi.o $(SUB_FOLDER)/mtk-srccap-vbi/mtk_drv_vbi.o $(SUB_FOLDER)/mtk-srccap-vbi/show_param_vbi.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-dv/mtk_srccap_dv.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-dv/mtk_srccap_dv_common.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-dv/mtk_srccap_dv_descrb.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-dv/mtk_srccap_dv_dma.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-dv/mtk_srccap_dv_sd.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-dv/mtk_srccap_dv_meta.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-dv/mtk_srccap_dv_utility.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-debugcmd/mtk_srccap_debugcmd.o

#ifeq ($(CONFIG_VIDEO_MEDIATEK_SRCCAP_MERAK),y)
ifneq ($(CONFIG_VIDEO_MEDIATEK_SRCCAP_LEGACY),y)
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-hdmirx/mtk_srccap_hdmirx_phy.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-hdmirx/mtk_srccap_hdmirx_sysfs.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-hdmirx/mtk_srccap_hdmirx_packetreceiver.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-hdmirx/mtk_srccap_hdmirx_dsc.o
mtk-srccap-objs += $(SUB_FOLDER)/mtk-srccap-hdmirx/mtk_srccap_hdmirx_mux.o
endif

mtk-srccap-objs += $(SUB_FOLDER)/utp/sti_msos.o
mtk-srccap-objs += $(SUB_FOLDER)/utp/drv/avd/drvAVD.o $(SUB_FOLDER)/utp/drv/avd/AVD.o
mtk-srccap-objs += $(SUB_FOLDER)/utp/drv/hdmirx/mdrv_hdmi.o

ifneq ($(MIDEMO_BUILD), true)
#Workaround -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-dv/mtk_srccap_dv_meta.o = -Wno-format
ifneq ($(ANDROID_VERSION),)
CFLAGS_$(SUB_FOLDER)/mtk-srccap-hdmirx/mtk_srccap_hdmirx.o = -Wno-frame-larger-than=
endif
#End of Workaround -Werror

CFLAGS_$(SUB_FOLDER)/mtk-srccap-dv/mtk_srccap_dv.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-dv/mtk_srccap_dv_descrb.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-dv/mtk_srccap_dv_dv_meta.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-dv/mtk_srccap_dv_utility.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-dv/mtk_srccap_dv_common.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-dv/mtk_srccap_dv_dma.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-dv/mtk_srccap_dv_sd.o = -Werror
endif

obj-$(CONFIG_VIDEO_MEDIATEK_SOURCE_CAPTURE)+= mtk-srccap.o

ifneq ($(MIDEMO_BUILD), true)
CFLAGS_$(SUB_FOLDER)/mtk_srccap.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-adc/mtk_srccap_adc.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-common/mtk_srccap_common.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-common/mtk_srccap_common_irq.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-common/mtk_srccap_common_pqmap.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-common/mtk_srccap_common_ca.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-mux/mtk_srccap_mux.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-timingdetect/mtk_srccap_timingdetect.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-dscl/mtk_srccap_dscl.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-memout/mtk_srccap_memout.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-memout/mtk_srccap_memout_svp.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-pattern/mtk_srccap_pattern.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-vbi/mtk_srccap_vbi.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-vbi/mtk_drv_vbi.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-vbi/show_param_vbi.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-avd/mtk_srccap_avd.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-avd/show_param.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-avd/mtk_srccap_avd_avd.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-avd/mtk_srccap_avd_mux.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-avd/mtk_srccap_avd_colorsystem.o = -Werror
CFLAGS_$(SUB_FOLDER)/mtk-srccap-debugcmd/mtk_srccap_debugcmd.o = -Werror
CFLAGS_$(SUB_FOLDER)/utp/drv/avd/drvAVD.o = -Werror
CFLAGS_$(SUB_FOLDER)/utp/drv/avd/AVD.o = -Werror
endif
