#可以理解为最终生成文件的名称
TARGET = bmser_db_dump

ifeq ($(BMSER_SW_PLATFORM), imx6ull)
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 ${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}/utility

ifeq ($(BMSER_SW_PLATFORM), imx6ull)
INC_DIR += -I $(STAGING_DIR)/usr/include
LIB_DIR += -L$(STAGING_DIR)/usr/lib
endif

LOCAL_LDFLAGS += $(LDFLAGS) -llua -luv -lrt -lpthread -lmosquitto -lbmser_hardware -lbmser_utils -ldb_control -lsqlite3

#定义一个编译执行命令
CFLAGS := -Werror -Wall -g

#找到所有.c
CFILES = $(shell find -L ./ -name '*.c')
EXCFILES += $(shell find -name 'test_linux.c')
SOURCES = $(filter-out $(EXCFILES), $(CFILES))

OBJS := $(patsubst %.c,%.o, $(SOURCES))

all: $(TARGET)

#再编译可执行程序
$(TARGET): $(OBJS)
	$(CC) $(CFLAGS) $(LIB_DIR) $^ -lpthread $(LOCAL_LDFLAGS) -o $@
	@rm $(OBJS) -rf

#先编译为.o文件
%.o : %.c
	$(CC) $(LIB_DIR) $(LOCAL_LDFLAGS) $(CFLAGS) ${INC_DIR}  -c $< -o $@

clean:
	@rm $(TARGET) -rf
	@rm $(OBJS) -rf
