#!/bin/bash # function for building firmware proc do_build { setglobal descr = $1 setglobal board = $2 shift shift echo "building $descr $board" setglobal build_dir = "/tmp/stm-build-$board" make -B $ifsjoin(Argv) BOARD=$board BUILD=$build_dir || exit 1 mv $build_dir/firmware.dfu $dest_dir/$descr-$date-$git_tag.dfu rm -rf $build_dir } # check/get parameters if test $Argc != 1 { echo "usage: $0 " exit 1 } setglobal dest_dir = $1 # check we are in the correct directory if test ! -r modpyb.c { echo "must be in stm directory" exit 1 } # get the date setglobal date = $[date '+%Y-%m-%d] # get the git tag setglobal git_tag = $[git describe --dirty || echo unknown] # build the versions do_build pybv3 PYBV3 do_build pybv3-network PYBV3 MICROPY_PY_WIZNET5K=1 MICROPY_PY_CC3K=1 do_build pybv10 PYBV10 do_build pybv10-network PYBV10 MICROPY_PY_WIZNET5K=1 MICROPY_PY_CC3K=1 do_build stm32f4disc STM32F4DISC do_build espruino-pico ESPRUINO_PICO