summaryrefslogtreecommitdiff
path: root/script/build/clean
diff options
context:
space:
mode:
Diffstat (limited to 'script/build/clean')
-rwxr-xr-xscript/build/clean/cbutils59
-rwxr-xr-xscript/build/clean/crossgcc45
-rwxr-xr-xscript/build/clean/seabios48
-rwxr-xr-xscript/build/clean/u-boot51
4 files changed, 203 insertions, 0 deletions
diff --git a/script/build/clean/cbutils b/script/build/clean/cbutils
new file mode 100755
index 00000000..bdacc45a
--- /dev/null
+++ b/script/build/clean/cbutils
@@ -0,0 +1,59 @@
+#!/usr/bin/env sh
+
+# helper script: clean the dependencies that were built in coreboot
+#
+# Copyright (C) 2014-2016, 2020, 2023 Leah Rowe <info@minifree.org>
+# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
+#
+# 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
+
+. "include/err.sh"
+
+main()
+{
+ printf "Cleaning the previous build of coreboot and its utilities\n"
+
+ rm -Rf cbutils || err "cannot remove cbutils/"
+ [ ! -d "coreboot/" ] && exit 0
+
+ clean_cbutils
+}
+
+clean_cbutils()
+{
+ for tree in coreboot/*; do
+ [ "${tree##*/}" = "coreboot" ] && continue
+ [ -d "${tree}" ] || continue
+
+ # Clean coreboot, of course
+ make -C "${tree}/" distclean || \
+ err "clean_cbutils: ${tree}: cannot distclean"
+
+ # Clean its utilities as well
+ for util in cbfstool ifdtool nvramtool cbmem; do
+ make distclean -C "${tree}/util/${util}/" || \
+ err "clean_cbutils: ${cbtree} ${util}: can't clean"
+ done
+ make distclean -C "${tree}/payloads/libpayload/" || \
+ err "clean_cbutils: ${tree}: can't distclean libpayload"
+ done
+}
+
+main $@
diff --git a/script/build/clean/crossgcc b/script/build/clean/crossgcc
new file mode 100755
index 00000000..c76d1849
--- /dev/null
+++ b/script/build/clean/crossgcc
@@ -0,0 +1,45 @@
+#!/usr/bin/env sh
+
+# helper script: clean the crossgcc builds
+#
+# Copyright (C) 2014-2016, 2020, 2023 Leah Rowe <info@minifree.org>
+# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
+#
+# 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/>.
+#
+
+[ "x${DEBUG+set}" = 'xset' ] && set -v
+set -u -e
+
+. "include/err.sh"
+
+main()
+{
+ printf "Cleaning crossgcc builds in all coreboot archives\n"
+ [ ! -d "coreboot/" ] && exit 0
+
+ clean_crossgcc
+}
+
+clean_crossgcc()
+{
+ for board in coreboot/*; do
+ [ -d "${board}" ] || continue
+ [ "${board##*/}" = "coreboot" ] && continue
+ make -C "${board}/" crossgcc-clean || \
+ err "clean_crossgcc: ${board}: !make crossgcc-clean"
+ done
+}
+
+main $@
diff --git a/script/build/clean/seabios b/script/build/clean/seabios
new file mode 100755
index 00000000..0178a729
--- /dev/null
+++ b/script/build/clean/seabios
@@ -0,0 +1,48 @@
+#!/usr/bin/env sh
+
+# helper script: clean the dependencies that were built in seabios
+#
+# Copyright (C) 2015,2020,2021,2023 Leah Rowe <info@minifree.org>
+#
+# 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/>.
+#
+
+[ "x${DEBUG+set}" = 'xset' ] && set -v
+set -u -e
+
+. "include/err.sh"
+
+# clean bucts
+# --------------------------------------------------------
+
+main()
+{
+ [ ! -d "elf/seabios" ] || rm -Rf elf/seabios || \
+ err "cannot remove elf/seabios"
+ [ ! -d "seabios/" ] && exit 0
+
+ clean_seabios
+}
+
+clean_seabios()
+{
+ for x in seabios/*; do
+ [ ! -d "${x}" ] && continue
+ [ "${x}" = "seabios/seabios" ] && continue
+ make -C "${x}" distclean || \
+ err "clean_seabios: cannot distclean tree, ${x}"
+ done
+}
+
+main $@
diff --git a/script/build/clean/u-boot b/script/build/clean/u-boot
new file mode 100755
index 00000000..5deff216
--- /dev/null
+++ b/script/build/clean/u-boot
@@ -0,0 +1,51 @@
+#!/usr/bin/env sh
+
+# helper script: clean the u-boot builds
+#
+# Copyright (C) 2014-2016, 2020, 2023 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/>.
+#
+
+[ "x${DEBUG+set}" = 'xset' ] && set -v
+set -u -e
+
+. "include/err.sh"
+
+main()
+{
+ printf "Cleaning u-boot builds for all boards\n"
+ clean_uboot
+}
+
+clean_uboot()
+{
+ for board in u-boot/*; do
+ if [ "${board##*/}" = "u-boot" ] || [ ! -d "${board}" ]; then
+ continue
+ fi
+
+ make -C "${board}/" distclean || \
+ err "clean_uboot: cannot distclean ${board}"
+
+ if [ -e "${board}/.git" ]; then
+ git -C "${board}" clean -fdx || \
+ err "clean_uboot: ${board}: cannot clean git files"
+ fi
+ done
+}
+
+main $@