#!/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 > old.txt <<'INPUT_23_1'
old
INPUT_23_1
cat > changed.txt <<'INPUT_23_2'
new
INPUT_23_2
cat > report.txt <<'INPUT_23_3'
report
INPUT_23_3
touch -t 202001010101 old.txt
touch -t 202101010101 report.txt
touch -t 202201010101 changed.txt
cat > Makefile <<'MAKEFILE'
report.txt: old.txt changed.txt
	@printf "newer: %s\n" "$?"
	@touch $@
MAKEFILE
m -s report.txt
