build/clean: Add helper script to clean U-Boot builds

Copy the resources/scripts/build/clean/crossgcc script and adapt it to
run "make distclean" on U-Boot build trees. Some build artifacts persist
after the run, so also run "git clean -fdx" if we can.

Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
This commit is contained in:
Alper Nebi Yasak 2022-12-10 00:43:19 +03:00
parent 0bd4fdbe5b
commit 70435784ec
1 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,49 @@
#!/usr/bin/env bash
# helper script: clean the u-boot builds
#
# Copyright (C) 2014, 2015, 2016, 2020 Leah Rowe <info@minifree.org>
# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
# Copyright (C) 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com>
#
# 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 <http://www.gnu.org/licenses/>.
#
# This script assumes that the current working directory is the root
[ "x${DEBUG+set}" = 'xset' ] && set -v
set -u -e
# clean u-boot builds (dependencies for 'build'):
printf "Cleaning u-boot builds for all boards\n"
[ ! -d "coreboot/" ] && exit 0
# clean u-boot (source archives preserved)
for board in u-boot/*; do
if [ "${board##*/}" = "u-boot" ]; then
continue
fi
if [ ! -d "${board}" ]; then
continue
fi
make -C "${board}/" distclean
if [ -e "${board}/.git" ]; then
git -C "${board}" clean -fdx
fi
done
printf "\n\n"