<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/mk/sys.dirdeps.mk, branch vendor/NetBSD/bmake</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>Import bmake-20260313</title>
<updated>2026-04-06T18:25:05+00:00</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2026-04-06T18:25:05+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=fe271bdb43cf88ee129d94c0e286fe618fd28e89'/>
<id>fe271bdb43cf88ee129d94c0e286fe618fd28e89</id>
<content type='text'>
Intersting/relevant changes since bmake-20251111

ChangeLog since bmake-20251111

2026-03-12  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260313
	Merge with NetBSD make, pick up
	o make: ensure .MAKE.SAVE_DOLLARS is initialized so makefiles like
	sys.vars.mk can test its value to know how to deal with macros
	that need to save '$' during ':='.

	* Makefile: default MAKE_SAVE_DOLLARS_DEFAULT to "no"
	for traditional behavior.

2026-03-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260310
	Merge with NetBSD make, pick up
	o unit-tests ensure TEST_MAKE is absolute path
	and tests that make symlink for ${MAKE} can run in parallel.

2026-03-03  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260303
	Merge with NetBSD make, pick up
	o job.c: MaybeSubMake: Look for expansion of ${.MAKE}
	and if necessary its basename, and only match if at start of line
	or preceded by space.

2026-02-28  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* Makefile: mark ${PROG} and ${OBJS} as .META
	MaybeSubMake will otherwise mistake them for sub-makes

	* VERSION (_MAKE_VERSION): 20260301
	Merge with NetBSD make, pick up
	o job.c: MaybeSubMake: skip control chars [@+-] at start of line
	when checking for ${MAKE}

2026-02-22  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260222
	o mk file update

2026-02-16  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260216
	Merge with NetBSD make, pick up
	o minor cleanups

2026-02-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260210
	Merge with NetBSD make, pick up
	o document that multiple variables can be set on command line.
	o move MaybeSubMake to job.c so it can be called on expanded
	commands for more accuracy and less overhead.
	o main.c: set .MAKE.VERSION as read-only.

	* unit-tests/opt-{chdir,where-am-i}.mk: use MAKEOBJDIRPREFIX=/
	to avoid tripping over an unreadable /usr/obj

2026-02-04  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* unit-tests/varname-make_stack_trace.mk: for
	FreeBSD and similar set .MAKE.ALWAYS_PASS_JOB_QUEUE=no
	to ensure we get the expected errors.

	* VERSION (_MAKE_VERSION): 20260202
	Merge with NetBSD make, pick up
	o on error avoid duplicate stack trace to stderr

2026-01-11  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260111
	Merge with NetBSD make, pick up
	o var.c: add explicit check for empty re as not all
	regex libs throw an error as expected, in this case.

2026-01-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260110
	Merge with NetBSD make, pick up
	o minor cleanups

mk/ChangeLog since bmake-20251111

2026-03-12  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20260313

	* sys.vars.mk: use .MAKE.VERSION
	M_type can simply use '$x'

2026-02-22  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20260222

	* dirdeps.mk, sys.mk: add dependent option
	UPDATE_DIRDEPS_CACHE/DIRDEPS_CACHE.
	It can be useful to use -DWITHOUT_UPDATE_DIRDEPS_CACHE to
	temporarily treat dynamic DIRDEPS_CACHE as static.

2026-01-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* meta.autodep.mk (${_DEPENDFILE}): add .NOMETA

2026-01-08  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* rust.mk: better accommodation for RUST_LIBS.
	Set RUST_{LIBS,PROGS}_CARGO_BUILD_OUTPUT_LIST to
	simplify staging.

2025-12-08  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20251207

	* sys.vars.mk: replace MAKE_POSIX_SHELL usage with isPOSIX_SHELL
	Using ${isPOSIX_SHELL:U:Nfalse} provides a boolean for make
	and ${isPOSIX_SHELL:Ufalse} does the same for target scripts.
	Both will be false if isPOSIX_SHELL is not set or set to false.

	This has the advantage that if only POSIX shells are expected
	sys.mk (or something it includes) can simply do isPOSIX_SHELL?=:
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Intersting/relevant changes since bmake-20251111

ChangeLog since bmake-20251111

2026-03-12  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260313
	Merge with NetBSD make, pick up
	o make: ensure .MAKE.SAVE_DOLLARS is initialized so makefiles like
	sys.vars.mk can test its value to know how to deal with macros
	that need to save '$' during ':='.

	* Makefile: default MAKE_SAVE_DOLLARS_DEFAULT to "no"
	for traditional behavior.

