aboutsummaryrefslogtreecommitdiff
path: root/bin/clean
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2023-12-08 18:27:09 -0300
committerEuAndreh <eu@euandre.org>2023-12-08 18:27:09 -0300
commit3ab4e41230d8e3ff64e5cb3054c5185945615dd6 (patch)
treeb9131a3dcbb22b5eb159173e32691e5d2542d271 /bin/clean
parentetc/guix/home.scm: Fix imports (diff)
downloaddotfiles-3ab4e41230d8e3ff64e5cb3054c5185945615dd6.tar.gz
dotfiles-3ab4e41230d8e3ff64e5cb3054c5185945615dd6.tar.xz
etc/sh/rc: Replace "clean" alias with clean(1) utility
Diffstat (limited to 'bin/clean')
-rwxr-xr-xbin/clean70
1 files changed, 70 insertions, 0 deletions
diff --git a/bin/clean b/bin/clean
new file mode 100755
index 0000000..889af8d
--- /dev/null
+++ b/bin/clean
@@ -0,0 +1,70 @@
+#!/bin/sh
+set -eu
+
+
+usage() {
+ cat <<-'EOF'
+ Usage:
+ clean
+ clean -h
+ EOF
+}
+
+help() {
+ cat <<-'EOF'
+
+
+ Options:
+ -h, --help show this message
+
+
+ Clean the project and list the leftover files.
+
+
+ Examples:
+
+ Just run it:
+
+ $ clean
+ EOF
+}
+
+
+for flag in "$@"; do
+ case "$flag" in
+ (--)
+ break
+ ;;
+ (--help)
+ usage
+ help
+ exit
+ ;;
+ (*)
+ ;;
+ esac
+done
+
+while getopts 'h' flag; do
+ case "$flag" in
+ (h)
+ usage
+ help
+ exit
+ ;;
+ (*)
+ usage >&2
+ exit 2
+ esac
+done
+shift $((OPTIND - 1))
+
+
+if [ -e dev.mk ]; then
+ F='Makefile'
+else
+ F='dev.mk'
+fi
+
+make -sf"$F" clean
+vcs clean