mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-18 04:22:15 +02:00
build/seabios: cleaner coding style
top-down logic, main() on top moved some hardcoded strings to variables
This commit is contained in:
@@ -22,39 +22,61 @@
|
|||||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||||
set -u -e
|
set -u -e
|
||||||
|
|
||||||
printf "Building SeaBIOS payloads and SeaVGABIOS\n"
|
payloaddir="payload/seabios"
|
||||||
|
seabios_elf="seabios/out/bios.bin.elf"
|
||||||
|
seavgabios="seabios/out/vgabios.bin"
|
||||||
|
|
||||||
if [ ! -d "payload/seabios" ]; then
|
main()
|
||||||
mkdir -p payload/seabios/ || exit 1
|
{
|
||||||
fi
|
printf "Building SeaBIOS payloads and SeaVGABIOS\n"
|
||||||
|
|
||||||
rm -f payload/seabios/* || exit 1
|
check_dependencies
|
||||||
|
build_seabios_payloads
|
||||||
|
|
||||||
if [ ! -d "seabios/" ]; then
|
# clean it again. gotta keep it clean!
|
||||||
./download seabios || exit 1
|
if [ -f seabios/Makefile ]; then
|
||||||
fi
|
make distclean -BC seabios || exit 1
|
||||||
|
|
||||||
for x in normal vgarom libgfxinit; do
|
|
||||||
if [ ! -f seabios/Makefile ]; then
|
|
||||||
printf "SeaBIOS not properly downloaded.\n"
|
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
make distclean -BC seabios || exit 1
|
|
||||||
cp "resources/seabios/config/${x}" seabios/.config
|
printf "Done! SeaBIOS files are in %s/\n\n" ${payloaddir}
|
||||||
make silentoldconfig -j$(nproc) -BC seabios || exit 1
|
}
|
||||||
make -j$(nproc) -BC seabios || exit 1
|
|
||||||
cp seabios/out/bios.bin.elf "payload/seabios/seabios_${x}.elf" \
|
check_dependencies()
|
||||||
|| exit 1
|
{
|
||||||
if [ "${x}" = "libgfxinit" ]; then
|
if [ ! -d "${payloaddir}" ]; then
|
||||||
cp seabios/out/vgabios.bin payload/seabios/seavgabios.bin \
|
mkdir -p ${payloaddir}/ || exit 1
|
||||||
|| exit 1
|
|
||||||
fi
|
fi
|
||||||
rm -f seabios/.config || exit 1
|
|
||||||
done
|
|
||||||
|
|
||||||
# clean it again. gotta keep it clean!
|
rm -f ${payloaddir}/* || exit 1
|
||||||
if [ -f seabios/Makefile ]; then
|
|
||||||
make distclean -BC seabios || exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
printf "Done! SeaBIOS files are in payload/seabios/\n\n"
|
if [ ! -d "seabios/" ]; then
|
||||||
|
./download seabios || exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
build_seabios_payloads()
|
||||||
|
{
|
||||||
|
for x in normal vgarom libgfxinit; do
|
||||||
|
if [ ! -f seabios/Makefile ]; then
|
||||||
|
printf "SeaBIOS not properly downloaded.\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
make distclean -BC seabios || exit 1
|
||||||
|
|
||||||
|
cp "resources/seabios/config/${x}" seabios/.config
|
||||||
|
make silentoldconfig -j$(nproc) -BC seabios || exit 1
|
||||||
|
make -j$(nproc) -BC seabios || exit 1
|
||||||
|
|
||||||
|
seabios_elf_dst="${payloaddir}/seabios_${x}.elf"
|
||||||
|
cp ${seabios_elf} "${seabios_elf_dst}" || exit 1
|
||||||
|
|
||||||
|
if [ "${x}" = "libgfxinit" ]; then
|
||||||
|
cp ${seavgabios} ${payloaddir}/seavgabios.bin \
|
||||||
|
|| exit 1
|
||||||
|
fi
|
||||||
|
rm -f seabios/.config || exit 1
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
main $@
|
||||||
|
|||||||
Reference in New Issue
Block a user