2026-03-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260310
	Merge with NetBSD make, pick up
	o unit-tests ensure TEST_MAKE is absolute path
	and tests that make symlink for ${MAKE} can run in parallel.

2026-03-03  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260303
	Merge with NetBSD make, pick up
	o job.c: MaybeSubMake: Look for expansion of ${.MAKE}
	and if necessary its basename, and only match if at start of line
	or preceded by space.

2026-02-28  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* Makefile: mark ${PROG} and ${OBJS} as .META
	MaybeSubMake will otherwise mistake them for sub-makes

	* VERSION (_MAKE_VERSION): 20260301
	Merge with NetBSD make, pick up
	o job.c: MaybeSubMake: skip control chars [@+-] at start of line
	when checking for ${MAKE}

2026-02-22  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260222
	o mk file update

2026-02-16  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260216
	Merge with NetBSD make, pick up
	o minor cleanups

2026-02-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260210
	Merge with NetBSD make, pick up
	o document that multiple variables can be set on command line.
	o move MaybeSubMake to job.c so it can be called on expanded
	commands for more accuracy and less overhead.
	o main.c: set .MAKE.VERSION as read-only.

	* unit-tests/opt-{chdir,where-am-i}.mk: use MAKEOBJDIRPREFIX=/
	to avoid tripping over an unreadable /usr/obj

2026-02-04  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* unit-tests/varname-make_stack_trace.mk: for
	FreeBSD and similar set .MAKE.ALWAYS_PASS_JOB_QUEUE=no
	to ensure we get the expected errors.

	* VERSION (_MAKE_VERSION): 20260202
	Merge with NetBSD make, pick up
	o on error avoid duplicate stack trace to stderr

2026-01-11  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260111
	Merge with NetBSD make, pick up
	o var.c: add explicit check for empty re as not all
	regex libs throw an error as expected, in this case.

2026-01-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260110
	Merge with NetBSD make, pick up
	o minor cleanups

mk/ChangeLog since bmake-20251111

2026-03-12  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20260313

	* sys.vars.mk: use .MAKE.VERSION
	M_type can simply use '$x'

2026-02-22  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20260222

	* dirdeps.mk, sys.mk: add dependent option
	UPDATE_DIRDEPS_CACHE/DIRDEPS_CACHE.
	It can be useful to use -DWITHOUT_UPDATE_DIRDEPS_CACHE to
	temporarily treat dynamic DIRDEPS_CACHE as static.

2026-01-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* meta.autodep.mk (${_DEPENDFILE}): add .NOMETA

2026-01-08  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* rust.mk: better accommodation for RUST_LIBS.
	Set RUST_{LIBS,PROGS}_CARGO_BUILD_OUTPUT_LIST to
	simplify staging.

2025-12-08  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20251207

	* sys.vars.mk: replace MAKE_POSIX_SHELL usage with isPOSIX_SHELL
	Using ${isPOSIX_SHELL:U:Nfalse} provides a boolean for make
	and ${isPOSIX_SHELL:Ufalse} does the same for target scripts.
	Both will be false if isPOSIX_SHELL is not set or set to false.

	This has the advantage that if only POSIX shells are expected
	sys.mk (or something it includes) can simply do isPOSIX_SHELL?=:
</pre>
</div>
</content>
</entry>
<entry>
<title>Import bmake-20251111</title>
<updated>2025-12-03T17:57:57+00:00</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2025-12-03T17:57:57+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=638c66de4a0faa4c2e815e81cd4021c2387c7e0f'/>
<id>638c66de4a0faa4c2e815e81cd4021c2387c7e0f</id>
<content type='text'>
Intersting/relevant changes since bmake-20250804

ChangeLog since bmake-20250804

2025-11-15  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* boot-strap: unset more things from env and save a copy
	to env.out for debugging.

2025-11-12  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20251111
	Merge with NetBSD make, pick up
	o var.c: add :sh1 which only evaluates command on first reference.

2025-11-11  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* configure.in: Force filemon=no for Cygwin and MINGW64_NT

2025-11-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* unit-tests/Makefile: handle MINGW64_NT
	mark some tests broken, filter others as per Cygwin.

2025-10-23  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* make.1: document MAKE_VERSION.

