#!/usr/bin/env sh # Do - The Simplest Build Tool on Earth. # Documentation and examples see https://github.com/8gears/do set -Eeuo pipefail # -e "Automatic exit from bash shell script on error" -u "Treat unset variables and parameters as errors" build() { echo "I am ${FUNCNAME[0]}ing" make all } all() { build } clean() { echo "I am ${FUNCNAME[0]}ing" latexmk -C rm -f *.bbl *.run.xml rm -f figures } tidy() { echo "I am ${FUNCNAME[0]}ing" latexmk -c } "$@" # <- execute the task [ "$#" -gt 0 ] || printf "Usage:\n\t./do.sh %s\n" "($(compgen -A function | grep '^[^_]' | paste -sd '|' -))"