# SPDX-License-Identifier: LGPL-2.1-only OR BSD-3-Clause */
##########################################################################
#
# This file is provided under a dual license.  When you use or
# distribute this software, you may choose to be licensed under
# version 2.1 of the GNU Lesser General Public License
# ("LGPLv2.1 License") or BSD License.
#
# LGPLv2.1 License
#
# Copyright(C) 2019 MediaTek Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of version 2.1 of the GNU Lesser General Public
# License 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 https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html for more
# details.
#
# BSD LICENSE
#
# Copyright(C) 2019 MediaTek Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
#  * Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#  * Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in
#    the documentation and/or other materials provided with the
#    distribution.
#  * Neither the name of the copyright holder nor the names of its
#    contributors may be used to endorse or promote products derived
#    from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
###########################################################################

###########################################################################
# $RCSfile: Makefile,v $
# $Revision: #11 $
# $Date: 2009/09/04 $
# $Author: brianpc.huang $
#
# Description:
#         Leave-level makefile to build the subcomponent of driver library.
#
#         Specify the source files to be compile in SRC.
#############################################################################

THIS_COMPONENT = drv_cust
DIRECT_COMPILE_DEF_FILE = $(TARGET_DRIVER)/drv_cust/$(subst private_,,$(COMPANY))/direct_compile_files.txt
DIRECT_COMPILE_FILE_LIST := $(shell cat $(DIRECT_COMPILE_DEF_FILE))

ifeq "$(UBOOT_LIBRARY)" "y"

include $(TOPDIR)/config.mk

CPPFLAGS += -I$(TOPDIR)/board/$(BOARDDIR)/drv_lib/drv_inc -I$(TOPDIR)/board/$(BOARDDIR)/drv_lib/inc
CFLAGS += -I$(TOPDIR)/board/$(BOARDDIR)/drv_lib/drv_inc -I$(TOPDIR)/board/$(BOARDDIR)/drv_lib/inc
CPPFLAGS += -I$(TOPDIR)/board/$(BOARDDIR)/include -I$(OSAI_INC)
CFLAGS += -I$(TOPDIR)/board/$(BOARDDIR)/include -I$(OSAI_INC)

ifeq ($(PRELOADER_DEF),CC_MTK_PRELOADER)
CPPFLAGS += -DCC_MTK_PRELOADER
CFLAGS += -DCC_MTK_PRELOADER
endif

LIB	= lib$(THIS_COMPONENT).a


OBJS	:= drvcust_if.o drvcust_init.o panel_table.o drvcust_lib.o \
	$(DIRECT_COMPILE_FILE_LIST:.c=.o)

SOBJS	:= 


$(LIB):	$(OBJS) $(SOBJS)
	$(AR) crv $@ $^

clean:
	rm -f $(SOBJS) $(OBJS)

distclean:	clean
	rm -f $(LIB) core *.bak .depend

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

.depend:	Makefile $(SOBJS:.o=.S) $(OBJS:.o=.c)
		$(CC) -M $(CPPFLAGS) $(SOBJS:.o=.S) $(OBJS:.o=.c) > $@

-include .depend

else # UBOOT_LIBRARY

ifdef LINUX_DRV_ROOT
export DRV_ROOT = $(LINUX_DRV_ROOT)
else
export DRV_ROOT = ../..
endif

ifeq "$(HOTBOOT_PRELOADER)" "y"
SRC = drvcust_init.c
else #HOTBOOT_PRELOADER
SRC = drvcust_if.c drvcust_init.c panel_table.c drvcust_lib.c $(DIRECT_COMPILE_FILE_LIST)
endif #HOTBOOT_PRELOADER
OBJ =

ifeq "$(DRV_CUSTOM)" ""
DRV_CUSTOM = common
endif

SUB_COMPONENTS =

OPTIONAL_SUB_COMPONENTS =

# For customization function
# DEFINES += -DCUSTOMIZE_QRYFUNC=$(DRV_CUSTOM)_qry -DCUSTOMIZE_INITQRYFUNC=$(DRV_CUSTOM)_initqry
# SUB_COMPONENTS += $(DRV_CUSTOM)

ifneq "$(BUILTIN)" "true"
ifneq "$(BUILD_LINUX_LOADER)" "true"
SUB_COMPONENTS += $(COMPANY)
ifeq "$(SUPPORT_BOSTON_SWITCH)" "true"
SUB_COMPONENTS += mhl
endif
ifeq "$(HDMI_EARC_SUPPORT)" "true"
SUB_COMPONENTS += vdrhdmi
endif
endif
endif

# For config file
DEFINES += -DCUSTOM_CFG_FILE=\"$(subst private_,,$(COMPANY))/config/$(DRV_CUSTOM).h\"
DEFINES += -DPANEL_TABLE_CUST_FILE=\"$(subst private_,,$(COMPANY))/panel_table_cust.c\"

# For b.version command
DEFINES += -DDRV_CUSTOM=\"$(DRV_CUSTOM)\"


# For memory configuration
# DEFINES += -DFBM_MEM_CFG=FBM_MEM_CFG_MT$(FBM_MEM_CFG)

ifeq "$(BRDCST_IF)" ""
DEFINES += -DBRDCST_IF=\"????\"
else
DEFINES += -DBRDCST_IF=\"$(BRDCST_IF)\"
endif

# export TARGET_DRV_INC := -I.

export NO_LINT = y
ADD_TO_SYMLINK_DIRS = mtk

.PHONY : touch

#############################################################################
#
# Include the makefile common to all components
#

include $(DRV_ROOT)/driver.mak
include $(DRV_ROOT)/nptv.mak

CC_INC += -I$(DRV_ROOT)/d_inc/$(COMPANY)
ifeq "$(3RD_PARTIES)" "linux"
ifeq "$(COMPANY)" "mediatek"
CC_INC += -I$(DRV_ROOT)/3rd_party/linux/$(COMPANY)/d_inc
CC_INC += -I$(DRV_ROOT)/3rd_party/linux/$(COMPANY)
#CC_INC += -I$(DRV_ROOT)/d_inc/$(COMPANY)
CC_INC +=  -I$(DRV_ROOT)/3rd_party/linux/Ntk_4k2k/inc
else ifeq "$(COMPANY)" "sony"
CC_INC += -I$(DRV_ROOT)/3rd_party/linux/maple/d_inc
CC_INC += -I$(DRV_ROOT)/3rd_party/linux/maple
endif
else
CC_INC += -I$(DRV_ROOT)/3rd_party/$(COMPANY)/d_inc
CC_INC += -I$(DRV_ROOT)/3rd_party/$(COMPANY)
endif
touch:
	echo "DRV_CUSTOM is $(DRV_CUSTOM)"
#	touch *.c
	
all: touch
lib: touch
target: touch



endif # UBOOT_LIBRARY