2025-10-22  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20251022

	* configure.in: Add a check that lua is version 5.2 or later
	if not we want to skip running check-expect.lua

2025-09-16  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20250916
	Merge with NetBSD make, pick up
	o var.c: avoid compiler warning from hexdigits

mk/ChangeLog since bmake-20250804

2025-11-18  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* sys.vars.mk: set MAKE_POSIX_SHELL to 1 if .SHELL is POSIX, 0 if not.
	set isPOSIX_SHELL for use in target scripts.

	* meta.stage.mk: set MAKE_POSIX_SHELL if needed.

	* install-new.mk: use ${isPOSIX_SHELL:Ufalse} to see if we can
	avoid running 'expr'.

	* install-new.mk: Allow use of cp or mv - controlled by CPMV_OP
	(default mv).

2025-11-13  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* sys.vars.mk: add M_sh1 so we can handle older bmake that does
	not support :sh1

2025-11-11  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20251111

	* meta2deps.sh: reset some vars for each new meta file
	set meta_file to path of meta file.
	If meta2deps appears in DEBUG_SH set -x.

2025-09-16  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* options.mk: Add OPTIONS_DEFAULT_DEPENDENT_REQUIRED of the form
	OPTION/REQUIRED[/VALUE]
	if OPTION is $VALUE (default is "yes"), then REQUIRED must be too.
	We add OPTIONS_DEFAULT_DEPENDENT_REQUIRED (sans any /{yes,no}) to
	OPTIONS_DEFAULT_DEPENDENT so DEPENDENT/REQUIRED follow the same
	processing.

	Also add OPTIONS_FORCED_VALUES of the form OPTION/{yes,no}
	we add any OPTIONS_FORCED_NO and OPTIONS_FORCED_YES before
	processing.

	Simplify the processing of OPTIONS_DEFAULT_VALUES and
	OPTIONS_DEFAULT_DEPENDENT by splitting the tuples and use two
	iterator variables in the .for loops.

2025-08-09  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20250808

	* replace sjg license with just BSD-2-Clause SPDX tag
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Intersting/relevant changes since bmake-20250804

ChangeLog since bmake-20250804

2025-11-15  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* boot-strap: unset more things from env and save a copy
	to env.out for debugging.

2025-11-12  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20251111
	Merge with NetBSD make, pick up
	o var.c: add :sh1 which only evaluates command on first reference.

2025-11-11  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* configure.in: Force filemon=no for Cygwin and MINGW64_NT

2025-11-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* unit-tests/Makefile: handle MINGW64_NT
	mark some tests broken, filter others as per Cygwin.

2025-10-23  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* make.1: document MAKE_VERSION.

2025-10-22  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20251022

	* configure.in: Add a check that lua is version 5.2 or later
	if not we want to skip running check-expect.lua

2025-09-16  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20250916
	Merge with NetBSD make, pick up
	o var.c: avoid compiler warning from hexdigits

mk/ChangeLog since bmake-20250804

2025-11-18  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* sys.vars.mk: set MAKE_POSIX_SHELL to 1 if .SHELL is POSIX, 0 if not.
	set isPOSIX_SHELL for use in target scripts.

	* meta.stage.mk: set MAKE_POSIX_SHELL if needed.

	* install-new.mk: use ${isPOSIX_SHELL:Ufalse} to see if we can
	avoid running 'expr'.

	* install-new.mk: Allow use of cp or mv - controlled by CPMV_OP
	(default mv).

2025-11-13  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* sys.vars.mk: add M_sh1 so we can handle older bmake that does
	not support :sh1

2025-11-11  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20251111

	* meta2deps.sh: reset some vars for each new meta file
	set meta_file to path of meta file.
	If meta2deps appears in DEBUG_SH set -x.

2025-09-16  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* options.mk: Add OPTIONS_DEFAULT_DEPENDENT_REQUIRED of the form
	OPTION/REQUIRED[/VALUE]
	if OPTION is $VALUE (default is "yes"), then REQUIRED must be too.
	We add OPTIONS_DEFAULT_DEPENDENT_REQUIRED (sans any /{yes,no}) to
	OPTIONS_DEFAULT_DEPENDENT so DEPENDENT/REQUIRED follow the same
	processing.

	Also add OPTIONS_FORCED_VALUES of the form OPTION/{yes,no}
	we add any OPTIONS_FORCED_NO and OPTIONS_FORCED_YES before
	processing.

	Simplify the processing of OPTIONS_DEFAULT_VALUES and
	OPTIONS_DEFAULT_DEPENDENT by splitting the tuples and use two
	iterator variables in the .for loops.

