mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-03-27 14:51:15 +02:00
This results in much cleaner copyright and license declarations. SPDX headers are legally recognised and make auditing easier. Also, remove descriptions of each script, from each script. Libreboot documentation at docs/maintain/ describes them. Signed-off-by: Leah Rowe <leah@libreboot.org>
65 lines
1.8 KiB
Bash
Executable File
65 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
# SPDX-FileCopyrightText: 2014-2016,2020,2021,2023 Leah Rowe <info@minifree.org>
|
|
|
|
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
|
set -u -e
|
|
|
|
. "include/err.sh"
|
|
|
|
main()
|
|
{
|
|
printf "Building coreboot utils\n"
|
|
|
|
if [ $# -gt 0 ]; then
|
|
for board in "${@}"; do
|
|
build_for_mainboard ${board} || \
|
|
err "cannot build cbutils for target, ${board}"
|
|
done
|
|
else
|
|
for boarddir in config/coreboot/*; do
|
|
[ ! -d "${boarddir}" ] && continue
|
|
build_for_mainboard ${boarddir##*/} || \
|
|
err "cannot build cbutils for target, ${board}"
|
|
done
|
|
fi
|
|
}
|
|
|
|
build_for_mainboard() {
|
|
board="${1}"
|
|
[ -d "config/coreboot/${board}" ] || \
|
|
err "build_for_mainboard ${board}: boarddir does not exist"
|
|
[ -f "config/coreboot/${board}/target.cfg" ] || \
|
|
err "build_for_mainboard ${board}: target.cfg does not exist"
|
|
tree="undefined"
|
|
. "config/coreboot/${board}/target.cfg" # source
|
|
[ "${tree}" = "undefined" ] && \
|
|
err "build_for_mainboard: improper tree definition for '${board}'"
|
|
buildutils "${tree}"
|
|
}
|
|
|
|
buildutils() {
|
|
tree="${1}"
|
|
[ -d "coreboot/${tree}/" ] || \
|
|
./update project trees coreboot $tree || \
|
|
err "buildutils: cannot fetch ${tree}"
|
|
for util in cbfstool ifdtool; do
|
|
[ -f "cbutils/${tree}/${util}" ] && continue
|
|
[ -d "cbutils/${tree}" ] || \
|
|
mkdir -p "cbutils/${tree}" || \
|
|
err "buildutils: can't mkdir cbutils/${tree}"
|
|
|
|
utildir="coreboot/${tree}/util/${util}"
|
|
make distclean -C "${utildir}" || \
|
|
err "buildutils: cannot clean ${utildir}"
|
|
make -j$(nproc) -C "${utildir}" || \
|
|
err "buildutils: cannot build ${utildir}"
|
|
cp "${utildir}/${util}" "cbutils/${tree}" || \
|
|
err "buildutils: can't cp ${util} cbutils/${tree}/"
|
|
make distclean -C "${utildir}" || \
|
|
err "buildutils: can't clean ${utildir}"
|
|
done
|
|
}
|
|
|
|
main $@
|