summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2023-08-20 18:54:40 +0100
committerLeah Rowe <leah@libreboot.org>2023-08-20 18:58:32 +0100
commit023d6b69968b44e296caee308c173cb617b89497 (patch)
treea5a192a9105d3ee700f76b789b0b8aebefc51cd3
parentf893a29b2214e9b6ebab7640ee25add2c334b5b6 (diff)
unify build/clean into ./build release src
handle it all in the 1 script quite a few clean scripts are still present, so resources/scripts/build/clean/ still exists. 23 sloc reduction. Signed-off-by: Leah Rowe <leah@libreboot.org>
-rwxr-xr-xresources/scripts/build/boot/roms_helper2
-rwxr-xr-xresources/scripts/build/clean/bios_extract28
-rwxr-xr-xresources/scripts/build/clean/flashrom35
-rwxr-xr-xresources/scripts/build/clean/grub39
-rwxr-xr-xresources/scripts/build/clean/ich9utils33
-rwxr-xr-xresources/scripts/build/clean/memtest86plus35
-rwxr-xr-xresources/scripts/build/clean/rom_images31
-rwxr-xr-xresources/scripts/build/clean/uefitool28
-rwxr-xr-xresources/scripts/build/descriptors/ich9m2
-rwxr-xr-xresources/scripts/build/release/src3
-rwxr-xr-xresources/scripts/build/src/for25
-rwxr-xr-xresources/scripts/update/blobs/download2
12 files changed, 27 insertions, 236 deletions
diff --git a/resources/scripts/build/boot/roms_helper b/resources/scripts/build/boot/roms_helper
index f5ea80af..8fcc81b6 100755
--- a/resources/scripts/build/boot/roms_helper
+++ b/resources/scripts/build/boot/roms_helper
@@ -170,7 +170,7 @@ if [ ! -f "${seavgabiosrom}" ] \
fi
[ "${payload_memtest}" = "y" ] && [ ! -f "memtest86plus/memtest" ] && \
- ./build src for memtest86plus
+ ./build src for -b memtest86plus
[ -d "${romdir}/" ] || mkdir -p "${romdir}/"
rm -f "${romdir}"/*
diff --git a/resources/scripts/build/clean/bios_extract b/resources/scripts/build/clean/bios_extract
deleted file mode 100755
index 65493f78..00000000
--- a/resources/scripts/build/clean/bios_extract
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env sh
-
-# helper script: run make clean on bios_extract
-#
-# Copyright (C) 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
-
-printf "Cleaning the previous build of bios_extract\n"
-
-[ ! -d "bios_extract/" ] && exit 0
-
-make clean -BC bios_extract || exit 1
diff --git a/resources/scripts/build/clean/flashrom b/resources/scripts/build/clean/flashrom
deleted file mode 100755
index 744052fc..00000000
--- a/resources/scripts/build/clean/flashrom
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env sh
-
-# helper script: clean the dependencies that were built in flashrom
-#
-# Copyright (C) 2014, 2015 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
-# of git or release archive
-
-[ "x${DEBUG+set}" = 'xset' ] && set -v
-set -u -e
-
-printf "Cleaning the previous build of flashrom\n"
-
-[ ! -d "flashrom/" ] && exit 0
-
-# clean flashrom
-make -C flashrom clean
-
-printf "\n\n"
diff --git a/resources/scripts/build/clean/grub b/resources/scripts/build/clean/grub
deleted file mode 100755
index dea2c2dd..00000000
--- a/resources/scripts/build/clean/grub
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env sh
-
-# helper script: clean the dependencies that were built in GRUB
-#
-# Copyright (C) 2014, 2015, 2016 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
-# of git or release archive
-
-[ "x${DEBUG+set}" = 'xset' ] && set -v
-set -u -e
-
-printf "Cleaning the previous build of GRUB\n"
-
-[ ! -d "grub/" ] && exit 0
-
-(
- cd grub/
- if [ -f Makefile ]; then
- make distclean
- fi
-)
-
-printf "\n\n"
diff --git a/resources/scripts/build/clean/ich9utils b/resources/scripts/build/clean/ich9utils
deleted file mode 100755
index 38ad439f..00000000
--- a/resources/scripts/build/clean/ich9utils
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/env sh
-
-# helper script: clean the previous build of ich9utils
-#
-# Copyright (C) 2014, 2015, 2020 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/>.
-#
-
-# This script assumes that the current working directory is the root
-# of libreboot_src or libreboot git
-
-[ "x${DEBUG+set}" = 'xset' ] && set -v
-set -u -e
-
-# clean ich9deblob utility
-# --------------------------------------------------------------------
-
-printf "Cleaning the previous build of ich9utils\n"
-make clean -C util/ich9utils
-rm -Rf descriptors/
-printf "\n\n"
diff --git a/resources/scripts/build/clean/memtest86plus b/resources/scripts/build/clean/memtest86plus
deleted file mode 100755
index 807b20a7..00000000
--- a/resources/scripts/build/clean/memtest86plus
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env sh
-
-# helper script: clean the dependencies that were built in memtest86+
-#
-# Copyright (C) 2014, 2015 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
-# of git or release archive
-
-[ "x${DEBUG+set}" = 'xset' ] && set -v
-set -u -e
-
-printf "Cleaning the previous build of MemTest86+\n"
-
-[ ! -d "memtest86plus" ] && exit 0
-
-# clean MemTest86+
-make -C memtest86plus clean
-
-printf "\n\n"
diff --git a/resources/scripts/build/clean/rom_images b/resources/scripts/build/clean/rom_images
deleted file mode 100755
index cd41d499..00000000
--- a/resources/scripts/build/clean/rom_images
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env sh
-
-# helper script: delete the ROM images
-#
-# Copyright (C) 2014, 2015 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
-# of git or release archive
-
-[ "x${DEBUG+set}" = 'xset' ] && set -v
-set -u -e
-
-# Delete the ROM images
-rm -Rf "bin/"
-
-printf "Deleted the bin/ directory containing the ROM images.\n\n"
diff --git a/resources/scripts/build/clean/uefitool b/resources/scripts/build/clean/uefitool
deleted file mode 100755
index ad8aa56e..00000000
--- a/resources/scripts/build/clean/uefitool
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env sh
-
-# helper script: run make clean on bios_extract
-#
-# Copyright (C) 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
-
-printf "Cleaning the previous build of uefitool (UEFIExtract)\n"
-
-[ ! -d "uefitool" ] && exit 0
-
-make clean -BC uefitool || exit 1
diff --git a/resources/scripts/build/descriptors/ich9m b/resources/scripts/build/descriptors/ich9m
index d7db1b07..1623b94b 100755
--- a/resources/scripts/build/descriptors/ich9m
+++ b/resources/scripts/build/descriptors/ich9m
@@ -23,7 +23,7 @@ ich9gen="util/ich9utils/ich9gen"
main()
{
- [ -f "${ich9gen}" ] || ./build src for ich9utils || err "ich9utils make"
+ [ -f "${ich9gen}" ] || ./build src for -b ich9utils || err "ich9utils make"
[ ! -f "${ich9gen}" ] && \
err "ich9gen doesn't exist"
diff --git a/resources/scripts/build/release/src b/resources/scripts/build/release/src
index a518b83f..9e5e51d7 100755
--- a/resources/scripts/build/release/src
+++ b/resources/scripts/build/release/src
@@ -138,6 +138,9 @@ purge_files()
(
cd "${srcdir}/" || err "cd3"
./build clean all || err "build-clean1"
+ for p in bios_extract flashrom grub ich9utils memtest86plus uefitool; do
+ ./build src for -c "${p}"
+ done
make clean -BC util/nvmutil || err "make-clean2"
make clean -BC util/ich9utils || err "make-clean3"
make clean -BC util/spkmodem_recv || err "make-clean4"
diff --git a/resources/scripts/build/src/for b/resources/scripts/build/src/for
index b3e9ff8e..1b7c7483 100755
--- a/resources/scripts/build/src/for
+++ b/resources/scripts/build/src/for
@@ -21,14 +21,27 @@
[ "x${DEBUG+set}" = 'xset' ] && set -v
set -u -e
+mode=""
project=""
main()
{
- [ $# -lt 1 ] && err "project name not specified"
- project="${1}"
- shift 1
+ while getopts b:c: option
+ do
+ case "${1}" in
+ -b)
+ shift ;;
+ -c)
+ mode="distclean"
+ shift ;;
+ *)
+ err "Invalid option" ;;
+ esac
+ project="${OPTARG}"
+ shift
+ done
+ [ -z "${project}" ] && err "project name not specified"
[ "${project}" = "ich9utils" ] && project="util/ich9utils"
[ -d "${project}" ] || ./fetch "${project}" \
@@ -41,7 +54,11 @@ main()
cmake UEFIExtract/ || err "cannot cmake UEFIExtract"
)
fi
- make -C "${project}" || err "Cannot build project, ${project}"
+ [ ! -z "${mode}" ] || \
+ make -C "${project}" || err "'make' failed (${project})"
+ [ -z "${mode}" ] || \
+ make -C "${project}" distclean || make -C "${project}" clean \
+ || err "cannot clean project src, ${project}"
}
err()
diff --git a/resources/scripts/update/blobs/download b/resources/scripts/update/blobs/download
index 49f3fa4c..bac48786 100755
--- a/resources/scripts/update/blobs/download
+++ b/resources/scripts/update/blobs/download
@@ -207,7 +207,7 @@ build_dependencies()
|| fail "could not download uefitool"
fi
if [ ! -f uefitool/uefiextract ]; then
- ./build src for uefitool \
+ ./build src for -b uefitool \
|| fail "could not build uefitool"
fi
if [ ! -f ${cbdir}/util/kbc1126/kbc1126_ec_dump ]; then