diff options
Diffstat (limited to 'resources/scripts/build/src/for')
| -rwxr-xr-x | resources/scripts/build/src/for | 25 | 
1 files changed, 21 insertions, 4 deletions
| diff --git a/resources/scripts/build/src/for b/resources/scripts/build/src/for index b3e9ff8e..1b7c7483 100755 --- a/resources/scripts/build/src/for +++ b/resources/scripts/build/src/for @@ -21,14 +21,27 @@  [ "x${DEBUG+set}" = 'xset' ] && set -v  set -u -e +mode=""  project=""  main()  { -	[ $# -lt 1 ] && err "project name not specified" -	project="${1}" -	shift 1 +	while getopts b:c: option +	do +		case "${1}" in +		-b) +			shift ;; +		-c) +			mode="distclean" +			shift ;; +		*) +			err "Invalid option" ;; +		esac +		project="${OPTARG}" +		shift +	done +	[ -z "${project}" ] && err "project name not specified"  	[ "${project}" = "ich9utils" ] && project="util/ich9utils"  	[ -d "${project}" ] || ./fetch "${project}" \ @@ -41,7 +54,11 @@ main()  		cmake UEFIExtract/ || err "cannot cmake UEFIExtract"  		)  	fi -	make -C "${project}" || err "Cannot build project, ${project}" +	[ ! -z "${mode}" ] || \ +		make -C "${project}" || err "'make' failed (${project})" +	[ -z "${mode}" ] || \ +		make -C "${project}" distclean || make -C "${project}" clean \ +		    || err "cannot clean project src, ${project}"  }  err() | 
