summaryrefslogtreecommitdiffstats
path: root/tools/regression/usr.bin/make/shell/meta/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'tools/regression/usr.bin/make/shell/meta/Makefile')
-rw-r--r--tools/regression/usr.bin/make/shell/meta/Makefile30
1 files changed, 30 insertions, 0 deletions
diff --git a/tools/regression/usr.bin/make/shell/meta/Makefile b/tools/regression/usr.bin/make/shell/meta/Makefile
new file mode 100644
index 0000000..28a50d6
--- /dev/null
+++ b/tools/regression/usr.bin/make/shell/meta/Makefile
@@ -0,0 +1,30 @@
+#
+# In compat mode (the default without -j) a line that contains no shell
+# meta characters and no shell builtins is not passed to the shell but
+# executed directly. In our example the ls line without meta characters
+# will really execute ls, while the line with meta characters will execute
+# our special shell.
+#
+# $FreeBSD$
+
+all: sh
+ @MAKEFLAGS= ${MAKE} -B no-meta
+ @MAKEFLAGS= ${MAKE} -B meta
+
+sh: sh.sh
+ @cp ${.CURDIR}/sh.sh ${.OBJDIR}/sh
+ @chmod +x ${.OBJDIR}/sh
+
+.ifmake meta || no-meta
+
+.SHELL: path="${.OBJDIR}/sh"
+
+.PHONY: meta no-meta
+
+meta:
+ @ls *
+
+no-meta:
+ @ls -d .
+
+.endif
OpenPOWER on IntegriCloud