#
# Copyright (C) 2015 MediaTek Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#

###############################################################################
# Necessary Check

ifeq ($(AUTOCONF_H),)
    $(error AUTOCONF_H is not defined)
endif

ccflags-y += -imacros $(AUTOCONF_H)

ifeq ($(TARGET_BUILD_VARIANT),$(filter $(TARGET_BUILD_VARIANT),userdebug user))
    ldflags-y += -s
endif

# Force build fail on modpost warning
KBUILD_MODPOST_FAIL_ON_WARNINGS := y
###############################################################################

# only WMT align this design flow
#ccflags-y += -D MTK_WCN_REMOVE_KERNEL_MODULE

ifeq ($(CONFIG_ARM64), y)
    ccflags-y += -D CONFIG_MTK_WCN_ARM64
endif

ifeq ($(CONFIG_MTK_CONN_LTE_IDC_SUPPORT),y)
    ccflags-y += -D WMT_IDC_SUPPORT=1
else
    ccflags-y += -D WMT_IDC_SUPPORT=0
endif
ccflags-y += -D MTK_WCN_WMT_STP_EXP_SYMBOL_ABSTRACT

ccflags-y += -I$(KERNEL_DIR)/drivers/misc/mediatek/include
ccflags-y += -I$(KERNEL_DIR)/drivers/misc/mediatek/include/mt-plat
ccflags-y += -I$(KERNEL_DIR)/drivers/misc/mediatek/include/mt-plat/$(MTK_PLATFORM)/include

# Makefile generated by Mediatek
# fm support

$(warning fmradio-CONFIG_MTK_FMRADIO: [$(CONFIG_MTK_FMRADIO)])
ifeq ($(CONFIG_MTK_FMRADIO), y)

$(warning fmradio-CONFIG_MTK_FM_CHIP: [$(CONFIG_MTK_FM_CHIP)])
ifeq ($(CONFIG_MTK_FM_CHIP),)
    $(error CONFIG_MTK_FM_CHIP not defined)
endif

    MODULE_NAME := fmradio_drv
    obj-m += $(MODULE_NAME).o
    WMT_SRC_FOLDER := $(TOP)/vendor/mediatek/kernel_modules/connectivity/common

    FM_CHIP_MACRO := $(subst ",,$(CONFIG_MTK_FM_CHIP))
    FM_CHIP := $(subst _FM,,$(subst MT,mt,$(subst ",,$(CONFIG_MTK_FM_CHIP))))

ifeq ($(FM_CHIP), mt6625)
    FM_CHIP_MACRO := MT6627_FM
    FM_CHIP := mt6627
    ccflags-y += -DMT6625_FM
endif

ifeq ($(FM_CHIP), mt6580)
    FM_CHIP_MACRO := soc
    FM_CHIP := soc
    ccflags-y += -Dsoc
endif

ifeq ($(FM_CHIP), mt0633)
    FM_CHIP_MACRO := soc
    FM_CHIP := soc
    ccflags-y += -Dsoc
endif

    WMT_INCLUDE_PATH := common_main
    FM_CHIP_PATH := $(FM_CHIP)/pub/$(FM_CHIP)
    ccflags-y += -D$(FM_CHIP_MACRO)
    ccflags-y += -I$(src)/inc \
                    -I$(src)/$(FM_CHIP)/inc \
                    -I$(WMT_SRC_FOLDER)/$(WMT_INCLUDE_PATH)/include \
                    -I$(WMT_SRC_FOLDER)/$(WMT_INCLUDE_PATH)/linux/include

    $(FM_CHIP)-objs    := core/fm_module.o \
                    core/fm_main.o \
                    core/fm_config.o \
                    core/fm_rds_parser.o \
                    core/fm_patch.o \
                    core/fm_utils.o \
                    core/fm_link.o \
                    core/fm_eint.o \
                    core/fm_cmd.o \
                    core/fm_gpio.o \
                    $(FM_CHIP_PATH)_fm_lib.o \
                    $(FM_CHIP_PATH)_fm_rds.o
    $(MODULE_NAME)-objs += $($(FM_CHIP)-objs)
    #obj-$(CONFIG_MTK_FMRADIO) += private/
endif

obj-y += dummy.o