2025-08-09  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20250808

	* replace sjg license with just BSD-2-Clause SPDX tag
</pre>
</div>
</content>
</entry>
<entry>
<title>Import bmake-20240430</title>
<updated>2024-05-03T22:43:12+00:00</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2024-05-03T22:43:12+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=507951f55039f9d1ceae507d510f8cb68225fbc5'/>
<id>507951f55039f9d1ceae507d510f8cb68225fbc5</id>
<content type='text'>
Intersting/relevant changes since bmake-20240309

ChangeLog since bmake-20240309

2024-04-30  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240430
	Merge with NetBSD make, pick up
	o main.c: ensure '.include &lt;makefile&gt;' respects MAKESYSPATH.
	Dir_FindFile will search .CURDIR first unless ".DOTLAST" is seen.

2024-04-28  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240428
	Merge with NetBSD make, pick up
	o simplify freeing of lists
	o arch.c: trim pointless comments
	o var.c: delay variable assignments until actually needed
	don't reallocate memory after evaluating an expression, result is
	almost always short-lived.

2024-04-26  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240426
	Merge with NetBSD make, pick up
	o job.c: in debug output, print the directory in which a job
	failed at same time as failed target so it is more easily found in
	build log.

2024-04-24  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240424
	Merge with NetBSD make, pick up
	o clean up comments, code and tests

2024-04-23  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240422
	Merge with NetBSD make, pick up
	o var.c: avoid LazyBuf for :*time modifiers.
	LazyBuf's are not nul terminated so not suitable for passing to
	functions that expect that. These modifiers are used sparingly so
	an extra allocation is not a problem.

2024-04-20  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240420
	Merge with NetBSD make, pick up
	o provide more context information for parse/evaluate errors

2024-04-14  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240414
	Merge with NetBSD make, pick up
	o parse.c: print -dp debug info earlier so we see which
	.if or .for line is being parsed.

2024-04-04  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240404
	Merge with NetBSD make, pick up
	o fix some unit tests for Cygwin
	o parse.c: exit immediately after reading a null byte from a makefile

	* fix generation of bmake.cat1

2024-03-19  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240314
	Add/Improve support for Cygwin
	o uname -s output isn't useful so allow configure to
	set FORCE_MAKE_OS - to force the value of .MAKE.OS
	and use Cygwin which matches uname -o
	o fix some unit-tests for Cygwin

	* configure.in: use_makefile=no for Cygwin et al.
	NOTE: bmake does not support Cygwin and likely never will,

mk/ChangeLog since bmake-20240309

2024-04-24  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* meta.autodep.mk: do not override start_utc

2024-04-18  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* sys.dirdeps.mk: set defaults for DEP_* at level 0 too.
	These help when first include of Makefile.depend happens in a leaf
	dir.

	* install-mk (MK_VERSION): 20240414

2024-04-09  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20240408

	* init.mk: allow for _ as well as . to join V
	and Q from QUALIFIED_VAR_LIST and VAR_QUALIFIER_LIST.

	* progs.mk: avoid overlap between PROG_VARS and
	init.mk's QUALIFIED_VAR_LIST since PROG would also
	match its VAR_QUALIFIER_LIST,
	libs.mk does not have the same issue.

	* subdir.mk: _SUBDIRUSE for realinstall should run install
	remove include of ${.CURDIR}/Makefile.inc that can be done via
	local.subdir.mk where needed

	* own.mk: do not conflict with man.mk

2024-03-19  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20240314

	* add sys/Cygwin.mk from Christian Franke
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Intersting/relevant changes since bmake-20240309

ChangeLog since bmake-20240309

2024-04-30  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240430
	Merge with NetBSD make, pick up
	o main.c: ensure '.include &lt;makefile&gt;' respects MAKESYSPATH.
	Dir_FindFile will search .CURDIR first unless ".DOTLAST" is seen.

2024-04-28  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240428
	Merge with NetBSD make, pick up
	o simplify freeing of lists
	o arch.c: trim pointless comments
	o var.c: delay variable assignments until actually needed
	don't reallocate memory after evaluating an expression, result is
	almost always short-lived.

