Makefile 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. .PHONY: clean, clean_result, start_broker stop_broker case1 case2 case3
  2. EMQX_DIR = emqx-enterprise-rel
  3. EMQ = $(EMQX_DIR)/relx.config
  4. WAKAAMA = build_wakaama/lightclient
  5. PAHO_PYTHON = paho/mqtt/client.py
  6. all: clean_result $(EMQ) $(WAKAAMA) $(PAHO_PYTHON) start_broker clean_result case1 case2 case3 stop_broker
  7. @echo " "
  8. @echo " test complete"
  9. @echo " "
  10. clean_result:
  11. -rm -f case*.txt
  12. start_broker:
  13. -rm -f $(EMQX_DIR)/_rel/emqx/log/*
  14. -$(EMQX_DIR)/_rel/emqx/bin/emqx stop
  15. sleep 3
  16. $(EMQX_DIR)/_rel/emqx/bin/emqx start
  17. sleep 1
  18. $(EMQX_DIR)/_rel/emqx/bin/emqx_ctl plugins load emqx_lwm2m
  19. stop_broker:
  20. -$(EMQX_DIR)/_rel/emqx/bin/emqx stop
  21. case1:
  22. -build_wakaama/lightclient -4 -n jXtestlwm2m &
  23. python case1.py
  24. -ps aux|grep lightclient|awk '{print $$2}'|xargs kill -2
  25. case2:
  26. -build_wakaama/lightclient -4 -n jXtestlwm2m &
  27. python case2.py
  28. -ps aux|grep lightclient|awk '{print $$2}'|xargs kill -2
  29. case3:
  30. -build_wakaama/lightclient -4 -n jXtestlwm2m &
  31. python case3.py
  32. -ps aux|grep lightclient|awk '{print $$2}'|xargs kill -2
  33. $(EMQ):
  34. git clone https://github.com/emqx/emqx-enterprise-rel
  35. git clone https://github.com/emqx/emqx-lwm2m.git
  36. @echo "update emqx-lwm2m with this development code"
  37. mv emqx-lwm2m emqx_lwm2m
  38. -rm -rf emqx_lwm2m/etc
  39. -rm -rf emqx_lwm2m/include
  40. -rm -rf emqx_lwm2m/priv
  41. -rm -rf emqx_lwm2m/src
  42. -rm -rf emqx_lwm2m/Makefile
  43. -rm -rf emqx_lwm2m/erlang.mk
  44. cp -rf ../etc emqx_lwm2m/
  45. cp -rf ../include emqx_lwm2m/
  46. cp -rf ../priv emqx_lwm2m/
  47. cp -rf ../src emqx_lwm2m/
  48. cp -rf ../Makefile emqx_lwm2m/Makefile
  49. cp -rf ../erlang.mk emqx_lwm2m/erlang.mk
  50. -mkdir $(EMQX_DIR)/deps
  51. mv emqx_lwm2m $(EMQX_DIR)/deps/
  52. @echo "start building ..."
  53. python insert_lwm2m_plugin.py
  54. make -C emqx-rel -f Makefile
  55. -cp -rf ../lwm2m_xml $(EMQX_DIR)/_rel/emqx/etc/
  56. w:
  57. cd build_wakaama && cmake -DCMAKE_BUILD_TYPE=Debug ../wakaama/examples/lightclient && make
  58. $(WAKAAMA):
  59. git clone https://github.com/eclipse/wakaama
  60. -mkdir build_wakaama
  61. # replace lightclient's source code, change port from 5683 to 5683, since 5683 is the default port of emqx-lwm2m
  62. cp -f object_security.c wakaama/examples/lightclient/object_security.c
  63. cd build_wakaama && cmake -DCMAKE_BUILD_TYPE=Debug ../wakaama/examples/lightclient && make
  64. mqtt: $(PAHO_PYTHON)
  65. # short for paho python client
  66. $(PAHO_PYTHON):
  67. git clone https://github.com/eclipse/paho.mqtt.python.git
  68. mv paho.mqtt.python/src/paho ./
  69. rm -rf paho.mqtt.python
  70. r: rebuild_emq
  71. # r short for rebuild_emq
  72. @echo " rebuild complete "
  73. rebuild_emq:
  74. -$(EMQX_DIR)/_rel/emqx/bin/emqx stop
  75. -mkdir $(EMQX_DIR)/deps
  76. -rm -rf $(EMQX_DIR)/deps/emqx_lwm2m/etc
  77. -rm -rf $(EMQX_DIR)/deps/emqx_lwm2m/include
  78. -rm -rf $(EMQX_DIR)/deps/emqx_lwm2m/priv
  79. -rm -rf $(EMQX_DIR)/deps/emqx_lwm2m/src
  80. -rm -rf $(EMQX_DIR)/deps/emqx_lwm2m/Makefile
  81. -rm -rf $(EMQX_DIR)/deps/emqx_lwm2m/erlang.mk
  82. cp -rf ../etc $(EMQX_DIR)/deps/emqx_lwm2m/
  83. cp -rf ../include $(EMQX_DIR)/deps/emqx_lwm2m/
  84. cp -rf ../priv $(EMQX_DIR)/deps/emqx_lwm2m/
  85. cp -rf ../src $(EMQX_DIR)/deps/emqx_lwm2m/
  86. cp -rf ../Makefile $(EMQX_DIR)/deps/emqx_lwm2m/Makefile
  87. cp -rf ../erlang.mk $(EMQX_DIR)/deps/emqx_lwm2m/erlang.mk
  88. make -C $(EMQX_DIR) -f Makefile
  89. clean: clean_result
  90. -rm -f client/*.exe
  91. -rm -f client/*.o
  92. -rm -rf emqx-rel
  93. -rm -rf build_wakaama
  94. -rm -rf wakaama
  95. lazy: clean_result start_broker case1 case2 case3 stop_broker
  96. # custom your command here
  97. @echo "you are so lazy"