include-main.mk revision 1.9 1 # $NetBSD: include-main.mk,v 1.9 2023/06/01 20:56:35 rillig Exp $
2 #
3 # Until 2020-09-05, the .INCLUDEDFROMFILE magic variable did not behave
4 # as described in the manual page.
5 #
6 # The manual page says that it is the "filename of the file this Makefile
7 # was included from", while before 2020-09-05 it was the "filename in which
8 # the latest .include happened". See parse.c, function SetParseFile.
9 #
10 # Since 2020-09-05, the .INCLUDEDFROMDIR and .INCLUDEDFROMFILE variables
11 # properly handle nested includes and even .for loops.
12
13 .if !defined(.INCLUDEDFROMFILE)
14 # expect+1: main-before-ok
15 . info main-before-ok
16 .else
17 . warning main-before-fail(${.INCLUDEDFROMFILE})
18 .endif
19
20 .for i in once
21 . if !defined(.INCLUDEDFROMFILE)
22 # expect+1: main-before-for-ok
23 . info main-before-for-ok
24 . else
25 . warning main-before-for-fail(${.INCLUDEDFROMFILE})
26 . endif
27 .endfor
28
29 .include "include-sub.inc"
30
31 .if !defined(.INCLUDEDFROMFILE)
32 # expect+1: main-after-ok
33 . info main-after-ok
34 .else
35 . warning main-after-fail(${.INCLUDEDFROMFILE})
36 .endif
37
38 .for i in once
39 . if !defined(.INCLUDEDFROMFILE)
40 # expect+1: main-after-for-ok
41 . info main-after-for-ok
42 . else
43 . warning main-after-for-fail(${.INCLUDEDFROMFILE})
44 . endif
45 .endfor
46
47 all: # nothing
48