diff options
| author | Leah Rowe <leah@libreboot.org> | 2023-09-30 15:03:24 +0100 | 
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2023-09-30 15:28:52 +0100 | 
| commit | 7922b6e0e5b44655c2c59f535fbdf209126dcd3f (patch) | |
| tree | 510331dc4af2f47cd06e502e06a20b71b6364f4d /script/build/boot/roms | |
| parent | f3c4f208d0ca611cec269aa225e60f463c099d35 (diff) | |
build/boot/*: unified main() function
The *same* main() function is now used on both scripts.
However, merging both scripts together would be less efficient
on sloccount, and would be error-prone. The purpose of having
roms_helper is that the variables get re-initialised the same
way each time, for each board, automatically.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'script/build/boot/roms')
| -rwxr-xr-x | script/build/boot/roms | 55 | 
1 files changed, 15 insertions, 40 deletions
| diff --git a/script/build/boot/roms b/script/build/boot/roms index 571e4da3..6f9e7467 100755 --- a/script/build/boot/roms +++ b/script/build/boot/roms @@ -10,48 +10,22 @@ set -u -e  . "include/err.sh"  . "include/option.sh" +. "include/boot.sh"  read projectname < projectname  opts="" -boards=  first=""  targets="" -main() -{ -	[ $# -lt 1 ] && usage && err "target not specified" - -	first="${1}" -	[ "${first}" = "help" ] && usage && exit 0 -	[ "${first}" = "list" ] && \ -	    listitems config/coreboot && exit 0 - -	while [ $# -gt 0 ]; do -		case ${1} in -		-d) -			opts="${opts} -d ${2}" -			shift ;; -		-p) -			opts="${opts} -p ${2}" -			shift ;; -		-k) -			opts="${opts} -k ${2}" -			shift ;; -		all) -			first="all" ;; -		*) -			boards="${boards} ${1} " ;; -		esac -		shift -	done - -	handle_targets -	confirm_targets -} +# main() is in include/boot.sh  handle_targets()  { -	[ -z ${opts+x} ] && opts="" +	[ -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)" || \ @@ -59,22 +33,23 @@ handle_targets()  	check_targets  	build_bootroms +	confirm_targets  }  check_targets()  { -	for board in ${boards}; do -		[ -d "config/coreboot/${board}/" ] || \ -			err "check_targets: target not defined: ${board}" +	for x in ${boards}; do +		[ -d "config/coreboot/${x}/" ] || \ +			err "check_targets: target not defined: ${x}"  	done  }  build_bootroms()  { -	for board in ${boards}; do -		./build boot roms_helper ${board}${opts} || \ -		    err "handle_targets ${board}${opts}: build error" -		[ -d "bin/${board}" ] && targets="${board} ${targets}" +	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  } | 
