diff options
Diffstat (limited to 'util/size_regression.sh')
-rwxr-xr-x | util/size_regression.sh | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/util/size_regression.sh b/util/size_regression.sh index d474d8d0d5..6da2d360bb 100755 --- a/util/size_regression.sh +++ b/util/size_regression.sh @@ -59,6 +59,14 @@ done shift $((OPTIND-1)) keyboard_target=$1 +# Helper for resetting submodule existence +fixup_submodules() { + [ -e lib/ugfx ] && rm -rf lib/ugfx + [ -e lib/pico-sdk ] && rm -rf lib/pico-sdk + [ -e lib/chibios-contrib/ext/mcux-sdk ] && rm -rf lib/chibios-contrib/ext/mcux-sdk + make git-submodule +} + last_size=0 last_line="" function build_executor() { @@ -68,6 +76,7 @@ function build_executor() { make distclean >/dev/null 2>&1 git checkout -f $revision >/dev/null 2>&1 || { echo "Failed to check out revision ${revision}" >&2 ; exit 1 ; } + fixup_submodules >/dev/null 2>&1 make -j${job_count} $keyboard_target >/dev/null 2>&1 || true file_size=$(arm-none-eabi-size .build/*.elf 2>/dev/null | awk '/elf/ {print $1}' 2>/dev/null || true) @@ -76,7 +85,7 @@ function build_executor() { if [[ -n "$last_line" ]] ; then size_delta=$(( $last_size - $file_size )) - if { [[ -n "${skip_zero:-}" ]] && [[ $size_delta -ne 0 ]] ; } || [[ $file_size -eq 0 ]] ; then + if { [[ -n "${skip_zero:-}" ]] && [[ $size_delta -ne 0 ]] ; } || [[ -z "${skip_zero:-}" ]] || [[ $file_size -eq 0 ]] ; then printf "Size: %8d, delta: %+6d -- %s\n" "$last_size" "$size_delta" "$last_line" fi fi |