11.1Srillig# $NetBSD: include-sub.inc,v 1.1 2023/01/19 23:26:14 rillig Exp $
21.1Srillig
31.1Srillig.if ${.INCLUDEDFROMFILE} == "include-main.mk"
41.1Srillig.  info sub-before-ok
51.1Srillig.else
61.1Srillig.  warning sub-before-fail(${.INCLUDEDFROMFILE})
71.1Srillig.endif
81.1Srillig
91.1Srillig# As of 2020-09-05, the .for loop is implemented as "including a file"
101.1Srillig# with a custom buffer.  Therefore this loop has side effects on these
111.1Srillig# variables.
121.1Srillig.for i in once
131.1Srillig.  if ${.INCLUDEDFROMFILE} == "include-main.mk"
141.1Srillig.    info sub-before-for-ok
151.1Srillig.  else
161.1Srillig.    warning sub-before-for-fail(${.INCLUDEDFROMFILE})
171.1Srillig.  endif
181.1Srillig.endfor
191.1Srillig
201.1Srillig# To see the variable 'includes' in action:
211.1Srillig#
221.1Srillig# Breakpoints:
231.1Srillig#	Parse_PushInput		at "Vector_Push(&includes)"
241.1Srillig#	HandleMessage		at entry
251.1Srillig# Watches:
261.1Srillig#	((const IncludedFile *[10])(*includes.items))
271.1Srillig#	*CurFile()
281.1Srillig
291.1Srillig.for i in deeply
301.1Srillig.  for i in nested
311.1Srillig.    for i in include
321.1Srillig.include "include-subsub.inc"
331.1Srillig.    endfor
341.1Srillig.  endfor
351.1Srillig.endfor
361.1Srillig
371.1Srillig.if ${.INCLUDEDFROMFILE} == "include-main.mk"
381.1Srillig.  info sub-after-ok
391.1Srillig.else
401.1Srillig.  warning sub-after-fail(${.INCLUDEDFROMFILE})
411.1Srillig.endif
421.1Srillig
431.1Srillig.for i in once
441.1Srillig.  if ${.INCLUDEDFROMFILE} == "include-main.mk"
451.1Srillig.    info sub-after-for-ok
461.1Srillig.  else
471.1Srillig.    warning sub-after-for-fail(${.INCLUDEDFROMFILE})
481.1Srillig.  endif
491.1Srillig.endfor
50