aboutsummaryrefslogtreecommitdiff
path: root/contrib/bmake/unit-tests/include-sub.inc
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bmake/unit-tests/include-sub.inc')
-rw-r--r--contrib/bmake/unit-tests/include-sub.inc49
1 files changed, 49 insertions, 0 deletions
diff --git a/contrib/bmake/unit-tests/include-sub.inc b/contrib/bmake/unit-tests/include-sub.inc
new file mode 100644
index 000000000000..f26f14c9d84f
--- /dev/null
+++ b/contrib/bmake/unit-tests/include-sub.inc
@@ -0,0 +1,49 @@
+# $NetBSD: include-sub.inc,v 1.1 2023/01/19 23:26:14 rillig Exp $
+
+.if ${.INCLUDEDFROMFILE} == "include-main.mk"
+. info sub-before-ok
+.else
+. warning sub-before-fail(${.INCLUDEDFROMFILE})
+.endif
+
+# As of 2020-09-05, the .for loop is implemented as "including a file"
+# with a custom buffer. Therefore this loop has side effects on these
+# variables.
+.for i in once
+. if ${.INCLUDEDFROMFILE} == "include-main.mk"
+. info sub-before-for-ok
+. else
+. warning sub-before-for-fail(${.INCLUDEDFROMFILE})
+. endif
+.endfor
+
+# To see the variable 'includes' in action:
+#
+# Breakpoints:
+# Parse_PushInput at "Vector_Push(&includes)"
+# HandleMessage at entry
+# Watches:
+# ((const IncludedFile *[10])(*includes.items))
+# *CurFile()
+
+.for i in deeply
+. for i in nested
+. for i in include
+.include "include-subsub.inc"
+. endfor
+. endfor
+.endfor
+
+.if ${.INCLUDEDFROMFILE} == "include-main.mk"
+. info sub-after-ok
+.else
+. warning sub-after-fail(${.INCLUDEDFROMFILE})
+.endif
+
+.for i in once
+. if ${.INCLUDEDFROMFILE} == "include-main.mk"
+. info sub-after-for-ok
+. else
+. warning sub-after-for-fail(${.INCLUDEDFROMFILE})
+. endif
+.endfor