Makefile 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. .PHONY: clean, clean_result, start_broker stop_broker case1
  2. RELX_CONF = emqx-rel/relx.config
  3. PAHO_GIT = paho.mqtt-sn.embedded-c/README.md
  4. PAHO_SRC = paho.mqtt-sn.embedded-c/MQTTSNPacket/src/MQTTSNConnectClient.c \
  5. paho.mqtt-sn.embedded-c/MQTTSNPacket/src/MQTTSNConnectServer.c \
  6. paho.mqtt-sn.embedded-c/MQTTSNPacket/src/MQTTSNDeserializePublish.c \
  7. paho.mqtt-sn.embedded-c/MQTTSNPacket/src/MQTTSNPacket.c \
  8. paho.mqtt-sn.embedded-c/MQTTSNPacket/src/MQTTSNSearchClient.c \
  9. paho.mqtt-sn.embedded-c/MQTTSNPacket/src/MQTTSNSearchServer.c \
  10. paho.mqtt-sn.embedded-c/MQTTSNPacket/src/MQTTSNSerializePublish.c \
  11. paho.mqtt-sn.embedded-c/MQTTSNPacket/src/MQTTSNSubscribeClient.c \
  12. paho.mqtt-sn.embedded-c/MQTTSNPacket/src/MQTTSNSubscribeServer.c \
  13. paho.mqtt-sn.embedded-c/MQTTSNPacket/src/MQTTSNUnsubscribeClient.c \
  14. paho.mqtt-sn.embedded-c/MQTTSNPacket/src/MQTTSNUnsubscribeServer.c \
  15. paho.mqtt-sn.embedded-c/MQTTSNPacket/samples/transport.c \
  16. client/int_test_result.c
  17. INCLUDE_PATH = -Ipaho.mqtt-sn.embedded-c/MQTTSNPacket/src -Ipaho.mqtt-sn.embedded-c/MQTTSNPacket/samples -Iclient
  18. all: clean_result $(RELX_CONF) $(PAHO_GIT) start_broker case1 case2 case3 case4 case5 case6 case7 case8 stop_broker disable_qos3
  19. @echo " "
  20. @echo " test complete"
  21. @echo " "
  22. clean_result:
  23. -rm -f client/*_FAIL.txt
  24. -rm -f client/*_PASS.txt
  25. -rm -f emq-relx/_rel/emqx/log/*
  26. start_broker:
  27. -emqx-rel/_rel/emqx/bin/emqx stop
  28. sleep 3
  29. emqx-rel/_rel/emqx/bin/emqx start
  30. sleep 5
  31. emqx-rel/_rel/emqx/bin/emqx_ctl plugins load emqx_sn
  32. stop_broker:
  33. emqx-rel/_rel/emqx/bin/emqx stop
  34. disable_qos3:
  35. python ./disable_qos3.py
  36. case1:
  37. -ps aux|grep case1_qos0pub|awk '{print $$2}'|xargs kill -9
  38. -ps aux|grep case1_qos0sub|awk '{print $$2}'|xargs kill -9
  39. gcc client/case1_qos0pub.c $(PAHO_SRC) $(INCLUDE_PATH) -o client/case1_qos0pub.exe
  40. gcc client/case1_qos0sub.c $(PAHO_SRC) $(INCLUDE_PATH) -o client/case1_qos0sub.exe
  41. client/case1_qos0sub.exe &
  42. sleep 1
  43. client/case1_qos0pub.exe
  44. case2:
  45. -ps aux|grep case2_qos0pub|awk '{print $$2}'|xargs kill -9
  46. -ps aux|grep case2_qos0sub|awk '{print $$2}'|xargs kill -9
  47. gcc client/case2_qos0pub.c $(PAHO_SRC) $(INCLUDE_PATH) -o client/case2_qos0pub.exe
  48. gcc client/case2_qos0sub.c $(PAHO_SRC) $(INCLUDE_PATH) -o client/case2_qos0sub.exe
  49. client/case2_qos0sub.exe &
  50. sleep 1
  51. client/case2_qos0pub.exe
  52. case3:
  53. -ps aux|grep case3_qos0pub|awk '{print $$2}'|xargs kill -9
  54. -ps aux|grep case3_qos0sub|awk '{print $$2}'|xargs kill -9
  55. gcc client/case3_qos0pub.c $(PAHO_SRC) $(INCLUDE_PATH) -o client/case3_qos0pub.exe
  56. gcc client/case3_qos0sub.c $(PAHO_SRC) $(INCLUDE_PATH) -o client/case3_qos0sub.exe
  57. client/case3_qos0sub.exe &
  58. sleep 1
  59. client/case3_qos0pub.exe
  60. case4:
  61. -ps aux|grep case4_qos3pub|awk '{print $$2}'|xargs kill -9
  62. -ps aux|grep case4_qos3sub|awk '{print $$2}'|xargs kill -9
  63. gcc client/case4_qos3pub.c $(PAHO_SRC) $(INCLUDE_PATH) -o client/case4_qos3pub.exe
  64. gcc client/case4_qos3sub.c $(PAHO_SRC) $(INCLUDE_PATH) -o client/case4_qos3sub.exe
  65. client/case4_qos3sub.exe &
  66. sleep 1
  67. client/case4_qos3pub.exe
  68. case5:
  69. -ps aux|grep case5_qos3pub|awk '{print $$2}'|xargs kill -9
  70. -ps aux|grep case5_qos3sub|awk '{print $$2}'|xargs kill -9
  71. gcc client/case5_qos3pub.c $(PAHO_SRC) $(INCLUDE_PATH) -o client/case5_qos3pub.exe
  72. gcc client/case5_qos3sub.c $(PAHO_SRC) $(INCLUDE_PATH) -o client/case5_qos3sub.exe
  73. client/case5_qos3sub.exe &
  74. sleep 1
  75. client/case5_qos3pub.exe
  76. case6:
  77. -ps aux|grep case6_sleep|awk '{print $$2}'|xargs kill -9
  78. gcc client/case6_sleep.c $(PAHO_SRC) $(INCLUDE_PATH) -o client/case6_sleep.exe
  79. client/case6_sleep.exe
  80. $(RELX_CONF):
  81. git clone -b master https://github.com/emqx/emqx-rel.git
  82. git clone https://github.com/emqx/emqx-sn.git
  83. @echo "update emqx-sn with this development code"
  84. mv emqx-sn emqx_sn
  85. -rm -rf emqx_sn/etc
  86. -rm -rf emqx_sn/include
  87. -rm -rf emqx_sn/priv
  88. -rm -rf emqx_sn/src
  89. -rm -rf emqx_sn/Makefile
  90. cp -rf ../etc emqx_sn/
  91. cp -rf ../include emqx_sn/
  92. cp -rf ../priv emqx_sn/
  93. cp -rf ../src emqx_sn/
  94. cp -rf ../Makefile emqx_sn/Makefile
  95. -mkdir emqx-rel/deps
  96. mv emqx_sn emqx-rel/deps/
  97. python ./enable_qos3.py
  98. @echo "start building ..."
  99. make -C emqx-rel -f Makefile
  100. paho:
  101. make $(PAHO_GIT)
  102. paho: $(PAHO_GIT)
  103. @echo "clone paho"
  104. $(PAHO_GIT):
  105. git clone https://github.com/eclipse/paho.mqtt-sn.embedded-c/
  106. r: rebuild_emq
  107. # short for rebuild_emq
  108. @echo "rebuild complete"
  109. rebuild_emq:
  110. -rm -rf emqx-rel/deps/emqx_sn/etc
  111. -rm -rf emqx-rel/deps/emqx_sn/include
  112. -rm -rf emqx-rel/deps/emqx_sn/priv
  113. -rm -rf emqx-rel/deps/emqx_sn/src
  114. -rm -rf emqx-rel/deps/emqx_sn/Makefile
  115. -rm -f emqx-rel/_rel/emqx/log/*
  116. cp -rf ../etc emqx-rel/deps/emqx_sn/
  117. cp -rf ../include emqx-rel/deps/emqx_sn/
  118. cp -rf ../priv emqx-rel/deps/emqx_sn/
  119. cp -rf ../src emqx-rel/deps/emqx_sn/
  120. cp -rf ../Makefile emqx-rel/deps/emqx_sn/Makefile
  121. python ./enable_qos3.py
  122. make -C emqx-rel -f Makefile
  123. clean: clean_result
  124. -rm -f client/*.exe
  125. -rm -f client/*.o
  126. -rm -rf emqx-rel
  127. -rm -rf paho.mqtt-sn.embedded-c
  128. lazy: clean_result start_broker case1 case2 case3 case4 case5 stop_broker disable_qos3
  129. @echo "lazy work"