xref: /freebsd/contrib/bmake/mk/ChangeLog (revision 7ef62cebc2f965b0f640263e179276928885e33d)
12023-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* meta.autodep.mk (beforegendirdeps): allow tasks to be done
4	at END but before gendirdeps
5
62023-05-22  Simon J Gerraty  <sjg@beast.crufty.net>
7
8	* install-mk (MK_VERSION): 20230522
9
10	* host-target.mk: deal with garbage from uname -m on
11	Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH
12	these days so just leave it be.
13	For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get
14	arm64 and x86_64 in HOST_TARGET.
15
162023-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
17
18	* sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older
19	versions of bmake.
20
21	* dirdeps.mk (TARGET_SPEC_VARS.host):
22	While *most* projects need only DEP_MACHINE for host,
23	there is always an exception.  So we allow for
24	TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS.
25	The default will *just work* for most projects.
26	We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC
27	based on DEP_MACHINE.
28	Allow for M_dep_qual_fixes.host to be different too
29	and take care to apply the right set.
30
312023-05-14  Simon J Gerraty  <sjg@beast.crufty.net>
32
33	* sys.dirdeps.mk: we *do* want to override OBJTOP
34	and if MAKEOBJDIR was not in env as we want it;
35	put it there - carefully.
36	Ensure OBJROOT ends in / or - (/ preferred)
37	Add more comments to explain what/why.
38
392023-05-13  Simon J Gerraty  <sjg@beast.crufty.net>
40
41	* install-mk (MK_VERSION): 20230512
42
43	* dirdeps.mk: take care not to qualify "host" dirdeps
44
45	* sys.dirdeps.mk (OBJTOP): must use ?=
46
472023-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
48
49	* meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no"
50	suppress processing of .depend
51
522023-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
53
54	* dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP
55
56	* meta.sys.mk sys.dirdeps.mk:
57	originally DIRDEPS_BUILD and META_MODE were the same thing,
58	but META_MODE is useful by itself.
59	Move things from meta.sys.mk which actually pertain to
60	DIRDEPS_BUILD to sys.dirdeps.mk
61
622023-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
63
64	* install-mk (MK_VERSION): 20230504 May the Forth be with you
65
66	* dirdeps.mk: as with meta.sys.mk we treat "host" as special.
67	DEP_TARGET_SPEC is just ${DEP_MACHINE}
68
69	* meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at
70	level > 0 since these are often refered to in Makefile.depend*
71
722023-04-26  Simon J Gerraty  <sjg@beast.crufty.net>
73
74	* jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and
75	anything in ${JOB_LOG_START}
76
77	* jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}}
78	or a scripts subdir before searching $PATH.
79
80	* FILES: include newlog.sh for jobs.mk
81
822023-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
83
84	* install-mk (MK_VERSION): 20230420
85
86	* lib.mk: include LDFLAGS and LDADD when linking shared libs
87
88	* gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc
89	via local.meta.sys.mk rather than local.gendirdeps.mk
90	so DEP_* variables can be set at level 1+ to avoid syntax errors
91	when used in conditionals in manually maintained Makefile.depend
92	files.
93
94	* dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines
95
962023-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
97
98	* dirdeps.mk: check we were not included by
99	Makefile.depend.options as the result is bad.
100
1012023-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
102
103	* install-mk (MK_VERSION): 20230414
104
105	* meta.sys.mk: since we have :range we can put the logic for
106	processing TARGET_SPEC from env here.
107
108	* dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including
109	local.dirdeps-missing.mk, also improve debug output.
110
111	* dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC
112	we need to use :M*[/.]* same as for when actually setting DIRDEPS
113	from the targets on command line.
114
1152023-04-12  Simon J Gerraty  <sjg@beast.crufty.net>
116
117	* Add jobs.mk
118
1192023-03-21  Simon J Gerraty  <sjg@beast.crufty.net>
120
121	* install-mk (MK_VERSION): 20230321
122
123	* meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter
124	STAGE_LIBS for SHLIB_LINKS.
125
126	* autoconf.mk: add .WAIT after config.status
127
1282023-02-17  Simon J Gerraty  <sjg@beast.crufty.net>
129
130	* sys.vars.mk: add M_Index to report the index of a word in a list.
131
1322023-02-15  Simon J Gerraty  <sjg@beast.crufty.net>
133
134	* install-mk (MK_VERSION): 20230215
135
136	* warnings.mk: allow better control of -Werror
137	allow -Wno-error or similar to be added if
138	WARNINGS_SET < WERROR_SET
139	account for COMPILER_TYPE
140
1412023-01-29  Simon J Gerraty  <sjg@beast.crufty.net>
142
143	* autoconf.mk: hook config.status to beforebuild.
144
145	* whats.mk: what*.c is NOTMAIN
146
1472023-01-27  Simon J Gerraty  <sjg@beast.crufty.net>
148
149	* install-mk (MK_VERSION): 20230127
150	control umask so directories are created with suitable mode.
151
1522023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
153
154	* install-mk (MK_VERSION): 20230120
155
156	* sys.vars.mk: add M_On and M_Onr also cleanup to be more
157	consistent wrt testing MAKE_VERSION
158
1592023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
160
161	* install-mk (MK_VERSION): 20230112
162
163	* meta2deps.{py,sh}: assert if filemon data is truncated
164	we should see the '# Bye bye' record - assert if we do not.
165
1662022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
167
168	* install-mk (MK_VERSION): 20220909
169
170	* sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings
171
1722022-09-06  Simon J Gerraty  <sjg@beast.crufty.net>
173
174	* dirdeps-options.mk: explain the need to use
175	${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to
176	${TARGET_SPEC_VAR}
177
1782022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
179
180	* install-mk (MK_VERSION): 20220903
181
182	* M_cmpv handle more than 3 dots and clear leading 0's
183
1842022-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
185
186	* install-mk (MK_VERSION): 20220720
187
188	* prog.mk: handle PROG_CXX for more than just NetBSD
189
1902022-06-20  Simon J Gerraty  <sjg@beast.crufty.net>
191
192	* install-mk (MK_VERSION): 20220620
193
194	* yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER
195	rather than just suffix rules
196
1972022-04-23  Simon J Gerraty  <sjg@beast.crufty.net>
198
199	* install-mk (MK_VERSION): 20220422
200
201	* gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no"
202	do not capture any local depends in Makefile.depend
203
2042022-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
205
206	* install-mk (MK_VERSION): 20220323
207	* posix.mk: default rules for .POSIX:
208
2092022-03-17  Simon J Gerraty  <sjg@beast.crufty.net>
210
211	* sys/*.mk: remove l from ARFLAGS
212
2132022-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
214
215	* install-mk (MK_VERSION): 20220314
216
217	* dirdeps-options.mk: allow options to be per RELDIR
218	try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed
219	with ${DEP_RELDIR}.
220
2212022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
222
223	* install-mk (MK_VERSION): 20220214
224
225	* cc-wrap.mk: fix :@ modifier
226
2272022-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
228
229	* install-mk (MK_VERSION): 20220206
230
231	* cc-wrap.mk: docuement how CCACHE etc might be set for
232	maximum flexibility
233
2342022-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
235
236	* sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT
237
2382022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
239
240	* install-mk (MK_VERSION): 20220204
241
242	* host-target.mk: use .MAKE.OS if available
243
2442022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
245
246	* install-mk (MK_VERSION): 20220202
247
248	* cc-wrap.mk: allow other entries in CC_WRAP_FILTER
249	We add our filter on extensions last, so prior filters
250	can apply to the whole value of .IMPSRC
251
2522022-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
253
254	* cc-wrap.mk: take advantage of target local variables to
255	wrap compilers like CC CXX with wrappers like ccache distcc etc
256
2572022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
258
259	* meta2deps: we do not expect any trace data for setid apps
260
2612022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
262
263	* dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed
264	to sub-make using DIRDEPS_CACHE
265
2662022-01-07  Simon J Gerraty  <sjg@beast.crufty.net>
267
268	* dirdeps.mk: use _cache_script to minimize the number of shells
269	forked when generating dirdeps.cache
270
2712022-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
272
273	* install-mk (MK_VERSION): 20220101
274
275	* dirdeps.mk: initialize DEP_* and _debug_reldir earlier.
276	If initial DIRDEPS are from command line, create the target
277	_dirdeps_cmdline as an indication.
278
2792022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
280
281	* init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD
282	at top-level only some targets are allowed at level 0,
283	for leaf makefiles only the default (all) target is restricted
284
2852021-12-28  Simon J Gerraty  <sjg@beast.crufty.net>
286
287	* install-mk (MK_VERSION): 20211228
288
289	* meta2deps.py: filemon on Linux is not as reliable as we might
290	like, we do not want to update DIRDEPS if filemon output is
291	incomplete.   Track pids that we 'E'xec and make sure we see an
292	e'X'it for each one.  Throw an error if we are missing any 'X'
293	records.
294
2952021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
296
297	* sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes.
298
299	* meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON
300	is something else.
301
302	* meta.autodep.mk: we can now reference ${.SUFFIXES}
303
304	* meta2deps.py: derive a list of dirdep extensions from
305	TARGET_SPEC to trim from dirdeps.
306
307	* dirdeps.mk: flip the computation of qualified vs unqualified
308	dirdeps - it is much simpler to check for unqualified first.
309
3102021-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
311
312	* install-mk (MK_VERSION): 20211212
313
314	* auto.dep.mk: rearrange so that the trivial implementation
315	for recent bmake is more obvious.
316
3172021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
318
319	* install-mk (MK_VERSION): 20211207
320
321	* Ensure guard targets are .NOTMAIN
322
323	* meta.sys.mk: check for nofilemon support when we skip level 0
324
325	* auto.dep.mk: make this usable in meta mode
326	for platforms that cannot use meta.autodep.mk
327
328	* meta2deps.py: avoid confusion if MACHINE and another
329	TARGET_SPEC_VAR have same value.
330
3312021-11-27  Simon J Gerraty  <sjg@beast.crufty.net>
332
333	* dirdeps.mk: when building dirdeps.cache, minimize the amount of
334	data put into env, by stripping ${SRCTOP}/ from each entry.
335	A long sandbox name can double the amount of memory consumed and
336	in extreme cases cause failure.
337	While we are at it, strip ${SRCTOP}/ from a lot of the debug output.
338
3392021-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
340
341	* install-mk (MK_VERSION): 20211111
342
343	* meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail
344	so fallback to cp if necessary.
345
3462021-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
347
348	* man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year
349	old cmt2doc.pl
350
3512021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
352
353	* meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f}
354	as the symlink (rare)
355
3562021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
357
358	* autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not
359	been read, throw an error after running configure telling user to
360	restart.
361
3622021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
363
364	* install-mk (MK_VERSION): 20211011
365
366	* Add support for SCO_SV
367
3682021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
369
370	* install-mk (MK_VERSION): 20211001
371
372	* man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more
373	flexibility
374
3752021-09-13  Simon J Gerraty  <sjg@beast.crufty.net>
376
377	* options.mk (describe-options): print options and their values
378	  and optional description
379
3802021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
381
382	* install-mk (MK_VERSION): 20210911
383
384	* options.mk (show-options): print options and their values
385
3862021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
387
388	* install-mk (MK_VERSION): 20210909
389
390	* lib.mk: apply patch from <daniel@octaforge.org>
391	to fix shared libs on Linux
392
3932021-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
394
395	* install-mk (MK_VERSION): 20210808
396
397	* options.mk: issue warning for WITH_*=no
398
3992021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
400
401	* install-mk (MK_VERSION): 20210616
402
403	* dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find
404	depend files to read, anchor MACHINE at , or end of string
405	to avoid prefix match.
406
4072021-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
408
409	* install-mk (MK_VERSION): 20210504
410
411	* dirdeps.mk: re-implement ALL_MACHINES support to better
412	cater for local complexities, when ONLY_TARGET_SPEC_LIST
413	is not set. local.dirdeps.mk can set
414	DIRDEPS_ALL_MACHINES_FILTER and/or
415	DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get
416	from listing all existing Makefile.depend.*
417
4182021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
419
420	* install-mk (MK_VERSION): 20210420
421
422	* dirdeps.mk: revert previous - not always safe.
423
4242021-03-20  Simon J Gerraty  <sjg@beast.crufty.net>
425
426	* install-mk (MK_VERSION): 20210321
427
428	* dirdeps.mk: when generating dirdeps.cache
429	we only need to hook the initial DIRDEPS to the
430	dirdeps target.  That and any _build_xtra_dirs (like tests which
431	should not be hooked directly to the dependency graph - to avoid
432	cycles)
433
4342021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
435
436	* install-mk (MK_VERSION): 20210130
437
438	* dirdeps.mk: expr 2 - 1 - 1 exits with a bad status
439	  we need to  guard against this in DIRDEP_LOADAVG_REPORT.
440
441	* dirdeps.mk: restore respect for TARGET_MACHINE
442
4432021-01-06  Simon J Gerraty  <sjg@beast.crufty.net>
444
445	* install-mk (MK_VERSION): 20210101
446
447	* dirdeps.mk: first time we are read, just use TARGET_SPEC for
448	_DEP_TARGET_SPEC
449
4502020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
451
452	* sys.mk (MAKE_SHELL): use ${.SHELL:Ush}
453	and use := when setting SHELL
454
4552020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
456
457	* install-mk (MK_VERSION): 20201221
458
459	* dirdeps-options.mk: latest bmake allows only one arg to .undef
460
4612020-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
462
463	* dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS
464	so that any directory can be treated as a target.
465
4662020-11-26  Simon J Gerraty  <sjg@beast.crufty.net>
467
468	* install-mk (MK_VERSION): 20201126
469
470	* own.mk: use .MAKE.{UID,GID} if available.
471
472	* init.mk: suppress _SKIP_BUILD warning if doing -V
473
4742020-11-20  Simon J Gerraty  <sjg@beast.crufty.net>
475
476	* install-mk (MK_VERSION): 20201120
477
478	* init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS
479
480	* dirdeps-targets.mk: fix typo in comment
481
4822020-11-06  Simon J Gerraty  <sjg@beast.crufty.net>
483
484	* install-mk (MK_VERSION): 20201106
485
486	* meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed
487	args to tweak extensions for local deps.
488
4892020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
490
491	* install-mk (MK_VERSION): 20201101
492
493	* dirdeps.mk: most leaf makefiles are not suitable for building
494	dirdeps.cache so if RELDIR is not "." use dirdeps.mk
495
4962020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
497
498	* install-mk (MK_VERSION): 20201028
499
500	* dirdeps.mk: if we don't have :range use equivalent of M_RANGE
501	when building dirdeps.cache for leaf directory use -f dirdeps.mk
502
503	* sys.vars.mk: add M_JOT and M_RANGE
504
5052020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
506
507	* install-mk (MK_VERSION): 20201001
508
509	* meta2deps.{py,sh}: throw an error if we don't see filemon version
510
5112020-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
512
513	* install-mk (MK_VERSION): 20200909
514
515	* dirdeps-cache-update.mk: use cache_update_dirdep as guard target
516
5172020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
518
519	* dirdeps.mk: ensure we cannot confuse a static cache for dynamic
520	(even more rare that use of static cache is playing clever tricks
521	with it)
522
5232020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
524
525	* dirdeps-cache-update.mk: allow
526	MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we
527	actually update STATIC_DIRDEPS_CACHE.
528
529	* stage-install.sh: create dest directory if needed
530	before running install(1)
531
5322020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
533
534	* dirdeps-targets.mk: include Makefile.dirdeps.options
535
536	* dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE
537
5382020-08-09  Simon J Gerraty  <sjg@beast.crufty.net>
539
540	* dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty
541
542	* dirdeps-cache-update.mk: building parallel cache update
543	under the context of dirdeps-cached would be ideal, but
544	is problematic, so it runs as a sibling.
545	Use cache-built target to ensure we wait for it to complete if
546	necessary.
547
5482020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
549
550	* install-mk (MK_VERSION): 20200806
551
552	* dirdeps-options: allow TARGET_SPEC to affect option values.
553	Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_*
554
555	* dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined
556	before looking for STATIC_DIRDEPS_CACHE
557
5582020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
559
560	* host-target.mk: Darwin use MACHINE for HOST_ARCH too
561
562	* dirdeps-options.mk: improve debug output
563
5642020-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
565
566	* dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE
567	for use by dirdeps-cache-update.mk
568
569	* dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE
570	for use by dirdeps-cache-update.mk even if we don't use it.
571
572	* dirdeps-cache-update.mk: we only need worry about the background
573	update case, with the above, the update from DIRDEPS_CACHE is
574	simple.
575
576	* meta2deps.py: R 1234 . is not interesting
577
5782020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
579
580	* sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE
581
582	* dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS
583	allows use of lower case for pseudo options.
584
585	* dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE
586
5872020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
588
589	* dirdeps-targets.mk: Look for Makefile.dirdeps.cache
590	which allows us to have a static cache for expensive targets.
591	Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE
592	to regenerate the dirdeps.cache it is a copy of.
593
5942020-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
595
596	* Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense.
597
5982020-07-16  Simon J Gerraty  <sjg@beast.crufty.net>
599
600	* dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record
601	load averages at intervals during build.
602
6032020-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
604
605	* install-mk (MK_VERSION): 20200715
606
607	* dirdeps.mk: tweak Checking line to make matching Finished
608	lines for post-build analysis easier.
609
610	* meta.autodep.mk: use !defined(WITHOUT_META_STATS)
611
612	* progs.mk: avoid prog.mk outputting multiple Finished lines
613
6142020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
615
616	* dirdeps.mk: further optimize dirdeps.cache
617	generate a DIRDEPS.${.TARGET} list for other purposes
618	and improve the layout.
619
6202020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
621
622	* dirdeps.mk: optimize content of dirdeps.cache
623
6242020-06-28  Simon J Gerraty  <sjg@beast.crufty.net>
625
626	* sys/*.mk: make it easier for local*sys.mk to customize by
627	using ?=
628
6292020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
630
631	* gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
632	it is much safer to guard local depends with a simple check for
633	.MAKE.LEVEL > 0
634
6352020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
636
637	* install-mk (MK_VERSION): 20200610
638
639	* mkopt.sh: this needs posix shell so #!/bin/sh should be ok
640
6412020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
642
643	* install-mk (MK_VERSION): 20200606
644
645	* dirdeps-targets.mk: allow for filtering of .TARGETS
646
647	* meta2deps.py: fix bug in processing 'L'ink and 'M'ove
648	entries - and we don't care about 'W'rite entries.
649	Also ignore absolute paths that do not exist.
650
6512020-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
652
653	* install-mk (MK_VERSION): 20200525
654
655	* init.mk: expand and simplify handling of qualified vars
656	like CPPFLAGS.${.TARGET:T}
657
6582020-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
659
660	* install-mk (MK_VERSION): 20200515
661
662	* dirdeps.mk: set _debug_* earlier and allow passing -d*
663	flags to submake when building DIRDEPS_CACHE
664
6652020-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
666
667	* whats.mk: more easily extensible
668
6692020-05-02  Simon J Gerraty  <sjg@beast.crufty.net>
670
671	* whats.mk: greatly simplify by adding what.c to SRCS
672
6732020-05-01  Simon J Gerraty  <sjg@beast.crufty.net>
674
675	* whats.mk: for libs take care how we add to *OBJS
676
677	* lib.mk: : works better with whats.mk
678
6792020-04-25  Simon J Gerraty  <sjg@beast.crufty.net>
680
681	* install-mk (MK_VERSION): 20200420
682
683	* meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
684	contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
685
6862020-04-16  Simon J Gerraty  <sjg@beast.crufty.net>
687
688	* install-mk (MK_VERSION): 20200416
689
690	* sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
691	  interfere with user env.
692
693	* sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
694
695	* autodep.mk: use MAKE_SHELL.
696
6972019-11-21  Simon J Gerraty  <sjg@beast.crufty.net>
698
699	* gendirdeps.mk: clear .SUFFIXES to avoid a lot of
700	  wasted effort, and unexport _meta_files when no longer needed as
701	  it consumes space we need for command line.
702
7032019-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
704
705	* dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
706	  DIRDEP_USE_PRELUDE at start - facilitates job distribution
707
7082019-10-04  Simon J Gerraty  <sjg@beast.crufty.net>
709
710	* dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
711	defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
712	TARGET_SPEC qualified depend files.
713
7142019-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
715
716	* dirdeps-targets.mk: encapsulate logic for finding top-level
717	  targets to set initial DIRDEPS for DIRDEPS_BUILD
718
7192019-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
720
721	* install-mk (MK_VERSION): 20190911
722
723	* compiler.mk: set COMPILER_TYPE
724
7252019-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
726
727	* install-mk (MK_VERSION): 20190704
728
729	* sys/Darwin.mk: support for Objective-C and clang
730
7312019-05-30  Simon J Gerraty  <sjg@beast.crufty.net>
732
733	* dirdeps.mk: avoid insanely long command line when generating cache
734
7352019-05-23  Simon J Gerraty  <sjg@beast.crufty.net>
736
737	* install-mk (MK_VERSION): 20190505
738
739	* whats.mk: handle corner case SHLIB defined but not LIB
740
7412018-09-19  Simon J Gerraty  <sjg@beast.crufty.net>
742
743	* install-mk (MK_VERSION): 20180919
744
745	* dirdeps-options.mk: .undef cannot handle var that expands to
746	  more than one var.
747
7482018-07-08  Simon J Gerraty  <sjg@beast.crufty.net>
749
750	* meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
751
7522018-06-01  Simon J Gerraty  <sjg@beast.crufty.net>
753
754	* meta.autodep.mk: export META_FILES to avoid command line limit
755	* gendirdeps.mk: if we have lots of .meta files put them in
756	  an @list
757
7582018-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
759
760	* dirdeps-options.mk: use local.dirdeps-options.mk
761	  not local.dirdeps-option.mk
762
7632018-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
764
765	* install-mk (MK_VERSION): 20180420
766	* dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
767	  ie. we are building something.
768
7692018-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
770
771	* FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
772
7732018-04-05  Simon J Gerraty  <sjg@beast.crufty.net>
774
775	* install-mk (MK_VERSION): 20180405
776
777	* ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
778	  if needed.
779
7802018-01-18  Simon J Gerraty  <sjg@beast.crufty.net>
781
782	* install-mk (MK_VERSION): 20180118
783
784	* ldorder.mk: let make compute correct link order
785
7862017-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
787
788	* install-mk (MK_VERSION): 20171212
789
790	* gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
791
7922017-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
793
794	* install-mk (MK_VERSION): 20171111
795
796	* lib.mk: ensure META_NOECHO is set
797
7982017-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
799
800	* Allow for host32 on rare occasions.
801
8022017-10-18  Simon J. Gerraty  <sjg@bad.crufty.net>
803
804	* install-mk (MK_VERSION): 20171018
805
806	* whats.mk: include what_thing in what_uuid to avoid problem
807	  when building multiple apps in the same directory.
808
8092017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
810
811	* install-mk (MK_VERSION): 20170812
812
813	* autoconf.mk: Use CONFIGURE_DEPS so Makefile can
814	  add dependencies for config.recheck and config.gen
815
8162017-06-30  Simon J. Gerraty  <sjg@bad.crufty.net>
817
818	* install-mk (MK_VERSION): 20170630
819
820	* meta.stage.mk: avoid triggering stage_* targets with nothing to do.
821
8222017-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
823
824	* meta2deps.py: take special care of '..'
825
8262017-05-15  Simon J. Gerraty  <sjg@bad.crufty.net>
827
828	* install-mk (MK_VERSION): 20170515
829
830	* dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
831	useful/necessary for a Makefile.depend file to export some knobs.
832	This is complicated when we are doing DIRDEPS_CACHE, so we will
833	handle export of any variables listed in DEP_EXPORT_VARS.
834
8352017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
836
837	* install-mk (MK_VERSION): 20170505
838
839	* meta2deps.py: fix botched indenation.
840
8412017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
842
843	* sys/*.mk: Remove setting of MAKE it is unnecessary and
844	  in many cases wrong (basname rather than full path)
845
846	* scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
847
848	* init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
849
8502017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
851
852	* install-mk (MK_VERSION): 20170501
853
854	* doc.mk: fix typo in DOC_INSTALL_OWN
855
856	* inc.mk: handle INCGROUPS similar to freebsd
857
858	* files.mk: add something for files too
859
860	* add staging logic to lib.mk prog.mk etc.
861
8622017-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
863
864	* install-mk (MK_VERSION): 20170424
865
866	* dirdeps.mk: set NO_DIRDEPS when bootstrapping.
867	  also target of bootstrap-this when sed is needed should be ${_want:T}
868
8692017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
870
871	* install-mk (MK_VERSION): 20170418
872
873	* auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
874	  prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
875
8762017-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
877
878	* install-mk (MK_VERSION): 20170401
879
880	* meta2deps.py: add is_src so we can check if obj dependency
881	  is also a src dependency.
882
8832017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
884
885	* install-mk (MK_VERSION): 20170326
886
887	* meta.stage.mk: do nothing if NO_STAGING is defined.
888
8892017-03-24  Simon J. Gerraty  <sjg@bad.crufty.net>
890
891	* auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
892
8932017-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
894
895	* mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
896
8972017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
898
899	* install-mk (MK_VERSION): 20170301
900
901	* dirdeps.mk (_build_all_dirs): update this outside test for empty
902	  DIRDEPS.
903
904	* meta.stage.mk: allow multiple inclusion to the extent it makes
905	  sense.
906
9072017-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
908
909	* prog.mk (install_links): depends on realinstall
910
9112017-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
912
913	* install-mk (MK_VERSION): 20170212
914
915	* dpadd.mk: avoid applying :T:R twice to DPLIBS entries
916
9172017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
918
919	* install-mk (MK_VERSION): 20170130
920
921	* dirdeps.mk: use :range if we can.
922
923	* sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
924
925	* meta2deps.py: clean paths without using realpath() where possible.
926	  fix sort_unique.
927
9282016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
929
930	* install-mk (MK_VERSION): 20161212
931
932	* meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
933	rather than when we detect pid change.
934
9352016-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
936
937	* install-mk (MK_VERSION): 20161207
938
939	* meta.stage.mk: add stage_as_and_symlink for staging packages.
940	  We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
941	  to use foo.tgz to reference the latest staged version - so we
942	  make foo.tgz a symlink to it.
943	  Using a target to do both operations ensures we stay in sync.
944
9452016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
946
947	* install-mk (MK_VERSION): 20161126
948
949	* dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
950	  so it can add dependencies.
951
9522016-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
953
954	* dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
955	  do that they can influence the result correctly.
956
957	* dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
958
959	* dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
960	  similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
961
9622016-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
963
964	* dirdeps.mk: remove dependence on jot (normal situations anyway).
965	  Before we read another Makefile.depend* set DEP_* vars from
966	  _DEP_TARGET_SPEC in case it uses any of them with :=
967	  When bootstrapping, trim any ,* from extention of chosen _src
968	  Makefile.depend* to get the machine value we subst for.
969
9702016-09-30  Simon J. Gerraty  <sjg@bad.crufty.net>
971
972	* dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
973	  DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
974
975	* sys.mk: extract some bits to sys.{debug,vars}.mk
976	  for easier re-use by others.
977
9782016-09-23  Simon Gerraty  <sjg@sjg-mba13>
979
980	* lib.mk: Use ${PICO} for extension for PIC objects.
981	  default to .pico (like NetBSD) safe on case insensitive filesystem.
982
9832016-08-19  Simon J. Gerraty  <sjg@bad.crufty.net>
984
985	* meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
986
9872016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
988
989	* install-mk (MK_VERSION): 20160815
990
991	* dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
992	consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
993
9942016-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
995
996	* meta.sys.mk (.MAKE.META.IGNORE_PATHS):
997	  in meta mode we can ignore the mtime of makefiles
998
9992016-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1000
1001	* install-mk (MK_VERSION): 20160802
1002
1003	* lib.mk (libinstall): depends on beforinstall
1004
1005	* prog.mk (proginstall): depends on beforinstall
1006	  patch from Lauri Tirkkonen
1007
1008	* dirdeps.mk (bootstrap): When bootstrapping; creat
1009	.MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
1010	.MAKE.DEPENDFILE_BOOTSTRAP_SED
1011
1012	* dirdeps.mk: move some comments to where they make sense.
1013
10142016-07-27  Simon J. Gerraty  <sjg@bad.crufty.net>
1015
1016	* dirdeps.mk (DIRDEPS_CACHE): no dirname.
1017
10182016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1019
1020	* install-mk (MK_VERSION): 20160602
1021	* meta.autodep.mk: when passing META_FILES to gendirdeps.mk
1022	  do not apply :T to META_XTRAS
1023	  patch from Bryan Drewery at FreeBSD.org.
1024
10252016-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1026
1027	* install-mk (MK_VERSION): 20160530
1028	* meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
1029	  make it so.
1030
10312016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1032
1033	* install-mk (MK_VERSION): 20160512
1034
1035	* dpadd.mk: always include local.dpadd.mk if it exists
1036	  remove some things that better belong in local.dpadd.mk
1037	  skip INCLUDES_* for staged libs unless SRC_* defined.
1038
1039	* own.mk: add INCLUDEDIR
1040
10412016-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1042
1043	* dirdeps.mk: when doing -f dirdeps.mk if target suppies no
1044	  TARGET_MACHINE - :E will be empty or match part of path, use
1045	  ${MACHINE}
1046
10472016-04-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1048
1049	* meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
1050	  NO_FILEMON_COOKIE
1051
1052	* dirdeps.mk: move the logic that allows for
1053	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1054	  inside the check for !target(_DIRDEP_USE)
1055
10562016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1057
1058	* Use <> when including local*.mk and others which may exist
1059	  elsewhere so that user can better control what they get.
1060
1061	* meta.autodep.mk (NO_FILEMON_COOKIE):
1062	  create a cookie if we ever build dir with nofilemon
1063	  so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
1064
10652016-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1066
1067	* install-mk (MK_VERSION): 20160401
1068
1069	* meta2deps.py: fix old print statement when debugging.
1070
1071	* gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
1072	  patch from Bryan Drewery
1073
10742016-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1075
1076	* install-mk (MK_VERSION): 20160317 (St. Pats)
1077
1078	* warnings.mk: g++ does not like -Wimplicit
1079
1080	* sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
1081	  pelthora of common suffixes for C++
1082
1083	* lib.mk: use .So for shared objects
1084
10852016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1086
1087	* install-mk (MK_VERSION): 20160315
1088
1089	* meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
1090	  normally only applies to scripts.
1091
1092	* dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
1093	  well as outside it.
1094
10952016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1096
1097	* install-mk (MK_VERSION): 20160310
1098
1099	* dirdeps.mk: use targets rather than a list to track DIRDEPS that
1100	  we have processed; the list gets very inefficient as number of
1101	  DIRDEPS gets large.
1102
1103	* sys.dependfile.mk: fix comment wrt MACHINE
1104
1105	* meta.autodep.mk: ignore staged DPADDs when bootstrapping.
1106	  patch from Bryan Drewery
1107
11082016-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1109
1110	* meta2deps.sh: don't ignore subdirs.
1111	  patch from Bryan Drewery
1112
11132016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1114
1115	* install-mk (MK_VERSION): 20160226
1116
1117	* gendirdeps.mk: mark _DEPENDFILE .NOMETA
1118
11192016-02-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1120
1121	* dirdeps.mk: we shouldn't normally include .depend but if we do
1122	  use .dinclude if we can.
1123
11242016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1125
1126	* install-mk (MK_VERSION): 20160218
1127	* sys.clean-env.mk: with recent change to Var_Subst()
1128	  we cannot use the '$$' trick, but .export-literal does the job
1129	  we need.
1130	* auto.dep.mk: make use .dinclude if we can.
1131
1132
11332016-02-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1134
1135	* dirdeps.mk:
1136	  Add _build_all_dirs such that local.dirdeps.mk can
1137	  add fully qualified dirs to it.
1138	  These will be built normally but the current
1139	  DEP_RELDIR will not depend on then (to avoid cycles).
1140	  This makes it easy to hook things like unit-tests into build.
1141
1142
11432016-01-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1144
1145	* dirdeps.mk: add bootstrap-empty
1146
11472015-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1148
1149	* install-mk (MK_VERSION): 20151212
1150	* auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
1151	  only apply :tA to __objdir when comparing to .OBJDIR
1152
11532015-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1154
1155	* install-mk (MK_VERSION): 20151111
1156
1157	* meta.sys.mk: include sys.dependfile.mk
1158
1159	* sys.mk (OPTIONS_DEFAULT_NO): use options.mk
1160	  to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
1161	  include local.sys.env.mk early
1162	  include local.sys.mk later
1163
1164	* own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
1165
11662015-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1167
1168	* meta.sys.mk (META_COOKIE_TOUCH):
1169	  add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
1170
1171	* meta.stage.mk: stage_libs should ignore SYMLINKS.
1172
11732015-10-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1174
1175	* install-mk (MK_VERSION): 20151022
1176
1177	* sys.mk: BSD/OS does not have 'type' as a shell builtin.
1178
11792015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1180
1181	* install-mk (MK_VERSION): 20151020
1182
1183	* dirdeps.mk: Add logic for
1184	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1185
11862015-10-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1187
1188	* install-mk (MK_VERSION): 20151010
1189
11902015-10-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1191
1192	* meta.stage.mk: use staging: ${STAGE_TARGETS:...
1193	  to have stage_lins run last in non-jobs mode.
1194	  Use .ORDER only for jobs mode.
1195
11962015-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1197
1198	* rst2htm.mk: allow for per target flags etc.
1199
12002015-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1201
1202	* install-mk (MK_VERSION): 20150901
1203
1204	* doc.mk: create dir if needed use DOC_INSTALL_OWN
1205
12062015-06-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1207
1208	* install-mk (MK_VERSION): 20150615
1209
1210	* auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
1211	  Follow make's normal precedence rules.
1212
1213	* gendirdeps.mk: allow customization of the header.
1214	  eg. for FreeBSD:
1215	  GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
1216
1217	* meta.autodep.mk: ignore dirdeps.cache*
1218
1219	* meta.stage.mk: when bootstrapping options it can be handy to
1220	  throw warnings rather than errors for staging conflicts.
1221
1222	* meta.sys.mk: include local.meta.sys.mk for customization
1223
12242015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1225
1226	* install-mk (MK_VERSION): 20150606
1227
1228	* dirdeps.mk: don't rely on manually maintained Makefile.depend
1229	  to set DEP_RELDIR and reset DIRDEPS.
1230	  By setting DEP_RELDIR ourselves we can skip :tA
1231
1232	* gendirdeps.mk: skip setting DEP_RELDIR.
1233
12342015-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1235
1236	* dirdeps.mk: avoid wildcards like make(bootstrap*)
1237
12382015-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1239
1240	* install-mk (MK_VERSION): 20150520
1241
1242	* dirdeps.mk: when we are building dirdeps cache file we *want*
1243	  meta_oodate to look at all the Makefile.depend files, so
1244	  set .MAKE.DEPENDFILE to something that won't match.
1245
1246	* meta.stage.mk: for STAGE_AS_* basename of file may not be unique
1247	  so first use absolute path as key.
1248	  Also skip staging at level 0.
1249
12502015-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1251
1252	* install-mk (MK_VERSION): 20150430
1253
1254	* dirdeps.mk: fix _count_dirdeps for non-cache case.
1255
12562015-04-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1257
1258	* install-mk (MK_VERSION): 20150411
1259	  bump version
1260
1261	* own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
1262	  it is here mainly for documentation purposes, since
1263	  if using auto.obj.mk it is better done via sys.mk
1264
12652015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1266
1267	* install-mk (MK_VERSION): 20150401
1268
1269	* meta2deps.sh: support @list
1270
1271	* meta2deps.py: updates from Juniper
1272	  o add EXCLUDES
1273	  o skip bogus input files.
1274	  o treat 'M' and 'L' as both an 'R' and a 'W'
1275
12762015-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1277
1278	* install-mk (MK_VERSION): 20150303
1279
1280	* dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
1281	  which is built via sub-make so we have a .meta file to tell if
1282	  it is out-of-date.
1283	  The dirdeps-cache contains the same dependency rules that we
1284	  normaly construct on the fly.
1285	  This adds a few seconds overhead when the cache is out of date,
1286	  but for a large target, the savings can be significant (10-20min).
1287
12882014-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1289
1290	* install-mk (MK_VERSION): 20141118
1291
1292	* meta.stage.mk: add stale_staged
1293
1294	* dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
1295	  only useful under very rare conditions such as
1296	  FreeBSD's make universe.
1297
1298	* auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
1299
13002014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1301
1302	* install-mk (MK_VERSION): 20141111
1303
1304	* mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
1305
13062014-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1307
1308	* FILES: include mkopt.sh which allows handling options in shell
1309	  scripts in a manner compatible with options.mk
1310
13112014-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1312
1313	* meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
1314	  for GENDIRDEPS_FILTER to avoid surprises.
1315
13162014-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1317
1318	* dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
1319	  the time it is applied to __depdirs they have.
1320
1321	* dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
1322	  expects patterns like *.${MACHINE}
1323
1324	* cython.mk (pyprefix?): use pyprefix to find python bits
1325	  since prefix might be something else (where we install our
1326	  stuff)
1327
13282014-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1329
1330	* install-mk (MK_VERSION): 20140911
1331
1332	* dirdeps.mk: add bootstrap target to simplify adding support for
1333	  new MACHINE.
1334
13352014-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1336
1337	* gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
1338	  GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
1339	  Makefile.depend files.
1340
13412014-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1342
1343	* install-mk (MK_VERSION): 20140828
1344
1345	* cython.mk: capture logic for building python extension modules
1346	  with Cython.
1347
13482014-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1349
1350	* meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
1351
13522014-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1353
1354	* install-mk (MK_VERSION): 20140801
1355
1356	* dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
1357	identify the autodep.mk variant.
1358
1359	* sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
1360	initial value does not match .MAKE.DEPENDFILE_PREFIX
1361
1362	* meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
1363
13642014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1365
1366	* install-mk (MK_VERSION): 20140522
1367
1368	* lib.mk: use CC to link shlib for linux too
1369	  patch from Brendan MacDonell
1370
13712014-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1372
1373	* meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
1374	  if WITH_META_STATS is defined.
1375
13762014-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1377
1378	* dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
1379	  to supress dirdeps outside of .CURDIR.
1380
13812014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1382
1383	* Fix spelling errors - patch from Pedro Giffuni
1384
13852014-03-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1386
1387	* install-mk (MK_VERSION): 20140314
1388
1389	* dirdeps.mk (beforedirdeps): a handy hook
1390
1391	* dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
1392	  to visit leaf dirs to be intercepted (eg. for distributed
1393	  build).
1394
1395	* dirdeps.mk (__depdirs): ensure // don't sneak in
1396
1397	* gendirdeps.mk (DIRDEPS): ensure // don't sneak in
1398
1399
14002014-02-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1401
1402	* rst2htm.mk (RST2PDF): add support for rst2pdf
1403
14042014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1405
1406	* install-mk (MK_VERSION): bump version
1407	* dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
1408	  available.
1409
14102014-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1411
1412	* options.mk: avoid :U so this isn't bmake dependent
1413
14142014-02-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1415
1416	* options.mk: cleanup and simplify semanitcs
1417	  NO_* dominates all, if both WITH_* and WITHOUT_*
1418	  are defined then result is DOMINATE_* which defaults to "no".
1419	  Ie. WITHOUT_ normally wins.
1420
14212013-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1422
1423	* install-mk (MK_VERSION): bump version
1424	* meta2deps.py: convert to print function for python3 compat.
1425	  we also need to open files with mode 'r' rather than 'rb'
1426	  otherwise we get bytes instead of strings.
1427
14282013-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1429
1430	* install-mk (MK_VERSION): bump version
1431
1432	* dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
1433	  apply the same filtering (M_dep_qual_fixes) when setting _machines
1434	  as _build_dirs.
1435	  Also fix the filtering of Makefile.depend files - for reporting
1436	  what we are looking for (M_dep_qual_fixes can get confused by
1437	  Makefile.depend)
1438	  Add some more debug info.
1439
14402013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1441
1442	* gendirdeps.mk (_objtops): fix typo also
1443	  while processing M2D_OBJROOTS to gather qualdir_list
1444	  qualify $ql with loop iterator to ensure correct results.
1445
14462013-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1447
1448	* install-mk (MK_VERSION): 20130801
1449	* libs.mk: update to match progs.mk
1450
14512013-07-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1452
1453	* install-mk (MK_VERSION): 20130726
1454	  some updates from Juniper and FreeBSD
1455	  o meta2deps.py: indicate file and line number when we hit parse
1456	    errors
1457	    also allow @file to provide huge list of .meta files.
1458	* meta2deps.py: add try_parse() to cleanup the above.
1459
14602013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1461
1462	* install-mk (MK_VERSION): 20130716
1463	* own.mk: add GPROG as an option
1464	* prog.mk: honor MK_GPROF==yes
1465
14662013-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1467
1468	* install-mk (MK_VERSION): 20130505
1469	* gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
1470	  for when $MACHINE isn't enough for objdir distinction.
1471	  Bring meta2deps.sh closer to par with meta2deps.py.
1472
14732013-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1474
1475	* meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
1476	  also if the target 'beforeinstall' exists, make it depend on
1477	  .dirdep (incase it uses STAGE_INSTALL).
1478
14792013-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1480
1481	* install-mk (MK_VERSION): 20130401 ;-)
1482	* meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
1483	  wrapper around install(1).
1484	* options.mk (OPTION_PREFIX): Allow a prefix other than MK_
1485
14862013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1487
1488	* meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
1489	* install-mk (MK_VERSION): bump version
1490
14912013-03-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1492
1493	* install-mk (MK_VERSION): bump version
1494	* gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
1495	  any trailing /., rather apply :tA only when needed.
1496	* gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
1497	* meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
1498	  consistently.
1499	* dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
1500
15012013-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1502
1503	* gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
1504	  it is simpler to just not update when say building for "host"
1505	  (where we know we apply filters to DIRDEPS), and using a
1506	  non-machine qualified dependfile.
1507
15082013-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1509
1510	* dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
1511	  and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
1512	* gendirdeps.mk: ensure _objroot has trailing / if it needs it.
1513	* meta2deps.py: if machine is "host", then also trim
1514	  self.host_target from any OBJROOTS.
1515
1516
15172013-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1518
1519	* gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
1520	  qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
1521	  but _DEPENDFILE does not, compare the new _DEPENDFILE against
1522	  .MAKE.DEPENDFILE_DEFAULT and discard if the same.
1523
15242013-03-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1525
1526	* meta.stage.mk: use STAGE_TARGETS to control .ORDER
1527	  and hook to all: via staging:
1528
15292013-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1530
1531	* sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
1532	  use a separate variable for the default .MAKE.DEPENDFILE value
1533	  so that it can be controlled independently of
1534	  .MAKE.DEPENDFILE_PREFERENCE
1535
1536	* meta.stage.mk: throw error if cp fails etc.
1537	  Stage*() return early if passed no args.
1538	  .ORDER stage_*
1539
15402013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1541
1542	* install-mk (MK_VERSION): bump version
1543	* gendirdeps.mk: handle multiple M2D_OBJROOTS better.
1544
15452013-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1546
1547	* install-mk (MK_VERSION): bump version to 20130210
1548	* import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
1549	  from Juniper.
1550	  o dirdeps.mk now fully supports TARGET_SPEC consisting of more
1551	    than just MACHINE.
1552	  o no longer use DEP_MACHINE from Makefile.depend* so remove it.
1553
15542013-01-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1555
1556	* install-mk (MK_VERSION): bump version to 20130123
1557	* meta.stage.mk: add stage_links (hard links).
1558	  if doing hard links, we add dest to link as well.
1559	  Default the stage dir for [sym]links to STAGE_OBJTOP since
1560	  these are typically specified as absolute paths.
1561	  Add -m "mode" flag to StageFiles and StageAs.
1562
15632012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1564
1565	* install-mk (MK_VERSION): bump version to 20121111
1566	* autoconf.mk: avoid meta mode seeing changed commands for config.status
1567	* meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
1568	  in case we were found via .../mk
1569	* sys.clean-env.mk: move it from examples, we and others use it
1570	  "as is".
1571	* FILES: add srctop.mk and options.mk
1572	* own.mk: convert to using options.mk
1573	  which is modeled after FreeBSD's handling of MK_*
1574	  but more flexible.
1575	  This allows MK_* for boolean knobs to not be confused
1576	  with MK* which can be commands.
1577
1578	* examples/sys.clean-env.mk: add WITH[OUT]_ to
1579	  MAKE_ENV_SAVE_PREFIX_LIST.
1580	  Mention that HOME=/var/empty might be a good idea.
1581
15822012-11-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1583
1584	* sys.dependfile.mk: if not depend file exists, $MACHINE
1585	  specific ones are supported but not the default,
1586	  check if any exist and follow suit.
1587
15882012-11-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1589
1590	* install-mk (MK_VERSION): bump version to 20121106
1591
15922012-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1593
1594	* import latest dirdeps.mk and meta2deps.py from Juniper.
1595	* progs.mk: add MAN and CXXFLAGS to PROG_VARS
1596	  also add PROGS_TARGETS and pass on PROG_CXX if it seems
1597	  appropriate.
1598
15992012-11-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1600
1601	* meta.stage.mk: update CLEANFILES
1602	  remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
1603	* progs.mk: Add LDADD to PROG_VARS
1604
16052012-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1606
1607	* meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
1608	  _STAGED_DIRS so that these can be turned into filters for
1609	  GENDIRDEPS_FILTER.
1610
16112012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1612
1613	* install-mk (MK_VERSION): bump version to 20121010
1614	* meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
1615	target.dirdep matches .dirdep
1616
16172012-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1618
1619	* install-mk (MK_VERSION): bump version to 20120808
1620	* import latest meta2deps.py from Juniper.
1621
16222012-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1623
1624	* install-mk (MK_VERSION): bump version to 20120711
1625	* dep.mk: add explicit dependencies on SRCS after applying
1626	  SRCS_DEP_FILTER
1627	* meta.autodep.mk: add explicit dependencies on SRCS after
1628	  applying SRCS_DEP_FILTER
1629	* meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
1630
16312012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1632
1633	* install-mk (MK_VERSION): bump version to 20120626
1634	* meta.sys.mk: ignore PYTHON if it does not exist
1635	  compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
1636	* meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
1637	  entries ending in .${MACHINE} to decide if qualified _dirdep is
1638	  needed.
1639	* gendirdeps.mk: only produce unqualified deps if no
1640	  .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
1641	* meta.subdir.mk: apply SUBDIRDEPS_FILTER
1642
16432012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1644
1645	* install-mk (MK_VERSION): bump version to 20120420
1646	* add sys.dependfile.mk so we can experiment with
1647	  .MAKE.DEPENDFILE_PREFERENCE
1648	* meta.autodep.mk: _DEPENDFILE is precious!
1649
16502012-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1651
1652	* install-mk (MK_VERSION): bump version to 20120315
1653	* install-new.mk: avoid being interrupted
1654
16552012-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1656
1657	* man.mk: MAN might have multiple values so be careful with exists().
1658
16592012-01-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1660
1661	* install-mk (MK_VERSION): bump version to 20120112
1662	* fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
1663	  as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
1664
16652011-12-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1666
1667	* install-mk (MK_VERSION):  bump version to 20111201
1668	* import dirdeps.mk from Juniper sjg@
1669	  o more consistent handling of DEP_MACHINE, especially when
1670	    dealing with an odd Makefile.depend, when normally using
1671	    Makefile.depend.${MACHINE}
1672
16732011-11-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1674
1675	* install-mk (MK_VERSION): bump version to 20111122
1676	* meta.autodep.mk: add some debug output, be more crisp about
1677	  updating.  Use ${.ALLTARGETS:M*.o} as a clue for .depend
1678
16792011-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1680
1681	* install-mk (MK_VERSION): bump version to 20111111
1682	  it's too cool to miss
1683	* import meta* updates from Juniper sjg@
1684	  o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
1685	    normally using Makefile.depend.${MACHINE}), handy for
1686	    read-only manually maintained dependencies.
1687	  o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
1688	  o gendirdeps.mk if ERROR: from meta2deps.py do not update
1689	    anything.
1690
16912011-10-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1692
1693	* install-new.mk separate the cmp and copy logic to its own function.
1694
16952011-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1696
1697	* install-mk (MK_VERSION): bump version to 20111028
1698	* sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
1699	* subdir.mk: ensure _SUBDIRUSE is provided
1700	* meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
1701	* meta.subdir.mk: always allow for Makefile.depend
1702
17032011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1704
1705	* install-mk (MK_VERSION): bump version to 20111010
1706	  o minor tweak to *dirdeps.mk from Juniper sjg@
1707
17082011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1709
1710	* install-mk (MK_VERSION): bump version to 20111001
1711	  o add meta2deps.py from Juniper sjg@
1712	  o tweak gendirdeps.mk to work with meta2deps.py when not
1713	    cross-building
1714	* autoconf.mk: add autoconf-input as a hook for regenerating
1715	  AUTOCONF_INPUTS (configure).
1716
17172011-08-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1718
1719	* meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
1720	  trigger for updating Makefile.depend*
1721
17222011-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1723
1724	* install-mk (MK_VERSION): bump version to 20110808
1725	* obj.mk: minor cleanup
1726	* auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
1727
17282011-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1729
1730	* auto.obj.mk (.OBJDIR): throw an error if we cannot use the
1731	  specified dir.
1732
17332011-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1734
1735	* meta.autodep.mk: if XMAKE_META_FILE is set
1736	  the makefile uses a foreign make, and so dependencies
1737	  can only be gathered from a clean tree build.
1738
17392011-06-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1740
1741	* install-mk (MK_VERSION): bump version to 20110622
1742	* meta.autodep.mk: improve bootstraping
1743
17442011-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1745
1746	* yacc.mk: handle the corner case of .c being removed
1747	  while .h remains.
1748
17492011-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1750
1751	* yacc.mk: do .y.h and .y.c separately
1752
17532011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1754
1755	* install-mk (MK_VERSION): bump version to 20110606
1756	* don't store SRC_DIRDEPS in Makefile.depend* by default
1757	  not everyone needs it.
1758
17592011-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1760
1761	* install-mk (MK_VERSION): bump version to 20110505
1762	  first release including meta mode makefiles
1763
17642011-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1765
1766	* meta.stage.mk: add STAGE_AS_SETS and stage_as
1767	  for things that need to be staged with different names.
1768
17692011-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1770
1771	* meta.stage.mk: add notion of STAGE_SETS
1772	  so a makefile can stage to multiple dirs
1773
17742011-04-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1775
1776	* rst2htm.mk: convert rst to s5 (slides) or plain html depending
1777	  on target name.
1778
17792011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1780
1781	* install-mk (MK_VERSION): bump version to 20110330
1782
17832011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
1784
1785	* sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
1786	  can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
1787	* sys.mk: re-define M_whence in terms of M_type.
1788	  M_type is useful for checking if something is a builtin.
1789
17902011-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1791
1792	* meta.stage.mk: add stage_symlinks and leverage StageLinks for
1793	  stage_libs
1794
17952011-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1796
1797	* dirdeps.mk: correct value for _depdir_files depends on
1798	  .MAKE.DEPENDFILE
1799	  Add our copyright - just to make it clear we have frobbed this
1800	  quite a bit.
1801	  DEP_MACHINE needs to be set to MACHINE each time, if using only
1802	  Makefile.depend (cf. Makefile.depend.${MACHINE})
1803
1804	* meta.stage.mk: meta mode version of staging
1805
1806	* init.mk, final.mk: include local.*.mk to simplify customization
1807
18082011-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1809
1810	* auto.obj.mk: just because we are doing mk destroy, we should
1811	  still set .OBJDIR correctly if it exists.
1812
1813	* install-mk (mksrc): do not exclude meta.sys.mk
1814
18152011-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1816
1817	* host-target.mk: set/export _HOST_ARCH etc separately,
1818	  catch junk resulting from uname -p, so we can find sys/Linux.mk
1819	  correctly.
1820
18212011-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1822
1823	* meta.sys.mk: throw an error if /dev/filemon is missing and we
1824	  expected to be updating Makefile.depend*
1825
18262011-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1827
1828	* install-mk (MK_VERSION): bump version to 20110214
1829	* meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
1830
18312010-09-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1832
1833	* meta.sys.mk: not valid for older bmake
1834
18352010-09-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1836
1837	* install-mk (MK_VERSION): bump version to 20100919
1838	include dirdeps.mk et al from Juniper Networks,
1839	for meta mode - requires filemon(9).
1840	* sys.mk, subdir.mk: Add hooks for meta mode.
1841	we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
1842	to make turning it on/off simple.
1843
18442010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1845
1846	* install-mk (MK_VERSION): bump version to 20100616
1847	* fix typo in sys.mk
1848
18492010-06-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1850
1851	* install-mk (MK_VERSION): bump version to 20100612
1852	* lib.mk: remove duplicate addition to SOBJS
1853
18542010-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1855
1856	* sys.mk: Add a means of selectively turning on debug flags.
1857	  Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
1858	  will act as if we did make -dv if .CURDIR ends in lib/sjg
1859	  DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
1860	  the start of sys.mk rather than the end.
1861	  This only makes sense for leaf dirs, so we check that
1862	  .MAKE.LEVEL > 0
1863
18642010-06-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1865
1866	* install-mk (MK_VERSION): bump version to 20100608
1867	* sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
1868	* examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
1869	  also make it easier for folk to tweak
1870
18712010-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1872
1873	* install-mk (MK_VERSION): bump version to 20100606
1874	  do not install examples/*
1875	* FILES: add examples/sys.clean-env.mk
1876	* examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
1877	  this requires bmake-20100606 or later to work.
1878
18792010-05-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1880
1881	* sys.mk (M_tA): better simulate the result of :tA if not available.
1882
18832010-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1884
1885	* sys.mk: canonicalize MAKE_VERSION
1886	  old versions reported bmake-<src-date> build-<build-date>
1887	  whereas we only care about <src-date>
1888
18892010-04-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1890
1891	* install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
1892	* lib.mk: we only build the shared lib if SHLIB_FULLVERSION
1893	  is !empty
1894
18952010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1896
1897	* dpadd.mk: use LDADD_* if defined.
1898
18992010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1900
1901	* install-mk (MK_VERSION): bump version to 20100420
1902	* sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
1903	* autoconf.mk allow AUTO_AUTOCONF
1904
19052010-04-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1906
1907	* obj.mk: add objwarn to keep freebsd makefiles happy
1908	* auto.obj.mk: ensure Mkdirs is available.
1909	* FILES: add auto.dep.mk - a simpler version of autodep.mk
1910	* dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
1911	  asked to do that.
1912	  fix/simplify the tests for when to run mkdep.
1913	* auto.dep.mk: add some explanation of how/what we do.
1914	* autodep.mk: skip the .OPTIONAL frobbing of .depend
1915	  bmake's FROM_DEPEND flag makes it redundant.
1916
19172010-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1918
1919	* install-mk (MK_VERSION): bump version to 20100404
1920	* subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
1921	* obj.mk: protect from multiple inclusion even as bsd.obj.mk
1922	Also create a target _SUBDIRUSE so that we can  be used without
1923	subdir.mk
1924
19252010-04-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1926
1927	* dep.mk: use <> when .including so can override.
1928
19292010-01-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1930
1931	* lib.mk (SHLIB_LINKS): ensure a string comparison.
1932
19332010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1934
1935	* install-mk (MK_VERSION): bump version to 20100102
1936	* own.mk: ensure PRINTOBJDIR works
1937	* autoconf.mk: pass on CONFIGURE_ARGS
1938	* init.mk: handle COPTS.${.IMPSRC:T} etc.
1939	* lib.mk: allow sys.mk to control SHLIB_FULLVERSION
1940	  fix handling of symlinks for darwin
1941	* libnames.mk: add DSHLIBEXT for libs which only exist as shared.
1942	* man.mk: suppress chown when not root.
1943	* rst2htm.mk: allow srcs from multiple locations.
1944	* sys.mk: M_whence, stop after 1st line of output.
1945	* sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
1946	* sys/SunOS.mk: we need to export PATH
1947
19482009-12-23  Simon J. Gerraty  <sjg@void.crufty.net>
1949
1950	* install-mk (MK_VERSION): bump version
1951	  include rst2htm.mk
1952
19532009-12-17  Simon J. Gerraty  <sjg@void.crufty.net>
1954
1955	* sys.mk,libnames.mk add .-include <local.*>
1956	  this allows local customization without the need to edit the
1957	  distributed files.
1958
19592009-12-14  Simon J. Gerraty  <sjg@void.crufty.net>
1960
1961	* dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
1962	  older versions already installed.
1963
19642009-12-13  Simon J. Gerraty  <sjg@void.crufty.net>
1965
1966	* stage.mk (.stage-install): generalize lib.mk's .libinstall
1967	* rules.mk rules for generic Makefile.
1968	* inc.mk install for includes.
1969
19702009-12-11  Simon J. Gerraty  <sjg@void.crufty.net>
1971
1972	* sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
1973	  this, so provide it if using native make.
1974
19752009-12-10  Simon J. Gerraty  <sjg@void.crufty.net>
1976
1977	* FILES: move all the platform *.sys.mk files to sys/*.mk
1978	* Rename Generic.sys.mk to sys.mk - we always want it.
1979
19802009-11-17  Simon J. Gerraty  <sjg@void.crufty.net>
1981
1982	* install-mk (MK_VERSION): bump version
1983	* host-target.mk: only export the expensive stuff
1984	* Generic.sys.mk (sys_mk): for SunOS we need to look for
1985	  ${HOST_OS}.${HOST_OSMAJOR} too!
1986
19872009-11-07  Simon J. Gerraty  <sjg@void.crufty.net>
1988
1989	* install-mk (MK_VERSION): bump version
1990	* lib.mk: if sys.mk doesn't give us an lorder, don't use it.
1991	  based on patch from Greg Olszewski.
1992	* Generic.sys.mk: if we have nothing to work with
1993	set LORDER etc only if we can find it.
1994
19952009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
1996
1997	* install-mk (MK_VERSION): bump version
1998	* man.mk: cleanman: remove CLEANMAN if defined.
1999
20002009-09-04  Simon J. Gerraty  <sjg@void.crufty.net>
2001
2002	* SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
2003
20042009-07-17  Simon J. Gerraty  <sjg@void.crufty.net>
2005
2006	* install-mk (MK_VERSION): bump version
2007	include auto.obj.mk
2008
2009
20102009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
2011
2012	* prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
2013
20142008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
2015
2016	* install-mk (MK_VERSION): bump version
2017	man.mk: ensure we generate *.cat1 etc in .
2018
20192008-07-16  Simon J. Gerraty  <sjg@void.crufty.net>
2020
2021	* install-mk (MK_VERSION): bump version
2022	add prlist.mk
2023
20242007-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
2025
2026	* Generic.sys.mk: Allow os specific sys.mk to be in a
2027	subdir of ${.PARSEDIR}
2028
20292007-11-22  Simon J. Gerraty  <sjg@void.crufty.net>
2030
2031	* install-mk (MK_VERSION): bump version
2032	* general cleanup
2033	* dpadd.mk introduce DPMAGIC_LIBS_*
2034
20352007-04-30  Simon J. Gerraty  <sjg@void.crufty.net>
2036
2037	* install-mk (MK_VERSION): bump version
2038
2039	* libs.mk, progs.mk, autodep.mk: allow for per lib/prog
2040	depend files and ensure clean is called for each lib/prog.
2041
20422007-03-27  Simon J. Gerraty  <sjg@void.crufty.net>
2043
2044	* autodep.mk (.depend): delete lines that do not start with
2045	space and do not contain ':'
2046
20472007-02-16  Simon J. Gerraty  <sjg@void.crufty.net>
2048
2049	* autodep.mk (.depend): gcc may wrap lines if pathnames are long
2050	so make sure the transform for .OPTIONAL copes.
2051
20522007-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2053
2054	* install-mk (MK_VERSION): bump version
2055
2056	* own.mk: make sure RM and LN are defined.
2057
2058	* obj.mk: fix a typo, and objlink target.
2059
20602006-12-30  Simon J. Gerraty  <sjg@void.crufty.net>
2061
2062	* install-mk (MK_VERSION): bump version
2063	* added libs.mk - analogous to progs.mk
2064	  make both of them always inlcude {lib,prog}.mk
2065
20662006-12-28  Simon J. Gerraty  <sjg@void.crufty.net>
2067
2068	* progs.mk: add a means of building multiple apps in one dir.
2069
20702006-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
2071
2072	* install-mk (MK_VERSION): bump version to 20061126
2073
2074	* warnings.mk: detect invalid WARNINGS_SET
2075
2076	* warnings.mk: use ${.TARGET:T:R}.o when looking for target
2077	specific warnings.
2078
2079	* For .cc sources, turn off warnings that g++ vomits on.
2080
20812006-11-08  Simon J. Gerraty  <sjg@void.crufty.net>
2082
2083	* own.mk: if __initialized__ target doesn't exist and we are
2084	FreeBSD we got here directly from sys.mk
2085
20862006-11-06  Simon J. Gerraty  <sjg@void.crufty.net>
2087
2088	* install-mk (MK_VERSION): bump version to 20061106
2089	add scripts.mk
2090
20912006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
2092
2093	* install-mk (MK_VERSION): bump version to 20060318
2094
2095	* autodep.mk: avoid := when modifying OBJS into __dependsrcs
2096
20972006-03-02  Simon J. Gerraty  <sjg@void.crufty.net>
2098
2099	* install-mk (MK_VERSION): bump version to 20060302
2100	* autodep.mk: use -MF et al to help gcc+ccache DTRT.
2101
21022006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
2103
2104	* install-mk (MK_VERSION): bump version to 20060301
2105	* autodep.mk (.depend):
2106	if MAKE_VERSION is newer than  20050530 we can make .END depend on
2107	.depend and make .depend depend on __depsrcs that exist.
2108	* dpadd.mk: add SRC_PATHADD
2109
21102005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
2111
2112	* install-mk (MK_VERSION): bump version to 20051104
2113	* prog.mk: remove all the LIBC?= junk, use
2114	.-include libnames.mk instead (none by default).
2115	also if USE_DPADD_MK is set, include that.
2116
21172005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2118
2119	* install-mk (MK_VERSION): bump version to 20051001
2120	Add UnixWare.sys.mk from Klaus Heinz.
2121
21222005-04-05  Simon J. Gerraty  <sjg@void.crufty.net>
2123
2124	* install-mk: always install *.sys.mk and if need be symlink one
2125	to sys.mk
2126
21272005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2128
2129	* subdir.mk, own.mk: use .MAKE rather than MAKE
2130
21312004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
2132
2133	* own.mk: don't use NetBSD's _SRC_TOP_ it can
2134	cause confusion.  Also don't take just 'mk' as a
2135	srctop indicator.
2136
21372004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
2138
2139	* warnings.mk: overhauled, now very powerful.
2140
21412004-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2142
2143	* Generic.sys.mk: need to use ${.PARSEDIR} with exists().
2144
21452004-02-01  Simon J. Gerraty  <sjg@void.crufty.net>
2146
2147	* install-mk (MK_VERSION): bump version to 20040201
2148	* extract HOST_TARGET stuff to host-target.mk so own.mk and
2149	Generic.sys.mk can share.
2150	* fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
2151
21522003-09-30  Simon J. Gerraty  <sjg@void.crufty.net>
2153
2154	* install-mk (MK_VERSION): 20030930
2155	* rename generic.sys.mk to Generic.sys.mk
2156	so that it does not get installed (unless being used as sys.mk)
2157	* set OS and ROOT_GROUP for those that we know the value.
2158	for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
2159	we don't do it again for each sub-make.
2160
21612003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
2162
2163	* install-mk (MK_VERSION): 20030928
2164	Add some extra *.sys.mk from bootstrap-pkgsrc
2165	some of these likely still need work.
2166	Make everything default to root:wheel ownership,
2167	sys.mk can set ROOT_GROUP accordingly.
2168
21692003-08-07  Simon J. Gerraty  <sjg@void.crufty.net>
2170
2171	* install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
2172	not the portable ones.
2173
21742003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
2175
2176	* install-mk: add ability to use cp -f when updating
2177	destination .mk files.  Also now possible to play games with
2178	FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
2179	into dest - not recommended unless you seriously want to.
2180
21812003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
2182
2183	* own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
2184	for semi-compatability with NetBSD.
2185
21862003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
2187
2188	* install-mk: add a version indicator
2189
21902003-07-22  Simon J. Gerraty  <sjg@void.crufty.net>
2191
2192	* prog.mk: don't try and use ${LIBCRT0} if its /dev/null
2193
2194	* install-mk: Allow FORCE_SYS_MK to come from env
2195
2196
2197
2198