<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/unit-tests/cmd-errors.exp, branch vendor/NetBSD/bmake</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=vendor%2FNetBSD%2Fbmake</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=vendor%2FNetBSD%2Fbmake'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2026-04-06T18:25:05Z</updated>
<entry>
<title>Import bmake-20260313</title>
<updated>2026-04-06T18:25:05Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2026-04-06T18:25:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fe271bdb43cf88ee129d94c0e286fe618fd28e89'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>Import bmake-20250707</title>
<updated>2025-07-19T17:08:57Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2025-07-19T17:08:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3d772e596c1acf76f555c1f51fd8d834e56b0c35'/>
<id>urn:sha1:3d772e596c1acf76f555c1f51fd8d834e56b0c35</id>
<content type='text'>
Intersting/relevant changes since bmake-20250618

ChangeLog since bmake-20250618

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

	* VERSION (_MAKE_VERSION): 20250707
	Merge with NetBSD make, pick up
	o cond.c: improve debug log message for 'exists' function.
	complain about unfinished escape sequences or string literals.

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

	* VERSION (_MAKE_VERSION): 20250704
	Merge with NetBSD make, pick up
	o make.1: add a DIAGNOSTICS section for make to reference.
	o main.c: simplify the warning for invalid -J by refering to
	manual page.

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

	* VERSION (_MAKE_VERSION): 20250630
	Merge with NetBSD make, pick up
	o consistently use double quotes in error messages
	o cond.c: if a condition is erroneous, skip the whole .if/.endif
	o make_malloc.c: in cleanup mode, initialize freshly allocated memory
	o str.c: error out on an ":M" modifier whose pattern ends with
	backslash
	o var.c: fix parsing of modifier parts for :gmtime and :localtime
	add POSIX $^ support

mk/ChangeLog since bmake-20250618

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

	* prog.mk: .MADE is a special source not a target!
</content>
</entry>
<entry>
<title>Import bmake-20250414</title>
<updated>2025-04-19T20:53:59Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2025-04-19T20:53:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=284d1f7d496806b18558ab55e4654fd5e96d6a3e'/>
<id>urn:sha1:284d1f7d496806b18558ab55e4654fd5e96d6a3e</id>
<content type='text'>
Intersting/relevant changes since bmake-20250308

ChangeLog since bmake-20250308

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

	* VERSION (_MAKE_VERSION): 20250414
	Merge with NetBSD make, pick up
	o job.c: clean up job and output handling
	o parse.c: after entering POSIX mode, don't leave it again

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

	* VERSION (_MAKE_VERSION): 20250411
	Merge with NetBSD make, pick up
	o convert more messages to file:line: format
	o for.c: condense code for parsing variable names in .for loops

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

	* VERSION (_MAKE_VERSION): 20250410
	Merge with NetBSD make, pick up
	o cond.c: remove redundant error counter when parsing a condition

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

	* VERSION (_MAKE_VERSION): 20250404
	Merge with NetBSD make, pick up
	o make.1: better document meta mode.
	o var.c: fix error message for undefined variable in conditional.

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

	* VERSION (_MAKE_VERSION): 20250330
	Merge with NetBSD make, pick up
	o in POSIX compatability mode, give preference to sysV style modifiers.
	o in stack trace with details and includes, list the current file
	o parse.c: report file location in more common file:line: format.
	o var.c: simplify error handling for unknown modifiers
	let the ":O" and ":t" modifiers fall back to the ":from=to" modifier
	stop parsing after seeing an unknown modifier in an expression
	fix error message for unclosed expression and invalid :[...]
	add details to errors about ::= modifier
	add details about indirect modifiers to the stack traces
	in stack traces from target commands, add the command level

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

	* VERSION (_MAKE_VERSION): 20250323
	Merge with NetBSD make, pick up
	o var.c: just ignore attempts to override a read-only global with
	the same value.

mk/ChangeLog since bmake-20250308

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

	* init.mk: include Skipping ${RELDIR} when _SKIP_BUILD is not empty.

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

	* install-mk (MK_VERSION): 20250414

	* init.mk: check ONLY_*_LIST and NOT_*_LIST for SKIP_BUILD_VAR_LIST
	to set _SKIP_BUILD

	* genfiles.mk: add FILTER support

	* rst2htm.mk: latest docutils drops .py extensions

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

	* install-mk (MK_VERSION): 20250326

	* auto.obj.mk: fix and simplify handling of relative __objdir,
	convert it to absolute before checking against .OBJDIR