2024-04-26  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240426
	Merge with NetBSD make, pick up
	o job.c: in debug output, print the directory in which a job
	failed at same time as failed target so it is more easily found in
	build log.

2024-04-24  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240424
	Merge with NetBSD make, pick up
	o clean up comments, code and tests

2024-04-23  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240422
	Merge with NetBSD make, pick up
	o var.c: avoid LazyBuf for :*time modifiers.
	LazyBuf's are not nul terminated so not suitable for passing to
	functions that expect that. These modifiers are used sparingly so
	an extra allocation is not a problem.

2024-04-20  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240420
	Merge with NetBSD make, pick up
	o provide more context information for parse/evaluate errors

2024-04-14  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240414
	Merge with NetBSD make, pick up
	o parse.c: print -dp debug info earlier so we see which
	.if or .for line is being parsed.

2024-04-04  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240404
	Merge with NetBSD make, pick up
	o fix some unit tests for Cygwin
	o parse.c: exit immediately after reading a null byte from a makefile

	* fix generation of bmake.cat1

2024-03-19  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240314
	Add/Improve support for Cygwin
	o uname -s output isn't useful so allow configure to
	set FORCE_MAKE_OS - to force the value of .MAKE.OS
	and use Cygwin which matches uname -o
	o fix some unit-tests for Cygwin

	* configure.in: use_makefile=no for Cygwin et al.
	NOTE: bmake does not support Cygwin and likely never will,

mk/ChangeLog since bmake-20240309

2024-04-24  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* meta.autodep.mk: do not override start_utc

2024-04-18  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* sys.dirdeps.mk: set defaults for DEP_* at level 0 too.
	These help when first include of Makefile.depend happens in a leaf
	dir.

	* install-mk (MK_VERSION): 20240414

2024-04-09  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20240408

	* init.mk: allow for _ as well as . to join V
	and Q from QUALIFIED_VAR_LIST and VAR_QUALIFIER_LIST.

	* progs.mk: avoid overlap between PROG_VARS and
	init.mk's QUALIFIED_VAR_LIST since PROG would also
	match its VAR_QUALIFIER_LIST,
	libs.mk does not have the same issue.

	* subdir.mk: _SUBDIRUSE for realinstall should run install
	remove include of ${.CURDIR}/Makefile.inc that can be done via
	local.subdir.mk where needed

	* own.mk: do not conflict with man.mk

2024-03-19  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20240314

	* add sys/Cygwin.mk from Christian Franke
</pre>
</div>
</content>
</entry>
<entry>
<title>Import bmake-20240309</title>
<updated>2024-03-14T02:14:41+00:00</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2024-03-14T02:14:41+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a6b892e1c76ab1187879ac5f2395a91ef73fccee'/>
<id>a6b892e1c76ab1187879ac5f2395a91ef73fccee</id>
<content type='text'>
Intersting/relevant changes since bmake-20240108

ChangeLog since bmake-20240108

2024-03-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* boot-strap: tests can take a long time; use a cookie to
	skip them if bmake has not been updated since tests last
	ran successfully.

	* Makefile: Cygwin handles MANTARGET man

	* unit-tests/Makefile: set BROKEN_TESTS for Cygwin

2024-03-09  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240309
	Merge with NetBSD make, pick up
	o set .ERROR_EXIT to the exit status of .ERROR_TARGET
	this allows a .ERROR target to ignore the case of
	.ERROR_EXIT==6 which just means that the build actually
	failed somewhere else.

2024-03-04  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240303

	* var.c: on IRIX we need both inttypes.h and stdint.h

2024-03-01  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240301
	Merge with NetBSD make, pick up
	o export variables with value from target scope
	when appropriate.

2024-02-12  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240212
	Merge with NetBSD make, pick up
	o remove unneeded conditional-compilation toggles
	INCLUDES, LIBRARIES, POSIX, SYSVINCLUDE, SYSVVARSUB,
	GMAKEEXPORT NO_REGEX and SUNSHCMD

	* configure.in: add check for regex.h

	* var.c: replace use of NO_REGEX with HAVE_REGEX_H

2024-02-04  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240204
	Merge with NetBSD make, pick up
	o var.c: fix some lint (-dL) mode parsing issues

2024-02-02  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION: (_MAKE_VERSION): 20240202
	Merge with NetBSD make, pick up
	o make.1: note that arg to :D and :U can be empty
	o var.c: $$ is not a parse error when .MAKE.SAVE_DOLLARS=no

