From 01c173927ec70467b74652297518bf7e2032cfaf Mon Sep 17 00:00:00 2001 From: Francesco Gazzetta Date: Fri, 31 Dec 2021 18:39:50 +0100 Subject: [PATCH] Add make and CI rules for building apps .mpy files Signed-off-by: Francesco Gazzetta --- .github/workflows/main.yml | 13 +++++++++++++ Makefile | 11 ++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b0caa58..113be50 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -60,6 +60,12 @@ jobs: make -j `nproc` VERSION=${{ github.sha }} dist mv ../wasp-os-${{ github.sha }}.tar.gz . + - name: Build extra apps + id: apps + run: | + export PATH=$PATH:${{ runner.temp }}/arm-none-eabi/bin + make -j `nproc` apps + - name: Upload full binary distribution id: upload-binaries uses: actions/upload-artifact@v2 @@ -87,3 +93,10 @@ jobs: with: name: k9-${{ github.sha }} path: build-k9 + + - name: Upload extra apps binaries + id: upload-apps + uses: actions/upload-artifact@v2 + with: + name: apps-${{ github.sha }} + path: apps/*.mpy diff --git a/Makefile b/Makefile index 77f5cff..2954ad3 100644 --- a/Makefile +++ b/Makefile @@ -58,8 +58,10 @@ wasp/boards/$(BOARD_SAFE)/watch.py : wasp/boards/$(BOARD_SAFE)/watch.py.in (cd wasp; ../tools/preprocess.py boards/$(BOARD)/watch.py.in > boards/$(BOARD)/watch.py) \ || ($(RM) wasp/boards/$(BOARD)/watch.py; false) -micropython: build-$(BOARD_SAFE) wasp/boards/$(BOARD_SAFE)/watch.py +micropython/mpy-cross/mpy-cross: $(MAKE) -C micropython/mpy-cross + +micropython: build-$(BOARD_SAFE) wasp/boards/$(BOARD_SAFE)/watch.py micropython/mpy-cross/mpy-cross $(RM) micropython/ports/nrf/build-$(BOARD)-s132/frozen_content.c $(MAKE) -C micropython/ports/nrf \ BOARD=$(BOARD) SD=s132 \ @@ -89,6 +91,13 @@ debug: -ex "attach 1" \ -ex "load" +apps/%.mpy: apps/%.py micropython/mpy-cross/mpy-cross + ./micropython/mpy-cross/mpy-cross -mno-unicode -march=armv7m $< +APPS_PY=$(wildcard apps/*.py) +APPS_MPY=$(APPS_PY:%.py=%.mpy) +.PHONY: apps +apps: $(APPS_MPY) + docs: $(RM) -rf docs/build/html/* $(MAKE) -C docs html