</content>
</entry>
<entry>
<title>Import bmake-20250125</title>
<updated>2025-01-30T23:38:13Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2025-01-30T23:38:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5ad769f660f3d00853bc739f82d9bc62f6a682cb'/>
<id>urn:sha1:5ad769f660f3d00853bc739f82d9bc62f6a682cb</id>
<content type='text'>
Intersting/relevant changes since bmake-20240711

ChangeLog since bmake-20240711

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

	* VERSION (_MAKE_VERSION): 20250125
	Merge with NetBSD make, sync up below change.

	* unit-tests/Makefile: remove $TMPDIR via .END
	to avoid failure in test on NFS - since the temp file for the
	target script is open and thus gets renamed by the server rather
	than removed.

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

	* VERSION (_MAKE_VERSION): 20250120
	Merge with NetBSD make, pick up
	o use FORK_FUNCTION so it can be forced to fork when doing coverage.
	o main.c: avoid memory allocation in error path after exec failure.

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

	* VERSION (_MAKE_VERSION): 20250116
	Merge with NetBSD make, pick up
	o clarify that undefined expressions are allowed in dependencies
	o simplify code for evaluating the '!=' variable assignment

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

	* VERSION (_MAKE_VERSION): 20250111
	Merge with NetBSD make, pick up
	o replace "Malformed conditional" with "Variable is undefined"
	when appropriate

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

	* VERSION (_MAKE_VERSION): 20250110
	Merge with NetBSD make, pick up
	o job.c: remove some unnecessary layers in job handling
	o unit-tests: test expressions based on undefined variables

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

	* VERSION (_MAKE_VERSION): 20250101
	Merge with NetBSD make, pick up
	o var.c: reduce pointer indirections when unexporting a variable

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

	* VERSION (_MAKE_VERSION): 20241212
	* mk/ updates

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

	* VERSION (_MAKE_VERSION): 20241124
	Merge with NetBSD make, pick up
	o var.c: fix confusing error message when overriding a read-only
	variable

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

	* VERSION (_MAKE_VERSION): 20241122
	Merge with NetBSD make, pick up
	o unit-tests/Makefile: optimize running of tests skip extra cat
	in 99% of cases.

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

	* VERSION (_MAKE_VERSION): 20241114
	Merge with NetBSD make, pick up
	o make.1: note that MAKEOBJPREFIX should be absolute path
	also that it can be set via makefile if suitable care taken.

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

	* VERSION (_MAKE_VERSION): 20241110
	Merge with NetBSD make, pick up
	o make: allow .../ (search here and above) in
	.MAKE.MAKEFILE_PREFERENCE and -f argument.

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

	* VERSION (_MAKE_VERSION): 20241101
	Merge with NetBSD make, pick up
	o parse.c: report filename:linenumber in parse debug output

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

	* VERSION (_MAKE_VERSION): 20240921
	Merge with NetBSD make, pick up
	o make.1: Only list the defaults for MAKEFILE_PREFERENCE once.

	* Makefile: use genfiles.mk to generate ${MAN}
	so that it can be tuned for local site.
	Ensure MAN  is defined before including Makefile.inc

	* Makefile: use MK_GEN_MAN to make it easier to control whether we
	generate ${MAN}

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

	* VERSION (_MAKE_VERSION): 20240909

	* arch.c: fix NetBSD PR 58597

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

	* Makefile: use SUBDIR.${MK_TESTS} so that we skip
	unit-tests for obj and clean when FreeBSD is building WITHOUT_TESTS

	* VERSION (_MAKE_VERSION): 20240901
	Merge with NetBSD make, pick up
	o reduce line length in error messages
	o var.c: simplify printing of an evaluation stack element

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

	* VERSION (_MAKE_VERSION): 20240828
	Merge with NetBSD make, pick up
	o add more context to error message about recursive variables
	o treat recursive variables non-fatally - continue parsing to end
	of makefile

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

	* VERSION (_MAKE_VERSION): 20240808
	Merge with NetBSD make, pick up
	o improve some error messages for better clarify and readability

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

	* VERSION (_MAKE_VERSION): 20240722
	Merge with NetBSD make, pick up
	o job.c: remove dead code

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

	* VERSION (_MAKE_VERSION): 20240720
	Merge with NetBSD make, pick up
	o compat.c: do not run commands that have parse or evaluation errors.
	o var.c: remove wrong error message about an undefined variable

