summaryrefslogtreecommitdiff
path: root/include/make.sh
diff options
context:
space:
mode:
Diffstat (limited to 'include/make.sh')
-rw-r--r--include/make.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/include/make.sh b/include/make.sh
new file mode 100644
index 00000000..697c40d2
--- /dev/null
+++ b/include/make.sh
@@ -0,0 +1,30 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+# SPDX-FileCopyrightText: 2023 Leah Rowe <leah@libreboot.org>
+
+main()
+{
+ while getopts b:m:u:c:x: option
+ do
+ _flag="${1}"
+ case "${1}" in
+ -b) mode="all" ;;
+ -u) mode="oldconfig" ;;
+ -m) mode="menuconfig" ;;
+ -c) mode="distclean" ;;
+ -x) mode="crossgcc-clean" ;;
+ *) fail "Invalid option" ;;
+ esac
+ shift; project="${OPTARG}"; shift
+ done
+ [ -z "${mode}" ] && fail "mode not given (-m, -u, -b, -c or -x)"
+ [ -z "${project}" ] && fail "project name not specified"
+
+ handle_dependencies $@
+ handle_targets
+}
+
+fail()
+{
+ [ -z "${codedir}" ] || ./handle make file -c "${codedir}" || :
+ err "${1}"
+}