.POSIX: .SILENT: AWK = awk AWKS = \ "busybox awk" \ "gawk --posix" \ "gawk" \ "mawk" \ "original-awk" \ MDLINT = mdlint test: $(MDLINT) printf "%-16s" "$(AWK):" bash -c "exec diff -u test.out <($(AWK) -f $(MDLINT) test.in)" echo " OK" test-awks: for awk in $(AWKS); do \ $$awk "BEGIN { exit }" 2>/dev/null || continue; \ $(MAKE) -s AWK="$$awk" test; \ done lint: gawk --lint --posix -We $(MDLINT) test.in 2>&1 >/dev/null \ | grep . || status="$$?" && test "$${status:-0}" -eq 1 sanity: lint test-awks