129 lines
3.4 KiB
Makefile
129 lines
3.4 KiB
Makefile
|
|
.PHONY: clean, clean_result, start_broker stop_broker case1 case2 case3
|
|
|
|
EMQX_DIR = emqx-enterprise-rel
|
|
EMQ = $(EMQX_DIR)/relx.config
|
|
WAKAAMA = build_wakaama/lightclient
|
|
PAHO_PYTHON = paho/mqtt/client.py
|
|
|
|
all: clean_result $(EMQ) $(WAKAAMA) $(PAHO_PYTHON) start_broker clean_result case1 case2 case3 stop_broker
|
|
@echo " "
|
|
@echo " test complete"
|
|
@echo " "
|
|
|
|
clean_result:
|
|
-rm -f case*.txt
|
|
|
|
start_broker:
|
|
-rm -f $(EMQX_DIR)/_rel/emqx/log/*
|
|
-$(EMQX_DIR)/_rel/emqx/bin/emqx stop
|
|
sleep 3
|
|
$(EMQX_DIR)/_rel/emqx/bin/emqx start
|
|
sleep 1
|
|
$(EMQX_DIR)/_rel/emqx/bin/emqx_ctl plugins load emqx_lwm2m
|
|
|
|
|
|
stop_broker:
|
|
-$(EMQX_DIR)/_rel/emqx/bin/emqx stop
|
|
|
|
|
|
case1:
|
|
-build_wakaama/lightclient -4 -n jXtestlwm2m &
|
|
python case1.py
|
|
-ps aux|grep lightclient|awk '{print $$2}'|xargs kill -2
|
|
|
|
case2:
|
|
-build_wakaama/lightclient -4 -n jXtestlwm2m &
|
|
python case2.py
|
|
-ps aux|grep lightclient|awk '{print $$2}'|xargs kill -2
|
|
|
|
case3:
|
|
-build_wakaama/lightclient -4 -n jXtestlwm2m &
|
|
python case3.py
|
|
-ps aux|grep lightclient|awk '{print $$2}'|xargs kill -2
|
|
|
|
|
|
$(EMQ):
|
|
git clone https://github.com/emqx/emqx-enterprise-rel
|
|
git clone https://github.com/emqx/emqx-lwm2m.git
|
|
@echo "update emqx-lwm2m with this development code"
|
|
mv emqx-lwm2m emqx_lwm2m
|
|
-rm -rf emqx_lwm2m/etc
|
|
-rm -rf emqx_lwm2m/include
|
|
-rm -rf emqx_lwm2m/priv
|
|
-rm -rf emqx_lwm2m/src
|
|
-rm -rf emqx_lwm2m/Makefile
|
|
-rm -rf emqx_lwm2m/erlang.mk
|
|
cp -rf ../etc emqx_lwm2m/
|
|
cp -rf ../include emqx_lwm2m/
|
|
cp -rf ../priv emqx_lwm2m/
|
|
cp -rf ../src emqx_lwm2m/
|
|
cp -rf ../Makefile emqx_lwm2m/Makefile
|
|
cp -rf ../erlang.mk emqx_lwm2m/erlang.mk
|
|
-mkdir $(EMQX_DIR)/deps
|
|
mv emqx_lwm2m $(EMQX_DIR)/deps/
|
|
@echo "start building ..."
|
|
python insert_lwm2m_plugin.py
|
|
make -C emqx-rel -f Makefile
|
|
-cp -rf ../lwm2m_xml $(EMQX_DIR)/_rel/emqx/etc/
|
|
|
|
|
|
w:
|
|
cd build_wakaama && cmake -DCMAKE_BUILD_TYPE=Debug ../wakaama/examples/lightclient && make
|
|
|
|
$(WAKAAMA):
|
|
git clone https://github.com/eclipse/wakaama
|
|
-mkdir build_wakaama
|
|
# replace lightclient's source code, change port from 5683 to 5683, since 5683 is the default port of emqx-lwm2m
|
|
cp -f object_security.c wakaama/examples/lightclient/object_security.c
|
|
cd build_wakaama && cmake -DCMAKE_BUILD_TYPE=Debug ../wakaama/examples/lightclient && make
|
|
|
|
|
|
mqtt: $(PAHO_PYTHON)
|
|
# short for paho python client
|
|
|
|
$(PAHO_PYTHON):
|
|
git clone https://github.com/eclipse/paho.mqtt.python.git
|
|
mv paho.mqtt.python/src/paho ./
|
|
rm -rf paho.mqtt.python
|
|
|
|
|
|
r: rebuild_emq
|
|
# r short for rebuild_emq
|
|
@echo " rebuild complete "
|
|
|
|
|
|
rebuild_emq:
|
|
-$(EMQX_DIR)/_rel/emqx/bin/emqx stop
|
|
-mkdir $(EMQX_DIR)/deps
|
|
-rm -rf $(EMQX_DIR)/deps/emqx_lwm2m/etc
|
|
-rm -rf $(EMQX_DIR)/deps/emqx_lwm2m/include
|
|
-rm -rf $(EMQX_DIR)/deps/emqx_lwm2m/priv
|
|
-rm -rf $(EMQX_DIR)/deps/emqx_lwm2m/src
|
|
-rm -rf $(EMQX_DIR)/deps/emqx_lwm2m/Makefile
|
|
-rm -rf $(EMQX_DIR)/deps/emqx_lwm2m/erlang.mk
|
|
cp -rf ../etc $(EMQX_DIR)/deps/emqx_lwm2m/
|
|
cp -rf ../include $(EMQX_DIR)/deps/emqx_lwm2m/
|
|
cp -rf ../priv $(EMQX_DIR)/deps/emqx_lwm2m/
|
|
cp -rf ../src $(EMQX_DIR)/deps/emqx_lwm2m/
|
|
cp -rf ../Makefile $(EMQX_DIR)/deps/emqx_lwm2m/Makefile
|
|
cp -rf ../erlang.mk $(EMQX_DIR)/deps/emqx_lwm2m/erlang.mk
|
|
make -C $(EMQX_DIR) -f Makefile
|
|
|
|
|
|
clean: clean_result
|
|
-rm -f client/*.exe
|
|
-rm -f client/*.o
|
|
-rm -rf emqx-rel
|
|
-rm -rf build_wakaama
|
|
-rm -rf wakaama
|
|
|
|
|
|
|
|
lazy: clean_result start_broker case1 case2 case3 stop_broker
|
|
# custom your command here
|
|
@echo "you are so lazy"
|
|
|
|
|
|
|