#!/usr/bin/env sh # SPDX-License-Identifier: GPL-3.0-or-later # SPDX-FileCopyrightText: 2014,2015,2016,2020,2021,2023 Leah Rowe # SPDX-FileCopyrightText: 2015 Klemens Nanni # SPDX-FileCopyrightText: 2022 Caleb La Grange # SPDX-FileCopyrightText: 2022 Ferass El Hafidi [ "x${DEBUG+set}" = 'xset' ] && set -v set -u -e . "include/err.sh" . "include/option.sh" . "include/boot.sh" read projectname < projectname opts="" first="" targets="" # main() is in include/boot.sh handle_targets() { [ -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)" || \ err "handle_targets: Cannot get list of boards" check_targets build_bootroms confirm_targets } check_targets() { for x in ${boards}; do [ -d "config/coreboot/${x}/" ] || \ err "check_targets: target not defined: ${x}" done } build_bootroms() { 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 } confirm_targets() { [ -z "${targets}" ] && err "No ROM images were compiled." printf "\n\nYour ROM images are available in these directories:\n" for x in ${targets}; do printf "* bin/%s\n" "${x}" done } main $@