Files
libcoap/examples/zephyr/Makefile
T

71 lines
2.3 KiB
Makefile

ZEPHYR_PROJECT?=zephyrproject
# Keep in sync with .github/workflows/main.yml
WITH_ZEPHYR_BRANCH?=v4.3.0
export LCWD := $(shell pwd)
all: check-version $(ZEPHYR_PROJECT) coap-client coap-cpp-test
${ZEPHYR_PROJECT}:
python3 -m venv ${ZEPHYR_PROJECT}/.venv ;\
ls -l ${ZEPHYR_PROJECT}/.venv/bin/activate ;\
. ${ZEPHYR_PROJECT}/.venv/bin/activate ;\
pip install west ;\
west init --mr ${WITH_ZEPHYR_BRANCH} ${ZEPHYR_PROJECT} ;\
cd ${ZEPHYR_PROJECT} ;\
west update -n ;\
west zephyr-export ;\
west packages pip --install ;\
cd zephyr ;\
west sdk install --install-base=$(ZEPHYR_PROJECT)/../ -T ;\
cd $(LCWD) ;\
deactivate
check-version:
@(if [ -d $(ZEPHYR_PROJECT)/zephyr ] ; then \
cd $(ZEPHYR_PROJECT)/zephyr ; \
TAG=`git describe --tags --all`; \
if [ "$$TAG" != ${WITH_ZEPHYR_BRANCH} -a "$$TAG" != "tags/${WITH_ZEPHYR_BRANCH}" ] ; then \
cd $(LCWD) ;\
echo "Re-install zephyr to ${WITH_ZEPHYR_BRANCH}" ; \
cd $(ZEPHYR_PROJECT)/.. ; \
rm -rf $(ZEPHYR_PROJECT) ; \
cd $(LCWD) ;\
${MAKE}; \
fi ; \
cd $(LCWD) ;\
fi)
coap-client: client-src/src/main.c client-src/* ../../src/*.c ../../include/*/*
@LIBCOAP_DIR=`pwd`/../.. ;\
(if [ -f $(ZEPHYR_PROJECT)/.venv/bin/activate ]; then \
. $(ZEPHYR_PROJECT)/.venv/bin/activate ;\
fi ;\
cd $(ZEPHYR_PROJECT)/zephyr ;\
west build -p always -b native_sim \
$${LIBCOAP_DIR}/examples/zephyr/client-src -- \
-DCONF_FILE=prj.conf \
-DEXTRA_ZEPHYR_MODULES=$${LIBCOAP_DIR} \
-DCMAKE_C_FLAGS="-DMBEDTLS_VERSION_C -Werror" \
-DEXTRA_CONF_FILE=libcoap-mbedtls.conf)
@cp -f $(ZEPHYR_PROJECT)/zephyr/build/zephyr/zephyr.exe coap-client
@rm -rf $(ZEPHYR_PROJECT)/zephyr/build
coap-cpp-test: test-cpp-src/src/test.cpp test-cpp-src/* ../../src/*.c ../../include/*/*
@LIBCOAP_DIR=`pwd`/../.. ;\
(if [ -f $(ZEPHYR_PROJECT)/.venv/bin/activate ]; then \
. $(ZEPHYR_PROJECT)/.venv/bin/activate ;\
fi ;\
cd $(ZEPHYR_PROJECT)/zephyr ;\
west build -p always -b native_sim \
$${LIBCOAP_DIR}/examples/zephyr/test-cpp-src -- \
-DCONF_FILE=prj.conf \
-DCMAKE_C_FLAGS="-Werror" \
-DEXTRA_ZEPHYR_MODULES=$${LIBCOAP_DIR})
@cp -f $(ZEPHYR_PROJECT)/zephyr/build/zephyr/zephyr.exe coap-cpp-test
@rm -rf $(ZEPHYR_PROJECT)/zephyr/build
clean:
@rm -rf $(ZEPHYR_PROJECT)/zephyr/build
@rm -f coap-client coap-cpp-test