Makefile 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. .PHONY: all clean cleanall
  2. CC = gcc
  3. MYFLAGS= -I../include -I../paho.mqtt.c/src/
  4. CFLAGS = $(MYFLAGS) -Os -g -Wall -W -Wpointer-arith -DPAHO_MQTT_EXPORTS=1 -c
  5. SFLAGS = -fPIC -Os -g -Wall -W -Wpointer-arith -shared -D_GNU_SOURCE -DPAHO_MQTT_EXPORTS=1 -o
  6. # [待完善] 确定这四个lib用不上了 就把源码干掉
  7. OBJS = core.o regfunc.o mqtta.o cmd.o cJSON.o myqueue.o list.o # sync.o lordsdk.o record.o LibMd5.o
  8. #定义最后生成的静态库文件
  9. LIB_A=libcore.a
  10. LIB_SO=libcore.so
  11. #MQTT 相关文件
  12. MQTT_LIB = paho-mqtt3a.so
  13. MQTT_LIB_PATH = ../mqttlib/
  14. AR= ar rcu
  15. RANLIB= ranlib
  16. #all: $(LIB_A) $(LIB_SO)
  17. all: $(LIB_SO)
  18. #生成 lib.a 方便外面引用
  19. $(LIB_A):$(OBJS)
  20. $(AR) $@ $(OBJS)
  21. $(RANLIB) $@
  22. @echo -e "\\033[32m $(LIB_A) is OK \\033[0m"
  23. # lib.so
  24. $(LIB_SO): $(wildcard *.c) $(wildcard *.h)
  25. $(CC) -fPIC $(CFLAGS) core.c
  26. $(CC) -fPIC $(CFLAGS) mqtta.c
  27. $(CC) -fPIC $(CFLAGS) regfunc.c
  28. $(CC) -fPIC $(CFLAGS) cmd.c
  29. $(CC) -fPIC $(CFLAGS) cJSON.c
  30. $(CC) -fPIC $(CFLAGS) myqueue.c
  31. $(CC) -fPIC $(CFLAGS) list.c
  32. $(CC) $(MYFLAGS) $(SFLAGS) $@ $(OBJS)
  33. @echo -e "\\033[32m $(LIB_SO) is OK \\033[0m"
  34. core.o: core.c core.h
  35. @$(CC) $(MYFLAGS) $(CFLAGS) $<
  36. mqtta.o: mqtta.c mqtta.h
  37. @$(CC) $(MYFLAGS) $(CFLAGS) $<
  38. regfunc.o:regfunc.c regfunc.h handle.c
  39. @$(CC) $(MYFLAGS) $(CFLAGS) $<
  40. cmd.o:cmd.c cmd.h
  41. @$(CC) $(MYFLAGS) $(CFLAGS) $<
  42. cJSON.o:cJSON.c cJSON.h
  43. @$(CC) $(MYFLAGS) $(CFLAGS) $<
  44. myqueue.o:myqueue.c myqueue.h
  45. @$(CC) $(MYFLAGS) $(CFLAGS) $<
  46. list.o:list.c list.h
  47. @$(CC) $(MYFLAGS) $(CFLAGS) $<
  48. clean:
  49. -rm -rf $(OBJS) $(LIB_A) $(LIB_SO)