summaryrefslogtreecommitdiff
path: root/usr.bin/make/unit-tests/directive-include-fatal.mk
blob: d4ed26f2a4aa36afc5d15036bfcc7268566f8aa6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# $NetBSD: directive-include-fatal.mk,v 1.4 2023/06/01 20:56:35 rillig Exp $
#
# Test for the .include directive combined with fatal errors.
#
# At 2020-09-13, the code in Parse_File that sets "fatals = 0" looked
# suspicious, as if it were possible to suppress fatal errors by including
# another file.  It was a false alarm though, since Parse_File only handles
# the top-level makefiles from the command line.  Any included files are
# handled by IncludeFile instead, and that function does not reset
# the "fatals" counter.

# Using an undefined variable in a condition generates a fatal error.
# expect+1: Malformed conditional (${UNDEF})
.if ${UNDEF}
.endif

# Including another file does not reset the global variable "fatals".
# The exit status will be 1.
.include "/dev/null"

# Adding another file to be included has no effect either.
# When the command line is parsed, the additional file is only enqueued
# in the global "makefiles" variable, but not immediately run through
# Parse_File.
.MAKEFLAGS: -f "/dev/null"

all:
	@:;