mk/ChangeLog since bmake-20240711

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

	* rust.mk: use RUST_LIBS and RUST_PROGS

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

	* install-mk (MK_VERSION): 20250101

	* use W flag to :S and :C rather than :tW

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

	* rust.mk: add RUSTFLAGS if needed

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

	* init.mk (OBJS_SRCS_FILTER): apply this as
	${OBJS_SRCS_FILTER:ts:} as we do in FreeBSD.

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

	* install-mk (MK_VERSION): 20241202

	* setopts.sh: needed by newlog.sh

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

	* meta.sys.mk: add META_MODE_XTRAS to META_MODE to make it
	easier to add things like 'env' when debugging.

	* install-mk (MK_VERSION): 20241122

	* rust.mk: rename CARGO* to RUST_CARGO* so I don't feel
	like this makefile should be renamed to cargo.mk

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

	* dirdeps.mk: add DIRDEPS_CACHED_ENV to dirdeps-cached and
	DIRDEP_USE_EPILOGUE to _DIRDEP_USE

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

	* meta.sys.mk: if MK_META_ERROR_TARGET is yes and NEWLOG_SH is
	set, and ERROR_LOGDIR already exists, hook _rotateErrorLog to
	.BEGIN target.

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

	* options.mk: add support for DEBUG_OPTIONS (similar to
	DEBUG_DIRDEPS) to allow us to see where options get set.
	Eg. DEBUG_OPTIONS="STAGING*" gives:

	bmake[1]: "mk/options.mk" line 89: sys.mk: MK_STAGING=yes (MK_DIRDEPS_BUILD=no)
	bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING=yes
	bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING_PROG=no
	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_MAN=yes (MK_STAGING=yes)
	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_PROG=no (MK_STAGING=yes)
	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_RUST=no (MK_STAGING_PROG=no)

	* own.mk: fix setting of STAGE_OBJTOP (normally set by sys.dirdeps.mk)

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

	* rust.mk: add some documentation and support for staging

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

	* rust.mk: a means of integrating Rust projects into a larger build.

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

	* dirdeps-targets.mk: if DEBUG_DIRDEPS_TARGETS and we found
	STATIC_DIRDEPS_CACHE, report its relative path.

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

	* dirdeps.mk: tweak the debug message for "Loading" a
	Makefile.depend file, always report what the actual makefile is
	with the DIRDEP it is for.
	Remove the redundant "Looking" message.

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

	* meta2deps.py: when raising AssertionError include meta file name
	with $SB trimmed if possible.

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

	* meta2deps.py: replace assert() with raise AssertionError when we
	detect missing eXits, to ensure a meaningful message gets into
	log.

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

	* install-mk (MK_VERSION): 20240921

	* FILES: add genfiles.mk

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

	* install-mk (MK_VERSION): 20240920

	* cython.mk: Get PYTHON_VERSION from PYTHON

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

	* subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*}
	  and handle subdir with '-' in its name.

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

	* install-mk (MK_VERSION): 20240820

	* links.mk: Allow a filter to be applied to SYMLINKS etc.
	It is up to [BUILD_][SYM]LINKS_FILTER to do something sane.
	Also only claim we are making a symlink if the value changed.
</content>
</entry>
<entry>
<title>Import bmake-20240711</title>
<updated>2024-07-20T19:41:55Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2024-07-20T19:41:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=84691af93185c692058ba55fa81a04103f5bf71b'/>
<id>urn:sha1:84691af93185c692058ba55fa81a04103f5bf71b</id>
<content type='text'>
Intersting/relevant changes since bmake-20240625

