head	1.6;
access;
symbols
	netbsd-10-2-RELEASE:1.2
	netbsd-11-0-RELEASE:1.6
	netbsd-11-0-RC7:1.6
	netbsd-11-0-RC6:1.6
	netbsd-11-0-RC5:1.6
	netbsd-11-0-RC4:1.6
	netbsd-11-0-RC3:1.6
	netbsd-11-0-RC2:1.6
	netbsd-11-0-RC1:1.6
	perseant-exfatfs-base-20250801:1.6
	netbsd-11:1.6.0.2
	netbsd-11-base:1.6
	netbsd-10-1-RELEASE:1.2
	perseant-exfatfs-base-20240630:1.3
	perseant-exfatfs:1.3.0.2
	perseant-exfatfs-base:1.3
	netbsd-10-0-RELEASE:1.2
	netbsd-10-0-RC6:1.2
	netbsd-10-0-RC5:1.2
	netbsd-10-0-RC4:1.2
	netbsd-10-0-RC3:1.2
	netbsd-10-0-RC2:1.2
	netbsd-10-0-RC1:1.2
	netbsd-10:1.2.0.2
	netbsd-10-base:1.2
	cjep_sun2x-base1:1.1
	cjep_sun2x:1.1.0.4
	cjep_sun2x-base:1.1
	cjep_staticlib_x-base1:1.1
	cjep_staticlib_x:1.1.0.2
	cjep_staticlib_x-base:1.1;
locks; strict;
comment	@# @;


1.6
date	2025.03.30.09.51.50;	author rillig;	state Exp;
branches;
next	1.5;
commitid	veGmSzVhPiW2G4PF;

1.5
date	2024.07.04.20.18.40;	author rillig;	state Exp;
branches;
next	1.4;
commitid	75IS4XOhTa8VOygF;

1.4
date	2024.07.04.17.47.54;	author rillig;	state Exp;
branches;
next	1.3;
commitid	mjDGVMgldk7QYxgF;

1.3
date	2023.06.01.20.56.35;	author rillig;	state Exp;
branches
	1.3.2.1;
next	1.2;
commitid	j3tIvMRlxolKQhrE;

1.2
date	2022.01.02.00.07.20;	author rillig;	state Exp;
branches;
next	1.1;
commitid	oUzhDAskdHIhvZmD;

1.1
date	2020.08.29.18.50.25;	author rillig;	state Exp;
branches;
next	;
commitid	ih51T7oGUgP2vZlC;

1.3.2.1
date	2025.08.02.05.58.33;	author perseant;	state Exp;
branches;
next	;
commitid	23j6GFaDws3O875G;


desc
@@


1.6
log
@make: use '"filename" line 123' for locations instead of 'filename:123'

The format 'filename:123' is commonly used for identifying a location in
a file. Text editors recognize it and allow quick navigation through it.
The previous format was specific to make and would have required custom
support in editors.

The new format was already used in stack traces, except for the first
line. Now all lines use the same format.
@
text
@make: directive-for-generating-endif.mk:24: if-less endif
	in .for loop from directive-for-generating-endif.mk:20 with i = 3
make: directive-for-generating-endif.mk:24: if-less endif
	in .for loop from directive-for-generating-endif.mk:20 with i = 2
make: directive-for-generating-endif.mk:24: if-less endif
	in .for loop from directive-for-generating-endif.mk:20 with i = 1
make: directive-for-generating-endif.mk:30: 3 open conditionals
make: Fatal errors encountered -- cannot continue
make: stopped making "all" in unit-tests
exit status 1
@


1.5
log
@make: on error, print the targets to be made

This helps to understand situations with several nested sub-makes in
varying directories.
@
text
@d1 1
a1 1
make: "directive-for-generating-endif.mk" line 24: if-less endif
d3 1
a3 1
make: "directive-for-generating-endif.mk" line 24: if-less endif
d5 1
a5 1
make: "directive-for-generating-endif.mk" line 24: if-less endif
d7 1
a7 1
make: "directive-for-generating-endif.mk" line 30: 3 open conditionals
@


1.4
log
@make: add more context information to error messages

In case of a parse error or evaluation error, print the variable value
in addition to the variable name, to see the effects of previous
expression modifiers.

In nested make calls, print the current directory at the bottom of a
stack trace, as that information is otherwise hard to get in a parallel
build spanning multiple directories.
@
text
@d9 1
a9 1
make: stopped in unit-tests
@


1.3
log
@tests/make: force line-based diagnostics to be listed in the tests

This way, contradictions between the intended output and the actual
output are closer together and have a better chance of being spotted.
@
text
@d2 1
d4 1
d6 1
@


1.3.2.1
log
@Sync with HEAD
@
text
@d1 4
a4 7
make: directive-for-generating-endif.mk:24: if-less endif
	in .for loop from directive-for-generating-endif.mk:20 with i = 3
make: directive-for-generating-endif.mk:24: if-less endif
	in .for loop from directive-for-generating-endif.mk:20 with i = 2
make: directive-for-generating-endif.mk:24: if-less endif
	in .for loop from directive-for-generating-endif.mk:20 with i = 1
make: directive-for-generating-endif.mk:30: 3 open conditionals
d6 1
a6 1
make: stopped making "all" in unit-tests
@


1.2
log
@make: fix line number in error message about open conditionals
@
text
@d1 4
a4 4
make: "directive-for-generating-endif.mk" line 21: if-less endif
make: "directive-for-generating-endif.mk" line 21: if-less endif
make: "directive-for-generating-endif.mk" line 21: if-less endif
make: "directive-for-generating-endif.mk" line 26: 3 open conditionals
@


1.1
log
@make(1): add tests for .else and .for + .endif
@
text
@d4 1
a4 1
make: "directive-for-generating-endif.mk" line 0: 3 open conditionals
@

