emqx/apps/emqx_lwm2m/integration_test/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"