diff options
author | Leah Rowe <leah@libreboot.org> | 2023-08-27 14:14:49 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2023-08-27 14:24:20 +0100 |
commit | 9457d6be52e5f409566dabc10dd5435102b2e760 (patch) | |
tree | 175385fc7d0922e0ea0a318a90d5e7f0a4731f56 /resources/scripts/build | |
parent | 93d2dcad2d8b03eab613404e8c7c4209f250c70d (diff) |
unified list command for all scripts
e.g. ./build boot roms list
./update blobs inject listboards
./build boot list
./build clean list
also this is now possible:
./build list
or maybe
./update list
^ would list directories in resources/scripts/build
and resources/scripts/update respectively
this script is added:
resources/scripts/build/command/options
call it like so, e.g.
./build command options resources/coreboot
this script is now used, for list functions in
other scripts.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'resources/scripts/build')
-rwxr-xr-x | resources/scripts/build/boot/roms | 23 | ||||
-rwxr-xr-x | resources/scripts/build/command/options | 31 |
2 files changed, 38 insertions, 16 deletions
diff --git a/resources/scripts/build/boot/roms b/resources/scripts/build/boot/roms index 0aedfdb1..a19d9445 100755 --- a/resources/scripts/build/boot/roms +++ b/resources/scripts/build/boot/roms @@ -42,7 +42,8 @@ main() firstoption="${1}" [ "${firstoption}" = "help" ] && usage && exit 0 - [ "${firstoption}" = "list" ] && listboards && exit 0 + [ "${firstoption}" = "list" ] && \ + ./build command options resources/coreboot && exit 0 while [ $# -gt 0 ]; do case ${1} in @@ -65,8 +66,8 @@ main() printf "Building %s ROM images\n" "${projectname}" if [ "${firstoption}" = "all" ]; then - for boardname in $(listboards); do - buildrom "${boardname}" || err "build/roms (1): error" + for target in $(./build command options resources/coreboot); do + buildrom "${target}" || err "build/roms (1): error" done else for board in ${boards}; do @@ -80,7 +81,7 @@ main() usage() { cat <<- EOF - USAGE: ./build boot roms boardname + USAGE: ./build boot roms target To build *all* boards, do this: ./build boot roms all To list *all* boards, do this: ./build boot roms list @@ -94,23 +95,13 @@ usage() ./build boot roms x200_8mb x60 ./build boot roms x60 -p grub -d corebootfb -k usqwerty - possible values for 'boardname': - $(listboards) + possible values for 'target': + $(./build command options "resources/coreboot") Refer to the ${projectname} documentation for more information. EOF } -listboards() -{ - for boarddir in resources/coreboot/*; do - [ -d "${boarddir}" ] || continue - board="${boarddir##resources/coreboot/}" - board="${board%/}" - printf '%s\n' "${board##*/}" - done -} - # Build ROM images for supported boards buildrom() { [ -d "resources/coreboot/${1}/" ] || \ diff --git a/resources/scripts/build/command/options b/resources/scripts/build/command/options new file mode 100755 index 00000000..84a9a3fb --- /dev/null +++ b/resources/scripts/build/command/options @@ -0,0 +1,31 @@ +#!/usr/bin/env sh + +# Copyright (c) 2023 Leah Rowe <info@minifree.org> +# SPDX-License-Identifier: MIT + +. "include/err.sh" + +items=1 + +main() +{ + [ $# -gt 0 ] || \ + err "No argument given" + listitems "${1}" || err "No items present under: ${1}" +} + +listitems() +{ + [ -d "${1}" ] || \ + err "Directory not does exist: ${1}" + for x in "${1}/"*; do + # -e used because this is for files *or* directories + [ -e "${x}" ] || continue + [ "${x##*/}" = "build.list" ] && continue + printf "%s\n" "${x##*/}" + items=0 + done + return ${items} +} + +main $@ |