
TARGET=xieneng_can

ifdef WITH_DEBUG
  CFLAGS += -g
else
  CFLAGS += -DNDEBUG
endif

CFLAGS += -Werror -fstack-protector-strong -fstack-protector-all

CFILES=$(shell find -L -name "*.c")
EXCFILES = $(shell find -L -name shmrw.c)
SOURCES = $(filter-out $(EXCFILES), $(CFILES))

ifeq ($(WITH_BMSER_PRODUCT_TEST), y)
CFLAGS += -DWITH_BMSER_PRODUCT_TEST
endif

ifeq ($(BMSER_SW_PLATFORM), imx6ull)
INC_DIR +=-I$(STAGING_DIR)/usr/include
DB_CONTROL_INC=$(STAGING_DIR)/usr/include/db_control
else
DB_CONTROL_INC=$(HOST_DIR)/include/db_control
endif
CUR_DIR=.
INC_DIR +=	-I${CUR_DIR}/include\
		-I ${CUR_DIR}/lib_src/db/ \
		-I ${CUR_DIR}/lib_src/j1939/ \
		-I ${DB_CONTROL_INC}/db_control/ \
		-I ${DB_CONTROL_INC}/mqtt \
		-I ${DB_CONTROL_INC}/dev \
		-I ${DB_CONTROL_INC}/utils \
		-I ${DB_CONTROL_INC}/mosquitto \
		-I ${DB_CONTROL_INC}/modbus \
		-I ${DB_CONTROL_INC}/cjson \
		-I ${DB_CONTROL_INC}/can \
		-I ${DB_CONTROL_INC}/sqlite_api \
		-I ${DB_CONTROL_INC}/utility

ifeq ($(BMSER_SW_PLATFORM), imx6ull)
LIB_DIR += -L$(STAGING_DIR)/usr/lib
endif
LOCAL_LDFLAGS = $(LDFLAGS) -lpthread -lmosquitto -lbmser_hardware -lbmser_utils -ldb_control

ifeq ($(BOARD),x86)
	LOCAL_LDFLAGS += -lcontrolcan
endif

all: $(TARGET)

$(TARGET):
	$(CC) $(CFLAGS) $(INC_DIR) $(LIB_DIR) -o $(TARGET) $(SOURCES) $(LOCAL_LDFLAGS)

clean:
	find . -name '*.o' -type f -print -exec rm -rf {} \;
	find . -name '*.a' -type f -print -exec rm -rf {} \;
	rm -f $(TARGET)
