xref: /freebsd/contrib/bmake/mk/ChangeLog (revision e6bfd18d21b225af6a0ed67ceeaf1293b7b9eba5)
12023-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no"
4	suppress processing of .depend
5
62023-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
7
8	* dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP
9
10	* meta.sys.mk sys.dirdeps.mk:
11	originally DIRDEPS_BUILD and META_MODE were the same thing,
12	but META_MODE is useful by itself.
13	Move things from meta.sys.mk which actually pertain to
14	DIRDEPS_BUILD to sys.dirdeps.mk
15
162023-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
17
18	* install-mk (MK_VERSION): 20230504 May the Forth be with you
19
20	* dirdeps.mk: as with meta.sys.mk we treat "host" as special.
21	DEP_TARGET_SPEC is just ${DEP_MACHINE}
22
23	* meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at
24	level > 0 since these are often refered to in Makefile.depend*
25
262023-04-26  Simon J Gerraty  <sjg@beast.crufty.net>
27
28	* jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and
29	anything in ${JOB_LOG_START}
30
31	* jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}}
32	or a scripts subdir before searching $PATH.
33
34	* FILES: include newlog.sh for jobs.mk
35
362023-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
37
38	* install-mk (MK_VERSION): 20230420
39
40	* lib.mk: include LDFLAGS and LDADD when linking shared libs
41
42	* gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc
43	via local.meta.sys.mk rather than local.gendirdeps.mk
44	so DEP_* variables can be set at level 1+ to avoid syntax errors
45	when used in conditionals in manually maintained Makefile.depend
46	files.
47
48	* dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines
49
502023-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
51
52	* dirdeps.mk: check we were not included by
53	Makefile.depend.options as the result is bad.
54
552023-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
56
57	* install-mk (MK_VERSION): 20230414
58
59	* meta.sys.mk: since we have :range we can put the logic for
60	processing TARGET_SPEC from env here.
61
62	* dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including
63	local.dirdeps-missing.mk, also improve debug output.
64
65	* dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC
66	we need to use :M*[/.]* same as for when actually setting DIRDEPS
67	from the targets on command line.
68
692023-04-12  Simon J Gerraty  <sjg@beast.crufty.net>
70
71	* Add jobs.mk
72
732023-03-21  Simon J Gerraty  <sjg@beast.crufty.net>
74
75	* install-mk (MK_VERSION): 20230321
76
77	* meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter
78	STAGE_LIBS for SHLIB_LINKS.
79
80	* autoconf.mk: add .WAIT after config.status
81
822023-02-17  Simon J Gerraty  <sjg@beast.crufty.net>
83
84	* sys.vars.mk: add M_Index to report the index of a word in a list.
85
862023-02-15  Simon J Gerraty  <sjg@beast.crufty.net>
87
88	* install-mk (MK_VERSION): 20230215
89
90	* warnings.mk: allow better control of -Werror
91	allow -Wno-error or similar to be added if
92	WARNINGS_SET < WERROR_SET
93	account for COMPILER_TYPE
94
952023-01-29  Simon J Gerraty  <sjg@beast.crufty.net>
96
97	* autoconf.mk: hook config.status to beforebuild.
98
99	* whats.mk: what*.c is NOTMAIN
100
1012023-01-27  Simon J Gerraty  <sjg@beast.crufty.net>
102
103	* install-mk (MK_VERSION): 20230127
104	control umask so directories are created with suitable mode.
105
1062023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
107
108	* install-mk (MK_VERSION): 20230120
109
110	* sys.vars.mk: add M_On and M_Onr also cleanup to be more
111	consistent wrt testing MAKE_VERSION
112
1132023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
114
115	* install-mk (MK_VERSION): 20230112
116
117	* meta2deps.{py,sh}: assert if filemon data is truncated
118	we should see the '# Bye bye' record - assert if we do not.
119
1202022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
121
122	* install-mk (MK_VERSION): 20220909
123
124	* sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings
125
1262022-09-06  Simon J Gerraty  <sjg@beast.crufty.net>
127
128	* dirdeps-options.mk: explain the need to use
129	${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to
130	${TARGET_SPEC_VAR}
131
1322022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
133
134	* install-mk (MK_VERSION): 20220903
135
136	* M_cmpv handle more than 3 dots and clear leading 0's
137
1382022-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
139
140	* install-mk (MK_VERSION): 20220720
141
142	* prog.mk: handle PROG_CXX for more than just NetBSD
143
1442022-06-20  Simon J Gerraty  <sjg@beast.crufty.net>
145
146	* install-mk (MK_VERSION): 20220620
147
148	* yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER
149	rather than just suffix rules
150
1512022-04-23  Simon J Gerraty  <sjg@beast.crufty.net>
152
153	* install-mk (MK_VERSION): 20220422
154
155	* gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no"
156	do not capture any local depends in Makefile.depend
157
1582022-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
159
160	* install-mk (MK_VERSION): 20220323
161	* posix.mk: default rules for .POSIX:
162
1632022-03-17  Simon J Gerraty  <sjg@beast.crufty.net>
164
165	* sys/*.mk: remove l from ARFLAGS
166
1672022-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
168
169	* install-mk (MK_VERSION): 20220314
170
171	* dirdeps-options.mk: allow options to be per RELDIR
172	try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed
173	with ${DEP_RELDIR}.
174
1752022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
176
177	* install-mk (MK_VERSION): 20220214
178
179	* cc-wrap.mk: fix :@ modifier
180
1812022-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
182
183	* install-mk (MK_VERSION): 20220206
184
185	* cc-wrap.mk: docuement how CCACHE etc might be set for
186	maximum flexibility
187
1882022-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
189
190	* sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT
191
1922022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
193
194	* install-mk (MK_VERSION): 20220204
195
196	* host-target.mk: use .MAKE.OS if available
197
1982022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
199
200	* install-mk (MK_VERSION): 20220202
201
202	* cc-wrap.mk: allow other entries in CC_WRAP_FILTER
203	We add our filter on extensions last, so prior filters
204	can apply to the whole value of .IMPSRC
205
2062022-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
207
208	* cc-wrap.mk: take advantage of target local variables to
209	wrap compilers like CC CXX with wrappers like ccache distcc etc
210
2112022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
212
213	* meta2deps: we do not expect any trace data for setid apps
214
2152022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
216
217	* dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed
218	to sub-make using DIRDEPS_CACHE
219
2202022-01-07  Simon J Gerraty  <sjg@beast.crufty.net>
221
222	* dirdeps.mk: use _cache_script to minimize the number of shells
223	forked when generating dirdeps.cache
224
2252022-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
226
227	* install-mk (MK_VERSION): 20220101
228
229	* dirdeps.mk: initialize DEP_* and _debug_reldir earlier.
230	If initial DIRDEPS are from command line, create the target
231	_dirdeps_cmdline as an indication.
232
2332022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
234
235	* init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD
236	at top-level only some targets are allowed at level 0,
237	for leaf makefiles only the default (all) target is restricted
238
2392021-12-28  Simon J Gerraty  <sjg@beast.crufty.net>
240
241	* install-mk (MK_VERSION): 20211228
242
243	* meta2deps.py: filemon on Linux is not as reliable as we might
244	like, we do not want to update DIRDEPS if filemon output is
245	incomplete.   Track pids that we 'E'xec and make sure we see an
246	e'X'it for each one.  Throw an error if we are missing any 'X'
247	records.
248
2492021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
250
251	* sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes.
252
253	* meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON
254	is something else.
255
256	* meta.autodep.mk: we can now reference ${.SUFFIXES}
257
258	* meta2deps.py: derive a list of dirdep extensions from
259	TARGET_SPEC to trim from dirdeps.
260
261	* dirdeps.mk: flip the computation of qualified vs unqualified
262	dirdeps - it is much simpler to check for unqualified first.
263
2642021-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
265
266	* install-mk (MK_VERSION): 20211212
267
268	* auto.dep.mk: rearrange so that the trivial implementation
269	for recent bmake is more obvious.
270
2712021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
272
273	* install-mk (MK_VERSION): 20211207
274
275	* Ensure guard targets are .NOTMAIN
276
277	* meta.sys.mk: check for nofilemon support when we skip level 0
278
279	* auto.dep.mk: make this usable in meta mode
280	for platforms that cannot use meta.autodep.mk
281
282	* meta2deps.py: avoid confusion if MACHINE and another
283	TARGET_SPEC_VAR have same value.
284
2852021-11-27  Simon J Gerraty  <sjg@beast.crufty.net>
286
287	* dirdeps.mk: when building dirdeps.cache, minimize the amount of
288	data put into env, by stripping ${SRCTOP}/ from each entry.
289	A long sandbox name can double the amount of memory consumed and
290	in extreme cases cause failure.
291	While we are at it, strip ${SRCTOP}/ from a lot of the debug output.
292
2932021-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
294
295	* install-mk (MK_VERSION): 20211111
296
297	* meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail
298	so fallback to cp if necessary.
299
3002021-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
301
302	* man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year
303	old cmt2doc.pl
304
3052021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
306
307	* meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f}
308	as the symlink (rare)
309
3102021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
311
312	* autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not
313	been read, throw an error after running configure telling user to
314	restart.
315
3162021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
317
318	* install-mk (MK_VERSION): 20211011
319
320	* Add support for SCO_SV
321
3222021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
323
324	* install-mk (MK_VERSION): 20211001
325
326	* man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more
327	flexibility
328
3292021-09-13  Simon J Gerraty  <sjg@beast.crufty.net>
330
331	* options.mk (describe-options): print options and their values
332	  and optional description
333
3342021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
335
336	* install-mk (MK_VERSION): 20210911
337
338	* options.mk (show-options): print options and their values
339
3402021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
341
342	* install-mk (MK_VERSION): 20210909
343
344	* lib.mk: apply patch from <daniel@octaforge.org>
345	to fix shared libs on Linux
346
3472021-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
348
349	* install-mk (MK_VERSION): 20210808
350
351	* options.mk: issue warning for WITH_*=no
352
3532021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
354
355	* install-mk (MK_VERSION): 20210616
356
357	* dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find
358	depend files to read, anchor MACHINE at , or end of string
359	to avoid prefix match.
360
3612021-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
362
363	* install-mk (MK_VERSION): 20210504
364
365	* dirdeps.mk: re-implement ALL_MACHINES support to better
366	cater for local complexities, when ONLY_TARGET_SPEC_LIST
367	is not set. local.dirdeps.mk can set
368	DIRDEPS_ALL_MACHINES_FILTER and/or
369	DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get
370	from listing all existing Makefile.depend.*
371
3722021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
373
374	* install-mk (MK_VERSION): 20210420
375
376	* dirdeps.mk: revert previous - not always safe.
377
3782021-03-20  Simon J Gerraty  <sjg@beast.crufty.net>
379
380	* install-mk (MK_VERSION): 20210321
381
382	* dirdeps.mk: when generating dirdeps.cache
383	we only need to hook the initial DIRDEPS to the
384	dirdeps target.  That and any _build_xtra_dirs (like tests which
385	should not be hooked directly to the dependency graph - to avoid
386	cycles)
387
3882021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
389
390	* install-mk (MK_VERSION): 20210130
391
392	* dirdeps.mk: expr 2 - 1 - 1 exits with a bad status
393	  we need to  guard against this in DIRDEP_LOADAVG_REPORT.
394
395	* dirdeps.mk: restore respect for TARGET_MACHINE
396
3972021-01-06  Simon J Gerraty  <sjg@beast.crufty.net>
398
399	* install-mk (MK_VERSION): 20210101
400
401	* dirdeps.mk: first time we are read, just use TARGET_SPEC for
402	_DEP_TARGET_SPEC
403
4042020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
405
406	* sys.mk (MAKE_SHELL): use ${.SHELL:Ush}
407	and use := when setting SHELL
408
4092020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
410
411	* install-mk (MK_VERSION): 20201221
412
413	* dirdeps-options.mk: latest bmake allows only one arg to .undef
414
4152020-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
416
417	* dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS
418	so that any directory can be treated as a target.
419
4202020-11-26  Simon J Gerraty  <sjg@beast.crufty.net>
421
422	* install-mk (MK_VERSION): 20201126
423
424	* own.mk: use .MAKE.{UID,GID} if available.
425
426	* init.mk: suppress _SKIP_BUILD warning if doing -V
427
4282020-11-20  Simon J Gerraty  <sjg@beast.crufty.net>
429
430	* install-mk (MK_VERSION): 20201120
431
432	* init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS
433
434	* dirdeps-targets.mk: fix typo in comment
435
4362020-11-06  Simon J Gerraty  <sjg@beast.crufty.net>
437
438	* install-mk (MK_VERSION): 20201106
439
440	* meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed
441	args to tweak extensions for local deps.
442
4432020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
444
445	* install-mk (MK_VERSION): 20201101
446
447	* dirdeps.mk: most leaf makefiles are not suitable for building
448	dirdeps.cache so if RELDIR is not "." use dirdeps.mk
449
4502020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
451
452	* install-mk (MK_VERSION): 20201028
453
454	* dirdeps.mk: if we don't have :range use equivalent of M_RANGE
455	when building dirdeps.cache for leaf directory use -f dirdeps.mk
456
457	* sys.vars.mk: add M_JOT and M_RANGE
458
4592020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
460
461	* install-mk (MK_VERSION): 20201001
462
463	* meta2deps.{py,sh}: throw an error if we don't see filemon version
464
4652020-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
466
467	* install-mk (MK_VERSION): 20200909
468
469	* dirdeps-cache-update.mk: use cache_update_dirdep as guard target
470
4712020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
472
473	* dirdeps.mk: ensure we cannot confuse a static cache for dynamic
474	(even more rare that use of static cache is playing clever tricks
475	with it)
476
4772020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
478
479	* dirdeps-cache-update.mk: allow
480	MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we
481	actually update STATIC_DIRDEPS_CACHE.
482
483	* stage-install.sh: create dest directory if needed
484	before running install(1)
485
4862020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
487
488	* dirdeps-targets.mk: include Makefile.dirdeps.options
489
490	* dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE
491
4922020-08-09  Simon J Gerraty  <sjg@beast.crufty.net>
493
494	* dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty
495
496	* dirdeps-cache-update.mk: building parallel cache update
497	under the context of dirdeps-cached would be ideal, but
498	is problematic, so it runs as a sibling.
499	Use cache-built target to ensure we wait for it to complete if
500	necessary.
501
5022020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
503
504	* install-mk (MK_VERSION): 20200806
505
506	* dirdeps-options: allow TARGET_SPEC to affect option values.
507	Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_*
508
509	* dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined
510	before looking for STATIC_DIRDEPS_CACHE
511
5122020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
513
514	* host-target.mk: Darwin use MACHINE for HOST_ARCH too
515
516	* dirdeps-options.mk: improve debug output
517
5182020-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
519
520	* dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE
521	for use by dirdeps-cache-update.mk
522
523	* dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE
524	for use by dirdeps-cache-update.mk even if we don't use it.
525
526	* dirdeps-cache-update.mk: we only need worry about the background
527	update case, with the above, the update from DIRDEPS_CACHE is
528	simple.
529
530	* meta2deps.py: R 1234 . is not interesting
531
5322020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
533
534	* sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE
535
536	* dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS
537	allows use of lower case for pseudo options.
538
539	* dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE
540
5412020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
542
543	* dirdeps-targets.mk: Look for Makefile.dirdeps.cache
544	which allows us to have a static cache for expensive targets.
545	Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE
546	to regenerate the dirdeps.cache it is a copy of.
547
5482020-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
549
550	* Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense.
551
5522020-07-16  Simon J Gerraty  <sjg@beast.crufty.net>
553
554	* dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record
555	load averages at intervals during build.
556
5572020-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
558
559	* install-mk (MK_VERSION): 20200715
560
561	* dirdeps.mk: tweak Checking line to make matching Finished
562	lines for post-build analysis easier.
563
564	* meta.autodep.mk: use !defined(WITHOUT_META_STATS)
565
566	* progs.mk: avoid prog.mk outputting multiple Finished lines
567
5682020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
569
570	* dirdeps.mk: further optimize dirdeps.cache
571	generate a DIRDEPS.${.TARGET} list for other purposes
572	and improve the layout.
573
5742020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
575
576	* dirdeps.mk: optimize content of dirdeps.cache
577
5782020-06-28  Simon J Gerraty  <sjg@beast.crufty.net>
579
580	* sys/*.mk: make it easier for local*sys.mk to customize by
581	using ?=
582
5832020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
584
585	* gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
586	it is much safer to guard local depends with a simple check for
587	.MAKE.LEVEL > 0
588
5892020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
590
591	* install-mk (MK_VERSION): 20200610
592
593	* mkopt.sh: this needs posix shell so #!/bin/sh should be ok
594
5952020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
596
597	* install-mk (MK_VERSION): 20200606
598
599	* dirdeps-targets.mk: allow for filtering of .TARGETS
600
601	* meta2deps.py: fix bug in processing 'L'ink and 'M'ove
602	entries - and we don't care about 'W'rite entries.
603	Also ignore absolute paths that do not exist.
604
6052020-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
606
607	* install-mk (MK_VERSION): 20200525
608
609	* init.mk: expand and simplify handling of qualified vars
610	like CPPFLAGS.${.TARGET:T}
611
6122020-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
613
614	* install-mk (MK_VERSION): 20200515
615
616	* dirdeps.mk: set _debug_* earlier and allow passing -d*
617	flags to submake when building DIRDEPS_CACHE
618
6192020-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
620
621	* whats.mk: more easily extensible
622
6232020-05-02  Simon J Gerraty  <sjg@beast.crufty.net>
624
625	* whats.mk: greatly simplify by adding what.c to SRCS
626
6272020-05-01  Simon J Gerraty  <sjg@beast.crufty.net>
628
629	* whats.mk: for libs take care how we add to *OBJS
630
631	* lib.mk: : works better with whats.mk
632
6332020-04-25  Simon J Gerraty  <sjg@beast.crufty.net>
634
635	* install-mk (MK_VERSION): 20200420
636
637	* meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
638	contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
639
6402020-04-16  Simon J Gerraty  <sjg@beast.crufty.net>
641
642	* install-mk (MK_VERSION): 20200416
643
644	* sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
645	  interfere with user env.
646
647	* sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
648
649	* autodep.mk: use MAKE_SHELL.
650
6512019-11-21  Simon J Gerraty  <sjg@beast.crufty.net>
652
653	* gendirdeps.mk: clear .SUFFIXES to avoid a lot of
654	  wasted effort, and unexport _meta_files when no longer needed as
655	  it consumes space we need for command line.
656
6572019-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
658
659	* dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
660	  DIRDEP_USE_PRELUDE at start - facilitates job distribution
661
6622019-10-04  Simon J Gerraty  <sjg@beast.crufty.net>
663
664	* dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
665	defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
666	TARGET_SPEC qualified depend files.
667
6682019-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
669
670	* dirdeps-targets.mk: encapsulate logic for finding top-level
671	  targets to set initial DIRDEPS for DIRDEPS_BUILD
672
6732019-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
674
675	* install-mk (MK_VERSION): 20190911
676
677	* compiler.mk: set COMPILER_TYPE
678
6792019-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
680
681	* install-mk (MK_VERSION): 20190704
682
683	* sys/Darwin.mk: support for Objective-C and clang
684
6852019-05-30  Simon J Gerraty  <sjg@beast.crufty.net>
686
687	* dirdeps.mk: avoid insanely long command line when generating cache
688
6892019-05-23  Simon J Gerraty  <sjg@beast.crufty.net>
690
691	* install-mk (MK_VERSION): 20190505
692
693	* whats.mk: handle corner case SHLIB defined but not LIB
694
6952018-09-19  Simon J Gerraty  <sjg@beast.crufty.net>
696
697	* install-mk (MK_VERSION): 20180919
698
699	* dirdeps-options.mk: .undef cannot handle var that expands to
700	  more than one var.
701
7022018-07-08  Simon J Gerraty  <sjg@beast.crufty.net>
703
704	* meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
705
7062018-06-01  Simon J Gerraty  <sjg@beast.crufty.net>
707
708	* meta.autodep.mk: export META_FILES to avoid command line limit
709	* gendirdeps.mk: if we have lots of .meta files put them in
710	  an @list
711
7122018-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
713
714	* dirdeps-options.mk: use local.dirdeps-options.mk
715	  not local.dirdeps-option.mk
716
7172018-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
718
719	* install-mk (MK_VERSION): 20180420
720	* dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
721	  ie. we are building something.
722
7232018-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
724
725	* FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
726
7272018-04-05  Simon J Gerraty  <sjg@beast.crufty.net>
728
729	* install-mk (MK_VERSION): 20180405
730
731	* ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
732	  if needed.
733
7342018-01-18  Simon J Gerraty  <sjg@beast.crufty.net>
735
736	* install-mk (MK_VERSION): 20180118
737
738	* ldorder.mk: let make compute correct link order
739
7402017-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
741
742	* install-mk (MK_VERSION): 20171212
743
744	* gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
745
7462017-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
747
748	* install-mk (MK_VERSION): 20171111
749
750	* lib.mk: ensure META_NOECHO is set
751
7522017-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
753
754	* Allow for host32 on rare occasions.
755
7562017-10-18  Simon J. Gerraty  <sjg@bad.crufty.net>
757
758	* install-mk (MK_VERSION): 20171018
759
760	* whats.mk: include what_thing in what_uuid to avoid problem
761	  when building multiple apps in the same directory.
762
7632017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
764
765	* install-mk (MK_VERSION): 20170812
766
767	* autoconf.mk: Use CONFIGURE_DEPS so Makefile can
768	  add dependencies for config.recheck and config.gen
769
7702017-06-30  Simon J. Gerraty  <sjg@bad.crufty.net>
771
772	* install-mk (MK_VERSION): 20170630
773
774	* meta.stage.mk: avoid triggering stage_* targets with nothing to do.
775
7762017-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
777
778	* meta2deps.py: take special care of '..'
779
7802017-05-15  Simon J. Gerraty  <sjg@bad.crufty.net>
781
782	* install-mk (MK_VERSION): 20170515
783
784	* dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
785	useful/necessary for a Makefile.depend file to export some knobs.
786	This is complicated when we are doing DIRDEPS_CACHE, so we will
787	handle export of any variables listed in DEP_EXPORT_VARS.
788
7892017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
790
791	* install-mk (MK_VERSION): 20170505
792
793	* meta2deps.py: fix botched indenation.
794
7952017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
796
797	* sys/*.mk: Remove setting of MAKE it is unnecessary and
798	  in many cases wrong (basname rather than full path)
799
800	* scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
801
802	* init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
803
8042017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
805
806	* install-mk (MK_VERSION): 20170501
807
808	* doc.mk: fix typo in DOC_INSTALL_OWN
809
810	* inc.mk: handle INCGROUPS similar to freebsd
811
812	* files.mk: add something for files too
813
814	* add staging logic to lib.mk prog.mk etc.
815
8162017-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
817
818	* install-mk (MK_VERSION): 20170424
819
820	* dirdeps.mk: set NO_DIRDEPS when bootstrapping.
821	  also target of bootstrap-this when sed is needed should be ${_want:T}
822
8232017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
824
825	* install-mk (MK_VERSION): 20170418
826
827	* auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
828	  prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
829
8302017-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
831
832	* install-mk (MK_VERSION): 20170401
833
834	* meta2deps.py: add is_src so we can check if obj dependency
835	  is also a src dependency.
836
8372017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
838
839	* install-mk (MK_VERSION): 20170326
840
841	* meta.stage.mk: do nothing if NO_STAGING is defined.
842
8432017-03-24  Simon J. Gerraty  <sjg@bad.crufty.net>
844
845	* auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
846
8472017-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
848
849	* mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
850
8512017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
852
853	* install-mk (MK_VERSION): 20170301
854
855	* dirdeps.mk (_build_all_dirs): update this outside test for empty
856	  DIRDEPS.
857
858	* meta.stage.mk: allow multiple inclusion to the extent it makes
859	  sense.
860
8612017-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
862
863	* prog.mk (install_links): depends on realinstall
864
8652017-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
866
867	* install-mk (MK_VERSION): 20170212
868
869	* dpadd.mk: avoid applying :T:R twice to DPLIBS entries
870
8712017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
872
873	* install-mk (MK_VERSION): 20170130
874
875	* dirdeps.mk: use :range if we can.
876
877	* sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
878
879	* meta2deps.py: clean paths without using realpath() where possible.
880	  fix sort_unique.
881
8822016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
883
884	* install-mk (MK_VERSION): 20161212
885
886	* meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
887	rather than when we detect pid change.
888
8892016-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
890
891	* install-mk (MK_VERSION): 20161207
892
893	* meta.stage.mk: add stage_as_and_symlink for staging packages.
894	  We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
895	  to use foo.tgz to reference the latest staged version - so we
896	  make foo.tgz a symlink to it.
897	  Using a target to do both operations ensures we stay in sync.
898
8992016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
900
901	* install-mk (MK_VERSION): 20161126
902
903	* dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
904	  so it can add dependencies.
905
9062016-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
907
908	* dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
909	  do that they can influence the result correctly.
910
911	* dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
912
913	* dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
914	  similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
915
9162016-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
917
918	* dirdeps.mk: remove dependence on jot (normal situations anyway).
919	  Before we read another Makefile.depend* set DEP_* vars from
920	  _DEP_TARGET_SPEC in case it uses any of them with :=
921	  When bootstrapping, trim any ,* from extention of chosen _src
922	  Makefile.depend* to get the machine value we subst for.
923
9242016-09-30  Simon J. Gerraty  <sjg@bad.crufty.net>
925
926	* dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
927	  DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
928
929	* sys.mk: extract some bits to sys.{debug,vars}.mk
930	  for easier re-use by others.
931
9322016-09-23  Simon Gerraty  <sjg@sjg-mba13>
933
934	* lib.mk: Use ${PICO} for extension for PIC objects.
935	  default to .pico (like NetBSD) safe on case insensitive filesystem.
936
9372016-08-19  Simon J. Gerraty  <sjg@bad.crufty.net>
938
939	* meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
940
9412016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
942
943	* install-mk (MK_VERSION): 20160815
944
945	* dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
946	consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
947
9482016-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
949
950	* meta.sys.mk (.MAKE.META.IGNORE_PATHS):
951	  in meta mode we can ignore the mtime of makefiles
952
9532016-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
954
955	* install-mk (MK_VERSION): 20160802
956
957	* lib.mk (libinstall): depends on beforinstall
958
959	* prog.mk (proginstall): depends on beforinstall
960	  patch from Lauri Tirkkonen
961
962	* dirdeps.mk (bootstrap): When bootstrapping; creat
963	.MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
964	.MAKE.DEPENDFILE_BOOTSTRAP_SED
965
966	* dirdeps.mk: move some comments to where they make sense.
967
9682016-07-27  Simon J. Gerraty  <sjg@bad.crufty.net>
969
970	* dirdeps.mk (DIRDEPS_CACHE): no dirname.
971
9722016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
973
974	* install-mk (MK_VERSION): 20160602
975	* meta.autodep.mk: when passing META_FILES to gendirdeps.mk
976	  do not apply :T to META_XTRAS
977	  patch from Bryan Drewery at FreeBSD.org.
978
9792016-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
980
981	* install-mk (MK_VERSION): 20160530
982	* meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
983	  make it so.
984
9852016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
986
987	* install-mk (MK_VERSION): 20160512
988
989	* dpadd.mk: always include local.dpadd.mk if it exists
990	  remove some things that better belong in local.dpadd.mk
991	  skip INCLUDES_* for staged libs unless SRC_* defined.
992
993	* own.mk: add INCLUDEDIR
994
9952016-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
996
997	* dirdeps.mk: when doing -f dirdeps.mk if target suppies no
998	  TARGET_MACHINE - :E will be empty or match part of path, use
999	  ${MACHINE}
1000
10012016-04-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1002
1003	* meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
1004	  NO_FILEMON_COOKIE
1005
1006	* dirdeps.mk: move the logic that allows for
1007	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1008	  inside the check for !target(_DIRDEP_USE)
1009
10102016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1011
1012	* Use <> when including local*.mk and others which may exist
1013	  elsewhere so that user can better control what they get.
1014
1015	* meta.autodep.mk (NO_FILEMON_COOKIE):
1016	  create a cookie if we ever build dir with nofilemon
1017	  so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
1018
10192016-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1020
1021	* install-mk (MK_VERSION): 20160401
1022
1023	* meta2deps.py: fix old print statement when debugging.
1024
1025	* gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
1026	  patch from Bryan Drewery
1027
10282016-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1029
1030	* install-mk (MK_VERSION): 20160317 (St. Pats)
1031
1032	* warnings.mk: g++ does not like -Wimplicit
1033
1034	* sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
1035	  pelthora of common suffixes for C++
1036
1037	* lib.mk: use .So for shared objects
1038
10392016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1040
1041	* install-mk (MK_VERSION): 20160315
1042
1043	* meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
1044	  normally only applies to scripts.
1045
1046	* dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
1047	  well as outside it.
1048
10492016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1050
1051	* install-mk (MK_VERSION): 20160310
1052
1053	* dirdeps.mk: use targets rather than a list to track DIRDEPS that
1054	  we have processed; the list gets very inefficient as number of
1055	  DIRDEPS gets large.
1056
1057	* sys.dependfile.mk: fix comment wrt MACHINE
1058
1059	* meta.autodep.mk: ignore staged DPADDs when bootstrapping.
1060	  patch from Bryan Drewery
1061
10622016-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1063
1064	* meta2deps.sh: don't ignore subdirs.
1065	  patch from Bryan Drewery
1066
10672016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1068
1069	* install-mk (MK_VERSION): 20160226
1070
1071	* gendirdeps.mk: mark _DEPENDFILE .NOMETA
1072
10732016-02-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1074
1075	* dirdeps.mk: we shouldn't normally include .depend but if we do
1076	  use .dinclude if we can.
1077
10782016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1079
1080	* install-mk (MK_VERSION): 20160218
1081	* sys.clean-env.mk: with recent change to Var_Subst()
1082	  we cannot use the '$$' trick, but .export-literal does the job
1083	  we need.
1084	* auto.dep.mk: make use .dinclude if we can.
1085
1086
10872016-02-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1088
1089	* dirdeps.mk:
1090	  Add _build_all_dirs such that local.dirdeps.mk can
1091	  add fully qualified dirs to it.
1092	  These will be built normally but the current
1093	  DEP_RELDIR will not depend on then (to avoid cycles).
1094	  This makes it easy to hook things like unit-tests into build.
1095
1096
10972016-01-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1098
1099	* dirdeps.mk: add bootstrap-empty
1100
11012015-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1102
1103	* install-mk (MK_VERSION): 20151212
1104	* auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
1105	  only apply :tA to __objdir when comparing to .OBJDIR
1106
11072015-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1108
1109	* install-mk (MK_VERSION): 20151111
1110
1111	* meta.sys.mk: include sys.dependfile.mk
1112
1113	* sys.mk (OPTIONS_DEFAULT_NO): use options.mk
1114	  to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
1115	  include local.sys.env.mk early
1116	  include local.sys.mk later
1117
1118	* own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
1119
11202015-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1121
1122	* meta.sys.mk (META_COOKIE_TOUCH):
1123	  add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
1124
1125	* meta.stage.mk: stage_libs should ignore SYMLINKS.
1126
11272015-10-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1128
1129	* install-mk (MK_VERSION): 20151022
1130
1131	* sys.mk: BSD/OS does not have 'type' as a shell builtin.
1132
11332015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1134
1135	* install-mk (MK_VERSION): 20151020
1136
1137	* dirdeps.mk: Add logic for
1138	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1139
11402015-10-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1141
1142	* install-mk (MK_VERSION): 20151010
1143
11442015-10-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1145
1146	* meta.stage.mk: use staging: ${STAGE_TARGETS:...
1147	  to have stage_lins run last in non-jobs mode.
1148	  Use .ORDER only for jobs mode.
1149
11502015-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1151
1152	* rst2htm.mk: allow for per target flags etc.
1153
11542015-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1155
1156	* install-mk (MK_VERSION): 20150901
1157
1158	* doc.mk: create dir if needed use DOC_INSTALL_OWN
1159
11602015-06-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1161
1162	* install-mk (MK_VERSION): 20150615
1163
1164	* auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
1165	  Follow make's normal precedence rules.
1166
1167	* gendirdeps.mk: allow customization of the header.
1168	  eg. for FreeBSD:
1169	  GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
1170
1171	* meta.autodep.mk: ignore dirdeps.cache*
1172
1173	* meta.stage.mk: when bootstrapping options it can be handy to
1174	  throw warnings rather than errors for staging conflicts.
1175
1176	* meta.sys.mk: include local.meta.sys.mk for customization
1177
11782015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1179
1180	* install-mk (MK_VERSION): 20150606
1181
1182	* dirdeps.mk: don't rely on manually maintained Makefile.depend
1183	  to set DEP_RELDIR and reset DIRDEPS.
1184	  By setting DEP_RELDIR ourselves we can skip :tA
1185
1186	* gendirdeps.mk: skip setting DEP_RELDIR.
1187
11882015-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1189
1190	* dirdeps.mk: avoid wildcards like make(bootstrap*)
1191
11922015-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1193
1194	* install-mk (MK_VERSION): 20150520
1195
1196	* dirdeps.mk: when we are building dirdeps cache file we *want*
1197	  meta_oodate to look at all the Makefile.depend files, so
1198	  set .MAKE.DEPENDFILE to something that won't match.
1199
1200	* meta.stage.mk: for STAGE_AS_* basename of file may not be unique
1201	  so first use absolute path as key.
1202	  Also skip staging at level 0.
1203
12042015-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1205
1206	* install-mk (MK_VERSION): 20150430
1207
1208	* dirdeps.mk: fix _count_dirdeps for non-cache case.
1209
12102015-04-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1211
1212	* install-mk (MK_VERSION): 20150411
1213	  bump version
1214
1215	* own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
1216	  it is here mainly for documentation purposes, since
1217	  if using auto.obj.mk it is better done via sys.mk
1218
12192015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1220
1221	* install-mk (MK_VERSION): 20150401
1222
1223	* meta2deps.sh: support @list
1224
1225	* meta2deps.py: updates from Juniper
1226	  o add EXCLUDES
1227	  o skip bogus input files.
1228	  o treat 'M' and 'L' as both an 'R' and a 'W'
1229
12302015-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1231
1232	* install-mk (MK_VERSION): 20150303
1233
1234	* dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
1235	  which is built via sub-make so we have a .meta file to tell if
1236	  it is out-of-date.
1237	  The dirdeps-cache contains the same dependency rules that we
1238	  normaly construct on the fly.
1239	  This adds a few seconds overhead when the cache is out of date,
1240	  but for a large target, the savings can be significant (10-20min).
1241
12422014-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1243
1244	* install-mk (MK_VERSION): 20141118
1245
1246	* meta.stage.mk: add stale_staged
1247
1248	* dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
1249	  only useful under very rare conditions such as
1250	  FreeBSD's make universe.
1251
1252	* auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
1253
12542014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1255
1256	* install-mk (MK_VERSION): 20141111
1257
1258	* mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
1259
12602014-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1261
1262	* FILES: include mkopt.sh which allows handling options in shell
1263	  scripts in a manner compatible with options.mk
1264
12652014-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1266
1267	* meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
1268	  for GENDIRDEPS_FILTER to avoid surprises.
1269
12702014-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1271
1272	* dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
1273	  the time it is applied to __depdirs they have.
1274
1275	* dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
1276	  expects patterns like *.${MACHINE}
1277
1278	* cython.mk (pyprefix?): use pyprefix to find python bits
1279	  since prefix might be something else (where we install our
1280	  stuff)
1281
12822014-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1283
1284	* install-mk (MK_VERSION): 20140911
1285
1286	* dirdeps.mk: add bootstrap target to simplify adding support for
1287	  new MACHINE.
1288
12892014-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1290
1291	* gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
1292	  GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
1293	  Makefile.depend files.
1294
12952014-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1296
1297	* install-mk (MK_VERSION): 20140828
1298
1299	* cython.mk: capture logic for building python extension modules
1300	  with Cython.
1301
13022014-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1303
1304	* meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
1305
13062014-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1307
1308	* install-mk (MK_VERSION): 20140801
1309
1310	* dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
1311	identify the autodep.mk variant.
1312
1313	* sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
1314	initial value does not match .MAKE.DEPENDFILE_PREFIX
1315
1316	* meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
1317
13182014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1319
1320	* install-mk (MK_VERSION): 20140522
1321
1322	* lib.mk: use CC to link shlib for linux too
1323	  patch from Brendan MacDonell
1324
13252014-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1326
1327	* meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
1328	  if WITH_META_STATS is defined.
1329
13302014-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1331
1332	* dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
1333	  to supress dirdeps outside of .CURDIR.
1334
13352014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1336
1337	* Fix spelling errors - patch from Pedro Giffuni
1338
13392014-03-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1340
1341	* install-mk (MK_VERSION): 20140314
1342
1343	* dirdeps.mk (beforedirdeps): a handy hook
1344
1345	* dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
1346	  to visit leaf dirs to be intercepted (eg. for distributed
1347	  build).
1348
1349	* dirdeps.mk (__depdirs): ensure // don't sneak in
1350
1351	* gendirdeps.mk (DIRDEPS): ensure // don't sneak in
1352
1353
13542014-02-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1355
1356	* rst2htm.mk (RST2PDF): add support for rst2pdf
1357
13582014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1359
1360	* install-mk (MK_VERSION): bump version
1361	* dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
1362	  available.
1363
13642014-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1365
1366	* options.mk: avoid :U so this isn't bmake dependent
1367
13682014-02-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1369
1370	* options.mk: cleanup and simplify semanitcs
1371	  NO_* dominates all, if both WITH_* and WITHOUT_*
1372	  are defined then result is DOMINATE_* which defaults to "no".
1373	  Ie. WITHOUT_ normally wins.
1374
13752013-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1376
1377	* install-mk (MK_VERSION): bump version
1378	* meta2deps.py: convert to print function for python3 compat.
1379	  we also need to open files with mode 'r' rather than 'rb'
1380	  otherwise we get bytes instead of strings.
1381
13822013-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1383
1384	* install-mk (MK_VERSION): bump version
1385
1386	* dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
1387	  apply the same filtering (M_dep_qual_fixes) when setting _machines
1388	  as _build_dirs.
1389	  Also fix the filtering of Makefile.depend files - for reporting
1390	  what we are looking for (M_dep_qual_fixes can get confused by
1391	  Makefile.depend)
1392	  Add some more debug info.
1393
13942013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1395
1396	* gendirdeps.mk (_objtops): fix typo also
1397	  while processing M2D_OBJROOTS to gather qualdir_list
1398	  qualify $ql with loop iterator to ensure correct results.
1399
14002013-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1401
1402	* install-mk (MK_VERSION): 20130801
1403	* libs.mk: update to match progs.mk
1404
14052013-07-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1406
1407	* install-mk (MK_VERSION): 20130726
1408	  some updates from Juniper and FreeBSD
1409	  o meta2deps.py: indicate file and line number when we hit parse
1410	    errors
1411	    also allow @file to provide huge list of .meta files.
1412	* meta2deps.py: add try_parse() to cleanup the above.
1413
14142013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1415
1416	* install-mk (MK_VERSION): 20130716
1417	* own.mk: add GPROG as an option
1418	* prog.mk: honor MK_GPROF==yes
1419
14202013-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1421
1422	* install-mk (MK_VERSION): 20130505
1423	* gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
1424	  for when $MACHINE isn't enough for objdir distinction.
1425	  Bring meta2deps.sh closer to par with meta2deps.py.
1426
14272013-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1428
1429	* meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
1430	  also if the target 'beforeinstall' exists, make it depend on
1431	  .dirdep (incase it uses STAGE_INSTALL).
1432
14332013-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1434
1435	* install-mk (MK_VERSION): 20130401 ;-)
1436	* meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
1437	  wrapper around install(1).
1438	* options.mk (OPTION_PREFIX): Allow a prefix other than MK_
1439
14402013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1441
1442	* meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
1443	* install-mk (MK_VERSION): bump version
1444
14452013-03-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1446
1447	* install-mk (MK_VERSION): bump version
1448	* gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
1449	  any trailing /., rather apply :tA only when needed.
1450	* gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
1451	* meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
1452	  consistently.
1453	* dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
1454
14552013-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1456
1457	* gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
1458	  it is simpler to just not update when say building for "host"
1459	  (where we know we apply filters to DIRDEPS), and using a
1460	  non-machine qualified dependfile.
1461
14622013-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1463
1464	* dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
1465	  and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
1466	* gendirdeps.mk: ensure _objroot has trailing / if it needs it.
1467	* meta2deps.py: if machine is "host", then also trim
1468	  self.host_target from any OBJROOTS.
1469
1470
14712013-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1472
1473	* gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
1474	  qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
1475	  but _DEPENDFILE does not, compare the new _DEPENDFILE against
1476	  .MAKE.DEPENDFILE_DEFAULT and discard if the same.
1477
14782013-03-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1479
1480	* meta.stage.mk: use STAGE_TARGETS to control .ORDER
1481	  and hook to all: via staging:
1482
14832013-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1484
1485	* sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
1486	  use a separate variable for the default .MAKE.DEPENDFILE value
1487	  so that it can be controlled independently of
1488	  .MAKE.DEPENDFILE_PREFERENCE
1489
1490	* meta.stage.mk: throw error if cp fails etc.
1491	  Stage*() return early if passed no args.
1492	  .ORDER stage_*
1493
14942013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1495
1496	* install-mk (MK_VERSION): bump version
1497	* gendirdeps.mk: handle multiple M2D_OBJROOTS better.
1498
14992013-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1500
1501	* install-mk (MK_VERSION): bump version to 20130210
1502	* import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
1503	  from Juniper.
1504	  o dirdeps.mk now fully supports TARGET_SPEC consisting of more
1505	    than just MACHINE.
1506	  o no longer use DEP_MACHINE from Makefile.depend* so remove it.
1507
15082013-01-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1509
1510	* install-mk (MK_VERSION): bump version to 20130123
1511	* meta.stage.mk: add stage_links (hard links).
1512	  if doing hard links, we add dest to link as well.
1513	  Default the stage dir for [sym]links to STAGE_OBJTOP since
1514	  these are typically specified as absolute paths.
1515	  Add -m "mode" flag to StageFiles and StageAs.
1516
15172012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1518
1519	* install-mk (MK_VERSION): bump version to 20121111
1520	* autoconf.mk: avoid meta mode seeing changed commands for config.status
1521	* meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
1522	  in case we were found via .../mk
1523	* sys.clean-env.mk: move it from examples, we and others use it
1524	  "as is".
1525	* FILES: add srctop.mk and options.mk
1526	* own.mk: convert to using options.mk
1527	  which is modeled after FreeBSD's handling of MK_*
1528	  but more flexible.
1529	  This allows MK_* for boolean knobs to not be confused
1530	  with MK* which can be commands.
1531
1532	* examples/sys.clean-env.mk: add WITH[OUT]_ to
1533	  MAKE_ENV_SAVE_PREFIX_LIST.
1534	  Mention that HOME=/var/empty might be a good idea.
1535
15362012-11-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1537
1538	* sys.dependfile.mk: if not depend file exists, $MACHINE
1539	  specific ones are supported but not the default,
1540	  check if any exist and follow suit.
1541
15422012-11-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1543
1544	* install-mk (MK_VERSION): bump version to 20121106
1545
15462012-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1547
1548	* import latest dirdeps.mk and meta2deps.py from Juniper.
1549	* progs.mk: add MAN and CXXFLAGS to PROG_VARS
1550	  also add PROGS_TARGETS and pass on PROG_CXX if it seems
1551	  appropriate.
1552
15532012-11-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1554
1555	* meta.stage.mk: update CLEANFILES
1556	  remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
1557	* progs.mk: Add LDADD to PROG_VARS
1558
15592012-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1560
1561	* meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
1562	  _STAGED_DIRS so that these can be turned into filters for
1563	  GENDIRDEPS_FILTER.
1564
15652012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1566
1567	* install-mk (MK_VERSION): bump version to 20121010
1568	* meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
1569	target.dirdep matches .dirdep
1570
15712012-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1572
1573	* install-mk (MK_VERSION): bump version to 20120808
1574	* import latest meta2deps.py from Juniper.
1575
15762012-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1577
1578	* install-mk (MK_VERSION): bump version to 20120711
1579	* dep.mk: add explicit dependencies on SRCS after applying
1580	  SRCS_DEP_FILTER
1581	* meta.autodep.mk: add explicit dependencies on SRCS after
1582	  applying SRCS_DEP_FILTER
1583	* meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
1584
15852012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1586
1587	* install-mk (MK_VERSION): bump version to 20120626
1588	* meta.sys.mk: ignore PYTHON if it does not exist
1589	  compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
1590	* meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
1591	  entries ending in .${MACHINE} to decide if qualified _dirdep is
1592	  needed.
1593	* gendirdeps.mk: only produce unqualified deps if no
1594	  .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
1595	* meta.subdir.mk: apply SUBDIRDEPS_FILTER
1596
15972012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1598
1599	* install-mk (MK_VERSION): bump version to 20120420
1600	* add sys.dependfile.mk so we can experiment with
1601	  .MAKE.DEPENDFILE_PREFERENCE
1602	* meta.autodep.mk: _DEPENDFILE is precious!
1603
16042012-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1605
1606	* install-mk (MK_VERSION): bump version to 20120315
1607	* install-new.mk: avoid being interrupted
1608
16092012-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1610
1611	* man.mk: MAN might have multiple values so be careful with exists().
1612
16132012-01-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1614
1615	* install-mk (MK_VERSION): bump version to 20120112
1616	* fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
1617	  as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
1618
16192011-12-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1620
1621	* install-mk (MK_VERSION):  bump version to 20111201
1622	* import dirdeps.mk from Juniper sjg@
1623	  o more consistent handling of DEP_MACHINE, especially when
1624	    dealing with an odd Makefile.depend, when normally using
1625	    Makefile.depend.${MACHINE}
1626
16272011-11-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1628
1629	* install-mk (MK_VERSION): bump version to 20111122
1630	* meta.autodep.mk: add some debug output, be more crisp about
1631	  updating.  Use ${.ALLTARGETS:M*.o} as a clue for .depend
1632
16332011-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1634
1635	* install-mk (MK_VERSION): bump version to 20111111
1636	  it's too cool to miss
1637	* import meta* updates from Juniper sjg@
1638	  o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
1639	    normally using Makefile.depend.${MACHINE}), handy for
1640	    read-only manually maintained dependencies.
1641	  o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
1642	  o gendirdeps.mk if ERROR: from meta2deps.py do not update
1643	    anything.
1644
16452011-10-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1646
1647	* install-new.mk separate the cmp and copy logic to its own function.
1648
16492011-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1650
1651	* install-mk (MK_VERSION): bump version to 20111028
1652	* sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
1653	* subdir.mk: ensure _SUBDIRUSE is provided
1654	* meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
1655	* meta.subdir.mk: always allow for Makefile.depend
1656
16572011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1658
1659	* install-mk (MK_VERSION): bump version to 20111010
1660	  o minor tweak to *dirdeps.mk from Juniper sjg@
1661
16622011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1663
1664	* install-mk (MK_VERSION): bump version to 20111001
1665	  o add meta2deps.py from Juniper sjg@
1666	  o tweak gendirdeps.mk to work with meta2deps.py when not
1667	    cross-building
1668	* autoconf.mk: add autoconf-input as a hook for regenerating
1669	  AUTOCONF_INPUTS (configure).
1670
16712011-08-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1672
1673	* meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
1674	  trigger for updating Makefile.depend*
1675
16762011-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1677
1678	* install-mk (MK_VERSION): bump version to 20110808
1679	* obj.mk: minor cleanup
1680	* auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
1681
16822011-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1683
1684	* auto.obj.mk (.OBJDIR): throw an error if we cannot use the
1685	  specified dir.
1686
16872011-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1688
1689	* meta.autodep.mk: if XMAKE_META_FILE is set
1690	  the makefile uses a foreign make, and so dependencies
1691	  can only be gathered from a clean tree build.
1692
16932011-06-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1694
1695	* install-mk (MK_VERSION): bump version to 20110622
1696	* meta.autodep.mk: improve bootstraping
1697
16982011-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1699
1700	* yacc.mk: handle the corner case of .c being removed
1701	  while .h remains.
1702
17032011-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1704
1705	* yacc.mk: do .y.h and .y.c separately
1706
17072011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1708
1709	* install-mk (MK_VERSION): bump version to 20110606
1710	* don't store SRC_DIRDEPS in Makefile.depend* by default
1711	  not everyone needs it.
1712
17132011-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1714
1715	* install-mk (MK_VERSION): bump version to 20110505
1716	  first release including meta mode makefiles
1717
17182011-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1719
1720	* meta.stage.mk: add STAGE_AS_SETS and stage_as
1721	  for things that need to be staged with different names.
1722
17232011-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1724
1725	* meta.stage.mk: add notion of STAGE_SETS
1726	  so a makefile can stage to multiple dirs
1727
17282011-04-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1729
1730	* rst2htm.mk: convert rst to s5 (slides) or plain html depending
1731	  on target name.
1732
17332011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1734
1735	* install-mk (MK_VERSION): bump version to 20110330
1736
17372011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
1738
1739	* sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
1740	  can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
1741	* sys.mk: re-define M_whence in terms of M_type.
1742	  M_type is useful for checking if something is a builtin.
1743
17442011-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1745
1746	* meta.stage.mk: add stage_symlinks and leverage StageLinks for
1747	  stage_libs
1748
17492011-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1750
1751	* dirdeps.mk: correct value for _depdir_files depends on
1752	  .MAKE.DEPENDFILE
1753	  Add our copyright - just to make it clear we have frobbed this
1754	  quite a bit.
1755	  DEP_MACHINE needs to be set to MACHINE each time, if using only
1756	  Makefile.depend (cf. Makefile.depend.${MACHINE})
1757
1758	* meta.stage.mk: meta mode version of staging
1759
1760	* init.mk, final.mk: include local.*.mk to simplify customization
1761
17622011-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1763
1764	* auto.obj.mk: just because we are doing mk destroy, we should
1765	  still set .OBJDIR correctly if it exists.
1766
1767	* install-mk (mksrc): do not exclude meta.sys.mk
1768
17692011-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1770
1771	* host-target.mk: set/export _HOST_ARCH etc separately,
1772	  catch junk resulting from uname -p, so we can find sys/Linux.mk
1773	  correctly.
1774
17752011-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1776
1777	* meta.sys.mk: throw an error if /dev/filemon is missing and we
1778	  expected to be updating Makefile.depend*
1779
17802011-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1781
1782	* install-mk (MK_VERSION): bump version to 20110214
1783	* meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
1784
17852010-09-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1786
1787	* meta.sys.mk: not valid for older bmake
1788
17892010-09-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1790
1791	* install-mk (MK_VERSION): bump version to 20100919
1792	include dirdeps.mk et al from Juniper Networks,
1793	for meta mode - requires filemon(9).
1794	* sys.mk, subdir.mk: Add hooks for meta mode.
1795	we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
1796	to make turning it on/off simple.
1797
17982010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1799
1800	* install-mk (MK_VERSION): bump version to 20100616
1801	* fix typo in sys.mk
1802
18032010-06-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1804
1805	* install-mk (MK_VERSION): bump version to 20100612
1806	* lib.mk: remove duplicate addition to SOBJS
1807
18082010-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1809
1810	* sys.mk: Add a means of selectively turning on debug flags.
1811	  Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
1812	  will act as if we did make -dv if .CURDIR ends in lib/sjg
1813	  DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
1814	  the start of sys.mk rather than the end.
1815	  This only makes sense for leaf dirs, so we check that
1816	  .MAKE.LEVEL > 0
1817
18182010-06-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1819
1820	* install-mk (MK_VERSION): bump version to 20100608
1821	* sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
1822	* examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
1823	  also make it easier for folk to tweak
1824
18252010-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1826
1827	* install-mk (MK_VERSION): bump version to 20100606
1828	  do not install examples/*
1829	* FILES: add examples/sys.clean-env.mk
1830	* examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
1831	  this requires bmake-20100606 or later to work.
1832
18332010-05-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1834
1835	* sys.mk (M_tA): better simulate the result of :tA if not available.
1836
18372010-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1838
1839	* sys.mk: canonicalize MAKE_VERSION
1840	  old versions reported bmake-<src-date> build-<build-date>
1841	  whereas we only care about <src-date>
1842
18432010-04-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1844
1845	* install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
1846	* lib.mk: we only build the shared lib if SHLIB_FULLVERSION
1847	  is !empty
1848
18492010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1850
1851	* dpadd.mk: use LDADD_* if defined.
1852
18532010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1854
1855	* install-mk (MK_VERSION): bump version to 20100420
1856	* sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
1857	* autoconf.mk allow AUTO_AUTOCONF
1858
18592010-04-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1860
1861	* obj.mk: add objwarn to keep freebsd makefiles happy
1862	* auto.obj.mk: ensure Mkdirs is available.
1863	* FILES: add auto.dep.mk - a simpler version of autodep.mk
1864	* dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
1865	  asked to do that.
1866	  fix/simplify the tests for when to run mkdep.
1867	* auto.dep.mk: add some explanation of how/what we do.
1868	* autodep.mk: skip the .OPTIONAL frobbing of .depend
1869	  bmake's FROM_DEPEND flag makes it redundant.
1870
18712010-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1872
1873	* install-mk (MK_VERSION): bump version to 20100404
1874	* subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
1875	* obj.mk: protect from multiple inclusion even as bsd.obj.mk
1876	Also create a target _SUBDIRUSE so that we can  be used without
1877	subdir.mk
1878
18792010-04-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1880
1881	* dep.mk: use <> when .including so can override.
1882
18832010-01-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1884
1885	* lib.mk (SHLIB_LINKS): ensure a string comparison.
1886
18872010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1888
1889	* install-mk (MK_VERSION): bump version to 20100102
1890	* own.mk: ensure PRINTOBJDIR works
1891	* autoconf.mk: pass on CONFIGURE_ARGS
1892	* init.mk: handle COPTS.${.IMPSRC:T} etc.
1893	* lib.mk: allow sys.mk to control SHLIB_FULLVERSION
1894	  fix handling of symlinks for darwin
1895	* libnames.mk: add DSHLIBEXT for libs which only exist as shared.
1896	* man.mk: suppress chown when not root.
1897	* rst2htm.mk: allow srcs from multiple locations.
1898	* sys.mk: M_whence, stop after 1st line of output.
1899	* sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
1900	* sys/SunOS.mk: we need to export PATH
1901
19022009-12-23  Simon J. Gerraty  <sjg@void.crufty.net>
1903
1904	* install-mk (MK_VERSION): bump version
1905	  include rst2htm.mk
1906
19072009-12-17  Simon J. Gerraty  <sjg@void.crufty.net>
1908
1909	* sys.mk,libnames.mk add .-include <local.*>
1910	  this allows local customization without the need to edit the
1911	  distributed files.
1912
19132009-12-14  Simon J. Gerraty  <sjg@void.crufty.net>
1914
1915	* dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
1916	  older versions already installed.
1917
19182009-12-13  Simon J. Gerraty  <sjg@void.crufty.net>
1919
1920	* stage.mk (.stage-install): generalize lib.mk's .libinstall
1921	* rules.mk rules for generic Makefile.
1922	* inc.mk install for includes.
1923
19242009-12-11  Simon J. Gerraty  <sjg@void.crufty.net>
1925
1926	* sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
1927	  this, so provide it if using native make.
1928
19292009-12-10  Simon J. Gerraty  <sjg@void.crufty.net>
1930
1931	* FILES: move all the platform *.sys.mk files to sys/*.mk
1932	* Rename Generic.sys.mk to sys.mk - we always want it.
1933
19342009-11-17  Simon J. Gerraty  <sjg@void.crufty.net>
1935
1936	* install-mk (MK_VERSION): bump version
1937	* host-target.mk: only export the expensive stuff
1938	* Generic.sys.mk (sys_mk): for SunOS we need to look for
1939	  ${HOST_OS}.${HOST_OSMAJOR} too!
1940
19412009-11-07  Simon J. Gerraty  <sjg@void.crufty.net>
1942
1943	* install-mk (MK_VERSION): bump version
1944	* lib.mk: if sys.mk doesn't give us an lorder, don't use it.
1945	  based on patch from Greg Olszewski.
1946	* Generic.sys.mk: if we have nothing to work with
1947	set LORDER etc only if we can find it.
1948
19492009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
1950
1951	* install-mk (MK_VERSION): bump version
1952	* man.mk: cleanman: remove CLEANMAN if defined.
1953
19542009-09-04  Simon J. Gerraty  <sjg@void.crufty.net>
1955
1956	* SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
1957
19582009-07-17  Simon J. Gerraty  <sjg@void.crufty.net>
1959
1960	* install-mk (MK_VERSION): bump version
1961	include auto.obj.mk
1962
1963
19642009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
1965
1966	* prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
1967
19682008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
1969
1970	* install-mk (MK_VERSION): bump version
1971	man.mk: ensure we generate *.cat1 etc in .
1972
19732008-07-16  Simon J. Gerraty  <sjg@void.crufty.net>
1974
1975	* install-mk (MK_VERSION): bump version
1976	add prlist.mk
1977
19782007-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
1979
1980	* Generic.sys.mk: Allow os specific sys.mk to be in a
1981	subdir of ${.PARSEDIR}
1982
19832007-11-22  Simon J. Gerraty  <sjg@void.crufty.net>
1984
1985	* install-mk (MK_VERSION): bump version
1986	* general cleanup
1987	* dpadd.mk introduce DPMAGIC_LIBS_*
1988
19892007-04-30  Simon J. Gerraty  <sjg@void.crufty.net>
1990
1991	* install-mk (MK_VERSION): bump version
1992
1993	* libs.mk, progs.mk, autodep.mk: allow for per lib/prog
1994	depend files and ensure clean is called for each lib/prog.
1995
19962007-03-27  Simon J. Gerraty  <sjg@void.crufty.net>
1997
1998	* autodep.mk (.depend): delete lines that do not start with
1999	space and do not contain ':'
2000
20012007-02-16  Simon J. Gerraty  <sjg@void.crufty.net>
2002
2003	* autodep.mk (.depend): gcc may wrap lines if pathnames are long
2004	so make sure the transform for .OPTIONAL copes.
2005
20062007-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2007
2008	* install-mk (MK_VERSION): bump version
2009
2010	* own.mk: make sure RM and LN are defined.
2011
2012	* obj.mk: fix a typo, and objlink target.
2013
20142006-12-30  Simon J. Gerraty  <sjg@void.crufty.net>
2015
2016	* install-mk (MK_VERSION): bump version
2017	* added libs.mk - analogous to progs.mk
2018	  make both of them always inlcude {lib,prog}.mk
2019
20202006-12-28  Simon J. Gerraty  <sjg@void.crufty.net>
2021
2022	* progs.mk: add a means of building multiple apps in one dir.
2023
20242006-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
2025
2026	* install-mk (MK_VERSION): bump version to 20061126
2027
2028	* warnings.mk: detect invalid WARNINGS_SET
2029
2030	* warnings.mk: use ${.TARGET:T:R}.o when looking for target
2031	specific warnings.
2032
2033	* For .cc sources, turn off warnings that g++ vomits on.
2034
20352006-11-08  Simon J. Gerraty  <sjg@void.crufty.net>
2036
2037	* own.mk: if __initialized__ target doesn't exist and we are
2038	FreeBSD we got here directly from sys.mk
2039
20402006-11-06  Simon J. Gerraty  <sjg@void.crufty.net>
2041
2042	* install-mk (MK_VERSION): bump version to 20061106
2043	add scripts.mk
2044
20452006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
2046
2047	* install-mk (MK_VERSION): bump version to 20060318
2048
2049	* autodep.mk: avoid := when modifying OBJS into __dependsrcs
2050
20512006-03-02  Simon J. Gerraty  <sjg@void.crufty.net>
2052
2053	* install-mk (MK_VERSION): bump version to 20060302
2054	* autodep.mk: use -MF et al to help gcc+ccache DTRT.
2055
20562006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
2057
2058	* install-mk (MK_VERSION): bump version to 20060301
2059	* autodep.mk (.depend):
2060	if MAKE_VERSION is newer than  20050530 we can make .END depend on
2061	.depend and make .depend depend on __depsrcs that exist.
2062	* dpadd.mk: add SRC_PATHADD
2063
20642005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
2065
2066	* install-mk (MK_VERSION): bump version to 20051104
2067	* prog.mk: remove all the LIBC?= junk, use
2068	.-include libnames.mk instead (none by default).
2069	also if USE_DPADD_MK is set, include that.
2070
20712005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2072
2073	* install-mk (MK_VERSION): bump version to 20051001
2074	Add UnixWare.sys.mk from Klaus Heinz.
2075
20762005-04-05  Simon J. Gerraty  <sjg@void.crufty.net>
2077
2078	* install-mk: always install *.sys.mk and if need be symlink one
2079	to sys.mk
2080
20812005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2082
2083	* subdir.mk, own.mk: use .MAKE rather than MAKE
2084
20852004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
2086
2087	* own.mk: don't use NetBSD's _SRC_TOP_ it can
2088	cause confusion.  Also don't take just 'mk' as a
2089	srctop indicator.
2090
20912004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
2092
2093	* warnings.mk: overhauled, now very powerful.
2094
20952004-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2096
2097	* Generic.sys.mk: need to use ${.PARSEDIR} with exists().
2098
20992004-02-01  Simon J. Gerraty  <sjg@void.crufty.net>
2100
2101	* install-mk (MK_VERSION): bump version to 20040201
2102	* extract HOST_TARGET stuff to host-target.mk so own.mk and
2103	Generic.sys.mk can share.
2104	* fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
2105
21062003-09-30  Simon J. Gerraty  <sjg@void.crufty.net>
2107
2108	* install-mk (MK_VERSION): 20030930
2109	* rename generic.sys.mk to Generic.sys.mk
2110	so that it does not get installed (unless being used as sys.mk)
2111	* set OS and ROOT_GROUP for those that we know the value.
2112	for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
2113	we don't do it again for each sub-make.
2114
21152003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
2116
2117	* install-mk (MK_VERSION): 20030928
2118	Add some extra *.sys.mk from bootstrap-pkgsrc
2119	some of these likely still need work.
2120	Make everything default to root:wheel ownership,
2121	sys.mk can set ROOT_GROUP accordingly.
2122
21232003-08-07  Simon J. Gerraty  <sjg@void.crufty.net>
2124
2125	* install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
2126	not the portable ones.
2127
21282003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
2129
2130	* install-mk: add ability to use cp -f when updating
2131	destination .mk files.  Also now possible to play games with
2132	FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
2133	into dest - not recommended unless you seriously want to.
2134
21352003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
2136
2137	* own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
2138	for semi-compatability with NetBSD.
2139
21402003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
2141
2142	* install-mk: add a version indicator
2143
21442003-07-22  Simon J. Gerraty  <sjg@void.crufty.net>
2145
2146	* prog.mk: don't try and use ${LIBCRT0} if its /dev/null
2147
2148	* install-mk: Allow FORCE_SYS_MK to come from env
2149
2150
2151
2152