.PHONY: all clean cleanall 

CC = gcc

INC_PATH = ../include
MY_CFLAGS = -I../include  -I../paho.mqtt.c/src/

CFLAGS = $(MY_CFLAGS) -Os -lrt -g -Wall -W -Wpointer-arith -Wstrict-prototypes -c

OBJS = decode.o globle.o mysql.sdk.o init.o 


#定义最后生成的静态库文件
LIB_A=libcommon.a
AR= ar rcu
RANLIB= ranlib


all: $(LIB_A)

#生成 lib.a 方便外面引用
#依赖于 $(OBJS)，即四个源文件编译得到的目标文件
$(LIB_A):$(OBJS)
	#使用 ar 工具将目标文件打包成静态库		
	$(AR) $@ $(OBJS)	
	#运行 ranlib 命令更新静态库的索引，以确保正确性
	$(RANLIB) $@
	@echo -e "\\033[32m $(LIB_A) is OK \\033[0m"

decode.o: decode.c $(INC_PATH)/decode.h
	$(CC) $(CFLAGS) $<

globle.o: globle.c $(INC_PATH)/globle.h
	$(CC) $(CFLAGS) $<

mysql.sdk.o:mysql.sdk.c
	$(CC) $(CFLAGS) $<

init.o:init.c
	$(CC) $(CFLAGS) $<


clean: cleanall

cleanall:
ifneq (,$(wildcard *.c))
	@#如果存在 c 则需要清除及重新编译
	rm -f $(OBJS) $(LIB_A)
endif
	@echo "clean DONE"