mk/ChangeLog since bmake-20240108

2024-03-09  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20240309

	* meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not
	want to save the .ERROR_META_FILE

2024-02-20  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20240220

	* sys.dirdeps.mk, dirdeps-targets.mk, init.mk:
	do not set .MAIN: dirdeps in sys.dirdeps.mk
	dirdeps-targets.mk will do that for top-level builds
	and init.mk will do it for others.
	This allows a Makefile which has no need of 'dirdeps' to
	set .MAIN for itself and "just work".

2024-02-18  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* bsd.*.mk: for makefiles that get a bsd. symlink,
	use _this in  multiple inclusion tags since .PARSEFILE will not
	DTRT when such a makefile is included directly by Makefile and
	automatically (without bsd. prefix).
	Since we cannot guarantee that our sys.mk will be used, we provide
	a default _this in each makefile that gets a bsd. prefix such that
	the value is the same regardless of bsd. prefix.

	* subdir.mk: drop the !target guard on $SUBDIR_TARGETS

2024-02-12  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20240212

	* SPDX-License-Identifier: BSD-2-Clause
	Add SPDX-License-Identifier to inidicate that I consider
	my copyright on any of these makefiles equivalent to BSD-2-Clause

	* autoconf.mk: allow for configure.ac as currently recommended

	* subdir.mk: support @auto
	which is replaced with each subdir that
	has a [Mm]akefile.

	* subdir.mk: include local.subdir.mk if it exists.

	* subdir.mk: rework to handle .WAIT

2024-02-11  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* subdir.mk: _SUBDIRUSE report the target we are entering subdirs for.

2024-02-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* prog.mk: treat empty SRCS the same as undefined

2024-02-02  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* Avoid undefined errors in lint (-dL) mode

	* man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7)

2024-01-28  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20240128

	* FILES: add ccm.dep.mk for C++ modules
	add suffixes.mk for common location for generic SUFFIX rules.

	* auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk
	replace OBJ_EXTENSIONS with OBJ_SUFFIXES

	* autodep.mk: leverage CXX_SUFFIXES for __depsrcs
	and update style (spaces around = etc)

	* init.mk: add OBJS_SRCS_FILTER to filter SRCS when
	setting OBJS

	* meta2deps.py: handle multiple ./ embedded in path better.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Intersting/relevant changes since bmake-20240108

ChangeLog since bmake-20240108

2024-03-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* boot-strap: tests can take a long time; use a cookie to
	skip them if bmake has not been updated since tests last
	ran successfully.

	* Makefile: Cygwin handles MANTARGET man

	* unit-tests/Makefile: set BROKEN_TESTS for Cygwin

2024-03-09  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240309
	Merge with NetBSD make, pick up
	o set .ERROR_EXIT to the exit status of .ERROR_TARGET
	this allows a .ERROR target to ignore the case of
	.ERROR_EXIT==6 which just means that the build actually
	failed somewhere else.

2024-03-04  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240303

	* var.c: on IRIX we need both inttypes.h and stdint.h

2024-03-01  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240301
	Merge with NetBSD make, pick up
	o export variables with value from target scope
	when appropriate.

2024-02-12  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240212
	Merge with NetBSD make, pick up
	o remove unneeded conditional-compilation toggles
	INCLUDES, LIBRARIES, POSIX, SYSVINCLUDE, SYSVVARSUB,
	GMAKEEXPORT NO_REGEX and SUNSHCMD

	* configure.in: add check for regex.h

	* var.c: replace use of NO_REGEX with HAVE_REGEX_H

2024-02-04  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240204
	Merge with NetBSD make, pick up
	o var.c: fix some lint (-dL) mode parsing issues

2024-02-02  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION: (_MAKE_VERSION): 20240202
	Merge with NetBSD make, pick up
	o make.1: note that arg to :D and :U can be empty
	o var.c: $$ is not a parse error when .MAKE.SAVE_DOLLARS=no

mk/ChangeLog since bmake-20240108

2024-03-09  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20240309

	* meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not
	want to save the .ERROR_META_FILE

2024-02-20  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20240220

	* sys.dirdeps.mk, dirdeps-targets.mk, init.mk:
	do not set .MAIN: dirdeps in sys.dirdeps.mk
	dirdeps-targets.mk will do that for top-level builds
	and init.mk will do it for others.
	This allows a Makefile which has no need of 'dirdeps' to
	set .MAIN for itself and "just work".

