From e369e8fb4ab688f26334e93067fdd307d5793710 Mon Sep 17 00:00:00 2001 From: Riku Viitanen Date: Sun, 3 Sep 2023 04:00:42 +0300 Subject: automate rpi-pico serprog builds ./build rpi-pico serprog build bin/serprog/rpi-pico-serprog.uf2 Signed-off-by: Riku Viitanen --- script/build/rpi-pico/serprog | 48 +++++++++++++++++++++++++++++++++++++++++++ script/update/project/repo | 1 + 2 files changed, 49 insertions(+) create mode 100755 script/build/rpi-pico/serprog (limited to 'script') diff --git a/script/build/rpi-pico/serprog b/script/build/rpi-pico/serprog new file mode 100755 index 00000000..15a20a22 --- /dev/null +++ b/script/build/rpi-pico/serprog @@ -0,0 +1,48 @@ +#!/usr/bin/env sh + +# compile the serprog firmware for raspberry pi pico +# +# Copyright (C) 2023 Riku Viitanen +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +[ "x${DEBUG+set}" = 'xset' ] && set -v +set -u -e + +. "include/err.sh" + +serprog_release_dir=$(pwd)/bin/serprog +sdk_dir=$(pwd)/util-fw/pico-sdk +src_dir=$(pwd)/util-fw/pico-serprog + +main() +{ + printf "Compiling serprog firmware for Raspberry Pi Pico\n" + + [ -d "${src_dir}/" ] || ./update project repo rpi-pico-serprog \ + || err "fetch rpi-pico-serprog failed!\n" + + cd ${src_dir} + cmake -DPICO_SDK_PATH=${sdk_dir} . + make + + mkdir -p ${serprog_release_dir} + mv pico_serprog.uf2 ${serprog_release_dir}/rpi-pico-serprog.uf2 \ + || err "rpi-pico serprog build failed!\n" + + printf "\nDone!\n" +} + +main $@ diff --git a/script/update/project/repo b/script/update/project/repo index 91696586..336fa84a 100755 --- a/script/update/project/repo +++ b/script/update/project/repo @@ -84,6 +84,7 @@ clone_project() [ ! -d "${location}" ] || \ rm -Rf "${location}" || \ fail "clone_project: Can't remove directory '${location}'" + mkdir -p ${location%/*} mv "${tmp_dir}" "${location}" || \ fail "clone_project: could not copy temp file to destination" } -- cgit v1.2.1