# target name, the target name must have the same name of c source file
TARGET_NAME=configm

# target
# for linux module driver: KO
# for application: EXE
# for dynamic library: DLL
TARGET_TYPE = EXE

# target object
# for application: APP
# for device driver: DRV
TARGET_OBJ  = APP

# custom install dir
TARGET_BOX =

#debug mode or release mode
DEBUG 			= TRUE

PLAT_LINUX		?= TRUE
PLAT_ARM64		?= TRUE

VPATH = ../user/configm/config-server
# source code

# set the source file, don't used .o because of ...

COMMON_SRCS = configserver.c \
	netconfig/parsefile.c netconfig/ifconfig.c netconfig/netmain.c\
	netconfig/ipconfig/ipconfig.c \
	netconfig/bridge/brconfig.c netconfig/bridge/brnetlink.c \
	netconfig/bridge/libbridge/libbridge_if.c netconfig/bridge/libbridge/libbridge_init.c  netconfig/bridge/libbridge/libbridge_devif.c\
    web_config/authfree.c web_config/auth_parameters.c\
    user_manager_config/user_group_config.c user_manager_config/user_account_config.c user_manager_config/usermanager-server/array_index.c \
	user_manager_config/usermanager-server/user_group.c user_manager_config/usermanager-server/user_mod.c user_manager_config/usermanager-server/user.c \
	log_config/log_config_console.c log_config/log_config_init.c log_config/log_config_cm.c log_config/log_config_monitor.c log_config/log_config_remote.c

# MRS Board Source Files
PLAT_LINUX_SRCS = $(COMMON_SRCS)
PLAT_ARM64_SRCS = $(COMMON_SRCS)

COMMOM_CFLAGS = -I../user/configm/config-server/include -I../../Common -I../common/redismq -I../common/database -I../common/configm -I../common/rpc -I../common/rpc/hashtable -I../common/ulog   -I../user/configm/config-server/netconfig/ -I../user/configm/config-server/netconfig/bridge/include
# gcc CFLAGS
PLAT_ARM64_CFLAGS := $(COMMOM_CFLAGS) -I../thirdparty/arm64/usr/local/include
PLAT_LINUX_CFLAGS := $(COMMOM_CFLAGS) -I../thirdparty/x86_64/usr/local/include

PLAT_ARM64_LDFLAGS :=
PLAT_LINUX_LDFLAGS :=

#gcc libs
ARM64_LIBS		:= -lopenrpc-arm64 -lnetlinku-arm64 -lredismq-arm64 -lulogapi-arm64 -ldatabase-arm64
ARM64_LIBS      += -lpthread -lm -lcjson -levent -ljson-c -lhiredis -lodbc -lev

LINUX_LIBS		:= -lopenrpc-linux -lnetlinku-linux -lredismq-linux -lulogapi-linux -ldatabase-linux
LINUX_LIBS      += -lpthread -lm -lcjson -levent -ljson-c -lhiredis -lodbc -lev

ifeq	($(PLAT_ARM64), TRUE)
DEPEND_LIB			+= ./debug/libopenrpc-arm64.so ./debug/libnetlinku-arm64.so ./debug/libredismq-arm64.so ./debug/libdatabase-arm64.so
USER_CLEAN_ITEMS	+= ./libopenrpc-arm64.so ./libnetlinku-arm64.so ./libredismq-arm64.so ./libdatabase-arm64.so
endif

ifeq	($(PLAT_LINUX), TRUE)
DEPEND_LIB			+= ./debug/libopenrpc-linux.so ./libnetlinku-linux.so ./debug/libredismq-linux.so ./debug/libdatabase-linux.so
USER_CLEAN_ITEMS	+= ./libopenrpc-linux.so ./libnetlinku-linux.so ./libredismq-linux.so ./libdatabase-linux.so

endif


# this line must be at below of thus, because of...
include ../../Common/common.Makefile

ifneq ($(MAKECMDGOALS), clean)
ifneq ($(MAKECMDGOALS), cleanall)
ifneq ($(notdir $(DEPEND_LIB)), $(wildcard $(DEPEND_LIB)))
$(shell $(CP) $(DEPEND_LIB) ./)
endif
endif
endif

ifeq ($(MAKECMDGOALS), )
$(shell find ./ -name "$(TARGET)-*.ko" -delete)
else
ifeq ($(MAKECMDGOALS), all)
$(shell find ./ -name "$(TARGET)-*.ko" -delete)
endif
endif