diff options
Diffstat (limited to 'script/update/trees')
| -rwxr-xr-x | script/update/trees | 50 | 
1 files changed, 24 insertions, 26 deletions
| diff --git a/script/update/trees b/script/update/trees index 51ea821c..af80d99a 100755 --- a/script/update/trees +++ b/script/update/trees @@ -28,12 +28,12 @@ main()  		-s) mode="savedefconfig" ;;  		-l) mode="olddefconfig" ;;  		-n) mode="nconfig" ;; -		*) err "Invalid option" ;; +		*) $err "Invalid option" ;;  		esac  		shift; project="${OPTARG#src/}"; shift  	done -	[ -z "$_f" ] && err "missing flag (-m/-u/-b/-c/-x/-f/-s/-l/-n)" -	[ -z "$project" ] && err "project name not specified" +	[ -z "$_f" ] && $err "missing flag (-m/-u/-b/-c/-x/-f/-s/-l/-n)" +	[ -z "$project" ] && $err "project name not specified"  	elfdir="elf/${project}"  	cfgsdir="config/${project}" @@ -66,17 +66,17 @@ build_targets()  	[ "$elfdir" = "elf/coreboot" ] && \  		elfdir="elf/coreboot_nopayload_DO_NOT_FLASH" -	[ -d "$cfgsdir" ] || err "directory, $cfgsdir, does not exist" +	[ -d "$cfgsdir" ] || $err "directory, $cfgsdir, does not exist"  	listfile="${cfgsdir}/build.list" -	[ -f "$listfile" ] || err "list file, $listfile, does not exist" +	[ -f "$listfile" ] || $err "list file, $listfile, does not exist"  	# Build for all targets if no argument is given  	[ $# -gt 0 ] && target1="$1"  	[ "$target1" = "utils" ] && [ "$project" = "coreboot" ] && \  		shift 1  	targets=$(items "$cfgsdir") || \ -	    err "Cannot get options for $cfgsdir" +	    $err "Cannot get options for $cfgsdir"  	[ $# -gt 0 ] && targets=$@  	[ -z "$mode" ] && x_ mkdir -p "$elfdir" @@ -130,7 +130,7 @@ handle_src_tree()  	x_ mkdir -p "${elfdir}/${target}" -	[ -z "$tree" ] && err "handle_src_tree $project/$tree: tree unset" +	[ -z "$tree" ] && $err "handle_src_tree $project/$tree: tree unset"  	codedir="src/${project}/${tree}" @@ -155,7 +155,7 @@ load_project_config()  	[ -f "${1}/target.cfg" ] || return 0  	. "${1}/target.cfg" || \ -	    err "load_project_config ${1}: cannot load target.cfg"; return 0 +	    $err "load_project_config ${1}: cannot load target.cfg"; return 0  }  check_cross_compiler() @@ -172,13 +172,13 @@ check_cross_compiler()  		[ -n "${xlang}" ] && export BUILD_LANGUAGES="$xlang"  		[ -d "${cbdir}/util/crossgcc/xgcc/${_xarch}/" ] && continue -		x_ make -C "$cbdir" crossgcc-${_xarch%-*} CPUS=$(nproc) +		x_ make -C "$cbdir" crossgcc-${_xarch%-*} CPUS=$threads  	done  }  check_config()  { -	[ -f "$config" ] || err "check_config: ${project}/${target}: no config" +	[ -f "$config" ] || $err "check_config: ${project}/${target}: no config"  	dest_dir="${elfdir}/${target}/${config_name}"  	# TODO: very hacky check. do it properly (based on build.list) @@ -197,17 +197,15 @@ handle_makefile()  	[ -n "$mode" ] || make -C "$codedir" silentoldconfig || \  	    make -C "$codedir" oldconfig || : -	run_make_command || err "handle_makefile $codedir: no makefile!" +	run_make_command || $err "handle_makefile $codedir: no makefile!" -	if [ -e "${codedir}/.git" ] && [ "$project" = "u-boot" ] && \ -	    [ "$mode" = "distclean" ]; then -		x_ git -C "$codedir" clean -fdx -	elif [ "$mode" = "oldconfig" ] || [ "$mode" = "olddefconfig" ] || \ -	    [ "$mode" = "menuconfig" ] || [ "$mode" = "nconfig" ]; then -		x_ cp "${codedir}/.config" "$config" -	elif [ "$mode" = "savedefconfig" ]; then -		x_ cp "${codedir}/defconfig" "$config" -	fi +	_copy=".config" +	[ "$mode" = "savedefconfig" ] && _copy="defconfig" +	[ "${mode%config}" = "$mode" ] || x_ cp "$codedir/$_copy" "$config" + +	[ -e "${codedir}/.git" ] && [ "$project" = "u-boot" ] && \ +	    [ "$mode" = "distclean" ] && \ +		x_ git -C "$codedir" clean -fdx; return 0  }  run_make_command() @@ -219,8 +217,8 @@ run_make_command()  	[ "$project" = "coreboot" ] && [ -z "$mode" ] && x_ \  		printf "%s\n" "${version%%-*}" > "$codedir/.coreboot-version" -	make $mode -j$(nproc) $makeargs -C "$codedir" || \ -	    err "run_make $codedir: !make $mode" +	make $mode -j$threads $makeargs -C "$codedir" || \ +	    $err "run_make $codedir: !make $mode"  	[ "$mode" != "clean" ] && return 0  	make -C "$codedir" distclean 2>/dev/null || : @@ -232,9 +230,9 @@ check_cmake()  		check_makefile "${1}" || \  		    cmake -B "${1}" "${1}/${cmakedir}" || \  		    check_makefile "${1}" || \ -		    err "check_cmake ${1}: can't cmake ${cmakedir}" +		    $err "check_cmake ${1}: can't cmake ${cmakedir}"  	[ -z "${cmakedir}" ] || check_makefile "${1}" || \ -		err "check_cmake ${1}: could not generate Makefile" +		$err "check_cmake ${1}: could not generate Makefile"  	return 0  } @@ -242,11 +240,11 @@ check_autoconf()  {  	(  	_cfgopt="" -	cd "${1}" || err "!cd $1" +	cd "${1}" || $err "!cd $1"  	[ -f "bootstrap" ] && x_ ./bootstrap $bootstrapargs  	[ -f "autogen.sh" ] && x_ ./autogen.sh ${autogenargs}  	[ -f "configure" ] && x_ ./configure $autoconfargs; return 0 -	) || err "can't bootstrap project: $1" +	) || $err "can't bootstrap project: $1"  }  check_makefile() | 
