#!/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 > input.txt <<'INPUT_74_1'
complete record
INPUT_74_1
cat > Makefile <<'MAKEFILE'
.PHONY: all broken
all: report.txt
report.txt: input.txt
	@cp $< $@.tmp && mv $@.tmp $@
broken:
	@printf "partial\n" > report.txt.tmp; false
MAKEFILE
m -s all
if m -s broken 2> failure.txt; then exit 1; else test "$?" = 2; fi
cat report.txt
