diff --git a/tools/build/make_check/Makefile b/tools/build/make_check/Makefile index a58f9ab72baa..d9c1847f6a95 100644 --- a/tools/build/make_check/Makefile +++ b/tools/build/make_check/Makefile @@ -59,6 +59,9 @@ all: @echo "Running test plus_flag" @${MAKE} plus_flag || ${MAKE} failure @echo "PASS: Test plus_flag detected no regression." + @echo "Running test shell" + @! ${MAKE} shell >/dev/null 2>&1 && true || ${MAKE} failure + @echo "PASS: Test shell detected no regression." .if make(double) # Doubly-defined targets. make(1) will warn, but use the "right" one. If it @@ -236,6 +239,13 @@ plus_flag_1: +@cd /tmp; pwd .endif +.if make(shell) +# Test if make fully supports the .SHELL specification. +.SHELL: path=/nonexistent +A!= echo ok +shell: +.endif + failure: @echo "FAIL: Test failed: regression detected. See above." @false diff --git a/tools/regression/usr.bin/make/Makefile b/tools/regression/usr.bin/make/Makefile index a58f9ab72baa..d9c1847f6a95 100644 --- a/tools/regression/usr.bin/make/Makefile +++ b/tools/regression/usr.bin/make/Makefile @@ -59,6 +59,9 @@ all: @echo "Running test plus_flag" @${MAKE} plus_flag || ${MAKE} failure @echo "PASS: Test plus_flag detected no regression." + @echo "Running test shell" + @! ${MAKE} shell >/dev/null 2>&1 && true || ${MAKE} failure + @echo "PASS: Test shell detected no regression." .if make(double) # Doubly-defined targets. make(1) will warn, but use the "right" one. If it @@ -236,6 +239,13 @@ plus_flag_1: +@cd /tmp; pwd .endif +.if make(shell) +# Test if make fully supports the .SHELL specification. +.SHELL: path=/nonexistent +A!= echo ok +shell: +.endif + failure: @echo "FAIL: Test failed: regression detected. See above." @false