xref: /freebsd/contrib/bmake/mk/ChangeLog (revision b4894eca1ade4e9cec9afbe76021305d23bf914a)
12025-07-24  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* install-mk (MK_VERSION): 20250724
4
5	* meta2deps: Allow X record to have 3 or 4 args.
6	V4 filemon on Linux produces 3
7	V5 filemon on FreeBSD produces 4
8
92025-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
10
11	* install-mk (MK_VERSION): 20250721
12
13	* meta2deps.{py,sh}: detect corrupted filemon output (an issue on
14	Linux) by checking each record type has the correct number of
15	words.  Throw an error if necessary so that gendirdeps.mk will not
16	update Makefile.depend
17
182025-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
19
20	* prog.mk: .MADE is a special source not a target!
21
222025-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
23
24	* install-mk (MK_VERSION): 20250528
25
26	* add dirdeps2dplibs.mk
27
282025-05-18  Simon J Gerraty  <sjg@beast.crufty.net>
29
30	* install-mk (MK_VERSION): 20250518
31
32	* meta.autodep.mk (META_FILES): re-work to fix filtering.
33	if OPTIMIZE_OBJECT_META_FILES==yes
34	provide a default META_FILE_OBJ_FILTER that selects a valid
35	.SUFFIX to match *o.meta, there's no guarantee that it will be as
36	simple as .o or .So etc.
37	We have to defer evaluation until the target script is run
38	for any of these filters to have any effect.
39	Use :S,${.OBJDIR}/,, rather than :T incase there are objects
40	in sub-dirs.
41
42	* lib.mk: leverage ${.SUFFIXES} when setting dependencies.
43
44	* add UPDATE_DEPENDFILE as a dependent option - follows
45	DIRDEPS_BUILD and use MK_UPDATE_DEPENDFILE as default for
46	UPDATE_DEPENDFILE when we think it should be yes.
47	This allows override with -DWITH[OUT]_UPDATE_DEPENDFILE
48	without overriding UPDATE_DEPENDFILE directly - which can lead to
49	trouble.
50
512025-05-16  Simon J Gerraty  <sjg@beast.crufty.net>
52
53	* install-mk (MK_VERSION): 20250515
54
55	* meta2deps.py: resolve the target of a Move or Link first
56	and track the last path resolved, then if the src is a relative
57	path we can easily use that last path to resolve the src correctly.
58
59	* meta2deps.sh: for a Move or Link add the dir of target path to
60	the list used to resolve the src path.
61
622025-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
63
64	* init.mk: include Skipping ${RELDIR} when _SKIP_BUILD is not empty.
65
662025-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
67
68	* install-mk (MK_VERSION): 20250414
69
70	* init.mk: check ONLY_*_LIST and NOT_*_LIST for SKIP_BUILD_VAR_LIST
71	to set _SKIP_BUILD
72
73	* genfiles.mk: add FILTER support
74
75	* rst2htm.mk: latest docutils drops .py extensions
76
772025-03-26  Simon J Gerraty  <sjg@beast.crufty.net>
78
79	* install-mk (MK_VERSION): 20250326
80
81	* auto.obj.mk: fix and simplify handling of relative __objdir,
82	convert it to absolute before checking against .OBJDIR
83
842025-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
85
86	* install-mk (MK_VERSION): 20250314
87
88	* meta.stage.mk: StageFiles --subdir: preserve the dir part of
89	each file under $dest
90
912025-03-12  Simon J Gerraty  <sjg@beast.crufty.net>
92
93	* meta.autodep.mk: do a better job of handling MAKESYSPATH in
94	GENDIRDEPS_ENV.  If we have MAKE_VERSION >= 20230123 we can just
95	use .SYSPATH, otherwise it is a bit more complicated.
96
972025-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
98
99	* rust.mk: use RUST_LIBS and RUST_PROGS
100
1012025-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
102
103	* install-mk (MK_VERSION): 20250101
104
105	* use W flag to :S and :C rather than :tW
106
1072024-12-16  Simon J Gerraty  <sjg@beast.crufty.net>
108
109	* rust.mk: add RUSTFLAGS if needed
110
1112024-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
112
113	* init.mk (OBJS_SRCS_FILTER): apply this as
114	${OBJS_SRCS_FILTER:ts:} as we do in FreeBSD.
115
1162024-12-03  Simon J Gerraty  <sjg@beast.crufty.net>
117
118	* install-mk (MK_VERSION): 20241202
119
120	* setopts.sh: needed by newlog.sh
121
1222024-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
123
124	* meta.sys.mk: add META_MODE_XTRAS to META_MODE to make it
125	easier to add things like 'env' when debugging.
126
127	* install-mk (MK_VERSION): 20241122
128
129	* rust.mk: rename CARGO* to RUST_CARGO* so I don't feel
130	like this makefile should be renamed to cargo.mk
131
1322024-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
133
134	* dirdeps.mk: add DIRDEPS_CACHED_ENV to dirdeps-cached and
135	DIRDEP_USE_EPILOGUE to _DIRDEP_USE
136
1372024-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
138
139	* meta.sys.mk: if MK_META_ERROR_TARGET is yes and NEWLOG_SH is
140	set, and ERROR_LOGDIR already exists, hook _rotateErrorLog to
141	.BEGIN target.
142
1432024-10-27  Simon J Gerraty  <sjg@beast.crufty.net>
144
145	* options.mk: add support for DEBUG_OPTIONS (similar to
146	DEBUG_DIRDEPS) to allow us to see where options get set.
147	Eg. DEBUG_OPTIONS="STAGING*" gives:
148
149	bmake[1]: "mk/options.mk" line 89: sys.mk: MK_STAGING=yes (MK_DIRDEPS_BUILD=no)
150	bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING=yes
151	bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING_PROG=no
152	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_MAN=yes (MK_STAGING=yes)
153	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_PROG=no (MK_STAGING=yes)
154	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_RUST=no (MK_STAGING_PROG=no)
155
156	* own.mk: fix setting of STAGE_OBJTOP (normally set by sys.dirdeps.mk)
157
1582024-10-26  Simon J Gerraty  <sjg@beast.crufty.net>
159
160	* rust.mk: add some documentation and support for staging
161
1622024-10-25  Simon J Gerraty  <sjg@beast.crufty.net>
163
164	* rust.mk: a means of integrating Rust projects into a larger build.
165
1662024-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
167
168	* dirdeps-targets.mk: if DEBUG_DIRDEPS_TARGETS and we found
169	STATIC_DIRDEPS_CACHE, report its relative path.
170
1712024-09-30  Simon J Gerraty  <sjg@beast.crufty.net>
172
173	* dirdeps.mk: tweak the debug message for "Loading" a
174	Makefile.depend file, always report what the actual makefile is
175	with the DIRDEP it is for.
176	Remove the redundant "Looking" message.
177
1782024-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
179
180	* meta2deps.py: when raising AssertionError include meta file name
181	with $SB trimmed if possible.
182
1832024-09-23  Simon J Gerraty  <sjg@beast.crufty.net>
184
185	* meta2deps.py: replace assert() with raise AssertionError when we
186	detect missing eXits, to ensure a meaningful message gets into
187	log.
188
1892024-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
190
191	* install-mk (MK_VERSION): 20240921
192
193	* FILES: add genfiles.mk
194
1952024-09-20  Simon J Gerraty  <sjg@beast.crufty.net>
196
197	* install-mk (MK_VERSION): 20240920
198
199	* cython.mk: Get PYTHON_VERSION from PYTHON
200
2012024-08-31  Simon J Gerraty  <sjg@beast.crufty.net>
202
203	* subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*}
204	  and handle subdir with '-' in its name.
205
2062024-08-23  Simon J Gerraty  <sjg@beast.crufty.net>
207
208	* install-mk (MK_VERSION): 20240820
209
210	* links.mk: Allow a filter to be applied to SYMLINKS etc.
211	It is up to [BUILD_][SYM]LINKS_FILTER to do something sane.
212	Also only claim we are making a symlink if the value changed.
213
2142024-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
215
216	* install-mk (MK_VERSION): 20240616
217
218	* dirdeps.mk: apply DEP_DIRDEPS_BUILD_DIR_FILTER after we have
219	computed build dirs, since some filters cannot be easily expressed via
220	DEP_DIRDEPS_FILTER.
221
2222024-05-31  Simon J Gerraty  <sjg@beast.crufty.net>
223
224	* dirdeps.mk: move reset of DIRDEPS_EXPORT_VARS
225	until after we a finished with it if building a cache.
226
2272024-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
228
229	* install-mk (MK_VERSION): 20240504
230
231	* dirdeps.mk: allow BUILD_DIRDEPS_OVERRIDES to pass overrides to
232	sub-make building DIRDEPS_CACHE.
233
2342024-04-24  Simon J Gerraty  <sjg@beast.crufty.net>
235
236	* meta.autodep.mk: do not override start_utc
237
2382024-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
239
240	* sys.dirdeps.mk: set defaults for DEP_* at level 0 too.
241	These help when first include of Makefile.depend happens in a leaf
242	dir.
243
244	* install-mk (MK_VERSION): 20240414
245
2462024-04-09  Simon J Gerraty  <sjg@beast.crufty.net>
247
248	* install-mk (MK_VERSION): 20240408
249
250	* init.mk: allow for _ as well as . to join V
251	and Q from QUALIFIED_VAR_LIST and VAR_QUALIFIER_LIST.
252
253	* progs.mk: avoid overlap between PROG_VARS and
254	init.mk's QUALIFIED_VAR_LIST since PROG would also
255	match its VAR_QUALIFIER_LIST,
256	libs.mk does not have the same issue.
257
258	* subdir.mk: _SUBDIRUSE for realinstall should run install
259	remove include of ${.CURDIR}/Makefile.inc that can be done via
260	local.subdir.mk where needed
261
262	* own.mk: do not conflict with man.mk
263
2642024-03-19  Simon J Gerraty  <sjg@beast.crufty.net>
265
266	* install-mk (MK_VERSION): 20240314
267
268	* add sys/Cygwin.mk from Christian Franke
269
2702024-03-09  Simon J Gerraty  <sjg@beast.crufty.net>
271
272	* install-mk (MK_VERSION): 20240309
273
274	* meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not
275	want to save the .ERROR_META_FILE
276
2772024-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
278
279	* install-mk (MK_VERSION): 20240220
280
281	* sys.dirdeps.mk, dirdeps-targets.mk, init.mk:
282	do not set .MAIN: dirdeps in sys.dirdeps.mk
283	dirdeps-targets.mk will do that for top-level builds
284	and init.mk will do it for others.
285	This allows a Makefile which has no need of 'dirdeps' to
286	set .MAIN for itself and "just work".
287
2882024-02-18  Simon J Gerraty  <sjg@beast.crufty.net>
289
290	* bsd.*.mk: for makefiles that get a bsd. symlink,
291	use _this in  multiple inclusion tags since .PARSEFILE will not
292	DTRT when such a makefile is included directly by Makefile and
293	automatically (without bsd. prefix).
294	Since we cannot guarantee that our sys.mk will be used, we provide
295	a default _this in each makefile that gets a bsd. prefix such that
296	the value is the same regardless of bsd. prefix.
297
298	* subdir.mk: drop the !target guard on $SUBDIR_TARGETS
299
3002024-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
301
302	* install-mk (MK_VERSION): 20240212
303
304	* SPDX-License-Identifier: BSD-2-Clause
305	Add SPDX-License-Identifier to inidicate that I consider
306	my copyright on any of these makefiles equivalent to BSD-2-Clause
307
308	* autoconf.mk: allow for configure.ac as currently recommended
309
310	* subdir.mk: support @auto
311	which is replaced with each subdir that
312	has a [Mm]akefile.
313
314	* subdir.mk: include local.subdir.mk if it exists.
315
316	* subdir.mk: rework to handle .WAIT
317
3182024-02-11  Simon J Gerraty  <sjg@beast.crufty.net>
319
320	* subdir.mk: _SUBDIRUSE report the target we are entering subdirs for.
321
3222024-02-10  Simon J Gerraty  <sjg@beast.crufty.net>
323
324	* prog.mk: treat empty SRCS the same as undefined
325
3262024-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
327
328	* Avoid undefined errors in lint (-dL) mode
329
330	* man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7)
331
3322024-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
333
334	* install-mk (MK_VERSION): 20240128
335
336	* FILES: add ccm.dep.mk for C++ modules
337	add suffixes.mk for common location for generic SUFFIX rules.
338
339	* auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk
340	replace OBJ_EXTENSIONS with OBJ_SUFFIXES
341
342	* autodep.mk: leverage CXX_SUFFIXES for __depsrcs
343	and update style (spaces around = etc)
344
345	* init.mk: add OBJS_SRCS_FILTER to filter SRCS when
346	setting OBJS
347
348	* meta2deps.py: handle multiple ./ embedded in path better.
349
3502024-01-05  Simon J Gerraty  <sjg@beast.crufty.net>
351
352	* install-mk (MK_VERSION): 20240105
353	* dirdeps.mk: for MAKE_VERSION 20240105 we do not have the same
354	limits on command line length, so skip export of lists to env.
355
3562023-12-24  Simon J Gerraty  <sjg@beast.crufty.net>
357
358	* man.mk: add logic for staging man pages
359
3602023-11-28  Simon J Gerraty  <sjg@beast.crufty.net>
361
362	* jobs.mk: avoid C suffix in JOB_MAX_C if factor is floating
363	point.  This keeps JOB_MAX numeric incase another makefile does
364	comparisons.
365
3662023-11-04  Simon J Gerraty  <sjg@beast.crufty.net>
367
368	* dpadd.mk: add support for DPLIBS_QUALIFIER_LIST
369
370	* gendirdeps.mk: if META_XTRAS is passed to us, add to META_FILES
371
3722023-10-03  Simon J Gerraty  <sjg@beast.crufty.net>
373
374	* compiler.mk (COMPILER_VERSION): clang at least is into
375	double digit major versions.
376
3772023-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
378
379	* install-mk (MK_VERSION): 20231001
380
381	* set _CCLINK in init.mk so lib.mk can use it for default SHLIB_LD
382
383	* lib.mk (cleanlib): use LD_solink so we remove all the right files.
384	Use -Wl for -soname since we now default to linking with CC
385	We should not need SHLIB_LDSTARTFILE or SHLIB_LDENDFILE when linking
386	with CC.
387
3882023-09-24  Simon J Gerraty  <sjg@beast.crufty.net>
389
390	* init.mk (QUALIFIED_VAR_LIST): Add SRCS
391
3922023-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
393
394	* jobs.mk (JOB_MAX): use -jC if we can
395	we actually use JOB_MAX_C which defaults to 1.33C
396
3972023-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
398
399	* now_utc: %s only works with :localtime
400
4012023-07-14  Simon J Gerraty  <sjg@beast.crufty.net>
402
403	* install-sh: ignore -c as claimed and only insist on
404	a directory for destination when more than one file to copy.
405
406	* sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and
407	${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64)
408
4092023-07-13  Simon J Gerraty  <sjg@beast.crufty.net>
410
411	* install-mk (MK_VERSION): 20230711
412
413	* sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible
414	install(1)
415
416	* sys/IRIX.mk:  when setting ROOT_GROUP only match the first :0:
417	set INSTALL to install-sh rather than pathname that may not exist
418	(yet).
419
4202023-07-07  Simon J Gerraty  <sjg@beast.crufty.net>
421
422	* dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE
423	normally this is empty - for the default target, but there are
424	use-cases where we might set it to something else.
425
4262023-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
427
428	* install-mk (MK_VERSION): 20230704
429
430	* dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output
431	when DEBUG_DIRDEPS is in effect.
432	Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n
433	can greatly improve readability.
434
4352023-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
436
437	* meta.autodep.mk (beforegendirdeps): allow tasks to be done
438	at END but before gendirdeps
439
4402023-05-22  Simon J Gerraty  <sjg@beast.crufty.net>
441
442	* install-mk (MK_VERSION): 20230522
443
444	* host-target.mk: deal with garbage from uname -m on
445	Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH
446	these days so just leave it be.
447	For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get
448	arm64 and x86_64 in HOST_TARGET.
449
4502023-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
451
452	* sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older
453	versions of bmake.
454
455	* dirdeps.mk (TARGET_SPEC_VARS.host):
456	While *most* projects need only DEP_MACHINE for host,
457	there is always an exception.  So we allow for
458	TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS.
459	The default will *just work* for most projects.
460	We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC
461	based on DEP_MACHINE.
462	Allow for M_dep_qual_fixes.host to be different too
463	and take care to apply the right set.
464
4652023-05-14  Simon J Gerraty  <sjg@beast.crufty.net>
466
467	* sys.dirdeps.mk: we *do* want to override OBJTOP
468	and if MAKEOBJDIR was not in env as we want it;
469	put it there - carefully.
470	Ensure OBJROOT ends in / or - (/ preferred)
471	Add more comments to explain what/why.
472
4732023-05-13  Simon J Gerraty  <sjg@beast.crufty.net>
474
475	* install-mk (MK_VERSION): 20230512
476
477	* dirdeps.mk: take care not to qualify "host" dirdeps
478
479	* sys.dirdeps.mk (OBJTOP): must use ?=
480
4812023-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
482
483	* meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no"
484	suppress processing of .depend
485
4862023-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
487
488	* dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP
489
490	* meta.sys.mk sys.dirdeps.mk:
491	originally DIRDEPS_BUILD and META_MODE were the same thing,
492	but META_MODE is useful by itself.
493	Move things from meta.sys.mk which actually pertain to
494	DIRDEPS_BUILD to sys.dirdeps.mk
495
4962023-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
497
498	* install-mk (MK_VERSION): 20230504 May the Forth be with you
499
500	* dirdeps.mk: as with meta.sys.mk we treat "host" as special.
501	DEP_TARGET_SPEC is just ${DEP_MACHINE}
502
503	* meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at
504	level > 0 since these are often refered to in Makefile.depend*
505
5062023-04-26  Simon J Gerraty  <sjg@beast.crufty.net>
507
508	* jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and
509	anything in ${JOB_LOG_START}
510
511	* jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}}
512	or a scripts subdir before searching $PATH.
513
514	* FILES: include newlog.sh for jobs.mk
515
5162023-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
517
518	* install-mk (MK_VERSION): 20230420
519
520	* lib.mk: include LDFLAGS and LDADD when linking shared libs
521
522	* gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc
523	via local.meta.sys.mk rather than local.gendirdeps.mk
524	so DEP_* variables can be set at level 1+ to avoid syntax errors
525	when used in conditionals in manually maintained Makefile.depend
526	files.
527
528	* dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines
529
5302023-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
531
532	* dirdeps.mk: check we were not included by
533	Makefile.depend.options as the result is bad.
534
5352023-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
536
537	* install-mk (MK_VERSION): 20230414
538
539	* meta.sys.mk: since we have :range we can put the logic for
540	processing TARGET_SPEC from env here.
541
542	* dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including
543	local.dirdeps-missing.mk, also improve debug output.
544
545	* dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC
546	we need to use :M*[/.]* same as for when actually setting DIRDEPS
547	from the targets on command line.
548
5492023-04-12  Simon J Gerraty  <sjg@beast.crufty.net>
550
551	* Add jobs.mk
552
5532023-03-21  Simon J Gerraty  <sjg@beast.crufty.net>
554
555	* install-mk (MK_VERSION): 20230321
556
557	* meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter
558	STAGE_LIBS for SHLIB_LINKS.
559
560	* autoconf.mk: add .WAIT after config.status
561
5622023-02-17  Simon J Gerraty  <sjg@beast.crufty.net>
563
564	* sys.vars.mk: add M_Index to report the index of a word in a list.
565
5662023-02-15  Simon J Gerraty  <sjg@beast.crufty.net>
567
568	* install-mk (MK_VERSION): 20230215
569
570	* warnings.mk: allow better control of -Werror
571	allow -Wno-error or similar to be added if
572	WARNINGS_SET < WERROR_SET
573	account for COMPILER_TYPE
574
5752023-01-29  Simon J Gerraty  <sjg@beast.crufty.net>
576
577	* autoconf.mk: hook config.status to beforebuild.
578
579	* whats.mk: what*.c is NOTMAIN
580
5812023-01-27  Simon J Gerraty  <sjg@beast.crufty.net>
582
583	* install-mk (MK_VERSION): 20230127
584	control umask so directories are created with suitable mode.
585
5862023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
587
588	* install-mk (MK_VERSION): 20230120
589
590	* sys.vars.mk: add M_On and M_Onr also cleanup to be more
591	consistent wrt testing MAKE_VERSION
592
5932023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
594
595	* install-mk (MK_VERSION): 20230112
596
597	* meta2deps.{py,sh}: assert if filemon data is truncated
598	we should see the '# Bye bye' record - assert if we do not.
599
6002022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
601
602	* install-mk (MK_VERSION): 20220909
603
604	* sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings
605
6062022-09-06  Simon J Gerraty  <sjg@beast.crufty.net>
607
608	* dirdeps-options.mk: explain the need to use
609	${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to
610	${TARGET_SPEC_VAR}
611
6122022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
613
614	* install-mk (MK_VERSION): 20220903
615
616	* M_cmpv handle more than 3 dots and clear leading 0's
617
6182022-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
619
620	* install-mk (MK_VERSION): 20220720
621
622	* prog.mk: handle PROG_CXX for more than just NetBSD
623
6242022-06-20  Simon J Gerraty  <sjg@beast.crufty.net>
625
626	* install-mk (MK_VERSION): 20220620
627
628	* yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER
629	rather than just suffix rules
630
6312022-04-23  Simon J Gerraty  <sjg@beast.crufty.net>
632
633	* install-mk (MK_VERSION): 20220422
634
635	* gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no"
636	do not capture any local depends in Makefile.depend
637
6382022-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
639
640	* install-mk (MK_VERSION): 20220323
641	* posix.mk: default rules for .POSIX:
642
6432022-03-17  Simon J Gerraty  <sjg@beast.crufty.net>
644
645	* sys/*.mk: remove l from ARFLAGS
646
6472022-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
648
649	* install-mk (MK_VERSION): 20220314
650
651	* dirdeps-options.mk: allow options to be per RELDIR
652	try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed
653	with ${DEP_RELDIR}.
654
6552022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
656
657	* install-mk (MK_VERSION): 20220214
658
659	* cc-wrap.mk: fix :@ modifier
660
6612022-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
662
663	* install-mk (MK_VERSION): 20220206
664
665	* cc-wrap.mk: docuement how CCACHE etc might be set for
666	maximum flexibility
667
6682022-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
669
670	* sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT
671
6722022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
673
674	* install-mk (MK_VERSION): 20220204
675
676	* host-target.mk: use .MAKE.OS if available
677
6782022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
679
680	* install-mk (MK_VERSION): 20220202
681
682	* cc-wrap.mk: allow other entries in CC_WRAP_FILTER
683	We add our filter on extensions last, so prior filters
684	can apply to the whole value of .IMPSRC
685
6862022-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
687
688	* cc-wrap.mk: take advantage of target local variables to
689	wrap compilers like CC CXX with wrappers like ccache distcc etc
690
6912022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
692
693	* meta2deps: we do not expect any trace data for setid apps
694
6952022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
696
697	* dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed
698	to sub-make using DIRDEPS_CACHE
699
7002022-01-07  Simon J Gerraty  <sjg@beast.crufty.net>
701
702	* dirdeps.mk: use _cache_script to minimize the number of shells
703	forked when generating dirdeps.cache
704
7052022-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
706
707	* install-mk (MK_VERSION): 20220101
708
709	* dirdeps.mk: initialize DEP_* and _debug_reldir earlier.
710	If initial DIRDEPS are from command line, create the target
711	_dirdeps_cmdline as an indication.
712
7132022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
714
715	* init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD
716	at top-level only some targets are allowed at level 0,
717	for leaf makefiles only the default (all) target is restricted
718
7192021-12-28  Simon J Gerraty  <sjg@beast.crufty.net>
720
721	* install-mk (MK_VERSION): 20211228
722
723	* meta2deps.py: filemon on Linux is not as reliable as we might
724	like, we do not want to update DIRDEPS if filemon output is
725	incomplete.   Track pids that we 'E'xec and make sure we see an
726	e'X'it for each one.  Throw an error if we are missing any 'X'
727	records.
728
7292021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
730
731	* sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes.
732
733	* meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON
734	is something else.
735
736	* meta.autodep.mk: we can now reference ${.SUFFIXES}
737
738	* meta2deps.py: derive a list of dirdep extensions from
739	TARGET_SPEC to trim from dirdeps.
740
741	* dirdeps.mk: flip the computation of qualified vs unqualified
742	dirdeps - it is much simpler to check for unqualified first.
743
7442021-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
745
746	* install-mk (MK_VERSION): 20211212
747
748	* auto.dep.mk: rearrange so that the trivial implementation
749	for recent bmake is more obvious.
750
7512021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
752
753	* install-mk (MK_VERSION): 20211207
754
755	* Ensure guard targets are .NOTMAIN
756
757	* meta.sys.mk: check for nofilemon support when we skip level 0
758
759	* auto.dep.mk: make this usable in meta mode
760	for platforms that cannot use meta.autodep.mk
761
762	* meta2deps.py: avoid confusion if MACHINE and another
763	TARGET_SPEC_VAR have same value.
764
7652021-11-27  Simon J Gerraty  <sjg@beast.crufty.net>
766
767	* dirdeps.mk: when building dirdeps.cache, minimize the amount of
768	data put into env, by stripping ${SRCTOP}/ from each entry.
769	A long sandbox name can double the amount of memory consumed and
770	in extreme cases cause failure.
771	While we are at it, strip ${SRCTOP}/ from a lot of the debug output.
772
7732021-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
774
775	* install-mk (MK_VERSION): 20211111
776
777	* meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail
778	so fallback to cp if necessary.
779
7802021-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
781
782	* man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year
783	old cmt2doc.pl
784
7852021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
786
787	* meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f}
788	as the symlink (rare)
789
7902021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
791
792	* autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not
793	been read, throw an error after running configure telling user to
794	restart.
795
7962021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
797
798	* install-mk (MK_VERSION): 20211011
799
800	* Add support for SCO_SV
801
8022021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
803
804	* install-mk (MK_VERSION): 20211001
805
806	* man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more
807	flexibility
808
8092021-09-13  Simon J Gerraty  <sjg@beast.crufty.net>
810
811	* options.mk (describe-options): print options and their values
812	  and optional description
813
8142021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
815
816	* install-mk (MK_VERSION): 20210911
817
818	* options.mk (show-options): print options and their values
819
8202021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
821
822	* install-mk (MK_VERSION): 20210909
823
824	* lib.mk: apply patch from <daniel@octaforge.org>
825	to fix shared libs on Linux
826
8272021-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
828
829	* install-mk (MK_VERSION): 20210808
830
831	* options.mk: issue warning for WITH_*=no
832
8332021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
834
835	* install-mk (MK_VERSION): 20210616
836
837	* dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find
838	depend files to read, anchor MACHINE at , or end of string
839	to avoid prefix match.
840
8412021-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
842
843	* install-mk (MK_VERSION): 20210504
844
845	* dirdeps.mk: re-implement ALL_MACHINES support to better
846	cater for local complexities, when ONLY_TARGET_SPEC_LIST
847	is not set. local.dirdeps.mk can set
848	DIRDEPS_ALL_MACHINES_FILTER and/or
849	DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get
850	from listing all existing Makefile.depend.*
851
8522021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
853
854	* install-mk (MK_VERSION): 20210420
855
856	* dirdeps.mk: revert previous - not always safe.
857
8582021-03-20  Simon J Gerraty  <sjg@beast.crufty.net>
859
860	* install-mk (MK_VERSION): 20210321
861
862	* dirdeps.mk: when generating dirdeps.cache
863	we only need to hook the initial DIRDEPS to the
864	dirdeps target.  That and any _build_xtra_dirs (like tests which
865	should not be hooked directly to the dependency graph - to avoid
866	cycles)
867
8682021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
869
870	* install-mk (MK_VERSION): 20210130
871
872	* dirdeps.mk: expr 2 - 1 - 1 exits with a bad status
873	  we need to  guard against this in DIRDEP_LOADAVG_REPORT.
874
875	* dirdeps.mk: restore respect for TARGET_MACHINE
876
8772021-01-06  Simon J Gerraty  <sjg@beast.crufty.net>
878
879	* install-mk (MK_VERSION): 20210101
880
881	* dirdeps.mk: first time we are read, just use TARGET_SPEC for
882	_DEP_TARGET_SPEC
883
8842020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
885
886	* sys.mk (MAKE_SHELL): use ${.SHELL:Ush}
887	and use := when setting SHELL
888
8892020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
890
891	* install-mk (MK_VERSION): 20201221
892
893	* dirdeps-options.mk: latest bmake allows only one arg to .undef
894
8952020-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
896
897	* dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS
898	so that any directory can be treated as a target.
899
9002020-11-26  Simon J Gerraty  <sjg@beast.crufty.net>
901
902	* install-mk (MK_VERSION): 20201126
903
904	* own.mk: use .MAKE.{UID,GID} if available.
905
906	* init.mk: suppress _SKIP_BUILD warning if doing -V
907
9082020-11-20  Simon J Gerraty  <sjg@beast.crufty.net>
909
910	* install-mk (MK_VERSION): 20201120
911
912	* init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS
913
914	* dirdeps-targets.mk: fix typo in comment
915
9162020-11-06  Simon J Gerraty  <sjg@beast.crufty.net>
917
918	* install-mk (MK_VERSION): 20201106
919
920	* meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed
921	args to tweak extensions for local deps.
922
9232020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
924
925	* install-mk (MK_VERSION): 20201101
926
927	* dirdeps.mk: most leaf makefiles are not suitable for building
928	dirdeps.cache so if RELDIR is not "." use dirdeps.mk
929
9302020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
931
932	* install-mk (MK_VERSION): 20201028
933
934	* dirdeps.mk: if we don't have :range use equivalent of M_RANGE
935	when building dirdeps.cache for leaf directory use -f dirdeps.mk
936
937	* sys.vars.mk: add M_JOT and M_RANGE
938
9392020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
940
941	* install-mk (MK_VERSION): 20201001
942
943	* meta2deps.{py,sh}: throw an error if we don't see filemon version
944
9452020-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
946
947	* install-mk (MK_VERSION): 20200909
948
949	* dirdeps-cache-update.mk: use cache_update_dirdep as guard target
950
9512020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
952
953	* dirdeps.mk: ensure we cannot confuse a static cache for dynamic
954	(even more rare that use of static cache is playing clever tricks
955	with it)
956
9572020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
958
959	* dirdeps-cache-update.mk: allow
960	MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we
961	actually update STATIC_DIRDEPS_CACHE.
962
963	* stage-install.sh: create dest directory if needed
964	before running install(1)
965
9662020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
967
968	* dirdeps-targets.mk: include Makefile.dirdeps.options
969
970	* dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE
971
9722020-08-09  Simon J Gerraty  <sjg@beast.crufty.net>
973
974	* dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty
975
976	* dirdeps-cache-update.mk: building parallel cache update
977	under the context of dirdeps-cached would be ideal, but
978	is problematic, so it runs as a sibling.
979	Use cache-built target to ensure we wait for it to complete if
980	necessary.
981
9822020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
983
984	* install-mk (MK_VERSION): 20200806
985
986	* dirdeps-options: allow TARGET_SPEC to affect option values.
987	Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_*
988
989	* dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined
990	before looking for STATIC_DIRDEPS_CACHE
991
9922020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
993
994	* host-target.mk: Darwin use MACHINE for HOST_ARCH too
995
996	* dirdeps-options.mk: improve debug output
997
9982020-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
999
1000	* dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE
1001	for use by dirdeps-cache-update.mk
1002
1003	* dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE
1004	for use by dirdeps-cache-update.mk even if we don't use it.
1005
1006	* dirdeps-cache-update.mk: we only need worry about the background
1007	update case, with the above, the update from DIRDEPS_CACHE is
1008	simple.
1009
1010	* meta2deps.py: R 1234 . is not interesting
1011
10122020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
1013
1014	* sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE
1015
1016	* dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS
1017	allows use of lower case for pseudo options.
1018
1019	* dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE
1020
10212020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
1022
1023	* dirdeps-targets.mk: Look for Makefile.dirdeps.cache
1024	which allows us to have a static cache for expensive targets.
1025	Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE
1026	to regenerate the dirdeps.cache it is a copy of.
1027
10282020-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
1029
1030	* Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense.
1031
10322020-07-16  Simon J Gerraty  <sjg@beast.crufty.net>
1033
1034	* dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record
1035	load averages at intervals during build.
1036
10372020-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
1038
1039	* install-mk (MK_VERSION): 20200715
1040
1041	* dirdeps.mk: tweak Checking line to make matching Finished
1042	lines for post-build analysis easier.
1043
1044	* meta.autodep.mk: use !defined(WITHOUT_META_STATS)
1045
1046	* progs.mk: avoid prog.mk outputting multiple Finished lines
1047
10482020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
1049
1050	* dirdeps.mk: further optimize dirdeps.cache
1051	generate a DIRDEPS.${.TARGET} list for other purposes
1052	and improve the layout.
1053
10542020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
1055
1056	* dirdeps.mk: optimize content of dirdeps.cache
1057
10582020-06-28  Simon J Gerraty  <sjg@beast.crufty.net>
1059
1060	* sys/*.mk: make it easier for local*sys.mk to customize by
1061	using ?=
1062
10632020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
1064
1065	* gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
1066	it is much safer to guard local depends with a simple check for
1067	.MAKE.LEVEL > 0
1068
10692020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
1070
1071	* install-mk (MK_VERSION): 20200610
1072
1073	* mkopt.sh: this needs posix shell so #!/bin/sh should be ok
1074
10752020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
1076
1077	* install-mk (MK_VERSION): 20200606
1078
1079	* dirdeps-targets.mk: allow for filtering of .TARGETS
1080
1081	* meta2deps.py: fix bug in processing 'L'ink and 'M'ove
1082	entries - and we don't care about 'W'rite entries.
1083	Also ignore absolute paths that do not exist.
1084
10852020-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
1086
1087	* install-mk (MK_VERSION): 20200525
1088
1089	* init.mk: expand and simplify handling of qualified vars
1090	like CPPFLAGS.${.TARGET:T}
1091
10922020-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
1093
1094	* install-mk (MK_VERSION): 20200515
1095
1096	* dirdeps.mk: set _debug_* earlier and allow passing -d*
1097	flags to submake when building DIRDEPS_CACHE
1098
10992020-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
1100
1101	* whats.mk: more easily extensible
1102
11032020-05-02  Simon J Gerraty  <sjg@beast.crufty.net>
1104
1105	* whats.mk: greatly simplify by adding what.c to SRCS
1106
11072020-05-01  Simon J Gerraty  <sjg@beast.crufty.net>
1108
1109	* whats.mk: for libs take care how we add to *OBJS
1110
1111	* lib.mk: : works better with whats.mk
1112
11132020-04-25  Simon J Gerraty  <sjg@beast.crufty.net>
1114
1115	* install-mk (MK_VERSION): 20200420
1116
1117	* meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
1118	contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
1119
11202020-04-16  Simon J Gerraty  <sjg@beast.crufty.net>
1121
1122	* install-mk (MK_VERSION): 20200416
1123
1124	* sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
1125	  interfere with user env.
1126
1127	* sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
1128
1129	* autodep.mk: use MAKE_SHELL.
1130
11312019-11-21  Simon J Gerraty  <sjg@beast.crufty.net>
1132
1133	* gendirdeps.mk: clear .SUFFIXES to avoid a lot of
1134	  wasted effort, and unexport _meta_files when no longer needed as
1135	  it consumes space we need for command line.
1136
11372019-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
1138
1139	* dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
1140	  DIRDEP_USE_PRELUDE at start - facilitates job distribution
1141
11422019-10-04  Simon J Gerraty  <sjg@beast.crufty.net>
1143
1144	* dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
1145	defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
1146	TARGET_SPEC qualified depend files.
1147
11482019-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
1149
1150	* dirdeps-targets.mk: encapsulate logic for finding top-level
1151	  targets to set initial DIRDEPS for DIRDEPS_BUILD
1152
11532019-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
1154
1155	* install-mk (MK_VERSION): 20190911
1156
1157	* compiler.mk: set COMPILER_TYPE
1158
11592019-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
1160
1161	* install-mk (MK_VERSION): 20190704
1162
1163	* sys/Darwin.mk: support for Objective-C and clang
1164
11652019-05-30  Simon J Gerraty  <sjg@beast.crufty.net>
1166
1167	* dirdeps.mk: avoid insanely long command line when generating cache
1168
11692019-05-23  Simon J Gerraty  <sjg@beast.crufty.net>
1170
1171	* install-mk (MK_VERSION): 20190505
1172
1173	* whats.mk: handle corner case SHLIB defined but not LIB
1174
11752018-09-19  Simon J Gerraty  <sjg@beast.crufty.net>
1176
1177	* install-mk (MK_VERSION): 20180919
1178
1179	* dirdeps-options.mk: .undef cannot handle var that expands to
1180	  more than one var.
1181
11822018-07-08  Simon J Gerraty  <sjg@beast.crufty.net>
1183
1184	* meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
1185
11862018-06-01  Simon J Gerraty  <sjg@beast.crufty.net>
1187
1188	* meta.autodep.mk: export META_FILES to avoid command line limit
1189	* gendirdeps.mk: if we have lots of .meta files put them in
1190	  an @list
1191
11922018-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
1193
1194	* dirdeps-options.mk: use local.dirdeps-options.mk
1195	  not local.dirdeps-option.mk
1196
11972018-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
1198
1199	* install-mk (MK_VERSION): 20180420
1200	* dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
1201	  ie. we are building something.
1202
12032018-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
1204
1205	* FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
1206
12072018-04-05  Simon J Gerraty  <sjg@beast.crufty.net>
1208
1209	* install-mk (MK_VERSION): 20180405
1210
1211	* ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
1212	  if needed.
1213
12142018-01-18  Simon J Gerraty  <sjg@beast.crufty.net>
1215
1216	* install-mk (MK_VERSION): 20180118
1217
1218	* ldorder.mk: let make compute correct link order
1219
12202017-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
1221
1222	* install-mk (MK_VERSION): 20171212
1223
1224	* gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
1225
12262017-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1227
1228	* install-mk (MK_VERSION): 20171111
1229
1230	* lib.mk: ensure META_NOECHO is set
1231
12322017-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1233
1234	* Allow for host32 on rare occasions.
1235
12362017-10-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1237
1238	* install-mk (MK_VERSION): 20171018
1239
1240	* whats.mk: include what_thing in what_uuid to avoid problem
1241	  when building multiple apps in the same directory.
1242
12432017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1244
1245	* install-mk (MK_VERSION): 20170812
1246
1247	* autoconf.mk: Use CONFIGURE_DEPS so Makefile can
1248	  add dependencies for config.recheck and config.gen
1249
12502017-06-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1251
1252	* install-mk (MK_VERSION): 20170630
1253
1254	* meta.stage.mk: avoid triggering stage_* targets with nothing to do.
1255
12562017-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1257
1258	* meta2deps.py: take special care of '..'
1259
12602017-05-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1261
1262	* install-mk (MK_VERSION): 20170515
1263
1264	* dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
1265	useful/necessary for a Makefile.depend file to export some knobs.
1266	This is complicated when we are doing DIRDEPS_CACHE, so we will
1267	handle export of any variables listed in DEP_EXPORT_VARS.
1268
12692017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1270
1271	* install-mk (MK_VERSION): 20170505
1272
1273	* meta2deps.py: fix botched indenation.
1274
12752017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1276
1277	* sys/*.mk: Remove setting of MAKE it is unnecessary and
1278	  in many cases wrong (basname rather than full path)
1279
1280	* scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
1281
1282	* init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
1283
12842017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1285
1286	* install-mk (MK_VERSION): 20170501
1287
1288	* doc.mk: fix typo in DOC_INSTALL_OWN
1289
1290	* inc.mk: handle INCGROUPS similar to freebsd
1291
1292	* files.mk: add something for files too
1293
1294	* add staging logic to lib.mk prog.mk etc.
1295
12962017-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1297
1298	* install-mk (MK_VERSION): 20170424
1299
1300	* dirdeps.mk: set NO_DIRDEPS when bootstrapping.
1301	  also target of bootstrap-this when sed is needed should be ${_want:T}
1302
13032017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1304
1305	* install-mk (MK_VERSION): 20170418
1306
1307	* auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
1308	  prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
1309
13102017-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1311
1312	* install-mk (MK_VERSION): 20170401
1313
1314	* meta2deps.py: add is_src so we can check if obj dependency
1315	  is also a src dependency.
1316
13172017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1318
1319	* install-mk (MK_VERSION): 20170326
1320
1321	* meta.stage.mk: do nothing if NO_STAGING is defined.
1322
13232017-03-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1324
1325	* auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
1326
13272017-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1328
1329	* mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
1330
13312017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1332
1333	* install-mk (MK_VERSION): 20170301
1334
1335	* dirdeps.mk (_build_all_dirs): update this outside test for empty
1336	  DIRDEPS.
1337
1338	* meta.stage.mk: allow multiple inclusion to the extent it makes
1339	  sense.
1340
13412017-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1342
1343	* prog.mk (install_links): depends on realinstall
1344
13452017-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1346
1347	* install-mk (MK_VERSION): 20170212
1348
1349	* dpadd.mk: avoid applying :T:R twice to DPLIBS entries
1350
13512017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1352
1353	* install-mk (MK_VERSION): 20170130
1354
1355	* dirdeps.mk: use :range if we can.
1356
1357	* sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
1358
1359	* meta2deps.py: clean paths without using realpath() where possible.
1360	  fix sort_unique.
1361
13622016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1363
1364	* install-mk (MK_VERSION): 20161212
1365
1366	* meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
1367	rather than when we detect pid change.
1368
13692016-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1370
1371	* install-mk (MK_VERSION): 20161207
1372
1373	* meta.stage.mk: add stage_as_and_symlink for staging packages.
1374	  We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
1375	  to use foo.tgz to reference the latest staged version - so we
1376	  make foo.tgz a symlink to it.
1377	  Using a target to do both operations ensures we stay in sync.
1378
13792016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1380
1381	* install-mk (MK_VERSION): 20161126
1382
1383	* dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
1384	  so it can add dependencies.
1385
13862016-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1387
1388	* dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
1389	  do that they can influence the result correctly.
1390
1391	* dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
1392
1393	* dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
1394	  similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
1395
13962016-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1397
1398	* dirdeps.mk: remove dependence on jot (normal situations anyway).
1399	  Before we read another Makefile.depend* set DEP_* vars from
1400	  _DEP_TARGET_SPEC in case it uses any of them with :=
1401	  When bootstrapping, trim any ,* from extention of chosen _src
1402	  Makefile.depend* to get the machine value we subst for.
1403
14042016-09-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1405
1406	* dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
1407	  DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
1408
1409	* sys.mk: extract some bits to sys.{debug,vars}.mk
1410	  for easier re-use by others.
1411
14122016-09-23  Simon Gerraty  <sjg@sjg-mba13>
1413
1414	* lib.mk: Use ${PICO} for extension for PIC objects.
1415	  default to .pico (like NetBSD) safe on case insensitive filesystem.
1416
14172016-08-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1418
1419	* meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
1420
14212016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1422
1423	* install-mk (MK_VERSION): 20160815
1424
1425	* dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
1426	consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
1427
14282016-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1429
1430	* meta.sys.mk (.MAKE.META.IGNORE_PATHS):
1431	  in meta mode we can ignore the mtime of makefiles
1432
14332016-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1434
1435	* install-mk (MK_VERSION): 20160802
1436
1437	* lib.mk (libinstall): depends on beforinstall
1438
1439	* prog.mk (proginstall): depends on beforinstall
1440	  patch from Lauri Tirkkonen
1441
1442	* dirdeps.mk (bootstrap): When bootstrapping; creat
1443	.MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
1444	.MAKE.DEPENDFILE_BOOTSTRAP_SED
1445
1446	* dirdeps.mk: move some comments to where they make sense.
1447
14482016-07-27  Simon J. Gerraty  <sjg@bad.crufty.net>
1449
1450	* dirdeps.mk (DIRDEPS_CACHE): no dirname.
1451
14522016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1453
1454	* install-mk (MK_VERSION): 20160602
1455	* meta.autodep.mk: when passing META_FILES to gendirdeps.mk
1456	  do not apply :T to META_XTRAS
1457	  patch from Bryan Drewery at FreeBSD.org.
1458
14592016-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1460
1461	* install-mk (MK_VERSION): 20160530
1462	* meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
1463	  make it so.
1464
14652016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1466
1467	* install-mk (MK_VERSION): 20160512
1468
1469	* dpadd.mk: always include local.dpadd.mk if it exists
1470	  remove some things that better belong in local.dpadd.mk
1471	  skip INCLUDES_* for staged libs unless SRC_* defined.
1472
1473	* own.mk: add INCLUDEDIR
1474
14752016-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1476
1477	* dirdeps.mk: when doing -f dirdeps.mk if target suppies no
1478	  TARGET_MACHINE - :E will be empty or match part of path, use
1479	  ${MACHINE}
1480
14812016-04-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1482
1483	* meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
1484	  NO_FILEMON_COOKIE
1485
1486	* dirdeps.mk: move the logic that allows for
1487	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1488	  inside the check for !target(_DIRDEP_USE)
1489
14902016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1491
1492	* Use <> when including local*.mk and others which may exist
1493	  elsewhere so that user can better control what they get.
1494
1495	* meta.autodep.mk (NO_FILEMON_COOKIE):
1496	  create a cookie if we ever build dir with nofilemon
1497	  so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
1498
14992016-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1500
1501	* install-mk (MK_VERSION): 20160401
1502
1503	* meta2deps.py: fix old print statement when debugging.
1504
1505	* gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
1506	  patch from Bryan Drewery
1507
15082016-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1509
1510	* install-mk (MK_VERSION): 20160317 (St. Pats)
1511
1512	* warnings.mk: g++ does not like -Wimplicit
1513
1514	* sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
1515	  pelthora of common suffixes for C++
1516
1517	* lib.mk: use .So for shared objects
1518
15192016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1520
1521	* install-mk (MK_VERSION): 20160315
1522
1523	* meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
1524	  normally only applies to scripts.
1525
1526	* dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
1527	  well as outside it.
1528
15292016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1530
1531	* install-mk (MK_VERSION): 20160310
1532
1533	* dirdeps.mk: use targets rather than a list to track DIRDEPS that
1534	  we have processed; the list gets very inefficient as number of
1535	  DIRDEPS gets large.
1536
1537	* sys.dependfile.mk: fix comment wrt MACHINE
1538
1539	* meta.autodep.mk: ignore staged DPADDs when bootstrapping.
1540	  patch from Bryan Drewery
1541
15422016-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1543
1544	* meta2deps.sh: don't ignore subdirs.
1545	  patch from Bryan Drewery
1546
15472016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1548
1549	* install-mk (MK_VERSION): 20160226
1550
1551	* gendirdeps.mk: mark _DEPENDFILE .NOMETA
1552
15532016-02-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1554
1555	* dirdeps.mk: we shouldn't normally include .depend but if we do
1556	  use .dinclude if we can.
1557
15582016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1559
1560	* install-mk (MK_VERSION): 20160218
1561	* sys.clean-env.mk: with recent change to Var_Subst()
1562	  we cannot use the '$$' trick, but .export-literal does the job
1563	  we need.
1564	* auto.dep.mk: make use .dinclude if we can.
1565
1566
15672016-02-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1568
1569	* dirdeps.mk:
1570	  Add _build_all_dirs such that local.dirdeps.mk can
1571	  add fully qualified dirs to it.
1572	  These will be built normally but the current
1573	  DEP_RELDIR will not depend on then (to avoid cycles).
1574	  This makes it easy to hook things like unit-tests into build.
1575
1576
15772016-01-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1578
1579	* dirdeps.mk: add bootstrap-empty
1580
15812015-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1582
1583	* install-mk (MK_VERSION): 20151212
1584	* auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
1585	  only apply :tA to __objdir when comparing to .OBJDIR
1586
15872015-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1588
1589	* install-mk (MK_VERSION): 20151111
1590
1591	* meta.sys.mk: include sys.dependfile.mk
1592
1593	* sys.mk (OPTIONS_DEFAULT_NO): use options.mk
1594	  to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
1595	  include local.sys.env.mk early
1596	  include local.sys.mk later
1597
1598	* own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
1599
16002015-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1601
1602	* meta.sys.mk (META_COOKIE_TOUCH):
1603	  add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
1604
1605	* meta.stage.mk: stage_libs should ignore SYMLINKS.
1606
16072015-10-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1608
1609	* install-mk (MK_VERSION): 20151022
1610
1611	* sys.mk: BSD/OS does not have 'type' as a shell builtin.
1612
16132015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1614
1615	* install-mk (MK_VERSION): 20151020
1616
1617	* dirdeps.mk: Add logic for
1618	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1619
16202015-10-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1621
1622	* install-mk (MK_VERSION): 20151010
1623
16242015-10-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1625
1626	* meta.stage.mk: use staging: ${STAGE_TARGETS:...
1627	  to have stage_lins run last in non-jobs mode.
1628	  Use .ORDER only for jobs mode.
1629
16302015-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1631
1632	* rst2htm.mk: allow for per target flags etc.
1633
16342015-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1635
1636	* install-mk (MK_VERSION): 20150901
1637
1638	* doc.mk: create dir if needed use DOC_INSTALL_OWN
1639
16402015-06-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1641
1642	* install-mk (MK_VERSION): 20150615
1643
1644	* auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
1645	  Follow make's normal precedence rules.
1646
1647	* gendirdeps.mk: allow customization of the header.
1648	  eg. for FreeBSD:
1649	  GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
1650
1651	* meta.autodep.mk: ignore dirdeps.cache*
1652
1653	* meta.stage.mk: when bootstrapping options it can be handy to
1654	  throw warnings rather than errors for staging conflicts.
1655
1656	* meta.sys.mk: include local.meta.sys.mk for customization
1657
16582015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1659
1660	* install-mk (MK_VERSION): 20150606
1661
1662	* dirdeps.mk: don't rely on manually maintained Makefile.depend
1663	  to set DEP_RELDIR and reset DIRDEPS.
1664	  By setting DEP_RELDIR ourselves we can skip :tA
1665
1666	* gendirdeps.mk: skip setting DEP_RELDIR.
1667
16682015-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1669
1670	* dirdeps.mk: avoid wildcards like make(bootstrap*)
1671
16722015-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1673
1674	* install-mk (MK_VERSION): 20150520
1675
1676	* dirdeps.mk: when we are building dirdeps cache file we *want*
1677	  meta_oodate to look at all the Makefile.depend files, so
1678	  set .MAKE.DEPENDFILE to something that won't match.
1679
1680	* meta.stage.mk: for STAGE_AS_* basename of file may not be unique
1681	  so first use absolute path as key.
1682	  Also skip staging at level 0.
1683
16842015-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1685
1686	* install-mk (MK_VERSION): 20150430
1687
1688	* dirdeps.mk: fix _count_dirdeps for non-cache case.
1689
16902015-04-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1691
1692	* install-mk (MK_VERSION): 20150411
1693	  bump version
1694
1695	* own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
1696	  it is here mainly for documentation purposes, since
1697	  if using auto.obj.mk it is better done via sys.mk
1698
16992015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1700
1701	* install-mk (MK_VERSION): 20150401
1702
1703	* meta2deps.sh: support @list
1704
1705	* meta2deps.py: updates from Juniper
1706	  o add EXCLUDES
1707	  o skip bogus input files.
1708	  o treat 'M' and 'L' as both an 'R' and a 'W'
1709
17102015-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1711
1712	* install-mk (MK_VERSION): 20150303
1713
1714	* dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
1715	  which is built via sub-make so we have a .meta file to tell if
1716	  it is out-of-date.
1717	  The dirdeps-cache contains the same dependency rules that we
1718	  normaly construct on the fly.
1719	  This adds a few seconds overhead when the cache is out of date,
1720	  but for a large target, the savings can be significant (10-20min).
1721
17222014-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1723
1724	* install-mk (MK_VERSION): 20141118
1725
1726	* meta.stage.mk: add stale_staged
1727
1728	* dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
1729	  only useful under very rare conditions such as
1730	  FreeBSD's make universe.
1731
1732	* auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
1733
17342014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1735
1736	* install-mk (MK_VERSION): 20141111
1737
1738	* mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
1739
17402014-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1741
1742	* FILES: include mkopt.sh which allows handling options in shell
1743	  scripts in a manner compatible with options.mk
1744
17452014-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1746
1747	* meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
1748	  for GENDIRDEPS_FILTER to avoid surprises.
1749
17502014-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1751
1752	* dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
1753	  the time it is applied to __depdirs they have.
1754
1755	* dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
1756	  expects patterns like *.${MACHINE}
1757
1758	* cython.mk (pyprefix?): use pyprefix to find python bits
1759	  since prefix might be something else (where we install our
1760	  stuff)
1761
17622014-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1763
1764	* install-mk (MK_VERSION): 20140911
1765
1766	* dirdeps.mk: add bootstrap target to simplify adding support for
1767	  new MACHINE.
1768
17692014-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1770
1771	* gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
1772	  GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
1773	  Makefile.depend files.
1774
17752014-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1776
1777	* install-mk (MK_VERSION): 20140828
1778
1779	* cython.mk: capture logic for building python extension modules
1780	  with Cython.
1781
17822014-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1783
1784	* meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
1785
17862014-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1787
1788	* install-mk (MK_VERSION): 20140801
1789
1790	* dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
1791	identify the autodep.mk variant.
1792
1793	* sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
1794	initial value does not match .MAKE.DEPENDFILE_PREFIX
1795
1796	* meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
1797
17982014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1799
1800	* install-mk (MK_VERSION): 20140522
1801
1802	* lib.mk: use CC to link shlib for linux too
1803	  patch from Brendan MacDonell
1804
18052014-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1806
1807	* meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
1808	  if WITH_META_STATS is defined.
1809
18102014-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1811
1812	* dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
1813	  to supress dirdeps outside of .CURDIR.
1814
18152014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1816
1817	* Fix spelling errors - patch from Pedro Giffuni
1818
18192014-03-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1820
1821	* install-mk (MK_VERSION): 20140314
1822
1823	* dirdeps.mk (beforedirdeps): a handy hook
1824
1825	* dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
1826	  to visit leaf dirs to be intercepted (eg. for distributed
1827	  build).
1828
1829	* dirdeps.mk (__depdirs): ensure // don't sneak in
1830
1831	* gendirdeps.mk (DIRDEPS): ensure // don't sneak in
1832
1833
18342014-02-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1835
1836	* rst2htm.mk (RST2PDF): add support for rst2pdf
1837
18382014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1839
1840	* install-mk (MK_VERSION): bump version
1841	* dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
1842	  available.
1843
18442014-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1845
1846	* options.mk: avoid :U so this isn't bmake dependent
1847
18482014-02-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1849
1850	* options.mk: cleanup and simplify semanitcs
1851	  NO_* dominates all, if both WITH_* and WITHOUT_*
1852	  are defined then result is DOMINATE_* which defaults to "no".
1853	  Ie. WITHOUT_ normally wins.
1854
18552013-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1856
1857	* install-mk (MK_VERSION): bump version
1858	* meta2deps.py: convert to print function for python3 compat.
1859	  we also need to open files with mode 'r' rather than 'rb'
1860	  otherwise we get bytes instead of strings.
1861
18622013-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1863
1864	* install-mk (MK_VERSION): bump version
1865
1866	* dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
1867	  apply the same filtering (M_dep_qual_fixes) when setting _machines
1868	  as _build_dirs.
1869	  Also fix the filtering of Makefile.depend files - for reporting
1870	  what we are looking for (M_dep_qual_fixes can get confused by
1871	  Makefile.depend)
1872	  Add some more debug info.
1873
18742013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1875
1876	* gendirdeps.mk (_objtops): fix typo also
1877	  while processing M2D_OBJROOTS to gather qualdir_list
1878	  qualify $ql with loop iterator to ensure correct results.
1879
18802013-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1881
1882	* install-mk (MK_VERSION): 20130801
1883	* libs.mk: update to match progs.mk
1884
18852013-07-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1886
1887	* install-mk (MK_VERSION): 20130726
1888	  some updates from Juniper and FreeBSD
1889	  o meta2deps.py: indicate file and line number when we hit parse
1890	    errors
1891	    also allow @file to provide huge list of .meta files.
1892	* meta2deps.py: add try_parse() to cleanup the above.
1893
18942013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1895
1896	* install-mk (MK_VERSION): 20130716
1897	* own.mk: add GPROG as an option
1898	* prog.mk: honor MK_GPROF==yes
1899
19002013-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1901
1902	* install-mk (MK_VERSION): 20130505
1903	* gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
1904	  for when $MACHINE isn't enough for objdir distinction.
1905	  Bring meta2deps.sh closer to par with meta2deps.py.
1906
19072013-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1908
1909	* meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
1910	  also if the target 'beforeinstall' exists, make it depend on
1911	  .dirdep (incase it uses STAGE_INSTALL).
1912
19132013-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1914
1915	* install-mk (MK_VERSION): 20130401 ;-)
1916	* meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
1917	  wrapper around install(1).
1918	* options.mk (OPTION_PREFIX): Allow a prefix other than MK_
1919
19202013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1921
1922	* meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
1923	* install-mk (MK_VERSION): bump version
1924
19252013-03-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1926
1927	* install-mk (MK_VERSION): bump version
1928	* gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
1929	  any trailing /., rather apply :tA only when needed.
1930	* gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
1931	* meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
1932	  consistently.
1933	* dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
1934
19352013-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1936
1937	* gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
1938	  it is simpler to just not update when say building for "host"
1939	  (where we know we apply filters to DIRDEPS), and using a
1940	  non-machine qualified dependfile.
1941
19422013-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1943
1944	* dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
1945	  and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
1946	* gendirdeps.mk: ensure _objroot has trailing / if it needs it.
1947	* meta2deps.py: if machine is "host", then also trim
1948	  self.host_target from any OBJROOTS.
1949
1950
19512013-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1952
1953	* gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
1954	  qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
1955	  but _DEPENDFILE does not, compare the new _DEPENDFILE against
1956	  .MAKE.DEPENDFILE_DEFAULT and discard if the same.
1957
19582013-03-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1959
1960	* meta.stage.mk: use STAGE_TARGETS to control .ORDER
1961	  and hook to all: via staging:
1962
19632013-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1964
1965	* sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
1966	  use a separate variable for the default .MAKE.DEPENDFILE value
1967	  so that it can be controlled independently of
1968	  .MAKE.DEPENDFILE_PREFERENCE
1969
1970	* meta.stage.mk: throw error if cp fails etc.
1971	  Stage*() return early if passed no args.
1972	  .ORDER stage_*
1973
19742013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1975
1976	* install-mk (MK_VERSION): bump version
1977	* gendirdeps.mk: handle multiple M2D_OBJROOTS better.
1978
19792013-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1980
1981	* install-mk (MK_VERSION): bump version to 20130210
1982	* import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
1983	  from Juniper.
1984	  o dirdeps.mk now fully supports TARGET_SPEC consisting of more
1985	    than just MACHINE.
1986	  o no longer use DEP_MACHINE from Makefile.depend* so remove it.
1987
19882013-01-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1989
1990	* install-mk (MK_VERSION): bump version to 20130123
1991	* meta.stage.mk: add stage_links (hard links).
1992	  if doing hard links, we add dest to link as well.
1993	  Default the stage dir for [sym]links to STAGE_OBJTOP since
1994	  these are typically specified as absolute paths.
1995	  Add -m "mode" flag to StageFiles and StageAs.
1996
19972012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1998
1999	* install-mk (MK_VERSION): bump version to 20121111
2000	* autoconf.mk: avoid meta mode seeing changed commands for config.status
2001	* meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
2002	  in case we were found via .../mk
2003	* sys.clean-env.mk: move it from examples, we and others use it
2004	  "as is".
2005	* FILES: add srctop.mk and options.mk
2006	* own.mk: convert to using options.mk
2007	  which is modeled after FreeBSD's handling of MK_*
2008	  but more flexible.
2009	  This allows MK_* for boolean knobs to not be confused
2010	  with MK* which can be commands.
2011
2012	* examples/sys.clean-env.mk: add WITH[OUT]_ to
2013	  MAKE_ENV_SAVE_PREFIX_LIST.
2014	  Mention that HOME=/var/empty might be a good idea.
2015
20162012-11-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2017
2018	* sys.dependfile.mk: if not depend file exists, $MACHINE
2019	  specific ones are supported but not the default,
2020	  check if any exist and follow suit.
2021
20222012-11-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2023
2024	* install-mk (MK_VERSION): bump version to 20121106
2025
20262012-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2027
2028	* import latest dirdeps.mk and meta2deps.py from Juniper.
2029	* progs.mk: add MAN and CXXFLAGS to PROG_VARS
2030	  also add PROGS_TARGETS and pass on PROG_CXX if it seems
2031	  appropriate.
2032
20332012-11-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2034
2035	* meta.stage.mk: update CLEANFILES
2036	  remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
2037	* progs.mk: Add LDADD to PROG_VARS
2038
20392012-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2040
2041	* meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
2042	  _STAGED_DIRS so that these can be turned into filters for
2043	  GENDIRDEPS_FILTER.
2044
20452012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2046
2047	* install-mk (MK_VERSION): bump version to 20121010
2048	* meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
2049	target.dirdep matches .dirdep
2050
20512012-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2052
2053	* install-mk (MK_VERSION): bump version to 20120808
2054	* import latest meta2deps.py from Juniper.
2055
20562012-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2057
2058	* install-mk (MK_VERSION): bump version to 20120711
2059	* dep.mk: add explicit dependencies on SRCS after applying
2060	  SRCS_DEP_FILTER
2061	* meta.autodep.mk: add explicit dependencies on SRCS after
2062	  applying SRCS_DEP_FILTER
2063	* meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
2064
20652012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2066
2067	* install-mk (MK_VERSION): bump version to 20120626
2068	* meta.sys.mk: ignore PYTHON if it does not exist
2069	  compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
2070	* meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
2071	  entries ending in .${MACHINE} to decide if qualified _dirdep is
2072	  needed.
2073	* gendirdeps.mk: only produce unqualified deps if no
2074	  .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
2075	* meta.subdir.mk: apply SUBDIRDEPS_FILTER
2076
20772012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2078
2079	* install-mk (MK_VERSION): bump version to 20120420
2080	* add sys.dependfile.mk so we can experiment with
2081	  .MAKE.DEPENDFILE_PREFERENCE
2082	* meta.autodep.mk: _DEPENDFILE is precious!
2083
20842012-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2085
2086	* install-mk (MK_VERSION): bump version to 20120315
2087	* install-new.mk: avoid being interrupted
2088
20892012-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2090
2091	* man.mk: MAN might have multiple values so be careful with exists().
2092
20932012-01-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2094
2095	* install-mk (MK_VERSION): bump version to 20120112
2096	* fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
2097	  as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
2098
20992011-12-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2100
2101	* install-mk (MK_VERSION):  bump version to 20111201
2102	* import dirdeps.mk from Juniper sjg@
2103	  o more consistent handling of DEP_MACHINE, especially when
2104	    dealing with an odd Makefile.depend, when normally using
2105	    Makefile.depend.${MACHINE}
2106
21072011-11-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2108
2109	* install-mk (MK_VERSION): bump version to 20111122
2110	* meta.autodep.mk: add some debug output, be more crisp about
2111	  updating.  Use ${.ALLTARGETS:M*.o} as a clue for .depend
2112
21132011-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2114
2115	* install-mk (MK_VERSION): bump version to 20111111
2116	  it's too cool to miss
2117	* import meta* updates from Juniper sjg@
2118	  o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
2119	    normally using Makefile.depend.${MACHINE}), handy for
2120	    read-only manually maintained dependencies.
2121	  o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
2122	  o gendirdeps.mk if ERROR: from meta2deps.py do not update
2123	    anything.
2124
21252011-10-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2126
2127	* install-new.mk separate the cmp and copy logic to its own function.
2128
21292011-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2130
2131	* install-mk (MK_VERSION): bump version to 20111028
2132	* sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
2133	* subdir.mk: ensure _SUBDIRUSE is provided
2134	* meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
2135	* meta.subdir.mk: always allow for Makefile.depend
2136
21372011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2138
2139	* install-mk (MK_VERSION): bump version to 20111010
2140	  o minor tweak to *dirdeps.mk from Juniper sjg@
2141
21422011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2143
2144	* install-mk (MK_VERSION): bump version to 20111001
2145	  o add meta2deps.py from Juniper sjg@
2146	  o tweak gendirdeps.mk to work with meta2deps.py when not
2147	    cross-building
2148	* autoconf.mk: add autoconf-input as a hook for regenerating
2149	  AUTOCONF_INPUTS (configure).
2150
21512011-08-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2152
2153	* meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
2154	  trigger for updating Makefile.depend*
2155
21562011-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2157
2158	* install-mk (MK_VERSION): bump version to 20110808
2159	* obj.mk: minor cleanup
2160	* auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
2161
21622011-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2163
2164	* auto.obj.mk (.OBJDIR): throw an error if we cannot use the
2165	  specified dir.
2166
21672011-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2168
2169	* meta.autodep.mk: if XMAKE_META_FILE is set
2170	  the makefile uses a foreign make, and so dependencies
2171	  can only be gathered from a clean tree build.
2172
21732011-06-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2174
2175	* install-mk (MK_VERSION): bump version to 20110622
2176	* meta.autodep.mk: improve bootstraping
2177
21782011-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2179
2180	* yacc.mk: handle the corner case of .c being removed
2181	  while .h remains.
2182
21832011-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2184
2185	* yacc.mk: do .y.h and .y.c separately
2186
21872011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2188
2189	* install-mk (MK_VERSION): bump version to 20110606
2190	* don't store SRC_DIRDEPS in Makefile.depend* by default
2191	  not everyone needs it.
2192
21932011-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2194
2195	* install-mk (MK_VERSION): bump version to 20110505
2196	  first release including meta mode makefiles
2197
21982011-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2199
2200	* meta.stage.mk: add STAGE_AS_SETS and stage_as
2201	  for things that need to be staged with different names.
2202
22032011-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2204
2205	* meta.stage.mk: add notion of STAGE_SETS
2206	  so a makefile can stage to multiple dirs
2207
22082011-04-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2209
2210	* rst2htm.mk: convert rst to s5 (slides) or plain html depending
2211	  on target name.
2212
22132011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2214
2215	* install-mk (MK_VERSION): bump version to 20110330
2216
22172011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
2218
2219	* sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
2220	  can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
2221	* sys.mk: re-define M_whence in terms of M_type.
2222	  M_type is useful for checking if something is a builtin.
2223
22242011-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2225
2226	* meta.stage.mk: add stage_symlinks and leverage StageLinks for
2227	  stage_libs
2228
22292011-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2230
2231	* dirdeps.mk: correct value for _depdir_files depends on
2232	  .MAKE.DEPENDFILE
2233	  Add our copyright - just to make it clear we have frobbed this
2234	  quite a bit.
2235	  DEP_MACHINE needs to be set to MACHINE each time, if using only
2236	  Makefile.depend (cf. Makefile.depend.${MACHINE})
2237
2238	* meta.stage.mk: meta mode version of staging
2239
2240	* init.mk, final.mk: include local.*.mk to simplify customization
2241
22422011-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2243
2244	* auto.obj.mk: just because we are doing mk destroy, we should
2245	  still set .OBJDIR correctly if it exists.
2246
2247	* install-mk (mksrc): do not exclude meta.sys.mk
2248
22492011-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2250
2251	* host-target.mk: set/export _HOST_ARCH etc separately,
2252	  catch junk resulting from uname -p, so we can find sys/Linux.mk
2253	  correctly.
2254
22552011-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2256
2257	* meta.sys.mk: throw an error if /dev/filemon is missing and we
2258	  expected to be updating Makefile.depend*
2259
22602011-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2261
2262	* install-mk (MK_VERSION): bump version to 20110214
2263	* meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
2264
22652010-09-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2266
2267	* meta.sys.mk: not valid for older bmake
2268
22692010-09-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2270
2271	* install-mk (MK_VERSION): bump version to 20100919
2272	include dirdeps.mk et al from Juniper Networks,
2273	for meta mode - requires filemon(9).
2274	* sys.mk, subdir.mk: Add hooks for meta mode.
2275	we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
2276	to make turning it on/off simple.
2277
22782010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2279
2280	* install-mk (MK_VERSION): bump version to 20100616
2281	* fix typo in sys.mk
2282
22832010-06-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2284
2285	* install-mk (MK_VERSION): bump version to 20100612
2286	* lib.mk: remove duplicate addition to SOBJS
2287
22882010-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2289
2290	* sys.mk: Add a means of selectively turning on debug flags.
2291	  Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
2292	  will act as if we did make -dv if .CURDIR ends in lib/sjg
2293	  DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
2294	  the start of sys.mk rather than the end.
2295	  This only makes sense for leaf dirs, so we check that
2296	  .MAKE.LEVEL > 0
2297
22982010-06-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2299
2300	* install-mk (MK_VERSION): bump version to 20100608
2301	* sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
2302	* examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
2303	  also make it easier for folk to tweak
2304
23052010-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2306
2307	* install-mk (MK_VERSION): bump version to 20100606
2308	  do not install examples/*
2309	* FILES: add examples/sys.clean-env.mk
2310	* examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
2311	  this requires bmake-20100606 or later to work.
2312
23132010-05-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2314
2315	* sys.mk (M_tA): better simulate the result of :tA if not available.
2316
23172010-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2318
2319	* sys.mk: canonicalize MAKE_VERSION
2320	  old versions reported bmake-<src-date> build-<build-date>
2321	  whereas we only care about <src-date>
2322
23232010-04-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2324
2325	* install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
2326	* lib.mk: we only build the shared lib if SHLIB_FULLVERSION
2327	  is !empty
2328
23292010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2330
2331	* dpadd.mk: use LDADD_* if defined.
2332
23332010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2334
2335	* install-mk (MK_VERSION): bump version to 20100420
2336	* sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
2337	* autoconf.mk allow AUTO_AUTOCONF
2338
23392010-04-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2340
2341	* obj.mk: add objwarn to keep freebsd makefiles happy
2342	* auto.obj.mk: ensure Mkdirs is available.
2343	* FILES: add auto.dep.mk - a simpler version of autodep.mk
2344	* dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
2345	  asked to do that.
2346	  fix/simplify the tests for when to run mkdep.
2347	* auto.dep.mk: add some explanation of how/what we do.
2348	* autodep.mk: skip the .OPTIONAL frobbing of .depend
2349	  bmake's FROM_DEPEND flag makes it redundant.
2350
23512010-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2352
2353	* install-mk (MK_VERSION): bump version to 20100404
2354	* subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
2355	* obj.mk: protect from multiple inclusion even as bsd.obj.mk
2356	Also create a target _SUBDIRUSE so that we can  be used without
2357	subdir.mk
2358
23592010-04-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2360
2361	* dep.mk: use <> when .including so can override.
2362
23632010-01-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2364
2365	* lib.mk (SHLIB_LINKS): ensure a string comparison.
2366
23672010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2368
2369	* install-mk (MK_VERSION): bump version to 20100102
2370	* own.mk: ensure PRINTOBJDIR works
2371	* autoconf.mk: pass on CONFIGURE_ARGS
2372	* init.mk: handle COPTS.${.IMPSRC:T} etc.
2373	* lib.mk: allow sys.mk to control SHLIB_FULLVERSION
2374	  fix handling of symlinks for darwin
2375	* libnames.mk: add DSHLIBEXT for libs which only exist as shared.
2376	* man.mk: suppress chown when not root.
2377	* rst2htm.mk: allow srcs from multiple locations.
2378	* sys.mk: M_whence, stop after 1st line of output.
2379	* sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
2380	* sys/SunOS.mk: we need to export PATH
2381
23822009-12-23  Simon J. Gerraty  <sjg@void.crufty.net>
2383
2384	* install-mk (MK_VERSION): bump version
2385	  include rst2htm.mk
2386
23872009-12-17  Simon J. Gerraty  <sjg@void.crufty.net>
2388
2389	* sys.mk,libnames.mk add .-include <local.*>
2390	  this allows local customization without the need to edit the
2391	  distributed files.
2392
23932009-12-14  Simon J. Gerraty  <sjg@void.crufty.net>
2394
2395	* dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
2396	  older versions already installed.
2397
23982009-12-13  Simon J. Gerraty  <sjg@void.crufty.net>
2399
2400	* stage.mk (.stage-install): generalize lib.mk's .libinstall
2401	* rules.mk rules for generic Makefile.
2402	* inc.mk install for includes.
2403
24042009-12-11  Simon J. Gerraty  <sjg@void.crufty.net>
2405
2406	* sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
2407	  this, so provide it if using native make.
2408
24092009-12-10  Simon J. Gerraty  <sjg@void.crufty.net>
2410
2411	* FILES: move all the platform *.sys.mk files to sys/*.mk
2412	* Rename Generic.sys.mk to sys.mk - we always want it.
2413
24142009-11-17  Simon J. Gerraty  <sjg@void.crufty.net>
2415
2416	* install-mk (MK_VERSION): bump version
2417	* host-target.mk: only export the expensive stuff
2418	* Generic.sys.mk (sys_mk): for SunOS we need to look for
2419	  ${HOST_OS}.${HOST_OSMAJOR} too!
2420
24212009-11-07  Simon J. Gerraty  <sjg@void.crufty.net>
2422
2423	* install-mk (MK_VERSION): bump version
2424	* lib.mk: if sys.mk doesn't give us an lorder, don't use it.
2425	  based on patch from Greg Olszewski.
2426	* Generic.sys.mk: if we have nothing to work with
2427	set LORDER etc only if we can find it.
2428
24292009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
2430
2431	* install-mk (MK_VERSION): bump version
2432	* man.mk: cleanman: remove CLEANMAN if defined.
2433
24342009-09-04  Simon J. Gerraty  <sjg@void.crufty.net>
2435
2436	* SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
2437
24382009-07-17  Simon J. Gerraty  <sjg@void.crufty.net>
2439
2440	* install-mk (MK_VERSION): bump version
2441	include auto.obj.mk
2442
2443
24442009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
2445
2446	* prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
2447
24482008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
2449
2450	* install-mk (MK_VERSION): bump version
2451	man.mk: ensure we generate *.cat1 etc in .
2452
24532008-07-16  Simon J. Gerraty  <sjg@void.crufty.net>
2454
2455	* install-mk (MK_VERSION): bump version
2456	add prlist.mk
2457
24582007-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
2459
2460	* Generic.sys.mk: Allow os specific sys.mk to be in a
2461	subdir of ${.PARSEDIR}
2462
24632007-11-22  Simon J. Gerraty  <sjg@void.crufty.net>
2464
2465	* install-mk (MK_VERSION): bump version
2466	* general cleanup
2467	* dpadd.mk introduce DPMAGIC_LIBS_*
2468
24692007-04-30  Simon J. Gerraty  <sjg@void.crufty.net>
2470
2471	* install-mk (MK_VERSION): bump version
2472
2473	* libs.mk, progs.mk, autodep.mk: allow for per lib/prog
2474	depend files and ensure clean is called for each lib/prog.
2475
24762007-03-27  Simon J. Gerraty  <sjg@void.crufty.net>
2477
2478	* autodep.mk (.depend): delete lines that do not start with
2479	space and do not contain ':'
2480
24812007-02-16  Simon J. Gerraty  <sjg@void.crufty.net>
2482
2483	* autodep.mk (.depend): gcc may wrap lines if pathnames are long
2484	so make sure the transform for .OPTIONAL copes.
2485
24862007-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2487
2488	* install-mk (MK_VERSION): bump version
2489
2490	* own.mk: make sure RM and LN are defined.
2491
2492	* obj.mk: fix a typo, and objlink target.
2493
24942006-12-30  Simon J. Gerraty  <sjg@void.crufty.net>
2495
2496	* install-mk (MK_VERSION): bump version
2497	* added libs.mk - analogous to progs.mk
2498	  make both of them always inlcude {lib,prog}.mk
2499
25002006-12-28  Simon J. Gerraty  <sjg@void.crufty.net>
2501
2502	* progs.mk: add a means of building multiple apps in one dir.
2503
25042006-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
2505
2506	* install-mk (MK_VERSION): bump version to 20061126
2507
2508	* warnings.mk: detect invalid WARNINGS_SET
2509
2510	* warnings.mk: use ${.TARGET:T:R}.o when looking for target
2511	specific warnings.
2512
2513	* For .cc sources, turn off warnings that g++ vomits on.
2514
25152006-11-08  Simon J. Gerraty  <sjg@void.crufty.net>
2516
2517	* own.mk: if __initialized__ target doesn't exist and we are
2518	FreeBSD we got here directly from sys.mk
2519
25202006-11-06  Simon J. Gerraty  <sjg@void.crufty.net>
2521
2522	* install-mk (MK_VERSION): bump version to 20061106
2523	add scripts.mk
2524
25252006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
2526
2527	* install-mk (MK_VERSION): bump version to 20060318
2528
2529	* autodep.mk: avoid := when modifying OBJS into __dependsrcs
2530
25312006-03-02  Simon J. Gerraty  <sjg@void.crufty.net>
2532
2533	* install-mk (MK_VERSION): bump version to 20060302
2534	* autodep.mk: use -MF et al to help gcc+ccache DTRT.
2535
25362006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
2537
2538	* install-mk (MK_VERSION): bump version to 20060301
2539	* autodep.mk (.depend):
2540	if MAKE_VERSION is newer than  20050530 we can make .END depend on
2541	.depend and make .depend depend on __depsrcs that exist.
2542	* dpadd.mk: add SRC_PATHADD
2543
25442005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
2545
2546	* install-mk (MK_VERSION): bump version to 20051104
2547	* prog.mk: remove all the LIBC?= junk, use
2548	.-include libnames.mk instead (none by default).
2549	also if USE_DPADD_MK is set, include that.
2550
25512005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2552
2553	* install-mk (MK_VERSION): bump version to 20051001
2554	Add UnixWare.sys.mk from Klaus Heinz.
2555
25562005-04-05  Simon J. Gerraty  <sjg@void.crufty.net>
2557
2558	* install-mk: always install *.sys.mk and if need be symlink one
2559	to sys.mk
2560
25612005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2562
2563	* subdir.mk, own.mk: use .MAKE rather than MAKE
2564
25652004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
2566
2567	* own.mk: don't use NetBSD's _SRC_TOP_ it can
2568	cause confusion.  Also don't take just 'mk' as a
2569	srctop indicator.
2570
25712004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
2572
2573	* warnings.mk: overhauled, now very powerful.
2574
25752004-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2576
2577	* Generic.sys.mk: need to use ${.PARSEDIR} with exists().
2578
25792004-02-01  Simon J. Gerraty  <sjg@void.crufty.net>
2580
2581	* install-mk (MK_VERSION): bump version to 20040201
2582	* extract HOST_TARGET stuff to host-target.mk so own.mk and
2583	Generic.sys.mk can share.
2584	* fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
2585
25862003-09-30  Simon J. Gerraty  <sjg@void.crufty.net>
2587
2588	* install-mk (MK_VERSION): 20030930
2589	* rename generic.sys.mk to Generic.sys.mk
2590	so that it does not get installed (unless being used as sys.mk)
2591	* set OS and ROOT_GROUP for those that we know the value.
2592	for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
2593	we don't do it again for each sub-make.
2594
25952003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
2596
2597	* install-mk (MK_VERSION): 20030928
2598	Add some extra *.sys.mk from bootstrap-pkgsrc
2599	some of these likely still need work.
2600	Make everything default to root:wheel ownership,
2601	sys.mk can set ROOT_GROUP accordingly.
2602
26032003-08-07  Simon J. Gerraty  <sjg@void.crufty.net>
2604
2605	* install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
2606	not the portable ones.
2607
26082003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
2609
2610	* install-mk: add ability to use cp -f when updating
2611	destination .mk files.  Also now possible to play games with
2612	FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
2613	into dest - not recommended unless you seriously want to.
2614
26152003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
2616
2617	* own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
2618	for semi-compatability with NetBSD.
2619
26202003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
2621
2622	* install-mk: add a version indicator
2623
26242003-07-22  Simon J. Gerraty  <sjg@void.crufty.net>
2625
2626	* prog.mk: don't try and use ${LIBCRT0} if its /dev/null
2627
2628	* install-mk: Allow FORCE_SYS_MK to come from env
2629
2630
2631
2632