Makefile 822 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. .PHONY: all clean cleanall
  2. CC = gcc
  3. INC_PATH = ../include
  4. MY_CFLAGS = -I../include -I../paho.mqtt.c/src/
  5. CFLAGS = $(MY_CFLAGS) -Os -lrt -g -Wall -W -Wpointer-arith -Wstrict-prototypes -c
  6. OBJS = decode.o globle.o mysql.sdk.o init.o
  7. #定义最后生成的静态库文件
  8. LIB_A=libcommon.a
  9. AR= ar rcu
  10. RANLIB= ranlib
  11. all: $(LIB_A)
  12. #生成 lib.a 方便外面引用
  13. $(LIB_A):$(OBJS)
  14. $(AR) $@ $(OBJS)
  15. $(RANLIB) $@
  16. @echo -e "\\033[32m $(LIB_A) is OK \\033[0m"
  17. decode.o: decode.c $(INC_PATH)/decode.h
  18. $(CC) $(CFLAGS) $<
  19. globle.o: globle.c $(INC_PATH)/globle.h
  20. $(CC) $(CFLAGS) $<
  21. mysql.sdk.o:mysql.sdk.c
  22. $(CC) $(CFLAGS) $<
  23. init.o:init.c
  24. $(CC) $(CFLAGS) $<
  25. clean: cleanall
  26. cleanall:
  27. ifneq (,$(wildcard *.c))
  28. @#如果存在 c 则需要清除及重新编译
  29. rm -f $(OBJS) $(LIB_A)
  30. endif
  31. @echo "clean DONE"