#!/usr/bin/env bash
set -euo pipefail
unset MAKEFLAGS MFLAGS GNUMAKEFLAGS
make_bin=$(command -v gmake || command -v make)
m() { "$make_bin" --no-print-directory -rR "$@"; }
work_dir=$(mktemp -d)
if [ "${KEEP_WORK:-0}" = 1 ]; then
  trap 'printf "Artifacts: %s\n" "$work_dir"' EXIT
else
  trap 'rm -rf -- "$work_dir"' EXIT
fi
cd "$work_dir"
export TMPDIR="$work_dir"
cat > Makefile <<'MAKEFILE'
.DELETE_ON_ERROR:
report.txt:
	@printf "incomplete\n" > $@
	@false
MAKEFILE
if m -s report.txt 2> failure.txt; then exit 1; else status=$?; test "$status" = 2; fi
test ! -e report.txt
printf "partial output removed\n"
