xref: /freebsd/contrib/bmake/mk/ChangeLog (revision 2e47f35be5dc61945afdbd1a70e8fd505c032c94)
12025-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* init.mk: include Skipping ${RELDIR} when _SKIP_BUILD is not empty.
4
52025-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
6
7	* install-mk (MK_VERSION): 20250414
8
9	* init.mk: check ONLY_*_LIST and NOT_*_LIST for SKIP_BUILD_VAR_LIST
10	to set _SKIP_BUILD
11
12	* genfiles.mk: add FILTER support
13
14	* rst2htm.mk: latest docutils drops .py extensions
15
162025-03-26  Simon J Gerraty  <sjg@beast.crufty.net>
17
18	* install-mk (MK_VERSION): 20250326
19
20	* auto.obj.mk: fix and simplify handling of relative __objdir,
21	convert it to absolute before checking against .OBJDIR
22
232025-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
24
25	* install-mk (MK_VERSION): 20250314
26
27	* meta.stage.mk: StageFiles --subdir: preserve the dir part of
28	each file under $dest
29
302025-03-12  Simon J Gerraty  <sjg@beast.crufty.net>
31
32	* meta.autodep.mk: do a better job of handling MAKESYSPATH in
33	GENDIRDEPS_ENV.  If we have MAKE_VERSION >= 20230123 we can just
34	use .SYSPATH, otherwise it is a bit more complicated.
35
362025-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
37
38	* rust.mk: use RUST_LIBS and RUST_PROGS
39
402025-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
41
42	* install-mk (MK_VERSION): 20250101
43
44	* use W flag to :S and :C rather than :tW
45
462024-12-16  Simon J Gerraty  <sjg@beast.crufty.net>
47
48	* rust.mk: add RUSTFLAGS if needed
49
502024-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
51
52	* init.mk (OBJS_SRCS_FILTER): apply this as
53	${OBJS_SRCS_FILTER:ts:} as we do in FreeBSD.
54
552024-12-03  Simon J Gerraty  <sjg@beast.crufty.net>
56
57	* install-mk (MK_VERSION): 20241202
58
59	* setopts.sh: needed by newlog.sh
60
612024-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
62
63	* meta.sys.mk: add META_MODE_XTRAS to META_MODE to make it
64	easier to add things like 'env' when debugging.
65
66	* install-mk (MK_VERSION): 20241122
67
68	* rust.mk: rename CARGO* to RUST_CARGO* so I don't feel
69	like this makefile should be renamed to cargo.mk
70
712024-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
72
73	* dirdeps.mk: add DIRDEPS_CACHED_ENV to dirdeps-cached and
74	DIRDEP_USE_EPILOGUE to _DIRDEP_USE
75
762024-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
77
78	* meta.sys.mk: if MK_META_ERROR_TARGET is yes and NEWLOG_SH is
79	set, and ERROR_LOGDIR already exists, hook _rotateErrorLog to
80	.BEGIN target.
81
822024-10-27  Simon J Gerraty  <sjg@beast.crufty.net>
83
84	* options.mk: add support for DEBUG_OPTIONS (similar to
85	DEBUG_DIRDEPS) to allow us to see where options get set.
86	Eg. DEBUG_OPTIONS="STAGING*" gives:
87
88	bmake[1]: "mk/options.mk" line 89: sys.mk: MK_STAGING=yes (MK_DIRDEPS_BUILD=no)
89	bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING=yes
90	bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING_PROG=no
91	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_MAN=yes (MK_STAGING=yes)
92	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_PROG=no (MK_STAGING=yes)
93	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_RUST=no (MK_STAGING_PROG=no)
94
95	* own.mk: fix setting of STAGE_OBJTOP (normally set by sys.dirdeps.mk)
96
972024-10-26  Simon J Gerraty  <sjg@beast.crufty.net>
98
99	* rust.mk: add some documentation and support for staging
100
1012024-10-25  Simon J Gerraty  <sjg@beast.crufty.net>
102
103	* rust.mk: a means of integrating Rust projects into a larger build.
104
1052024-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
106
107	* dirdeps-targets.mk: if DEBUG_DIRDEPS_TARGETS and we found
108	STATIC_DIRDEPS_CACHE, report its relative path.
109
1102024-09-30  Simon J Gerraty  <sjg@beast.crufty.net>
111
112	* dirdeps.mk: tweak the debug message for "Loading" a
113	Makefile.depend file, always report what the actual makefile is
114	with the DIRDEP it is for.
115	Remove the redundant "Looking" message.
116
1172024-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
118
119	* meta2deps.py: when raising AssertionError include meta file name
120	with $SB trimmed if possible.
121
1222024-09-23  Simon J Gerraty  <sjg@beast.crufty.net>
123
124	* meta2deps.py: replace assert() with raise AssertionError when we
125	detect missing eXits, to ensure a meaningful message gets into
126	log.
127
1282024-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
129
130	* install-mk (MK_VERSION): 20240921
131
132	* FILES: add genfiles.mk
133
1342024-09-20  Simon J Gerraty  <sjg@beast.crufty.net>
135
136	* install-mk (MK_VERSION): 20240920
137
138	* cython.mk: Get PYTHON_VERSION from PYTHON
139
1402024-08-31  Simon J Gerraty  <sjg@beast.crufty.net>
141
142	* subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*}
143	  and handle subdir with '-' in its name.
144
1452024-08-23  Simon J Gerraty  <sjg@beast.crufty.net>
146
147	* install-mk (MK_VERSION): 20240820
148
149	* links.mk: Allow a filter to be applied to SYMLINKS etc.
150	It is up to [BUILD_][SYM]LINKS_FILTER to do something sane.
151	Also only claim we are making a symlink if the value changed.
152
1532024-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
154
155	* install-mk (MK_VERSION): 20240616
156
157	* dirdeps.mk: apply DEP_DIRDEPS_BUILD_DIR_FILTER after we have
158	computed build dirs, since some filters cannot be easily expressed via
159	DEP_DIRDEPS_FILTER.
160
1612024-05-31  Simon J Gerraty  <sjg@beast.crufty.net>
162
163	* dirdeps.mk: move reset of DIRDEPS_EXPORT_VARS
164	until after we a finished with it if building a cache.
165
1662024-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
167
168	* install-mk (MK_VERSION): 20240504
169
170	* dirdeps.mk: allow BUILD_DIRDEPS_OVERRIDES to pass overrides to
171	sub-make building DIRDEPS_CACHE.
172
1732024-04-24  Simon J Gerraty  <sjg@beast.crufty.net>
174
175	* meta.autodep.mk: do not override start_utc
176
1772024-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
178
179	* sys.dirdeps.mk: set defaults for DEP_* at level 0 too.
180	These help when first include of Makefile.depend happens in a leaf
181	dir.
182
183	* install-mk (MK_VERSION): 20240414
184
1852024-04-09  Simon J Gerraty  <sjg@beast.crufty.net>
186
187	* install-mk (MK_VERSION): 20240408
188
189	* init.mk: allow for _ as well as . to join V
190	and Q from QUALIFIED_VAR_LIST and VAR_QUALIFIER_LIST.
191
192	* progs.mk: avoid overlap between PROG_VARS and
193	init.mk's QUALIFIED_VAR_LIST since PROG would also
194	match its VAR_QUALIFIER_LIST,
195	libs.mk does not have the same issue.
196
197	* subdir.mk: _SUBDIRUSE for realinstall should run install
198	remove include of ${.CURDIR}/Makefile.inc that can be done via
199	local.subdir.mk where needed
200
201	* own.mk: do not conflict with man.mk
202
2032024-03-19  Simon J Gerraty  <sjg@beast.crufty.net>
204
205	* install-mk (MK_VERSION): 20240314
206
207	* add sys/Cygwin.mk from Christian Franke
208
2092024-03-09  Simon J Gerraty  <sjg@beast.crufty.net>
210
211	* install-mk (MK_VERSION): 20240309
212
213	* meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not
214	want to save the .ERROR_META_FILE
215
2162024-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
217
218	* install-mk (MK_VERSION): 20240220
219
220	* sys.dirdeps.mk, dirdeps-targets.mk, init.mk:
221	do not set .MAIN: dirdeps in sys.dirdeps.mk
222	dirdeps-targets.mk will do that for top-level builds
223	and init.mk will do it for others.
224	This allows a Makefile which has no need of 'dirdeps' to
225	set .MAIN for itself and "just work".
226
2272024-02-18  Simon J Gerraty  <sjg@beast.crufty.net>
228
229	* bsd.*.mk: for makefiles that get a bsd. symlink,
230	use _this in  multiple inclusion tags since .PARSEFILE will not
231	DTRT when such a makefile is included directly by Makefile and
232	automatically (without bsd. prefix).
233	Since we cannot guarantee that our sys.mk will be used, we provide
234	a default _this in each makefile that gets a bsd. prefix such that
235	the value is the same regardless of bsd. prefix.
236
237	* subdir.mk: drop the !target guard on $SUBDIR_TARGETS
238
2392024-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
240
241	* install-mk (MK_VERSION): 20240212
242
243	* SPDX-License-Identifier: BSD-2-Clause
244	Add SPDX-License-Identifier to inidicate that I consider
245	my copyright on any of these makefiles equivalent to BSD-2-Clause
246
247	* autoconf.mk: allow for configure.ac as currently recommended
248
249	* subdir.mk: support @auto
250	which is replaced with each subdir that
251	has a [Mm]akefile.
252
253	* subdir.mk: include local.subdir.mk if it exists.
254
255	* subdir.mk: rework to handle .WAIT
256
2572024-02-11  Simon J Gerraty  <sjg@beast.crufty.net>
258
259	* subdir.mk: _SUBDIRUSE report the target we are entering subdirs for.
260
2612024-02-10  Simon J Gerraty  <sjg@beast.crufty.net>
262
263	* prog.mk: treat empty SRCS the same as undefined
264
2652024-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
266
267	* Avoid undefined errors in lint (-dL) mode
268
269	* man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7)
270
2712024-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
272
273	* install-mk (MK_VERSION): 20240128
274
275	* FILES: add ccm.dep.mk for C++ modules
276	add suffixes.mk for common location for generic SUFFIX rules.
277
278	* auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk
279	replace OBJ_EXTENSIONS with OBJ_SUFFIXES
280
281	* autodep.mk: leverage CXX_SUFFIXES for __depsrcs
282	and update style (spaces around = etc)
283
284	* init.mk: add OBJS_SRCS_FILTER to filter SRCS when
285	setting OBJS
286
287	* meta2deps.py: handle multiple ./ embedded in path better.
288
2892024-01-05  Simon J Gerraty  <sjg@beast.crufty.net>
290
291	* install-mk (MK_VERSION): 20240105
292	* dirdeps.mk: for MAKE_VERSION 20240105 we do not have the same
293	limits on command line length, so skip export of lists to env.
294
2952023-12-24  Simon J Gerraty  <sjg@beast.crufty.net>
296
297	* man.mk: add logic for staging man pages
298
2992023-11-28  Simon J Gerraty  <sjg@beast.crufty.net>
300
301	* jobs.mk: avoid C suffix in JOB_MAX_C if factor is floating
302	point.  This keeps JOB_MAX numeric incase another makefile does
303	comparisons.
304
3052023-11-04  Simon J Gerraty  <sjg@beast.crufty.net>
306
307	* dpadd.mk: add support for DPLIBS_QUALIFIER_LIST
308
309	* gendirdeps.mk: if META_XTRAS is passed to us, add to META_FILES
310
3112023-10-03  Simon J Gerraty  <sjg@beast.crufty.net>
312
313	* compiler.mk (COMPILER_VERSION): clang at least is into
314	double digit major versions.
315
3162023-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
317
318	* install-mk (MK_VERSION): 20231001
319
320	* set _CCLINK in init.mk so lib.mk can use it for default SHLIB_LD
321
322	* lib.mk (cleanlib): use LD_solink so we remove all the right files.
323	Use -Wl for -soname since we now default to linking with CC
324	We should not need SHLIB_LDSTARTFILE or SHLIB_LDENDFILE when linking
325	with CC.
326
3272023-09-24  Simon J Gerraty  <sjg@beast.crufty.net>
328
329	* init.mk (QUALIFIED_VAR_LIST): Add SRCS
330
3312023-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
332
333	* jobs.mk (JOB_MAX): use -jC if we can
334	we actually use JOB_MAX_C which defaults to 1.33C
335
3362023-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
337
338	* now_utc: %s only works with :localtime
339
3402023-07-14  Simon J Gerraty  <sjg@beast.crufty.net>
341
342	* install-sh: ignore -c as claimed and only insist on
343	a directory for destination when more than one file to copy.
344
345	* sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and
346	${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64)
347
3482023-07-13  Simon J Gerraty  <sjg@beast.crufty.net>
349
350	* install-mk (MK_VERSION): 20230711
351
352	* sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible
353	install(1)
354
355	* sys/IRIX.mk:  when setting ROOT_GROUP only match the first :0:
356	set INSTALL to install-sh rather than pathname that may not exist
357	(yet).
358
3592023-07-07  Simon J Gerraty  <sjg@beast.crufty.net>
360
361	* dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE
362	normally this is empty - for the default target, but there are
363	use-cases where we might set it to something else.
364
3652023-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
366
367	* install-mk (MK_VERSION): 20230704
368
369	* dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output
370	when DEBUG_DIRDEPS is in effect.
371	Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n
372	can greatly improve readability.
373
3742023-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
375
376	* meta.autodep.mk (beforegendirdeps): allow tasks to be done
377	at END but before gendirdeps
378
3792023-05-22  Simon J Gerraty  <sjg@beast.crufty.net>
380
381	* install-mk (MK_VERSION): 20230522
382
383	* host-target.mk: deal with garbage from uname -m on
384	Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH
385	these days so just leave it be.
386	For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get
387	arm64 and x86_64 in HOST_TARGET.
388
3892023-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
390
391	* sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older
392	versions of bmake.
393
394	* dirdeps.mk (TARGET_SPEC_VARS.host):
395	While *most* projects need only DEP_MACHINE for host,
396	there is always an exception.  So we allow for
397	TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS.
398	The default will *just work* for most projects.
399	We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC
400	based on DEP_MACHINE.
401	Allow for M_dep_qual_fixes.host to be different too
402	and take care to apply the right set.
403
4042023-05-14  Simon J Gerraty  <sjg@beast.crufty.net>
405
406	* sys.dirdeps.mk: we *do* want to override OBJTOP
407	and if MAKEOBJDIR was not in env as we want it;
408	put it there - carefully.
409	Ensure OBJROOT ends in / or - (/ preferred)
410	Add more comments to explain what/why.
411
4122023-05-13  Simon J Gerraty  <sjg@beast.crufty.net>
413
414	* install-mk (MK_VERSION): 20230512
415
416	* dirdeps.mk: take care not to qualify "host" dirdeps
417
418	* sys.dirdeps.mk (OBJTOP): must use ?=
419
4202023-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
421
422	* meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no"
423	suppress processing of .depend
424
4252023-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
426
427	* dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP
428
429	* meta.sys.mk sys.dirdeps.mk:
430	originally DIRDEPS_BUILD and META_MODE were the same thing,
431	but META_MODE is useful by itself.
432	Move things from meta.sys.mk which actually pertain to
433	DIRDEPS_BUILD to sys.dirdeps.mk
434
4352023-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
436
437	* install-mk (MK_VERSION): 20230504 May the Forth be with you
438
439	* dirdeps.mk: as with meta.sys.mk we treat "host" as special.
440	DEP_TARGET_SPEC is just ${DEP_MACHINE}
441
442	* meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at
443	level > 0 since these are often refered to in Makefile.depend*
444
4452023-04-26  Simon J Gerraty  <sjg@beast.crufty.net>
446
447	* jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and
448	anything in ${JOB_LOG_START}
449
450	* jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}}
451	or a scripts subdir before searching $PATH.
452
453	* FILES: include newlog.sh for jobs.mk
454
4552023-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
456
457	* install-mk (MK_VERSION): 20230420
458
459	* lib.mk: include LDFLAGS and LDADD when linking shared libs
460
461	* gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc
462	via local.meta.sys.mk rather than local.gendirdeps.mk
463	so DEP_* variables can be set at level 1+ to avoid syntax errors
464	when used in conditionals in manually maintained Makefile.depend
465	files.
466
467	* dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines
468
4692023-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
470
471	* dirdeps.mk: check we were not included by
472	Makefile.depend.options as the result is bad.
473
4742023-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
475
476	* install-mk (MK_VERSION): 20230414
477
478	* meta.sys.mk: since we have :range we can put the logic for
479	processing TARGET_SPEC from env here.
480
481	* dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including
482	local.dirdeps-missing.mk, also improve debug output.
483
484	* dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC
485	we need to use :M*[/.]* same as for when actually setting DIRDEPS
486	from the targets on command line.
487
4882023-04-12  Simon J Gerraty  <sjg@beast.crufty.net>
489
490	* Add jobs.mk
491
4922023-03-21  Simon J Gerraty  <sjg@beast.crufty.net>
493
494	* install-mk (MK_VERSION): 20230321
495
496	* meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter
497	STAGE_LIBS for SHLIB_LINKS.
498
499	* autoconf.mk: add .WAIT after config.status
500
5012023-02-17  Simon J Gerraty  <sjg@beast.crufty.net>
502
503	* sys.vars.mk: add M_Index to report the index of a word in a list.
504
5052023-02-15  Simon J Gerraty  <sjg@beast.crufty.net>
506
507	* install-mk (MK_VERSION): 20230215
508
509	* warnings.mk: allow better control of -Werror
510	allow -Wno-error or similar to be added if
511	WARNINGS_SET < WERROR_SET
512	account for COMPILER_TYPE
513
5142023-01-29  Simon J Gerraty  <sjg@beast.crufty.net>
515
516	* autoconf.mk: hook config.status to beforebuild.
517
518	* whats.mk: what*.c is NOTMAIN
519
5202023-01-27  Simon J Gerraty  <sjg@beast.crufty.net>
521
522	* install-mk (MK_VERSION): 20230127
523	control umask so directories are created with suitable mode.
524
5252023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
526
527	* install-mk (MK_VERSION): 20230120
528
529	* sys.vars.mk: add M_On and M_Onr also cleanup to be more
530	consistent wrt testing MAKE_VERSION
531
5322023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
533
534	* install-mk (MK_VERSION): 20230112
535
536	* meta2deps.{py,sh}: assert if filemon data is truncated
537	we should see the '# Bye bye' record - assert if we do not.
538
5392022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
540
541	* install-mk (MK_VERSION): 20220909
542
543	* sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings
544
5452022-09-06  Simon J Gerraty  <sjg@beast.crufty.net>
546
547	* dirdeps-options.mk: explain the need to use
548	${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to
549	${TARGET_SPEC_VAR}
550
5512022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
552
553	* install-mk (MK_VERSION): 20220903
554
555	* M_cmpv handle more than 3 dots and clear leading 0's
556
5572022-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
558
559	* install-mk (MK_VERSION): 20220720
560
561	* prog.mk: handle PROG_CXX for more than just NetBSD
562
5632022-06-20  Simon J Gerraty  <sjg@beast.crufty.net>
564
565	* install-mk (MK_VERSION): 20220620
566
567	* yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER
568	rather than just suffix rules
569
5702022-04-23  Simon J Gerraty  <sjg@beast.crufty.net>
571
572	* install-mk (MK_VERSION): 20220422
573
574	* gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no"
575	do not capture any local depends in Makefile.depend
576
5772022-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
578
579	* install-mk (MK_VERSION): 20220323
580	* posix.mk: default rules for .POSIX:
581
5822022-03-17  Simon J Gerraty  <sjg@beast.crufty.net>
583
584	* sys/*.mk: remove l from ARFLAGS
585
5862022-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
587
588	* install-mk (MK_VERSION): 20220314
589
590	* dirdeps-options.mk: allow options to be per RELDIR
591	try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed
592	with ${DEP_RELDIR}.
593
5942022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
595
596	* install-mk (MK_VERSION): 20220214
597
598	* cc-wrap.mk: fix :@ modifier
599
6002022-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
601
602	* install-mk (MK_VERSION): 20220206
603
604	* cc-wrap.mk: docuement how CCACHE etc might be set for
605	maximum flexibility
606
6072022-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
608
609	* sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT
610
6112022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
612
613	* install-mk (MK_VERSION): 20220204
614
615	* host-target.mk: use .MAKE.OS if available
616
6172022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
618
619	* install-mk (MK_VERSION): 20220202
620
621	* cc-wrap.mk: allow other entries in CC_WRAP_FILTER
622	We add our filter on extensions last, so prior filters
623	can apply to the whole value of .IMPSRC
624
6252022-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
626
627	* cc-wrap.mk: take advantage of target local variables to
628	wrap compilers like CC CXX with wrappers like ccache distcc etc
629
6302022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
631
632	* meta2deps: we do not expect any trace data for setid apps
633
6342022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
635
636	* dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed
637	to sub-make using DIRDEPS_CACHE
638
6392022-01-07  Simon J Gerraty  <sjg@beast.crufty.net>
640
641	* dirdeps.mk: use _cache_script to minimize the number of shells
642	forked when generating dirdeps.cache
643
6442022-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
645
646	* install-mk (MK_VERSION): 20220101
647
648	* dirdeps.mk: initialize DEP_* and _debug_reldir earlier.
649	If initial DIRDEPS are from command line, create the target
650	_dirdeps_cmdline as an indication.
651
6522022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
653
654	* init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD
655	at top-level only some targets are allowed at level 0,
656	for leaf makefiles only the default (all) target is restricted
657
6582021-12-28  Simon J Gerraty  <sjg@beast.crufty.net>
659
660	* install-mk (MK_VERSION): 20211228
661
662	* meta2deps.py: filemon on Linux is not as reliable as we might
663	like, we do not want to update DIRDEPS if filemon output is
664	incomplete.   Track pids that we 'E'xec and make sure we see an
665	e'X'it for each one.  Throw an error if we are missing any 'X'
666	records.
667
6682021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
669
670	* sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes.
671
672	* meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON
673	is something else.
674
675	* meta.autodep.mk: we can now reference ${.SUFFIXES}
676
677	* meta2deps.py: derive a list of dirdep extensions from
678	TARGET_SPEC to trim from dirdeps.
679
680	* dirdeps.mk: flip the computation of qualified vs unqualified
681	dirdeps - it is much simpler to check for unqualified first.
682
6832021-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
684
685	* install-mk (MK_VERSION): 20211212
686
687	* auto.dep.mk: rearrange so that the trivial implementation
688	for recent bmake is more obvious.
689
6902021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
691
692	* install-mk (MK_VERSION): 20211207
693
694	* Ensure guard targets are .NOTMAIN
695
696	* meta.sys.mk: check for nofilemon support when we skip level 0
697
698	* auto.dep.mk: make this usable in meta mode
699	for platforms that cannot use meta.autodep.mk
700
701	* meta2deps.py: avoid confusion if MACHINE and another
702	TARGET_SPEC_VAR have same value.
703
7042021-11-27  Simon J Gerraty  <sjg@beast.crufty.net>
705
706	* dirdeps.mk: when building dirdeps.cache, minimize the amount of
707	data put into env, by stripping ${SRCTOP}/ from each entry.
708	A long sandbox name can double the amount of memory consumed and
709	in extreme cases cause failure.
710	While we are at it, strip ${SRCTOP}/ from a lot of the debug output.
711
7122021-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
713
714	* install-mk (MK_VERSION): 20211111
715
716	* meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail
717	so fallback to cp if necessary.
718
7192021-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
720
721	* man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year
722	old cmt2doc.pl
723
7242021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
725
726	* meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f}
727	as the symlink (rare)
728
7292021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
730
731	* autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not
732	been read, throw an error after running configure telling user to
733	restart.
734
7352021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
736
737	* install-mk (MK_VERSION): 20211011
738
739	* Add support for SCO_SV
740
7412021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
742
743	* install-mk (MK_VERSION): 20211001
744
745	* man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more
746	flexibility
747
7482021-09-13  Simon J Gerraty  <sjg@beast.crufty.net>
749
750	* options.mk (describe-options): print options and their values
751	  and optional description
752
7532021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
754
755	* install-mk (MK_VERSION): 20210911
756
757	* options.mk (show-options): print options and their values
758
7592021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
760
761	* install-mk (MK_VERSION): 20210909
762
763	* lib.mk: apply patch from <daniel@octaforge.org>
764	to fix shared libs on Linux
765
7662021-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
767
768	* install-mk (MK_VERSION): 20210808
769
770	* options.mk: issue warning for WITH_*=no
771
7722021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
773
774	* install-mk (MK_VERSION): 20210616
775
776	* dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find
777	depend files to read, anchor MACHINE at , or end of string
778	to avoid prefix match.
779
7802021-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
781
782	* install-mk (MK_VERSION): 20210504
783
784	* dirdeps.mk: re-implement ALL_MACHINES support to better
785	cater for local complexities, when ONLY_TARGET_SPEC_LIST
786	is not set. local.dirdeps.mk can set
787	DIRDEPS_ALL_MACHINES_FILTER and/or
788	DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get
789	from listing all existing Makefile.depend.*
790
7912021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
792
793	* install-mk (MK_VERSION): 20210420
794
795	* dirdeps.mk: revert previous - not always safe.
796
7972021-03-20  Simon J Gerraty  <sjg@beast.crufty.net>
798
799	* install-mk (MK_VERSION): 20210321
800
801	* dirdeps.mk: when generating dirdeps.cache
802	we only need to hook the initial DIRDEPS to the
803	dirdeps target.  That and any _build_xtra_dirs (like tests which
804	should not be hooked directly to the dependency graph - to avoid
805	cycles)
806
8072021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
808
809	* install-mk (MK_VERSION): 20210130
810
811	* dirdeps.mk: expr 2 - 1 - 1 exits with a bad status
812	  we need to  guard against this in DIRDEP_LOADAVG_REPORT.
813
814	* dirdeps.mk: restore respect for TARGET_MACHINE
815
8162021-01-06  Simon J Gerraty  <sjg@beast.crufty.net>
817
818	* install-mk (MK_VERSION): 20210101
819
820	* dirdeps.mk: first time we are read, just use TARGET_SPEC for
821	_DEP_TARGET_SPEC
822
8232020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
824
825	* sys.mk (MAKE_SHELL): use ${.SHELL:Ush}
826	and use := when setting SHELL
827
8282020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
829
830	* install-mk (MK_VERSION): 20201221
831
832	* dirdeps-options.mk: latest bmake allows only one arg to .undef
833
8342020-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
835
836	* dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS
837	so that any directory can be treated as a target.
838
8392020-11-26  Simon J Gerraty  <sjg@beast.crufty.net>
840
841	* install-mk (MK_VERSION): 20201126
842
843	* own.mk: use .MAKE.{UID,GID} if available.
844
845	* init.mk: suppress _SKIP_BUILD warning if doing -V
846
8472020-11-20  Simon J Gerraty  <sjg@beast.crufty.net>
848
849	* install-mk (MK_VERSION): 20201120
850
851	* init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS
852
853	* dirdeps-targets.mk: fix typo in comment
854
8552020-11-06  Simon J Gerraty  <sjg@beast.crufty.net>
856
857	* install-mk (MK_VERSION): 20201106
858
859	* meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed
860	args to tweak extensions for local deps.
861
8622020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
863
864	* install-mk (MK_VERSION): 20201101
865
866	* dirdeps.mk: most leaf makefiles are not suitable for building
867	dirdeps.cache so if RELDIR is not "." use dirdeps.mk
868
8692020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
870
871	* install-mk (MK_VERSION): 20201028
872
873	* dirdeps.mk: if we don't have :range use equivalent of M_RANGE
874	when building dirdeps.cache for leaf directory use -f dirdeps.mk
875
876	* sys.vars.mk: add M_JOT and M_RANGE
877
8782020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
879
880	* install-mk (MK_VERSION): 20201001
881
882	* meta2deps.{py,sh}: throw an error if we don't see filemon version
883
8842020-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
885
886	* install-mk (MK_VERSION): 20200909
887
888	* dirdeps-cache-update.mk: use cache_update_dirdep as guard target
889
8902020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
891
892	* dirdeps.mk: ensure we cannot confuse a static cache for dynamic
893	(even more rare that use of static cache is playing clever tricks
894	with it)
895
8962020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
897
898	* dirdeps-cache-update.mk: allow
899	MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we
900	actually update STATIC_DIRDEPS_CACHE.
901
902	* stage-install.sh: create dest directory if needed
903	before running install(1)
904
9052020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
906
907	* dirdeps-targets.mk: include Makefile.dirdeps.options
908
909	* dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE
910
9112020-08-09  Simon J Gerraty  <sjg@beast.crufty.net>
912
913	* dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty
914
915	* dirdeps-cache-update.mk: building parallel cache update
916	under the context of dirdeps-cached would be ideal, but
917	is problematic, so it runs as a sibling.
918	Use cache-built target to ensure we wait for it to complete if
919	necessary.
920
9212020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
922
923	* install-mk (MK_VERSION): 20200806
924
925	* dirdeps-options: allow TARGET_SPEC to affect option values.
926	Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_*
927
928	* dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined
929	before looking for STATIC_DIRDEPS_CACHE
930
9312020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
932
933	* host-target.mk: Darwin use MACHINE for HOST_ARCH too
934
935	* dirdeps-options.mk: improve debug output
936
9372020-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
938
939	* dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE
940	for use by dirdeps-cache-update.mk
941
942	* dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE
943	for use by dirdeps-cache-update.mk even if we don't use it.
944
945	* dirdeps-cache-update.mk: we only need worry about the background
946	update case, with the above, the update from DIRDEPS_CACHE is
947	simple.
948
949	* meta2deps.py: R 1234 . is not interesting
950
9512020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
952
953	* sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE
954
955	* dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS
956	allows use of lower case for pseudo options.
957
958	* dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE
959
9602020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
961
962	* dirdeps-targets.mk: Look for Makefile.dirdeps.cache
963	which allows us to have a static cache for expensive targets.
964	Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE
965	to regenerate the dirdeps.cache it is a copy of.
966
9672020-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
968
969	* Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense.
970
9712020-07-16  Simon J Gerraty  <sjg@beast.crufty.net>
972
973	* dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record
974	load averages at intervals during build.
975
9762020-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
977
978	* install-mk (MK_VERSION): 20200715
979
980	* dirdeps.mk: tweak Checking line to make matching Finished
981	lines for post-build analysis easier.
982
983	* meta.autodep.mk: use !defined(WITHOUT_META_STATS)
984
985	* progs.mk: avoid prog.mk outputting multiple Finished lines
986
9872020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
988
989	* dirdeps.mk: further optimize dirdeps.cache
990	generate a DIRDEPS.${.TARGET} list for other purposes
991	and improve the layout.
992
9932020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
994
995	* dirdeps.mk: optimize content of dirdeps.cache
996
9972020-06-28  Simon J Gerraty  <sjg@beast.crufty.net>
998
999	* sys/*.mk: make it easier for local*sys.mk to customize by
1000	using ?=
1001
10022020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
1003
1004	* gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
1005	it is much safer to guard local depends with a simple check for
1006	.MAKE.LEVEL > 0
1007
10082020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
1009
1010	* install-mk (MK_VERSION): 20200610
1011
1012	* mkopt.sh: this needs posix shell so #!/bin/sh should be ok
1013
10142020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
1015
1016	* install-mk (MK_VERSION): 20200606
1017
1018	* dirdeps-targets.mk: allow for filtering of .TARGETS
1019
1020	* meta2deps.py: fix bug in processing 'L'ink and 'M'ove
1021	entries - and we don't care about 'W'rite entries.
1022	Also ignore absolute paths that do not exist.
1023
10242020-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
1025
1026	* install-mk (MK_VERSION): 20200525
1027
1028	* init.mk: expand and simplify handling of qualified vars
1029	like CPPFLAGS.${.TARGET:T}
1030
10312020-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
1032
1033	* install-mk (MK_VERSION): 20200515
1034
1035	* dirdeps.mk: set _debug_* earlier and allow passing -d*
1036	flags to submake when building DIRDEPS_CACHE
1037
10382020-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
1039
1040	* whats.mk: more easily extensible
1041
10422020-05-02  Simon J Gerraty  <sjg@beast.crufty.net>
1043
1044	* whats.mk: greatly simplify by adding what.c to SRCS
1045
10462020-05-01  Simon J Gerraty  <sjg@beast.crufty.net>
1047
1048	* whats.mk: for libs take care how we add to *OBJS
1049
1050	* lib.mk: : works better with whats.mk
1051
10522020-04-25  Simon J Gerraty  <sjg@beast.crufty.net>
1053
1054	* install-mk (MK_VERSION): 20200420
1055
1056	* meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
1057	contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
1058
10592020-04-16  Simon J Gerraty  <sjg@beast.crufty.net>
1060
1061	* install-mk (MK_VERSION): 20200416
1062
1063	* sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
1064	  interfere with user env.
1065
1066	* sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
1067
1068	* autodep.mk: use MAKE_SHELL.
1069
10702019-11-21  Simon J Gerraty  <sjg@beast.crufty.net>
1071
1072	* gendirdeps.mk: clear .SUFFIXES to avoid a lot of
1073	  wasted effort, and unexport _meta_files when no longer needed as
1074	  it consumes space we need for command line.
1075
10762019-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
1077
1078	* dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
1079	  DIRDEP_USE_PRELUDE at start - facilitates job distribution
1080
10812019-10-04  Simon J Gerraty  <sjg@beast.crufty.net>
1082
1083	* dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
1084	defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
1085	TARGET_SPEC qualified depend files.
1086
10872019-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
1088
1089	* dirdeps-targets.mk: encapsulate logic for finding top-level
1090	  targets to set initial DIRDEPS for DIRDEPS_BUILD
1091
10922019-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
1093
1094	* install-mk (MK_VERSION): 20190911
1095
1096	* compiler.mk: set COMPILER_TYPE
1097
10982019-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
1099
1100	* install-mk (MK_VERSION): 20190704
1101
1102	* sys/Darwin.mk: support for Objective-C and clang
1103
11042019-05-30  Simon J Gerraty  <sjg@beast.crufty.net>
1105
1106	* dirdeps.mk: avoid insanely long command line when generating cache
1107
11082019-05-23  Simon J Gerraty  <sjg@beast.crufty.net>
1109
1110	* install-mk (MK_VERSION): 20190505
1111
1112	* whats.mk: handle corner case SHLIB defined but not LIB
1113
11142018-09-19  Simon J Gerraty  <sjg@beast.crufty.net>
1115
1116	* install-mk (MK_VERSION): 20180919
1117
1118	* dirdeps-options.mk: .undef cannot handle var that expands to
1119	  more than one var.
1120
11212018-07-08  Simon J Gerraty  <sjg@beast.crufty.net>
1122
1123	* meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
1124
11252018-06-01  Simon J Gerraty  <sjg@beast.crufty.net>
1126
1127	* meta.autodep.mk: export META_FILES to avoid command line limit
1128	* gendirdeps.mk: if we have lots of .meta files put them in
1129	  an @list
1130
11312018-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
1132
1133	* dirdeps-options.mk: use local.dirdeps-options.mk
1134	  not local.dirdeps-option.mk
1135
11362018-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
1137
1138	* install-mk (MK_VERSION): 20180420
1139	* dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
1140	  ie. we are building something.
1141
11422018-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
1143
1144	* FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
1145
11462018-04-05  Simon J Gerraty  <sjg@beast.crufty.net>
1147
1148	* install-mk (MK_VERSION): 20180405
1149
1150	* ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
1151	  if needed.
1152
11532018-01-18  Simon J Gerraty  <sjg@beast.crufty.net>
1154
1155	* install-mk (MK_VERSION): 20180118
1156
1157	* ldorder.mk: let make compute correct link order
1158
11592017-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
1160
1161	* install-mk (MK_VERSION): 20171212
1162
1163	* gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
1164
11652017-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1166
1167	* install-mk (MK_VERSION): 20171111
1168
1169	* lib.mk: ensure META_NOECHO is set
1170
11712017-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1172
1173	* Allow for host32 on rare occasions.
1174
11752017-10-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1176
1177	* install-mk (MK_VERSION): 20171018
1178
1179	* whats.mk: include what_thing in what_uuid to avoid problem
1180	  when building multiple apps in the same directory.
1181
11822017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1183
1184	* install-mk (MK_VERSION): 20170812
1185
1186	* autoconf.mk: Use CONFIGURE_DEPS so Makefile can
1187	  add dependencies for config.recheck and config.gen
1188
11892017-06-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1190
1191	* install-mk (MK_VERSION): 20170630
1192
1193	* meta.stage.mk: avoid triggering stage_* targets with nothing to do.
1194
11952017-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1196
1197	* meta2deps.py: take special care of '..'
1198
11992017-05-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1200
1201	* install-mk (MK_VERSION): 20170515
1202
1203	* dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
1204	useful/necessary for a Makefile.depend file to export some knobs.
1205	This is complicated when we are doing DIRDEPS_CACHE, so we will
1206	handle export of any variables listed in DEP_EXPORT_VARS.
1207
12082017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1209
1210	* install-mk (MK_VERSION): 20170505
1211
1212	* meta2deps.py: fix botched indenation.
1213
12142017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1215
1216	* sys/*.mk: Remove setting of MAKE it is unnecessary and
1217	  in many cases wrong (basname rather than full path)
1218
1219	* scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
1220
1221	* init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
1222
12232017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1224
1225	* install-mk (MK_VERSION): 20170501
1226
1227	* doc.mk: fix typo in DOC_INSTALL_OWN
1228
1229	* inc.mk: handle INCGROUPS similar to freebsd
1230
1231	* files.mk: add something for files too
1232
1233	* add staging logic to lib.mk prog.mk etc.
1234
12352017-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1236
1237	* install-mk (MK_VERSION): 20170424
1238
1239	* dirdeps.mk: set NO_DIRDEPS when bootstrapping.
1240	  also target of bootstrap-this when sed is needed should be ${_want:T}
1241
12422017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1243
1244	* install-mk (MK_VERSION): 20170418
1245
1246	* auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
1247	  prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
1248
12492017-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1250
1251	* install-mk (MK_VERSION): 20170401
1252
1253	* meta2deps.py: add is_src so we can check if obj dependency
1254	  is also a src dependency.
1255
12562017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1257
1258	* install-mk (MK_VERSION): 20170326
1259
1260	* meta.stage.mk: do nothing if NO_STAGING is defined.
1261
12622017-03-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1263
1264	* auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
1265
12662017-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1267
1268	* mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
1269
12702017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1271
1272	* install-mk (MK_VERSION): 20170301
1273
1274	* dirdeps.mk (_build_all_dirs): update this outside test for empty
1275	  DIRDEPS.
1276
1277	* meta.stage.mk: allow multiple inclusion to the extent it makes
1278	  sense.
1279
12802017-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1281
1282	* prog.mk (install_links): depends on realinstall
1283
12842017-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1285
1286	* install-mk (MK_VERSION): 20170212
1287
1288	* dpadd.mk: avoid applying :T:R twice to DPLIBS entries
1289
12902017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1291
1292	* install-mk (MK_VERSION): 20170130
1293
1294	* dirdeps.mk: use :range if we can.
1295
1296	* sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
1297
1298	* meta2deps.py: clean paths without using realpath() where possible.
1299	  fix sort_unique.
1300
13012016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1302
1303	* install-mk (MK_VERSION): 20161212
1304
1305	* meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
1306	rather than when we detect pid change.
1307
13082016-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1309
1310	* install-mk (MK_VERSION): 20161207
1311
1312	* meta.stage.mk: add stage_as_and_symlink for staging packages.
1313	  We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
1314	  to use foo.tgz to reference the latest staged version - so we
1315	  make foo.tgz a symlink to it.
1316	  Using a target to do both operations ensures we stay in sync.
1317
13182016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1319
1320	* install-mk (MK_VERSION): 20161126
1321
1322	* dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
1323	  so it can add dependencies.
1324
13252016-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1326
1327	* dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
1328	  do that they can influence the result correctly.
1329
1330	* dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
1331
1332	* dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
1333	  similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
1334
13352016-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1336
1337	* dirdeps.mk: remove dependence on jot (normal situations anyway).
1338	  Before we read another Makefile.depend* set DEP_* vars from
1339	  _DEP_TARGET_SPEC in case it uses any of them with :=
1340	  When bootstrapping, trim any ,* from extention of chosen _src
1341	  Makefile.depend* to get the machine value we subst for.
1342
13432016-09-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1344
1345	* dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
1346	  DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
1347
1348	* sys.mk: extract some bits to sys.{debug,vars}.mk
1349	  for easier re-use by others.
1350
13512016-09-23  Simon Gerraty  <sjg@sjg-mba13>
1352
1353	* lib.mk: Use ${PICO} for extension for PIC objects.
1354	  default to .pico (like NetBSD) safe on case insensitive filesystem.
1355
13562016-08-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1357
1358	* meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
1359
13602016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1361
1362	* install-mk (MK_VERSION): 20160815
1363
1364	* dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
1365	consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
1366
13672016-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1368
1369	* meta.sys.mk (.MAKE.META.IGNORE_PATHS):
1370	  in meta mode we can ignore the mtime of makefiles
1371
13722016-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1373
1374	* install-mk (MK_VERSION): 20160802
1375
1376	* lib.mk (libinstall): depends on beforinstall
1377
1378	* prog.mk (proginstall): depends on beforinstall
1379	  patch from Lauri Tirkkonen
1380
1381	* dirdeps.mk (bootstrap): When bootstrapping; creat
1382	.MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
1383	.MAKE.DEPENDFILE_BOOTSTRAP_SED
1384
1385	* dirdeps.mk: move some comments to where they make sense.
1386
13872016-07-27  Simon J. Gerraty  <sjg@bad.crufty.net>
1388
1389	* dirdeps.mk (DIRDEPS_CACHE): no dirname.
1390
13912016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1392
1393	* install-mk (MK_VERSION): 20160602
1394	* meta.autodep.mk: when passing META_FILES to gendirdeps.mk
1395	  do not apply :T to META_XTRAS
1396	  patch from Bryan Drewery at FreeBSD.org.
1397
13982016-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1399
1400	* install-mk (MK_VERSION): 20160530
1401	* meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
1402	  make it so.
1403
14042016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1405
1406	* install-mk (MK_VERSION): 20160512
1407
1408	* dpadd.mk: always include local.dpadd.mk if it exists
1409	  remove some things that better belong in local.dpadd.mk
1410	  skip INCLUDES_* for staged libs unless SRC_* defined.
1411
1412	* own.mk: add INCLUDEDIR
1413
14142016-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1415
1416	* dirdeps.mk: when doing -f dirdeps.mk if target suppies no
1417	  TARGET_MACHINE - :E will be empty or match part of path, use
1418	  ${MACHINE}
1419
14202016-04-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1421
1422	* meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
1423	  NO_FILEMON_COOKIE
1424
1425	* dirdeps.mk: move the logic that allows for
1426	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1427	  inside the check for !target(_DIRDEP_USE)
1428
14292016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1430
1431	* Use <> when including local*.mk and others which may exist
1432	  elsewhere so that user can better control what they get.
1433
1434	* meta.autodep.mk (NO_FILEMON_COOKIE):
1435	  create a cookie if we ever build dir with nofilemon
1436	  so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
1437
14382016-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1439
1440	* install-mk (MK_VERSION): 20160401
1441
1442	* meta2deps.py: fix old print statement when debugging.
1443
1444	* gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
1445	  patch from Bryan Drewery
1446
14472016-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1448
1449	* install-mk (MK_VERSION): 20160317 (St. Pats)
1450
1451	* warnings.mk: g++ does not like -Wimplicit
1452
1453	* sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
1454	  pelthora of common suffixes for C++
1455
1456	* lib.mk: use .So for shared objects
1457
14582016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1459
1460	* install-mk (MK_VERSION): 20160315
1461
1462	* meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
1463	  normally only applies to scripts.
1464
1465	* dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
1466	  well as outside it.
1467
14682016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1469
1470	* install-mk (MK_VERSION): 20160310
1471
1472	* dirdeps.mk: use targets rather than a list to track DIRDEPS that
1473	  we have processed; the list gets very inefficient as number of
1474	  DIRDEPS gets large.
1475
1476	* sys.dependfile.mk: fix comment wrt MACHINE
1477
1478	* meta.autodep.mk: ignore staged DPADDs when bootstrapping.
1479	  patch from Bryan Drewery
1480
14812016-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1482
1483	* meta2deps.sh: don't ignore subdirs.
1484	  patch from Bryan Drewery
1485
14862016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1487
1488	* install-mk (MK_VERSION): 20160226
1489
1490	* gendirdeps.mk: mark _DEPENDFILE .NOMETA
1491
14922016-02-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1493
1494	* dirdeps.mk: we shouldn't normally include .depend but if we do
1495	  use .dinclude if we can.
1496
14972016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1498
1499	* install-mk (MK_VERSION): 20160218
1500	* sys.clean-env.mk: with recent change to Var_Subst()
1501	  we cannot use the '$$' trick, but .export-literal does the job
1502	  we need.
1503	* auto.dep.mk: make use .dinclude if we can.
1504
1505
15062016-02-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1507
1508	* dirdeps.mk:
1509	  Add _build_all_dirs such that local.dirdeps.mk can
1510	  add fully qualified dirs to it.
1511	  These will be built normally but the current
1512	  DEP_RELDIR will not depend on then (to avoid cycles).
1513	  This makes it easy to hook things like unit-tests into build.
1514
1515
15162016-01-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1517
1518	* dirdeps.mk: add bootstrap-empty
1519
15202015-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1521
1522	* install-mk (MK_VERSION): 20151212
1523	* auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
1524	  only apply :tA to __objdir when comparing to .OBJDIR
1525
15262015-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1527
1528	* install-mk (MK_VERSION): 20151111
1529
1530	* meta.sys.mk: include sys.dependfile.mk
1531
1532	* sys.mk (OPTIONS_DEFAULT_NO): use options.mk
1533	  to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
1534	  include local.sys.env.mk early
1535	  include local.sys.mk later
1536
1537	* own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
1538
15392015-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1540
1541	* meta.sys.mk (META_COOKIE_TOUCH):
1542	  add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
1543
1544	* meta.stage.mk: stage_libs should ignore SYMLINKS.
1545
15462015-10-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1547
1548	* install-mk (MK_VERSION): 20151022
1549
1550	* sys.mk: BSD/OS does not have 'type' as a shell builtin.
1551
15522015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1553
1554	* install-mk (MK_VERSION): 20151020
1555
1556	* dirdeps.mk: Add logic for
1557	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1558
15592015-10-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1560
1561	* install-mk (MK_VERSION): 20151010
1562
15632015-10-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1564
1565	* meta.stage.mk: use staging: ${STAGE_TARGETS:...
1566	  to have stage_lins run last in non-jobs mode.
1567	  Use .ORDER only for jobs mode.
1568
15692015-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1570
1571	* rst2htm.mk: allow for per target flags etc.
1572
15732015-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1574
1575	* install-mk (MK_VERSION): 20150901
1576
1577	* doc.mk: create dir if needed use DOC_INSTALL_OWN
1578
15792015-06-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1580
1581	* install-mk (MK_VERSION): 20150615
1582
1583	* auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
1584	  Follow make's normal precedence rules.
1585
1586	* gendirdeps.mk: allow customization of the header.
1587	  eg. for FreeBSD:
1588	  GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
1589
1590	* meta.autodep.mk: ignore dirdeps.cache*
1591
1592	* meta.stage.mk: when bootstrapping options it can be handy to
1593	  throw warnings rather than errors for staging conflicts.
1594
1595	* meta.sys.mk: include local.meta.sys.mk for customization
1596
15972015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1598
1599	* install-mk (MK_VERSION): 20150606
1600
1601	* dirdeps.mk: don't rely on manually maintained Makefile.depend
1602	  to set DEP_RELDIR and reset DIRDEPS.
1603	  By setting DEP_RELDIR ourselves we can skip :tA
1604
1605	* gendirdeps.mk: skip setting DEP_RELDIR.
1606
16072015-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1608
1609	* dirdeps.mk: avoid wildcards like make(bootstrap*)
1610
16112015-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1612
1613	* install-mk (MK_VERSION): 20150520
1614
1615	* dirdeps.mk: when we are building dirdeps cache file we *want*
1616	  meta_oodate to look at all the Makefile.depend files, so
1617	  set .MAKE.DEPENDFILE to something that won't match.
1618
1619	* meta.stage.mk: for STAGE_AS_* basename of file may not be unique
1620	  so first use absolute path as key.
1621	  Also skip staging at level 0.
1622
16232015-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1624
1625	* install-mk (MK_VERSION): 20150430
1626
1627	* dirdeps.mk: fix _count_dirdeps for non-cache case.
1628
16292015-04-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1630
1631	* install-mk (MK_VERSION): 20150411
1632	  bump version
1633
1634	* own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
1635	  it is here mainly for documentation purposes, since
1636	  if using auto.obj.mk it is better done via sys.mk
1637
16382015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1639
1640	* install-mk (MK_VERSION): 20150401
1641
1642	* meta2deps.sh: support @list
1643
1644	* meta2deps.py: updates from Juniper
1645	  o add EXCLUDES
1646	  o skip bogus input files.
1647	  o treat 'M' and 'L' as both an 'R' and a 'W'
1648
16492015-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1650
1651	* install-mk (MK_VERSION): 20150303
1652
1653	* dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
1654	  which is built via sub-make so we have a .meta file to tell if
1655	  it is out-of-date.
1656	  The dirdeps-cache contains the same dependency rules that we
1657	  normaly construct on the fly.
1658	  This adds a few seconds overhead when the cache is out of date,
1659	  but for a large target, the savings can be significant (10-20min).
1660
16612014-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1662
1663	* install-mk (MK_VERSION): 20141118
1664
1665	* meta.stage.mk: add stale_staged
1666
1667	* dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
1668	  only useful under very rare conditions such as
1669	  FreeBSD's make universe.
1670
1671	* auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
1672
16732014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1674
1675	* install-mk (MK_VERSION): 20141111
1676
1677	* mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
1678
16792014-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1680
1681	* FILES: include mkopt.sh which allows handling options in shell
1682	  scripts in a manner compatible with options.mk
1683
16842014-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1685
1686	* meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
1687	  for GENDIRDEPS_FILTER to avoid surprises.
1688
16892014-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1690
1691	* dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
1692	  the time it is applied to __depdirs they have.
1693
1694	* dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
1695	  expects patterns like *.${MACHINE}
1696
1697	* cython.mk (pyprefix?): use pyprefix to find python bits
1698	  since prefix might be something else (where we install our
1699	  stuff)
1700
17012014-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1702
1703	* install-mk (MK_VERSION): 20140911
1704
1705	* dirdeps.mk: add bootstrap target to simplify adding support for
1706	  new MACHINE.
1707
17082014-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1709
1710	* gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
1711	  GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
1712	  Makefile.depend files.
1713
17142014-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1715
1716	* install-mk (MK_VERSION): 20140828
1717
1718	* cython.mk: capture logic for building python extension modules
1719	  with Cython.
1720
17212014-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1722
1723	* meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
1724
17252014-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1726
1727	* install-mk (MK_VERSION): 20140801
1728
1729	* dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
1730	identify the autodep.mk variant.
1731
1732	* sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
1733	initial value does not match .MAKE.DEPENDFILE_PREFIX
1734
1735	* meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
1736
17372014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1738
1739	* install-mk (MK_VERSION): 20140522
1740
1741	* lib.mk: use CC to link shlib for linux too
1742	  patch from Brendan MacDonell
1743
17442014-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1745
1746	* meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
1747	  if WITH_META_STATS is defined.
1748
17492014-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1750
1751	* dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
1752	  to supress dirdeps outside of .CURDIR.
1753
17542014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1755
1756	* Fix spelling errors - patch from Pedro Giffuni
1757
17582014-03-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1759
1760	* install-mk (MK_VERSION): 20140314
1761
1762	* dirdeps.mk (beforedirdeps): a handy hook
1763
1764	* dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
1765	  to visit leaf dirs to be intercepted (eg. for distributed
1766	  build).
1767
1768	* dirdeps.mk (__depdirs): ensure // don't sneak in
1769
1770	* gendirdeps.mk (DIRDEPS): ensure // don't sneak in
1771
1772
17732014-02-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1774
1775	* rst2htm.mk (RST2PDF): add support for rst2pdf
1776
17772014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1778
1779	* install-mk (MK_VERSION): bump version
1780	* dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
1781	  available.
1782
17832014-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1784
1785	* options.mk: avoid :U so this isn't bmake dependent
1786
17872014-02-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1788
1789	* options.mk: cleanup and simplify semanitcs
1790	  NO_* dominates all, if both WITH_* and WITHOUT_*
1791	  are defined then result is DOMINATE_* which defaults to "no".
1792	  Ie. WITHOUT_ normally wins.
1793
17942013-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1795
1796	* install-mk (MK_VERSION): bump version
1797	* meta2deps.py: convert to print function for python3 compat.
1798	  we also need to open files with mode 'r' rather than 'rb'
1799	  otherwise we get bytes instead of strings.
1800
18012013-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1802
1803	* install-mk (MK_VERSION): bump version
1804
1805	* dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
1806	  apply the same filtering (M_dep_qual_fixes) when setting _machines
1807	  as _build_dirs.
1808	  Also fix the filtering of Makefile.depend files - for reporting
1809	  what we are looking for (M_dep_qual_fixes can get confused by
1810	  Makefile.depend)
1811	  Add some more debug info.
1812
18132013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1814
1815	* gendirdeps.mk (_objtops): fix typo also
1816	  while processing M2D_OBJROOTS to gather qualdir_list
1817	  qualify $ql with loop iterator to ensure correct results.
1818
18192013-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1820
1821	* install-mk (MK_VERSION): 20130801
1822	* libs.mk: update to match progs.mk
1823
18242013-07-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1825
1826	* install-mk (MK_VERSION): 20130726
1827	  some updates from Juniper and FreeBSD
1828	  o meta2deps.py: indicate file and line number when we hit parse
1829	    errors
1830	    also allow @file to provide huge list of .meta files.
1831	* meta2deps.py: add try_parse() to cleanup the above.
1832
18332013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1834
1835	* install-mk (MK_VERSION): 20130716
1836	* own.mk: add GPROG as an option
1837	* prog.mk: honor MK_GPROF==yes
1838
18392013-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1840
1841	* install-mk (MK_VERSION): 20130505
1842	* gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
1843	  for when $MACHINE isn't enough for objdir distinction.
1844	  Bring meta2deps.sh closer to par with meta2deps.py.
1845
18462013-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1847
1848	* meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
1849	  also if the target 'beforeinstall' exists, make it depend on
1850	  .dirdep (incase it uses STAGE_INSTALL).
1851
18522013-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1853
1854	* install-mk (MK_VERSION): 20130401 ;-)
1855	* meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
1856	  wrapper around install(1).
1857	* options.mk (OPTION_PREFIX): Allow a prefix other than MK_
1858
18592013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1860
1861	* meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
1862	* install-mk (MK_VERSION): bump version
1863
18642013-03-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1865
1866	* install-mk (MK_VERSION): bump version
1867	* gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
1868	  any trailing /., rather apply :tA only when needed.
1869	* gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
1870	* meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
1871	  consistently.
1872	* dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
1873
18742013-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1875
1876	* gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
1877	  it is simpler to just not update when say building for "host"
1878	  (where we know we apply filters to DIRDEPS), and using a
1879	  non-machine qualified dependfile.
1880
18812013-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1882
1883	* dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
1884	  and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
1885	* gendirdeps.mk: ensure _objroot has trailing / if it needs it.
1886	* meta2deps.py: if machine is "host", then also trim
1887	  self.host_target from any OBJROOTS.
1888
1889
18902013-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1891
1892	* gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
1893	  qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
1894	  but _DEPENDFILE does not, compare the new _DEPENDFILE against
1895	  .MAKE.DEPENDFILE_DEFAULT and discard if the same.
1896
18972013-03-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1898
1899	* meta.stage.mk: use STAGE_TARGETS to control .ORDER
1900	  and hook to all: via staging:
1901
19022013-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1903
1904	* sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
1905	  use a separate variable for the default .MAKE.DEPENDFILE value
1906	  so that it can be controlled independently of
1907	  .MAKE.DEPENDFILE_PREFERENCE
1908
1909	* meta.stage.mk: throw error if cp fails etc.
1910	  Stage*() return early if passed no args.
1911	  .ORDER stage_*
1912
19132013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1914
1915	* install-mk (MK_VERSION): bump version
1916	* gendirdeps.mk: handle multiple M2D_OBJROOTS better.
1917
19182013-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1919
1920	* install-mk (MK_VERSION): bump version to 20130210
1921	* import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
1922	  from Juniper.
1923	  o dirdeps.mk now fully supports TARGET_SPEC consisting of more
1924	    than just MACHINE.
1925	  o no longer use DEP_MACHINE from Makefile.depend* so remove it.
1926
19272013-01-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1928
1929	* install-mk (MK_VERSION): bump version to 20130123
1930	* meta.stage.mk: add stage_links (hard links).
1931	  if doing hard links, we add dest to link as well.
1932	  Default the stage dir for [sym]links to STAGE_OBJTOP since
1933	  these are typically specified as absolute paths.
1934	  Add -m "mode" flag to StageFiles and StageAs.
1935
19362012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1937
1938	* install-mk (MK_VERSION): bump version to 20121111
1939	* autoconf.mk: avoid meta mode seeing changed commands for config.status
1940	* meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
1941	  in case we were found via .../mk
1942	* sys.clean-env.mk: move it from examples, we and others use it
1943	  "as is".
1944	* FILES: add srctop.mk and options.mk
1945	* own.mk: convert to using options.mk
1946	  which is modeled after FreeBSD's handling of MK_*
1947	  but more flexible.
1948	  This allows MK_* for boolean knobs to not be confused
1949	  with MK* which can be commands.
1950
1951	* examples/sys.clean-env.mk: add WITH[OUT]_ to
1952	  MAKE_ENV_SAVE_PREFIX_LIST.
1953	  Mention that HOME=/var/empty might be a good idea.
1954
19552012-11-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1956
1957	* sys.dependfile.mk: if not depend file exists, $MACHINE
1958	  specific ones are supported but not the default,
1959	  check if any exist and follow suit.
1960
19612012-11-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1962
1963	* install-mk (MK_VERSION): bump version to 20121106
1964
19652012-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1966
1967	* import latest dirdeps.mk and meta2deps.py from Juniper.
1968	* progs.mk: add MAN and CXXFLAGS to PROG_VARS
1969	  also add PROGS_TARGETS and pass on PROG_CXX if it seems
1970	  appropriate.
1971
19722012-11-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1973
1974	* meta.stage.mk: update CLEANFILES
1975	  remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
1976	* progs.mk: Add LDADD to PROG_VARS
1977
19782012-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1979
1980	* meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
1981	  _STAGED_DIRS so that these can be turned into filters for
1982	  GENDIRDEPS_FILTER.
1983
19842012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1985
1986	* install-mk (MK_VERSION): bump version to 20121010
1987	* meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
1988	target.dirdep matches .dirdep
1989
19902012-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1991
1992	* install-mk (MK_VERSION): bump version to 20120808
1993	* import latest meta2deps.py from Juniper.
1994
19952012-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1996
1997	* install-mk (MK_VERSION): bump version to 20120711
1998	* dep.mk: add explicit dependencies on SRCS after applying
1999	  SRCS_DEP_FILTER
2000	* meta.autodep.mk: add explicit dependencies on SRCS after
2001	  applying SRCS_DEP_FILTER
2002	* meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
2003
20042012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2005
2006	* install-mk (MK_VERSION): bump version to 20120626
2007	* meta.sys.mk: ignore PYTHON if it does not exist
2008	  compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
2009	* meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
2010	  entries ending in .${MACHINE} to decide if qualified _dirdep is
2011	  needed.
2012	* gendirdeps.mk: only produce unqualified deps if no
2013	  .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
2014	* meta.subdir.mk: apply SUBDIRDEPS_FILTER
2015
20162012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2017
2018	* install-mk (MK_VERSION): bump version to 20120420
2019	* add sys.dependfile.mk so we can experiment with
2020	  .MAKE.DEPENDFILE_PREFERENCE
2021	* meta.autodep.mk: _DEPENDFILE is precious!
2022
20232012-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2024
2025	* install-mk (MK_VERSION): bump version to 20120315
2026	* install-new.mk: avoid being interrupted
2027
20282012-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2029
2030	* man.mk: MAN might have multiple values so be careful with exists().
2031
20322012-01-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2033
2034	* install-mk (MK_VERSION): bump version to 20120112
2035	* fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
2036	  as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
2037
20382011-12-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2039
2040	* install-mk (MK_VERSION):  bump version to 20111201
2041	* import dirdeps.mk from Juniper sjg@
2042	  o more consistent handling of DEP_MACHINE, especially when
2043	    dealing with an odd Makefile.depend, when normally using
2044	    Makefile.depend.${MACHINE}
2045
20462011-11-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2047
2048	* install-mk (MK_VERSION): bump version to 20111122
2049	* meta.autodep.mk: add some debug output, be more crisp about
2050	  updating.  Use ${.ALLTARGETS:M*.o} as a clue for .depend
2051
20522011-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2053
2054	* install-mk (MK_VERSION): bump version to 20111111
2055	  it's too cool to miss
2056	* import meta* updates from Juniper sjg@
2057	  o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
2058	    normally using Makefile.depend.${MACHINE}), handy for
2059	    read-only manually maintained dependencies.
2060	  o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
2061	  o gendirdeps.mk if ERROR: from meta2deps.py do not update
2062	    anything.
2063
20642011-10-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2065
2066	* install-new.mk separate the cmp and copy logic to its own function.
2067
20682011-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2069
2070	* install-mk (MK_VERSION): bump version to 20111028
2071	* sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
2072	* subdir.mk: ensure _SUBDIRUSE is provided
2073	* meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
2074	* meta.subdir.mk: always allow for Makefile.depend
2075
20762011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2077
2078	* install-mk (MK_VERSION): bump version to 20111010
2079	  o minor tweak to *dirdeps.mk from Juniper sjg@
2080
20812011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2082
2083	* install-mk (MK_VERSION): bump version to 20111001
2084	  o add meta2deps.py from Juniper sjg@
2085	  o tweak gendirdeps.mk to work with meta2deps.py when not
2086	    cross-building
2087	* autoconf.mk: add autoconf-input as a hook for regenerating
2088	  AUTOCONF_INPUTS (configure).
2089
20902011-08-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2091
2092	* meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
2093	  trigger for updating Makefile.depend*
2094
20952011-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2096
2097	* install-mk (MK_VERSION): bump version to 20110808
2098	* obj.mk: minor cleanup
2099	* auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
2100
21012011-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2102
2103	* auto.obj.mk (.OBJDIR): throw an error if we cannot use the
2104	  specified dir.
2105
21062011-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2107
2108	* meta.autodep.mk: if XMAKE_META_FILE is set
2109	  the makefile uses a foreign make, and so dependencies
2110	  can only be gathered from a clean tree build.
2111
21122011-06-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2113
2114	* install-mk (MK_VERSION): bump version to 20110622
2115	* meta.autodep.mk: improve bootstraping
2116
21172011-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2118
2119	* yacc.mk: handle the corner case of .c being removed
2120	  while .h remains.
2121
21222011-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2123
2124	* yacc.mk: do .y.h and .y.c separately
2125
21262011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2127
2128	* install-mk (MK_VERSION): bump version to 20110606
2129	* don't store SRC_DIRDEPS in Makefile.depend* by default
2130	  not everyone needs it.
2131
21322011-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2133
2134	* install-mk (MK_VERSION): bump version to 20110505
2135	  first release including meta mode makefiles
2136
21372011-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2138
2139	* meta.stage.mk: add STAGE_AS_SETS and stage_as
2140	  for things that need to be staged with different names.
2141
21422011-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2143
2144	* meta.stage.mk: add notion of STAGE_SETS
2145	  so a makefile can stage to multiple dirs
2146
21472011-04-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2148
2149	* rst2htm.mk: convert rst to s5 (slides) or plain html depending
2150	  on target name.
2151
21522011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2153
2154	* install-mk (MK_VERSION): bump version to 20110330
2155
21562011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
2157
2158	* sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
2159	  can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
2160	* sys.mk: re-define M_whence in terms of M_type.
2161	  M_type is useful for checking if something is a builtin.
2162
21632011-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2164
2165	* meta.stage.mk: add stage_symlinks and leverage StageLinks for
2166	  stage_libs
2167
21682011-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2169
2170	* dirdeps.mk: correct value for _depdir_files depends on
2171	  .MAKE.DEPENDFILE
2172	  Add our copyright - just to make it clear we have frobbed this
2173	  quite a bit.
2174	  DEP_MACHINE needs to be set to MACHINE each time, if using only
2175	  Makefile.depend (cf. Makefile.depend.${MACHINE})
2176
2177	* meta.stage.mk: meta mode version of staging
2178
2179	* init.mk, final.mk: include local.*.mk to simplify customization
2180
21812011-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2182
2183	* auto.obj.mk: just because we are doing mk destroy, we should
2184	  still set .OBJDIR correctly if it exists.
2185
2186	* install-mk (mksrc): do not exclude meta.sys.mk
2187
21882011-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2189
2190	* host-target.mk: set/export _HOST_ARCH etc separately,
2191	  catch junk resulting from uname -p, so we can find sys/Linux.mk
2192	  correctly.
2193
21942011-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2195
2196	* meta.sys.mk: throw an error if /dev/filemon is missing and we
2197	  expected to be updating Makefile.depend*
2198
21992011-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2200
2201	* install-mk (MK_VERSION): bump version to 20110214
2202	* meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
2203
22042010-09-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2205
2206	* meta.sys.mk: not valid for older bmake
2207
22082010-09-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2209
2210	* install-mk (MK_VERSION): bump version to 20100919
2211	include dirdeps.mk et al from Juniper Networks,
2212	for meta mode - requires filemon(9).
2213	* sys.mk, subdir.mk: Add hooks for meta mode.
2214	we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
2215	to make turning it on/off simple.
2216
22172010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2218
2219	* install-mk (MK_VERSION): bump version to 20100616
2220	* fix typo in sys.mk
2221
22222010-06-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2223
2224	* install-mk (MK_VERSION): bump version to 20100612
2225	* lib.mk: remove duplicate addition to SOBJS
2226
22272010-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2228
2229	* sys.mk: Add a means of selectively turning on debug flags.
2230	  Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
2231	  will act as if we did make -dv if .CURDIR ends in lib/sjg
2232	  DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
2233	  the start of sys.mk rather than the end.
2234	  This only makes sense for leaf dirs, so we check that
2235	  .MAKE.LEVEL > 0
2236
22372010-06-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2238
2239	* install-mk (MK_VERSION): bump version to 20100608
2240	* sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
2241	* examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
2242	  also make it easier for folk to tweak
2243
22442010-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2245
2246	* install-mk (MK_VERSION): bump version to 20100606
2247	  do not install examples/*
2248	* FILES: add examples/sys.clean-env.mk
2249	* examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
2250	  this requires bmake-20100606 or later to work.
2251
22522010-05-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2253
2254	* sys.mk (M_tA): better simulate the result of :tA if not available.
2255
22562010-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2257
2258	* sys.mk: canonicalize MAKE_VERSION
2259	  old versions reported bmake-<src-date> build-<build-date>
2260	  whereas we only care about <src-date>
2261
22622010-04-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2263
2264	* install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
2265	* lib.mk: we only build the shared lib if SHLIB_FULLVERSION
2266	  is !empty
2267
22682010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2269
2270	* dpadd.mk: use LDADD_* if defined.
2271
22722010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2273
2274	* install-mk (MK_VERSION): bump version to 20100420
2275	* sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
2276	* autoconf.mk allow AUTO_AUTOCONF
2277
22782010-04-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2279
2280	* obj.mk: add objwarn to keep freebsd makefiles happy
2281	* auto.obj.mk: ensure Mkdirs is available.
2282	* FILES: add auto.dep.mk - a simpler version of autodep.mk
2283	* dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
2284	  asked to do that.
2285	  fix/simplify the tests for when to run mkdep.
2286	* auto.dep.mk: add some explanation of how/what we do.
2287	* autodep.mk: skip the .OPTIONAL frobbing of .depend
2288	  bmake's FROM_DEPEND flag makes it redundant.
2289
22902010-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2291
2292	* install-mk (MK_VERSION): bump version to 20100404
2293	* subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
2294	* obj.mk: protect from multiple inclusion even as bsd.obj.mk
2295	Also create a target _SUBDIRUSE so that we can  be used without
2296	subdir.mk
2297
22982010-04-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2299
2300	* dep.mk: use <> when .including so can override.
2301
23022010-01-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2303
2304	* lib.mk (SHLIB_LINKS): ensure a string comparison.
2305
23062010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2307
2308	* install-mk (MK_VERSION): bump version to 20100102
2309	* own.mk: ensure PRINTOBJDIR works
2310	* autoconf.mk: pass on CONFIGURE_ARGS
2311	* init.mk: handle COPTS.${.IMPSRC:T} etc.
2312	* lib.mk: allow sys.mk to control SHLIB_FULLVERSION
2313	  fix handling of symlinks for darwin
2314	* libnames.mk: add DSHLIBEXT for libs which only exist as shared.
2315	* man.mk: suppress chown when not root.
2316	* rst2htm.mk: allow srcs from multiple locations.
2317	* sys.mk: M_whence, stop after 1st line of output.
2318	* sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
2319	* sys/SunOS.mk: we need to export PATH
2320
23212009-12-23  Simon J. Gerraty  <sjg@void.crufty.net>
2322
2323	* install-mk (MK_VERSION): bump version
2324	  include rst2htm.mk
2325
23262009-12-17  Simon J. Gerraty  <sjg@void.crufty.net>
2327
2328	* sys.mk,libnames.mk add .-include <local.*>
2329	  this allows local customization without the need to edit the
2330	  distributed files.
2331
23322009-12-14  Simon J. Gerraty  <sjg@void.crufty.net>
2333
2334	* dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
2335	  older versions already installed.
2336
23372009-12-13  Simon J. Gerraty  <sjg@void.crufty.net>
2338
2339	* stage.mk (.stage-install): generalize lib.mk's .libinstall
2340	* rules.mk rules for generic Makefile.
2341	* inc.mk install for includes.
2342
23432009-12-11  Simon J. Gerraty  <sjg@void.crufty.net>
2344
2345	* sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
2346	  this, so provide it if using native make.
2347
23482009-12-10  Simon J. Gerraty  <sjg@void.crufty.net>
2349
2350	* FILES: move all the platform *.sys.mk files to sys/*.mk
2351	* Rename Generic.sys.mk to sys.mk - we always want it.
2352
23532009-11-17  Simon J. Gerraty  <sjg@void.crufty.net>
2354
2355	* install-mk (MK_VERSION): bump version
2356	* host-target.mk: only export the expensive stuff
2357	* Generic.sys.mk (sys_mk): for SunOS we need to look for
2358	  ${HOST_OS}.${HOST_OSMAJOR} too!
2359
23602009-11-07  Simon J. Gerraty  <sjg@void.crufty.net>
2361
2362	* install-mk (MK_VERSION): bump version
2363	* lib.mk: if sys.mk doesn't give us an lorder, don't use it.
2364	  based on patch from Greg Olszewski.
2365	* Generic.sys.mk: if we have nothing to work with
2366	set LORDER etc only if we can find it.
2367
23682009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
2369
2370	* install-mk (MK_VERSION): bump version
2371	* man.mk: cleanman: remove CLEANMAN if defined.
2372
23732009-09-04  Simon J. Gerraty  <sjg@void.crufty.net>
2374
2375	* SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
2376
23772009-07-17  Simon J. Gerraty  <sjg@void.crufty.net>
2378
2379	* install-mk (MK_VERSION): bump version
2380	include auto.obj.mk
2381
2382
23832009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
2384
2385	* prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
2386
23872008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
2388
2389	* install-mk (MK_VERSION): bump version
2390	man.mk: ensure we generate *.cat1 etc in .
2391
23922008-07-16  Simon J. Gerraty  <sjg@void.crufty.net>
2393
2394	* install-mk (MK_VERSION): bump version
2395	add prlist.mk
2396
23972007-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
2398
2399	* Generic.sys.mk: Allow os specific sys.mk to be in a
2400	subdir of ${.PARSEDIR}
2401
24022007-11-22  Simon J. Gerraty  <sjg@void.crufty.net>
2403
2404	* install-mk (MK_VERSION): bump version
2405	* general cleanup
2406	* dpadd.mk introduce DPMAGIC_LIBS_*
2407
24082007-04-30  Simon J. Gerraty  <sjg@void.crufty.net>
2409
2410	* install-mk (MK_VERSION): bump version
2411
2412	* libs.mk, progs.mk, autodep.mk: allow for per lib/prog
2413	depend files and ensure clean is called for each lib/prog.
2414
24152007-03-27  Simon J. Gerraty  <sjg@void.crufty.net>
2416
2417	* autodep.mk (.depend): delete lines that do not start with
2418	space and do not contain ':'
2419
24202007-02-16  Simon J. Gerraty  <sjg@void.crufty.net>
2421
2422	* autodep.mk (.depend): gcc may wrap lines if pathnames are long
2423	so make sure the transform for .OPTIONAL copes.
2424
24252007-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2426
2427	* install-mk (MK_VERSION): bump version
2428
2429	* own.mk: make sure RM and LN are defined.
2430
2431	* obj.mk: fix a typo, and objlink target.
2432
24332006-12-30  Simon J. Gerraty  <sjg@void.crufty.net>
2434
2435	* install-mk (MK_VERSION): bump version
2436	* added libs.mk - analogous to progs.mk
2437	  make both of them always inlcude {lib,prog}.mk
2438
24392006-12-28  Simon J. Gerraty  <sjg@void.crufty.net>
2440
2441	* progs.mk: add a means of building multiple apps in one dir.
2442
24432006-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
2444
2445	* install-mk (MK_VERSION): bump version to 20061126
2446
2447	* warnings.mk: detect invalid WARNINGS_SET
2448
2449	* warnings.mk: use ${.TARGET:T:R}.o when looking for target
2450	specific warnings.
2451
2452	* For .cc sources, turn off warnings that g++ vomits on.
2453
24542006-11-08  Simon J. Gerraty  <sjg@void.crufty.net>
2455
2456	* own.mk: if __initialized__ target doesn't exist and we are
2457	FreeBSD we got here directly from sys.mk
2458
24592006-11-06  Simon J. Gerraty  <sjg@void.crufty.net>
2460
2461	* install-mk (MK_VERSION): bump version to 20061106
2462	add scripts.mk
2463
24642006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
2465
2466	* install-mk (MK_VERSION): bump version to 20060318
2467
2468	* autodep.mk: avoid := when modifying OBJS into __dependsrcs
2469
24702006-03-02  Simon J. Gerraty  <sjg@void.crufty.net>
2471
2472	* install-mk (MK_VERSION): bump version to 20060302
2473	* autodep.mk: use -MF et al to help gcc+ccache DTRT.
2474
24752006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
2476
2477	* install-mk (MK_VERSION): bump version to 20060301
2478	* autodep.mk (.depend):
2479	if MAKE_VERSION is newer than  20050530 we can make .END depend on
2480	.depend and make .depend depend on __depsrcs that exist.
2481	* dpadd.mk: add SRC_PATHADD
2482
24832005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
2484
2485	* install-mk (MK_VERSION): bump version to 20051104
2486	* prog.mk: remove all the LIBC?= junk, use
2487	.-include libnames.mk instead (none by default).
2488	also if USE_DPADD_MK is set, include that.
2489
24902005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2491
2492	* install-mk (MK_VERSION): bump version to 20051001
2493	Add UnixWare.sys.mk from Klaus Heinz.
2494
24952005-04-05  Simon J. Gerraty  <sjg@void.crufty.net>
2496
2497	* install-mk: always install *.sys.mk and if need be symlink one
2498	to sys.mk
2499
25002005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2501
2502	* subdir.mk, own.mk: use .MAKE rather than MAKE
2503
25042004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
2505
2506	* own.mk: don't use NetBSD's _SRC_TOP_ it can
2507	cause confusion.  Also don't take just 'mk' as a
2508	srctop indicator.
2509
25102004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
2511
2512	* warnings.mk: overhauled, now very powerful.
2513
25142004-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2515
2516	* Generic.sys.mk: need to use ${.PARSEDIR} with exists().
2517
25182004-02-01  Simon J. Gerraty  <sjg@void.crufty.net>
2519
2520	* install-mk (MK_VERSION): bump version to 20040201
2521	* extract HOST_TARGET stuff to host-target.mk so own.mk and
2522	Generic.sys.mk can share.
2523	* fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
2524
25252003-09-30  Simon J. Gerraty  <sjg@void.crufty.net>
2526
2527	* install-mk (MK_VERSION): 20030930
2528	* rename generic.sys.mk to Generic.sys.mk
2529	so that it does not get installed (unless being used as sys.mk)
2530	* set OS and ROOT_GROUP for those that we know the value.
2531	for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
2532	we don't do it again for each sub-make.
2533
25342003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
2535
2536	* install-mk (MK_VERSION): 20030928
2537	Add some extra *.sys.mk from bootstrap-pkgsrc
2538	some of these likely still need work.
2539	Make everything default to root:wheel ownership,
2540	sys.mk can set ROOT_GROUP accordingly.
2541
25422003-08-07  Simon J. Gerraty  <sjg@void.crufty.net>
2543
2544	* install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
2545	not the portable ones.
2546
25472003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
2548
2549	* install-mk: add ability to use cp -f when updating
2550	destination .mk files.  Also now possible to play games with
2551	FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
2552	into dest - not recommended unless you seriously want to.
2553
25542003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
2555
2556	* own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
2557	for semi-compatability with NetBSD.
2558
25592003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
2560
2561	* install-mk: add a version indicator
2562
25632003-07-22  Simon J. Gerraty  <sjg@void.crufty.net>
2564
2565	* prog.mk: don't try and use ${LIBCRT0} if its /dev/null
2566
2567	* install-mk: Allow FORCE_SYS_MK to come from env
2568
2569
2570
2571