summaryrefslogtreecommitdiff
path: root/script/build/boot/roms
diff options
context:
space:
mode:
authorLeah Rowe <leah@libreboot.org>2023-09-30 15:03:24 +0100
committerLeah Rowe <leah@libreboot.org>2023-09-30 15:28:52 +0100
commit7922b6e0e5b44655c2c59f535fbdf209126dcd3f (patch)
tree510331dc4af2f47cd06e502e06a20b71b6364f4d /script/build/boot/roms
parentf3c4f208d0ca611cec269aa225e60f463c099d35 (diff)
build/boot/*: unified main() function
The *same* main() function is now used on both scripts. However, merging both scripts together would be less efficient on sloccount, and would be error-prone. The purpose of having roms_helper is that the variables get re-initialised the same way each time, for each board, automatically. Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'script/build/boot/roms')
-rwxr-xr-xscript/build/boot/roms55
1 files changed, 15 insertions, 40 deletions
diff --git a/script/build/boot/roms b/script/build/boot/roms
index 571e4da3..6f9e7467 100755
--- a/script/build/boot/roms
+++ b/script/build/boot/roms
@@ -10,48 +10,22 @@ set -u -e
. "include/err.sh"
. "include/option.sh"
+. "include/boot.sh"
read projectname < projectname
opts=""
-boards=
first=""
targets=""
-main()
-{
- [ $# -lt 1 ] && usage && err "target not specified"
-
- first="${1}"
- [ "${first}" = "help" ] && usage && exit 0
- [ "${first}" = "list" ] && \
- listitems config/coreboot && exit 0
-
- while [ $# -gt 0 ]; do
- case ${1} in
- -d)
- opts="${opts} -d ${2}"
- shift ;;
- -p)
- opts="${opts} -p ${2}"
- shift ;;
- -k)
- opts="${opts} -k ${2}"
- shift ;;
- all)
- first="all" ;;
- *)
- boards="${boards} ${1} " ;;
- esac
- shift
- done
-
- handle_targets
- confirm_targets
-}
+# main() is in include/boot.sh
handle_targets()
{
- [ -z ${opts+x} ] && opts=""
+ [ -z "${displaymodes}" ] || opts="-d \"${displaymodes}\" ${opts}"
+ [ -z "${payloads}" ] || opts="-p \"${payloads}\" ${opts}"
+ [ -z "${keyboard_layouts}" ] || \
+ opts="-k \"${keyboard_layouts}\" ${opts}"
+
printf "Building %s ROM images\n" "${projectname}"
[ "${first}" != "all" ] || boards="$(listitems config/coreboot)" || \
@@ -59,22 +33,23 @@ handle_targets()
check_targets
build_bootroms
+ confirm_targets
}
check_targets()
{
- for board in ${boards}; do
- [ -d "config/coreboot/${board}/" ] || \
- err "check_targets: target not defined: ${board}"
+ for x in ${boards}; do
+ [ -d "config/coreboot/${x}/" ] || \
+ err "check_targets: target not defined: ${x}"
done
}
build_bootroms()
{
- for board in ${boards}; do
- ./build boot roms_helper ${board}${opts} || \
- err "handle_targets ${board}${opts}: build error"
- [ -d "bin/${board}" ] && targets="${board} ${targets}"
+ for x in ${boards}; do
+ ./build boot roms_helper ${opts} ${x} || \
+ err "handle_targets ${opts} ${x}: build error"
+ [ -d "bin/${x}" ] && targets="${x} ${targets}"
done
}