#!/bin/sh
# SPDX-FileCopyrightText: 2022 Caleb La Grange <thonkpeasant@protonmail.com>
# SPDX-License-Identifier: GPL-3.0-only

./.gitcheck

script_dir="resources/scripts/blobs"
modes=$(ls -1 ${script_dir})

Print_help(){
	cat <<- EOF
	Usage: ./blobutil [mode] <options>
	Example: ./blobutil download x230_12mb

	Possible options for mode are
	${modes}

	Mode descriptions:
	download: Try to automatically generate blobs for specified board
	inject: Inject blobs for specified board into specified rom
	extract: Extract blobs from specified rom for specified board
	EOF
}


if [ $# -gt 0 ]; then
        mode="${1}"
        shift
	args="$@"

	if [ ! -f "${script_dir}/${mode}" ]; then
		printf "Error: No mode ${mode}\n"
		Print_help
		exit 1
	else
		./${script_dir}/${mode} ${args}
	fi

else
	printf 'Error: You must specify a mode\n'
        Print_help
fi

./.gitcheck clean