include ../../Common/def.Makefile
# target name, the target name must have the same name of c source file
TARGET_NAME=libopenrpc

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

# 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/rpc

# source code

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

COMMON_SRCS = hashtable.c hashtable_itr.c rpc_array.c rpc_async_queue.c rpc_atomic.c rpc_base_thread.c rpc_client.c rpc_common.c rpc_conn.c rpc_hash.c rpc_queue.c rpc_request.c rpc_response.c rpc_server.c rpc_sessionpool.c rpc_thread.c rpc_util.c

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

# gcc CFLAGS
PLAT_ARM64_CFLAGS := -fPIC -I../../Common -I../common/rpc -I../common/rpc/hashtable
PLAT_LINUX_CFLAGS := $(PLAT_ARM64_CFLAGS)


PLAT_ARM64_LDFLAGS :=  -fPIC -shared
PLAT_LINUX_LDFLAGS :=  $(PLAT_ARM64_LDFLAGS)


#gcc libs
PLAT_ARM64_LIBS		:= -lpthread -lm -lev
PLAT_LINUX_LIBS		:= -lpthread -lm -lev

# 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