#!/bin/bash # function for building firmware function do_build() { descr=$1 board=$2 shift shift echo "building $descr $board" build_dir=/tmp/stm-build-$board make -B $@ 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 [ $# != 1 ]; then echo "usage: $0 " exit 1 fi dest_dir=$1 # check we are in the correct directory if [ ! -r modpyb.c ]; then echo "must be in stm directory" exit 1 fi # get the date date=$(date '+%Y-%m-%d') # get the git tag 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