ChangeLog since bmake-20240625

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

	* cleanup redundant differences from NetBSD make
	o parse.c: no longer uses mmap
	o var.c: check __STDC_VERSION__ not __STDC__

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

	* Apply some patches from NetBSD pkgsrc to reduce divergence
	o meta.c: requires sys/select.h if available
	o var.c: ensure SIZE_MAX has a value
	o util.c: ensure SA_RESTART is defined

	* configure.in: use *ksh* rather than just *ksh to match
	ksh shell specification.

	* unit-tests/Makefile: expand BROKEN_TESTS for ksh and
	mksh in particular

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

	* VERSION (_MAKE_VERSION): 20240711
	Merge with NetBSD make, pick up
	o compat.c: allow Compat_RunCommand to also handle very long
	commands by writing to a temp file when needed.
	o main.c: extract the temp file logic recently added to Cmd_Exec
	to Cmd_Argv so it can be leveraged by Compat_RunCommand.

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

	* VERSION (_MAKE_VERSION): 20240709
	Merge with NetBSD make, pick up
	o error out on parse/evaluation errors in shell commands
	o var.c: error out on syntax errors in ':M' and ':N' modifiers

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

	* VERSION (_MAKE_VERSION): 20240707
	Merge with NetBSD make, pick up
	o only generate code for cleanup functions in CLEANUP mode
	o hash.c: don't track hash table chain lengths during lookup
	unless debugging
	o main.c: move initialization of variable scopes to targ.c
	o var.c: remove Var_End as it is now unnecessary

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

	* VERSION (_MAKE_VERSION): 20240706
	Merge with NetBSD make, pick up
	o reduce lint comments about ARGSUSED
	o cond.c: error out on conditions containing the operators '&amp;' and '|'
	o str.c: error out on a matching malformed matching pattern '[['
	o var.c: in error messages, distinguish parsing from evaluating
	in error messages for anonymous variables, log the value
	error out on unclosed expressions during parse time

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

	* VERSION (_MAKE_VERSION): 20240704
	Merge with NetBSD make, pick up
	o add more context information to error messages
	o main.c: on error, print the targets to be made
	add detailed exit status to message for failed sub-commands
	o var.c: error out on the "Bad modifier" error message

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

	* VERSION (_MAKE_VERSION): 20240701
	Merge with NetBSD make, pick up
	o var.c: add :tt for Title case

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

	* configure.in: 20240630 further refine check for whether
	TZ=Europe/Berlin works

	* VERSION (_MAKE_VERSION): 20240630
	Merge with NetBSD make, pick up
	o job.c: reduce use of UNCONST
	o main.c: add detailed exit status to message for failed sub-commands
	o var.c: error out on some more syntax errors
	add more context to "returned non-zero status" message
</content>
</entry>
<entry>
<title>Import bmake-20240430</title>
<updated>2024-05-03T22:43:12Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2024-05-03T22:43:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=507951f55039f9d1ceae507d510f8cb68225fbc5'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>Import bmake-20240108</title>
<updated>2024-01-14T01:16:25Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2024-01-14T01:16:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7a05a7153af649605e1ebde33aac94a14ed2a4cd'/>
<id>urn:sha1:7a05a7153af649605e1ebde33aac94a14ed2a4cd</id>
<content type='text'>
Interesting/relevant changes since bmake-20230909

	* VERSION (_MAKE_VERSION): 20240106
	Merge with NetBSD make, pick up
	o fix duplicate progname when reporting an unknown target
	o unit tests for Cmd_Exec using temp file

	* VERSION (_MAKE_VERSION): 20240105
	Merge with NetBSD make, pick up
	o main.c: Cmd_Exec write cmd to a file if too big
	avoid blowing commandline/env limits

	* VERSION (_MAKE_VERSION): 20240101
	o util.c: flesh out more of strftime
	* configure.in: add --with-bmake-strftime
	it is not a full implementation but enough to pass all
	the unit-tests.
	* parse.c: LoadFile do not append \n to empty buffer.

	* VERSION (_MAKE_VERSION): 20231230
	Merge with NetBSD make, pick up
	o simplify memory allocation for string buffers
	o fix declared types of list nodes
	o suff.c: clean up freeing of suffixes
	o var.c: simplify debug message for the ':@var@...@' modifier
	clean up variable handling

	* VERSION (_MAKE_VERSION): 20231226
	Merge with NetBSD make, pick up
	o compat.c: ensure make's output is correctly ordered with that of
	the target when not going to a tty
	o main.c: check for shellPath whether to call Shell_Init()

	* VERSION (_MAKE_VERSION): 20231224
	Merge with NetBSD make, pick up
	o compat.c: check for shellPath whether to call Shell_Init()
	tweak the unit test to detect the bug thus fixed.
	o make.1: do not claim .SHELL is only used by jobs mode.

	* VERSION (_MAKE_VERSION): 20231220
	Merge with NetBSD make, pick up
	o str.c: speed up pattern matching in the ':M' modifier
	o var.c: fix confusing debug logging when deleting a variable
	use consistent debug messages style when ignoring variables

	* VERSION (_MAKE_VERSION): 20231210
	Merge with NetBSD make, pick up
	o var.c: avoid segfault on empty :C match expression
	explain in debug log why variable assignment is ignored.

	* VERSION (_MAKE_VERSION): 20231208
	Merge with NetBSD make, pick up
	o var.c: ensure fromCmd is set correctly for variables set on
	command line.

	* VERSION (_MAKE_VERSION): 20231124
	Merge with NetBSD make, pick up
	o main.c: cleanup processing of -j
	fix lint warning about strchr
	o var.c: more accurate error message for invalid ':mtime' argument
	cleanup :[...] modifier
	avoid reading beyond substring when comparing
	o unit-tests cover all cases of :mtime, test and explain exporting
	of variables
	o cleanup comments

	* bsd.after-import.mk (ECHO_TAG): FreeBSD no longer uses
	$FreeBSD$ tag, so avoid adding it.