2024-02-18  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* bsd.*.mk: for makefiles that get a bsd. symlink,
	use _this in  multiple inclusion tags since .PARSEFILE will not
	DTRT when such a makefile is included directly by Makefile and
	automatically (without bsd. prefix).
	Since we cannot guarantee that our sys.mk will be used, we provide
	a default _this in each makefile that gets a bsd. prefix such that
	the value is the same regardless of bsd. prefix.

	* subdir.mk: drop the !target guard on $SUBDIR_TARGETS

2024-02-12  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20240212

	* SPDX-License-Identifier: BSD-2-Clause
	Add SPDX-License-Identifier to inidicate that I consider
	my copyright on any of these makefiles equivalent to BSD-2-Clause

	* autoconf.mk: allow for configure.ac as currently recommended

	* subdir.mk: support @auto
	which is replaced with each subdir that
	has a [Mm]akefile.

	* subdir.mk: include local.subdir.mk if it exists.

	* subdir.mk: rework to handle .WAIT

2024-02-11  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* subdir.mk: _SUBDIRUSE report the target we are entering subdirs for.

2024-02-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* prog.mk: treat empty SRCS the same as undefined

2024-02-02  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* Avoid undefined errors in lint (-dL) mode

	* man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7)

2024-01-28  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20240128

	* FILES: add ccm.dep.mk for C++ modules
	add suffixes.mk for common location for generic SUFFIX rules.

	* auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk
	replace OBJ_EXTENSIONS with OBJ_SUFFIXES

	* autodep.mk: leverage CXX_SUFFIXES for __depsrcs
	and update style (spaces around = etc)

	* init.mk: add OBJS_SRCS_FILTER to filter SRCS when
	setting OBJS

	* meta2deps.py: handle multiple ./ embedded in path better.
</pre>
</div>
</content>
</entry>
<entry>
<title>Import bmake-20230622</title>
<updated>2023-06-27T20:29:43+00:00</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2023-06-27T20:29:43+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=3e39ce563b9ba25883e5aa37d9799eda9e57c1e0'/>
<id>3e39ce563b9ba25883e5aa37d9799eda9e57c1e0</id>
<content type='text'>
Relevant/interesting changes:

	o optimize string matching for ':M' and ':N'
	o warn about malformed patterns in ':M', ':N' and '.if make(...)'
	o allow guards to be targets as well as variables
	The guard targets may include variable references like
	__${.PARSEDIR:tA}/${.PARSEFILE}__
	o optimization for makefiles protected from multiple-inclusion
	skip even opening the file after first include.
	o var.c: do not allow delete of readOnly variable
	o parse.c: .break takes no args
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Relevant/interesting changes:

	o optimize string matching for ':M' and ':N'
	o warn about malformed patterns in ':M', ':N' and '.if make(...)'
	o allow guards to be targets as well as variables
	The guard targets may include variable references like
	__${.PARSEDIR:tA}/${.PARSEFILE}__
	o optimization for makefiles protected from multiple-inclusion
	skip even opening the file after first include.
	o var.c: do not allow delete of readOnly variable
	o parse.c: .break takes no args
</pre>
</div>
</content>
</entry>
<entry>
<title>Import bmake-20230510</title>
<updated>2023-05-13T17:03:50+00:00</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2023-05-13T17:03:50+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=945078deae448e0a13c34b3393d836087719fb16'/>
<id>945078deae448e0a13c34b3393d836087719fb16</id>
<content type='text'>
Relevant/interesting changes:

	o parse.c: don't print null filename in stack traces
	o for.c: skip syntactically wrong .for loops
	o var.c: allow for :gmtime=${mtime}
	add :mtime[=timestamp] where timestamp is used if stat(2)
	fails, if :mtime=error stat(2) failure causes error.
	o make.1: fix documentation of .PREFIX to match reality and POSIX
	o unit-tests: improved var-scope-local
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Relevant/interesting changes:

	o parse.c: don't print null filename in stack traces
	o for.c: skip syntactically wrong .for loops
	o var.c: allow for :gmtime=${mtime}
	add :mtime[=timestamp] where timestamp is used if stat(2)
	fails, if :mtime=error stat(2) failure causes error.
	o make.1: fix documentation of .PREFIX to match reality and POSIX
	o unit-tests: improved var-scope-local
</pre>
</div>
</content>
</entry>
</feed>
