BUILD_ROOT = $(shell pwd)/..
include $(BUILD_ROOT)/Make.defines

LOCAL_PATH=$(BUILD_ROOT)/libmbtk_lib

INC_DIR += \
	-I$(LOCAL_PATH)/inc

LIB_DIR +=

LIBS += -llog -lubus -lubox -luci -lprop2uci -lrilutil -lblobmsg_json -ldl

CFLAGS += -shared -Wl,-shared,-Bsymbolic

DEFINE += -DMBTK_NET_MONITOR_SUPPORT

MY_FILES_PATH:=$(LOCAL_PATH)/src
#ifeq ($(CONFIG_MBTK_QL_SUPPORT),y)
#MY_FILES_PATH += $(LOCAL_PATH)/ql
#endif

#ifeq ($(CONFIG_MBTK_PLATFORM),linux)
#MY_FILES_PATH += $(LOCAL_PATH)/platform/linux
#endif

#MY_FILES_SUFFIX:=%.c %.cpp
#My_All_Files := $(foreach src_path,$(MY_FILES_PATH), $(shell find "$(src_path)" -type f))
#MY_SRC_LIST  := $(filter $(MY_FILES_SUFFIX),$(My_All_Files))
#MY_SRC_LIST  := $(MY_SRC_LIST:$(LOCAL_PATH)/%=%)
#LOCAL_SRC_FILES += $(MY_SRC_LIST)

LOCAL_SRC_FILES = src/ds_ASBuffer.cpp \
	src/ds_ASString.cpp \
	src/mbtk_at.c \
	src/mbtk_bs_position.c \
	src/mbtk_file.c \
	src/mbtk_list.c \
	src/mbtk_log.c \
	src/mbtk_map.c \
	src/mbtk_ntp.c \
	src/mbtk_queue.c \
	src/mbtk_str.c \
	src/mbtk_task.c \
	src/mbtk_utf.c \
	src/mbtk_utils.c \
	src/ringbuffer.c \
	src/mbtk_mtd.c \
	src/mbtk_device_info.c \
	src/mbtk_version.c \
	src/mbtk_gpio.c

ifeq ($(MBTK_DUMP_SUPPORT), y)
LOCAL_SRC_FILES += src/mbtk_debug.c
endif

OBJS = $(patsubst %.c, %.o, $(patsubst %.cpp, %.o, $(LOCAL_SRC_FILES)))
$(info OBJS = $(OBJS))

dtarget := $(OUT_DIR)/lib/libmbtk_lib.so

all: $(dtarget)

$(dtarget):$(OBJS)
	$(CC) $(CFLAGS) $(DEFINE) $(LIB_DIR) $(LIBS) $(OBJS) -o $@

%.o:%.c
	$(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@

%.o:%.cpp
	$(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@

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