mk/ChangeLog since bmake-20230909

	* dirdeps.mk: for MAKE_VERSION 20240105 we do not have the same
	limits on command line length, so skip export of lists to env.

	* jobs.mk: avoid C suffix in JOB_MAX_C if factor is floating
	point.  This keeps JOB_MAX numeric incase another makefile does
	comparisons.

	* gendirdeps.mk: if META_XTRAS is passed to us, add to META_FILES
</content>
</entry>
<entry>
<title>Import bmake-20230126</title>
<updated>2023-01-28T00:23:54Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2023-01-28T00:23:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2e36ab236364fa38c564f586c46cb9182ce8fd14'/>
<id>urn:sha1:2e36ab236364fa38c564f586c46cb9182ce8fd14</id>
<content type='text'>
Relevant/interesting changes (see ChangeLog for more):

	o variables like .newline and .MAKE.{GID,PID,PPID,UID}
	should be read-only.
	o .[NO]READONLY: for control of read-only variables
	o .SYSPATH: for controlling the path searched for makefiles
	o allow for white-space between command specifiers @+-
	o add more details to warning 'Extra targets ignored'
	o make.1: sync list of built-in variables with reality
	sort list of built-in variables
	o cond.c: add more details to error message for numeric comparison
	o job.c: fix handling of null bytes in output
	o Allow .break to terminate a .for loop early
	o var.c: fix out-of-bounds errors when parsing
	o fix exit status for '-q' (since 1994)
</content>
</entry>
<entry>
<title>Import bmake-20210621</title>
<updated>2021-06-25T18:16:24Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2021-06-25T18:16:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ee914ef902ae018bd4f67192832120f9bf05651f'/>
<id>urn:sha1:ee914ef902ae018bd4f67192832120f9bf05651f</id>
<content type='text'>
Lots more unit tests and code cleanup

Relevant changes from ChangeLog

	o job.c: Print -de error information when running multiple jobs
	o var.c: only report error for unmatched regex subexpression
	when linting (-dL) since we cannot tell when an unmatched
	subexpression is an expected result.
	reduce memory allocations in the modifiers ':D' and ':U'
	reduce memory allocation and strlen calls in modifier ':from=to'
	in the ':Q' modifier, only allocate memory if necessary
	improve performance for LazyBuf
	reduce debug logging and memory allocation for ${:U...}
	reduce verbosity of the -dv debug logging for standard cases
	fix double varname expansion in the variable modifier '::='
	o var.c: avoid evaluating many modifiers in parse only mode
	in strict mode (-dL) many variable references are parsed twice,
	the first time just to report parse errors early, so we want to
	avoid side effects and wasted effort to the extent possible.
</content>
</entry>
<entry>
<title>Import bmake-20201117</title>
<updated>2020-11-20T03:54:37Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2020-11-20T03:54:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1b65f0bd2bda7121a90f8cb4c1cacaa20f1b681d'/>
<id>urn:sha1:1b65f0bd2bda7121a90f8cb4c1cacaa20f1b681d</id>
<content type='text'>
o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable
  checks in InitObjdir.  Explicit .OBJDIR target always allows
  read-only directory.

o Fix building and unit-tests on non-BSD.

o More code cleanup and refactoring.

o More unit tests
</content>
</entry>
</feed>
