#!/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"
mkdir -p alpha
cat > alpha/Makefile <<'INPUT_66_1'
all:
	@printf "alpha\n" > result.txt
INPUT_66_1
mkdir -p beta
cat > beta/Makefile <<'INPUT_66_2'
all:
	@printf "beta\n" > result.txt
INPUT_66_2
cat > Makefile <<'MAKEFILE'
.PHONY: all alpha beta
all: alpha beta
alpha beta:
	@$(MAKE) -s -C $@ all
MAKEFILE
m -s -j2 all
cat alpha/result.txt beta/result.txt
