mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-13 23:09:40 +02:00
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>
This commit is contained in:
@@ -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}/" ] || \
|
||||
|
||||
Executable
+31
@@ -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 $@
|
||||
@@ -76,17 +76,13 @@ main()
|
||||
[ -f "${listfile}" ] || fail "list file, ${listfile}, does not exist"
|
||||
|
||||
# Build for all targets if no argument is given
|
||||
if [ "$#" -eq 0 ]; then
|
||||
for target_dir in "${cfgsdir}"/*; do
|
||||
[ -d "${target_dir}/config/" ] || continue
|
||||
set -- "$@" "${target_dir#${cfgsdir}/}"
|
||||
done
|
||||
fi
|
||||
targets=$(./build command options "${cfgsdir}")
|
||||
[ $# -gt 0 ] && targets=$@
|
||||
|
||||
[ -d "${elfdir}" ] || [ "${mode}" != "all" ] || \
|
||||
mkdir -p "${elfdir}/" || fail "can't create directory ${elfdir}"
|
||||
|
||||
for x in "$@"; do
|
||||
for x in ${targets}; do
|
||||
target="${x}"
|
||||
printf "Running 'make %s' for project '%s, target '%s''\n" \
|
||||
"${mode}" "${project}" "${target}"
|
||||
|
||||
@@ -44,7 +44,8 @@ main()
|
||||
sname="${0}"
|
||||
|
||||
[ $# -lt 1 ] && err "No options specified."
|
||||
[ "${1}" = "listboards" ] && listboards && exit 0
|
||||
[ "${1}" = "listboards" ] && \
|
||||
./build command options resources/coreboot && exit 0
|
||||
|
||||
archive="${1}"
|
||||
|
||||
@@ -345,16 +346,6 @@ modify_gbe()
|
||||
rm -f "${_gbe_tmp}"
|
||||
}
|
||||
|
||||
listboards()
|
||||
{
|
||||
for boarddir in "${cbcfgsdir}"/*; do
|
||||
[ -d "${boarddir}" ] || continue
|
||||
board="${boarddir##${cbcfgsdir}/}"
|
||||
board="${board%/}"
|
||||
printf "%s\n" "${board##*/}"
|
||||
done
|
||||
}
|
||||
|
||||
usage()
|
||||
{
|
||||
cat <<- EOF
|
||||
|
||||
Reference in New Issue
Block a user