diff options
Diffstat (limited to 'script/update/project/trees')
| -rwxr-xr-x | script/update/project/trees | 14 | 
1 files changed, 10 insertions, 4 deletions
| diff --git a/script/update/project/trees b/script/update/project/trees index 6a31d8d0..9e6803cf 100755 --- a/script/update/project/trees +++ b/script/update/project/trees @@ -1,6 +1,6 @@  #!/usr/bin/env sh  # SPDX-License-Identifier: GPL-3.0-or-later -# SPDX-FileCopyrightText: 2022 Alper Nebi Yasak <alpernebiyasak@gmail.com> +# SPDX-FileCopyrightText: 2022-2023 Alper Nebi Yasak <alpernebiyasak@gmail.com>  # SPDX-FileCopyrightText: 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>  # SPDX-FileCopyrightText: 2023 Leah Rowe <leah@libreboot.org> @@ -21,7 +21,7 @@ tmpclean="$(mktemp -d -t makeclean.XXXXXXXXXX)"  main()  { -	while getopts f:b:m:u:c:x: option +	while getopts f:b:m:u:c:x:s:l:n: option  	do  		_f="${1}"  		case "${1}" in @@ -31,11 +31,14 @@ main()  		-c) mode="distclean" ;;  		-x) mode="crossgcc-clean" ;;  		-f) mode="fetch" ;; +		-s) mode="savedefconfig" ;; +		-l) mode="olddefconfig" ;; +		-n) mode="nconfig" ;;  		*) err "Invalid option" ;;  		esac  		shift; project="${OPTARG#src/}"; shift  	done -	[ -z "${_f}" ] && err "flag not specified (-m, -u, -b, -c or -x)" +	[ -z "${_f}" ] && err "flag not specified (-m, -u, -b, -c, -x, -f, -s, -l or -n)"  	[ -z "${project}" ] && err "project name not specified"  	if [ ! -f "config/${project}/build.list" ]; then @@ -263,8 +266,11 @@ handle_makefile()  	if [ -e "${codedir}/.git" ] && [ "${project}" = "u-boot" ] && \  	    [ "${mode}" = "distclean" ]; then  		x_ git -C "${codedir}" clean -fdx -	elif [ "${mode}" = "oldconfig" ] || [ "${mode}" = "menuconfig" ]; then +	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  } | 
