#!/bin/sh set -eu if [ -n "${RECURSIVE_CHECK:-}" ]; then exit fi export RECURSIVE_CHECK=true if [ ! -e .git ]; then echo "Not in a Git repository, skipping \"$0\"" >&2 exit fi . tools/lib.sh D="$(mkdtemp)" trap 'rm -rf "$D"' EXIT git clone -q --depth=1 file://"$PWD" "$D" cd "$D" make all check 1>/dev/null 2>&1 ||: make -s clean { printf '%s: "clean" target deletes all derived assets...' "$0" if [ -n "$(git status -s)" ]; then printf ' ERR.\n' echo 'Repository left dirty:' git status exit 1 fi if [ -n "$(git clean -nffdx)" ]; then printf ' ERR.\n' echo 'Untracked files left:' git clean -ffdx --dry-run exit 1 fi printf ' OK\n' } >&2