xref: /freebsd/contrib/bmake/mk/ChangeLog (revision 1da7f3f6f72b2245e458fc7195733268ae4a1136)
12023-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* jobs.mk (JOB_MAX): use -jC if we can
4	we actually use JOB_MAX_C which defaults to 1.33C
5
62023-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
7
8	* now_utc: %s only works with :localtime
9
102023-07-14  Simon J Gerraty  <sjg@beast.crufty.net>
11
12	* install-sh: ignore -c as claimed and only insist on
13	a directory for destination when more than one file to copy.
14
15	* sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and
16	${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64)
17
182023-07-13  Simon J Gerraty  <sjg@beast.crufty.net>
19
20	* install-mk (MK_VERSION): 20230711
21
22	* sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible
23	install(1)
24
25	* sys/IRIX.mk:  when setting ROOT_GROUP only match the first :0:
26	set INSTALL to install-sh rather than pathname that may not exist
27	(yet).
28
292023-07-07  Simon J Gerraty  <sjg@beast.crufty.net>
30
31	* dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE
32	normally this is empty - for the default target, but there are
33	use-cases where we might set it to something else.
34
352023-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
36
37	* install-mk (MK_VERSION): 20230704
38
39	* dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output
40	when DEBUG_DIRDEPS is in effect.
41	Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n
42	can greatly improve readability.
43
442023-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
45
46	* meta.autodep.mk (beforegendirdeps): allow tasks to be done
47	at END but before gendirdeps
48
492023-05-22  Simon J Gerraty  <sjg@beast.crufty.net>
50
51	* install-mk (MK_VERSION): 20230522
52
53	* host-target.mk: deal with garbage from uname -m on
54	Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH
55	these days so just leave it be.
56	For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get
57	arm64 and x86_64 in HOST_TARGET.
58
592023-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
60
61	* sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older
62	versions of bmake.
63
64	* dirdeps.mk (TARGET_SPEC_VARS.host):
65	While *most* projects need only DEP_MACHINE for host,
66	there is always an exception.  So we allow for
67	TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS.
68	The default will *just work* for most projects.
69	We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC
70	based on DEP_MACHINE.
71	Allow for M_dep_qual_fixes.host to be different too
72	and take care to apply the right set.
73
742023-05-14  Simon J Gerraty  <sjg@beast.crufty.net>
75
76	* sys.dirdeps.mk: we *do* want to override OBJTOP
77	and if MAKEOBJDIR was not in env as we want it;
78	put it there - carefully.
79	Ensure OBJROOT ends in / or - (/ preferred)
80	Add more comments to explain what/why.
81
822023-05-13  Simon J Gerraty  <sjg@beast.crufty.net>
83
84	* install-mk (MK_VERSION): 20230512
85
86	* dirdeps.mk: take care not to qualify "host" dirdeps
87
88	* sys.dirdeps.mk (OBJTOP): must use ?=
89
902023-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
91
92	* meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no"
93	suppress processing of .depend
94
952023-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
96
97	* dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP
98
99	* meta.sys.mk sys.dirdeps.mk:
100	originally DIRDEPS_BUILD and META_MODE were the same thing,
101	but META_MODE is useful by itself.
102	Move things from meta.sys.mk which actually pertain to
103	DIRDEPS_BUILD to sys.dirdeps.mk
104
1052023-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
106
107	* install-mk (MK_VERSION): 20230504 May the Forth be with you
108
109	* dirdeps.mk: as with meta.sys.mk we treat "host" as special.
110	DEP_TARGET_SPEC is just ${DEP_MACHINE}
111
112	* meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at
113	level > 0 since these are often refered to in Makefile.depend*
114
1152023-04-26  Simon J Gerraty  <sjg@beast.crufty.net>
116
117	* jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and
118	anything in ${JOB_LOG_START}
119
120	* jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}}
121	or a scripts subdir before searching $PATH.
122
123	* FILES: include newlog.sh for jobs.mk
124
1252023-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
126
127	* install-mk (MK_VERSION): 20230420
128
129	* lib.mk: include LDFLAGS and LDADD when linking shared libs
130
131	* gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc
132	via local.meta.sys.mk rather than local.gendirdeps.mk
133	so DEP_* variables can be set at level 1+ to avoid syntax errors
134	when used in conditionals in manually maintained Makefile.depend
135	files.
136
137	* dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines
138
1392023-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
140
141	* dirdeps.mk: check we were not included by
142	Makefile.depend.options as the result is bad.
143
1442023-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
145
146	* install-mk (MK_VERSION): 20230414
147
148	* meta.sys.mk: since we have :range we can put the logic for
149	processing TARGET_SPEC from env here.
150
151	* dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including
152	local.dirdeps-missing.mk, also improve debug output.
153
154	* dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC
155	we need to use :M*[/.]* same as for when actually setting DIRDEPS
156	from the targets on command line.
157
1582023-04-12  Simon J Gerraty  <sjg@beast.crufty.net>
159
160	* Add jobs.mk
161
1622023-03-21  Simon J Gerraty  <sjg@beast.crufty.net>
163
164	* install-mk (MK_VERSION): 20230321
165
166	* meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter
167	STAGE_LIBS for SHLIB_LINKS.
168
169	* autoconf.mk: add .WAIT after config.status
170
1712023-02-17  Simon J Gerraty  <sjg@beast.crufty.net>
172
173	* sys.vars.mk: add M_Index to report the index of a word in a list.
174
1752023-02-15  Simon J Gerraty  <sjg@beast.crufty.net>
176
177	* install-mk (MK_VERSION): 20230215
178
179	* warnings.mk: allow better control of -Werror
180	allow -Wno-error or similar to be added if
181	WARNINGS_SET < WERROR_SET
182	account for COMPILER_TYPE
183
1842023-01-29  Simon J Gerraty  <sjg@beast.crufty.net>
185
186	* autoconf.mk: hook config.status to beforebuild.
187
188	* whats.mk: what*.c is NOTMAIN
189
1902023-01-27  Simon J Gerraty  <sjg@beast.crufty.net>
191
192	* install-mk (MK_VERSION): 20230127
193	control umask so directories are created with suitable mode.
194
1952023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
196
197	* install-mk (MK_VERSION): 20230120
198
199	* sys.vars.mk: add M_On and M_Onr also cleanup to be more
200	consistent wrt testing MAKE_VERSION
201
2022023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
203
204	* install-mk (MK_VERSION): 20230112
205
206	* meta2deps.{py,sh}: assert if filemon data is truncated
207	we should see the '# Bye bye' record - assert if we do not.
208
2092022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
210
211	* install-mk (MK_VERSION): 20220909
212
213	* sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings
214
2152022-09-06  Simon J Gerraty  <sjg@beast.crufty.net>
216
217	* dirdeps-options.mk: explain the need to use
218	${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to
219	${TARGET_SPEC_VAR}
220
2212022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
222
223	* install-mk (MK_VERSION): 20220903
224
225	* M_cmpv handle more than 3 dots and clear leading 0's
226
2272022-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
228
229	* install-mk (MK_VERSION): 20220720
230
231	* prog.mk: handle PROG_CXX for more than just NetBSD
232
2332022-06-20  Simon J Gerraty  <sjg@beast.crufty.net>
234
235	* install-mk (MK_VERSION): 20220620
236
237	* yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER
238	rather than just suffix rules
239
2402022-04-23  Simon J Gerraty  <sjg@beast.crufty.net>
241
242	* install-mk (MK_VERSION): 20220422
243
244	* gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no"
245	do not capture any local depends in Makefile.depend
246
2472022-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
248
249	* install-mk (MK_VERSION): 20220323
250	* posix.mk: default rules for .POSIX:
251
2522022-03-17  Simon J Gerraty  <sjg@beast.crufty.net>
253
254	* sys/*.mk: remove l from ARFLAGS
255
2562022-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
257
258	* install-mk (MK_VERSION): 20220314
259
260	* dirdeps-options.mk: allow options to be per RELDIR
261	try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed
262	with ${DEP_RELDIR}.
263
2642022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
265
266	* install-mk (MK_VERSION): 20220214
267
268	* cc-wrap.mk: fix :@ modifier
269
2702022-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
271
272	* install-mk (MK_VERSION): 20220206
273
274	* cc-wrap.mk: docuement how CCACHE etc might be set for
275	maximum flexibility
276
2772022-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
278
279	* sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT
280
2812022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
282
283	* install-mk (MK_VERSION): 20220204
284
285	* host-target.mk: use .MAKE.OS if available
286
2872022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
288
289	* install-mk (MK_VERSION): 20220202
290
291	* cc-wrap.mk: allow other entries in CC_WRAP_FILTER
292	We add our filter on extensions last, so prior filters
293	can apply to the whole value of .IMPSRC
294
2952022-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
296
297	* cc-wrap.mk: take advantage of target local variables to
298	wrap compilers like CC CXX with wrappers like ccache distcc etc
299
3002022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
301
302	* meta2deps: we do not expect any trace data for setid apps
303
3042022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
305
306	* dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed
307	to sub-make using DIRDEPS_CACHE
308
3092022-01-07  Simon J Gerraty  <sjg@beast.crufty.net>
310
311	* dirdeps.mk: use _cache_script to minimize the number of shells
312	forked when generating dirdeps.cache
313
3142022-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
315
316	* install-mk (MK_VERSION): 20220101
317
318	* dirdeps.mk: initialize DEP_* and _debug_reldir earlier.
319	If initial DIRDEPS are from command line, create the target
320	_dirdeps_cmdline as an indication.
321
3222022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
323
324	* init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD
325	at top-level only some targets are allowed at level 0,
326	for leaf makefiles only the default (all) target is restricted
327
3282021-12-28  Simon J Gerraty  <sjg@beast.crufty.net>
329
330	* install-mk (MK_VERSION): 20211228
331
332	* meta2deps.py: filemon on Linux is not as reliable as we might
333	like, we do not want to update DIRDEPS if filemon output is
334	incomplete.   Track pids that we 'E'xec and make sure we see an
335	e'X'it for each one.  Throw an error if we are missing any 'X'
336	records.
337
3382021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
339
340	* sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes.
341
342	* meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON
343	is something else.
344
345	* meta.autodep.mk: we can now reference ${.SUFFIXES}
346
347	* meta2deps.py: derive a list of dirdep extensions from
348	TARGET_SPEC to trim from dirdeps.
349
350	* dirdeps.mk: flip the computation of qualified vs unqualified
351	dirdeps - it is much simpler to check for unqualified first.
352
3532021-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
354
355	* install-mk (MK_VERSION): 20211212
356
357	* auto.dep.mk: rearrange so that the trivial implementation
358	for recent bmake is more obvious.
359
3602021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
361
362	* install-mk (MK_VERSION): 20211207
363
364	* Ensure guard targets are .NOTMAIN
365
366	* meta.sys.mk: check for nofilemon support when we skip level 0
367
368	* auto.dep.mk: make this usable in meta mode
369	for platforms that cannot use meta.autodep.mk
370
371	* meta2deps.py: avoid confusion if MACHINE and another
372	TARGET_SPEC_VAR have same value.
373
3742021-11-27  Simon J Gerraty  <sjg@beast.crufty.net>
375
376	* dirdeps.mk: when building dirdeps.cache, minimize the amount of
377	data put into env, by stripping ${SRCTOP}/ from each entry.
378	A long sandbox name can double the amount of memory consumed and
379	in extreme cases cause failure.
380	While we are at it, strip ${SRCTOP}/ from a lot of the debug output.
381
3822021-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
383
384	* install-mk (MK_VERSION): 20211111
385
386	* meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail
387	so fallback to cp if necessary.
388
3892021-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
390
391	* man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year
392	old cmt2doc.pl
393
3942021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
395
396	* meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f}
397	as the symlink (rare)
398
3992021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
400
401	* autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not
402	been read, throw an error after running configure telling user to
403	restart.
404
4052021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
406
407	* install-mk (MK_VERSION): 20211011
408
409	* Add support for SCO_SV
410
4112021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
412
413	* install-mk (MK_VERSION): 20211001
414
415	* man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more
416	flexibility
417
4182021-09-13  Simon J Gerraty  <sjg@beast.crufty.net>
419
420	* options.mk (describe-options): print options and their values
421	  and optional description
422
4232021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
424
425	* install-mk (MK_VERSION): 20210911
426
427	* options.mk (show-options): print options and their values
428
4292021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
430
431	* install-mk (MK_VERSION): 20210909
432
433	* lib.mk: apply patch from <daniel@octaforge.org>
434	to fix shared libs on Linux
435
4362021-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
437
438	* install-mk (MK_VERSION): 20210808
439
440	* options.mk: issue warning for WITH_*=no
441
4422021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
443
444	* install-mk (MK_VERSION): 20210616
445
446	* dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find
447	depend files to read, anchor MACHINE at , or end of string
448	to avoid prefix match.
449
4502021-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
451
452	* install-mk (MK_VERSION): 20210504
453
454	* dirdeps.mk: re-implement ALL_MACHINES support to better
455	cater for local complexities, when ONLY_TARGET_SPEC_LIST
456	is not set. local.dirdeps.mk can set
457	DIRDEPS_ALL_MACHINES_FILTER and/or
458	DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get
459	from listing all existing Makefile.depend.*
460
4612021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
462
463	* install-mk (MK_VERSION): 20210420
464
465	* dirdeps.mk: revert previous - not always safe.
466
4672021-03-20  Simon J Gerraty  <sjg@beast.crufty.net>
468
469	* install-mk (MK_VERSION): 20210321
470
471	* dirdeps.mk: when generating dirdeps.cache
472	we only need to hook the initial DIRDEPS to the
473	dirdeps target.  That and any _build_xtra_dirs (like tests which
474	should not be hooked directly to the dependency graph - to avoid
475	cycles)
476
4772021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
478
479	* install-mk (MK_VERSION): 20210130
480
481	* dirdeps.mk: expr 2 - 1 - 1 exits with a bad status
482	  we need to  guard against this in DIRDEP_LOADAVG_REPORT.
483
484	* dirdeps.mk: restore respect for TARGET_MACHINE
485
4862021-01-06  Simon J Gerraty  <sjg@beast.crufty.net>
487
488	* install-mk (MK_VERSION): 20210101
489
490	* dirdeps.mk: first time we are read, just use TARGET_SPEC for
491	_DEP_TARGET_SPEC
492
4932020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
494
495	* sys.mk (MAKE_SHELL): use ${.SHELL:Ush}
496	and use := when setting SHELL
497
4982020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
499
500	* install-mk (MK_VERSION): 20201221
501
502	* dirdeps-options.mk: latest bmake allows only one arg to .undef
503
5042020-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
505
506	* dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS
507	so that any directory can be treated as a target.
508
5092020-11-26  Simon J Gerraty  <sjg@beast.crufty.net>
510
511	* install-mk (MK_VERSION): 20201126
512
513	* own.mk: use .MAKE.{UID,GID} if available.
514
515	* init.mk: suppress _SKIP_BUILD warning if doing -V
516
5172020-11-20  Simon J Gerraty  <sjg@beast.crufty.net>
518
519	* install-mk (MK_VERSION): 20201120
520
521	* init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS
522
523	* dirdeps-targets.mk: fix typo in comment
524
5252020-11-06  Simon J Gerraty  <sjg@beast.crufty.net>
526
527	* install-mk (MK_VERSION): 20201106
528
529	* meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed
530	args to tweak extensions for local deps.
531
5322020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
533
534	* install-mk (MK_VERSION): 20201101
535
536	* dirdeps.mk: most leaf makefiles are not suitable for building
537	dirdeps.cache so if RELDIR is not "." use dirdeps.mk
538
5392020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
540
541	* install-mk (MK_VERSION): 20201028
542
543	* dirdeps.mk: if we don't have :range use equivalent of M_RANGE
544	when building dirdeps.cache for leaf directory use -f dirdeps.mk
545
546	* sys.vars.mk: add M_JOT and M_RANGE
547
5482020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
549
550	* install-mk (MK_VERSION): 20201001
551
552	* meta2deps.{py,sh}: throw an error if we don't see filemon version
553
5542020-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
555
556	* install-mk (MK_VERSION): 20200909
557
558	* dirdeps-cache-update.mk: use cache_update_dirdep as guard target
559
5602020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
561
562	* dirdeps.mk: ensure we cannot confuse a static cache for dynamic
563	(even more rare that use of static cache is playing clever tricks
564	with it)
565
5662020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
567
568	* dirdeps-cache-update.mk: allow
569	MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we
570	actually update STATIC_DIRDEPS_CACHE.
571
572	* stage-install.sh: create dest directory if needed
573	before running install(1)
574
5752020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
576
577	* dirdeps-targets.mk: include Makefile.dirdeps.options
578
579	* dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE
580
5812020-08-09  Simon J Gerraty  <sjg@beast.crufty.net>
582
583	* dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty
584
585	* dirdeps-cache-update.mk: building parallel cache update
586	under the context of dirdeps-cached would be ideal, but
587	is problematic, so it runs as a sibling.
588	Use cache-built target to ensure we wait for it to complete if
589	necessary.
590
5912020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
592
593	* install-mk (MK_VERSION): 20200806
594
595	* dirdeps-options: allow TARGET_SPEC to affect option values.
596	Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_*
597
598	* dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined
599	before looking for STATIC_DIRDEPS_CACHE
600
6012020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
602
603	* host-target.mk: Darwin use MACHINE for HOST_ARCH too
604
605	* dirdeps-options.mk: improve debug output
606
6072020-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
608
609	* dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE
610	for use by dirdeps-cache-update.mk
611
612	* dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE
613	for use by dirdeps-cache-update.mk even if we don't use it.
614
615	* dirdeps-cache-update.mk: we only need worry about the background
616	update case, with the above, the update from DIRDEPS_CACHE is
617	simple.
618
619	* meta2deps.py: R 1234 . is not interesting
620
6212020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
622
623	* sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE
624
625	* dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS
626	allows use of lower case for pseudo options.
627
628	* dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE
629
6302020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
631
632	* dirdeps-targets.mk: Look for Makefile.dirdeps.cache
633	which allows us to have a static cache for expensive targets.
634	Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE
635	to regenerate the dirdeps.cache it is a copy of.
636
6372020-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
638
639	* Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense.
640
6412020-07-16  Simon J Gerraty  <sjg@beast.crufty.net>
642
643	* dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record
644	load averages at intervals during build.
645
6462020-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
647
648	* install-mk (MK_VERSION): 20200715
649
650	* dirdeps.mk: tweak Checking line to make matching Finished
651	lines for post-build analysis easier.
652
653	* meta.autodep.mk: use !defined(WITHOUT_META_STATS)
654
655	* progs.mk: avoid prog.mk outputting multiple Finished lines
656
6572020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
658
659	* dirdeps.mk: further optimize dirdeps.cache
660	generate a DIRDEPS.${.TARGET} list for other purposes
661	and improve the layout.
662
6632020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
664
665	* dirdeps.mk: optimize content of dirdeps.cache
666
6672020-06-28  Simon J Gerraty  <sjg@beast.crufty.net>
668
669	* sys/*.mk: make it easier for local*sys.mk to customize by
670	using ?=
671
6722020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
673
674	* gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
675	it is much safer to guard local depends with a simple check for
676	.MAKE.LEVEL > 0
677
6782020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
679
680	* install-mk (MK_VERSION): 20200610
681
682	* mkopt.sh: this needs posix shell so #!/bin/sh should be ok
683
6842020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
685
686	* install-mk (MK_VERSION): 20200606
687
688	* dirdeps-targets.mk: allow for filtering of .TARGETS
689
690	* meta2deps.py: fix bug in processing 'L'ink and 'M'ove
691	entries - and we don't care about 'W'rite entries.
692	Also ignore absolute paths that do not exist.
693
6942020-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
695
696	* install-mk (MK_VERSION): 20200525
697
698	* init.mk: expand and simplify handling of qualified vars
699	like CPPFLAGS.${.TARGET:T}
700
7012020-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
702
703	* install-mk (MK_VERSION): 20200515
704
705	* dirdeps.mk: set _debug_* earlier and allow passing -d*
706	flags to submake when building DIRDEPS_CACHE
707
7082020-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
709
710	* whats.mk: more easily extensible
711
7122020-05-02  Simon J Gerraty  <sjg@beast.crufty.net>
713
714	* whats.mk: greatly simplify by adding what.c to SRCS
715
7162020-05-01  Simon J Gerraty  <sjg@beast.crufty.net>
717
718	* whats.mk: for libs take care how we add to *OBJS
719
720	* lib.mk: : works better with whats.mk
721
7222020-04-25  Simon J Gerraty  <sjg@beast.crufty.net>
723
724	* install-mk (MK_VERSION): 20200420
725
726	* meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
727	contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
728
7292020-04-16  Simon J Gerraty  <sjg@beast.crufty.net>
730
731	* install-mk (MK_VERSION): 20200416
732
733	* sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
734	  interfere with user env.
735
736	* sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
737
738	* autodep.mk: use MAKE_SHELL.
739
7402019-11-21  Simon J Gerraty  <sjg@beast.crufty.net>
741
742	* gendirdeps.mk: clear .SUFFIXES to avoid a lot of
743	  wasted effort, and unexport _meta_files when no longer needed as
744	  it consumes space we need for command line.
745
7462019-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
747
748	* dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
749	  DIRDEP_USE_PRELUDE at start - facilitates job distribution
750
7512019-10-04  Simon J Gerraty  <sjg@beast.crufty.net>
752
753	* dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
754	defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
755	TARGET_SPEC qualified depend files.
756
7572019-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
758
759	* dirdeps-targets.mk: encapsulate logic for finding top-level
760	  targets to set initial DIRDEPS for DIRDEPS_BUILD
761
7622019-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
763
764	* install-mk (MK_VERSION): 20190911
765
766	* compiler.mk: set COMPILER_TYPE
767
7682019-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
769
770	* install-mk (MK_VERSION): 20190704
771
772	* sys/Darwin.mk: support for Objective-C and clang
773
7742019-05-30  Simon J Gerraty  <sjg@beast.crufty.net>
775
776	* dirdeps.mk: avoid insanely long command line when generating cache
777
7782019-05-23  Simon J Gerraty  <sjg@beast.crufty.net>
779
780	* install-mk (MK_VERSION): 20190505
781
782	* whats.mk: handle corner case SHLIB defined but not LIB
783
7842018-09-19  Simon J Gerraty  <sjg@beast.crufty.net>
785
786	* install-mk (MK_VERSION): 20180919
787
788	* dirdeps-options.mk: .undef cannot handle var that expands to
789	  more than one var.
790
7912018-07-08  Simon J Gerraty  <sjg@beast.crufty.net>
792
793	* meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
794
7952018-06-01  Simon J Gerraty  <sjg@beast.crufty.net>
796
797	* meta.autodep.mk: export META_FILES to avoid command line limit
798	* gendirdeps.mk: if we have lots of .meta files put them in
799	  an @list
800
8012018-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
802
803	* dirdeps-options.mk: use local.dirdeps-options.mk
804	  not local.dirdeps-option.mk
805
8062018-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
807
808	* install-mk (MK_VERSION): 20180420
809	* dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
810	  ie. we are building something.
811
8122018-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
813
814	* FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
815
8162018-04-05  Simon J Gerraty  <sjg@beast.crufty.net>
817
818	* install-mk (MK_VERSION): 20180405
819
820	* ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
821	  if needed.
822
8232018-01-18  Simon J Gerraty  <sjg@beast.crufty.net>
824
825	* install-mk (MK_VERSION): 20180118
826
827	* ldorder.mk: let make compute correct link order
828
8292017-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
830
831	* install-mk (MK_VERSION): 20171212
832
833	* gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
834
8352017-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
836
837	* install-mk (MK_VERSION): 20171111
838
839	* lib.mk: ensure META_NOECHO is set
840
8412017-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
842
843	* Allow for host32 on rare occasions.
844
8452017-10-18  Simon J. Gerraty  <sjg@bad.crufty.net>
846
847	* install-mk (MK_VERSION): 20171018
848
849	* whats.mk: include what_thing in what_uuid to avoid problem
850	  when building multiple apps in the same directory.
851
8522017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
853
854	* install-mk (MK_VERSION): 20170812
855
856	* autoconf.mk: Use CONFIGURE_DEPS so Makefile can
857	  add dependencies for config.recheck and config.gen
858
8592017-06-30  Simon J. Gerraty  <sjg@bad.crufty.net>
860
861	* install-mk (MK_VERSION): 20170630
862
863	* meta.stage.mk: avoid triggering stage_* targets with nothing to do.
864
8652017-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
866
867	* meta2deps.py: take special care of '..'
868
8692017-05-15  Simon J. Gerraty  <sjg@bad.crufty.net>
870
871	* install-mk (MK_VERSION): 20170515
872
873	* dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
874	useful/necessary for a Makefile.depend file to export some knobs.
875	This is complicated when we are doing DIRDEPS_CACHE, so we will
876	handle export of any variables listed in DEP_EXPORT_VARS.
877
8782017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
879
880	* install-mk (MK_VERSION): 20170505
881
882	* meta2deps.py: fix botched indenation.
883
8842017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
885
886	* sys/*.mk: Remove setting of MAKE it is unnecessary and
887	  in many cases wrong (basname rather than full path)
888
889	* scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
890
891	* init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
892
8932017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
894
895	* install-mk (MK_VERSION): 20170501
896
897	* doc.mk: fix typo in DOC_INSTALL_OWN
898
899	* inc.mk: handle INCGROUPS similar to freebsd
900
901	* files.mk: add something for files too
902
903	* add staging logic to lib.mk prog.mk etc.
904
9052017-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
906
907	* install-mk (MK_VERSION): 20170424
908
909	* dirdeps.mk: set NO_DIRDEPS when bootstrapping.
910	  also target of bootstrap-this when sed is needed should be ${_want:T}
911
9122017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
913
914	* install-mk (MK_VERSION): 20170418
915
916	* auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
917	  prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
918
9192017-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
920
921	* install-mk (MK_VERSION): 20170401
922
923	* meta2deps.py: add is_src so we can check if obj dependency
924	  is also a src dependency.
925
9262017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
927
928	* install-mk (MK_VERSION): 20170326
929
930	* meta.stage.mk: do nothing if NO_STAGING is defined.
931
9322017-03-24  Simon J. Gerraty  <sjg@bad.crufty.net>
933
934	* auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
935
9362017-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
937
938	* mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
939
9402017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
941
942	* install-mk (MK_VERSION): 20170301
943
944	* dirdeps.mk (_build_all_dirs): update this outside test for empty
945	  DIRDEPS.
946
947	* meta.stage.mk: allow multiple inclusion to the extent it makes
948	  sense.
949
9502017-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
951
952	* prog.mk (install_links): depends on realinstall
953
9542017-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
955
956	* install-mk (MK_VERSION): 20170212
957
958	* dpadd.mk: avoid applying :T:R twice to DPLIBS entries
959
9602017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
961
962	* install-mk (MK_VERSION): 20170130
963
964	* dirdeps.mk: use :range if we can.
965
966	* sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
967
968	* meta2deps.py: clean paths without using realpath() where possible.
969	  fix sort_unique.
970
9712016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
972
973	* install-mk (MK_VERSION): 20161212
974
975	* meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
976	rather than when we detect pid change.
977
9782016-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
979
980	* install-mk (MK_VERSION): 20161207
981
982	* meta.stage.mk: add stage_as_and_symlink for staging packages.
983	  We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
984	  to use foo.tgz to reference the latest staged version - so we
985	  make foo.tgz a symlink to it.
986	  Using a target to do both operations ensures we stay in sync.
987
9882016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
989
990	* install-mk (MK_VERSION): 20161126
991
992	* dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
993	  so it can add dependencies.
994
9952016-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
996
997	* dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
998	  do that they can influence the result correctly.
999
1000	* dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
1001
1002	* dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
1003	  similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
1004
10052016-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1006
1007	* dirdeps.mk: remove dependence on jot (normal situations anyway).
1008	  Before we read another Makefile.depend* set DEP_* vars from
1009	  _DEP_TARGET_SPEC in case it uses any of them with :=
1010	  When bootstrapping, trim any ,* from extention of chosen _src
1011	  Makefile.depend* to get the machine value we subst for.
1012
10132016-09-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1014
1015	* dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
1016	  DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
1017
1018	* sys.mk: extract some bits to sys.{debug,vars}.mk
1019	  for easier re-use by others.
1020
10212016-09-23  Simon Gerraty  <sjg@sjg-mba13>
1022
1023	* lib.mk: Use ${PICO} for extension for PIC objects.
1024	  default to .pico (like NetBSD) safe on case insensitive filesystem.
1025
10262016-08-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1027
1028	* meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
1029
10302016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1031
1032	* install-mk (MK_VERSION): 20160815
1033
1034	* dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
1035	consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
1036
10372016-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1038
1039	* meta.sys.mk (.MAKE.META.IGNORE_PATHS):
1040	  in meta mode we can ignore the mtime of makefiles
1041
10422016-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1043
1044	* install-mk (MK_VERSION): 20160802
1045
1046	* lib.mk (libinstall): depends on beforinstall
1047
1048	* prog.mk (proginstall): depends on beforinstall
1049	  patch from Lauri Tirkkonen
1050
1051	* dirdeps.mk (bootstrap): When bootstrapping; creat
1052	.MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
1053	.MAKE.DEPENDFILE_BOOTSTRAP_SED
1054
1055	* dirdeps.mk: move some comments to where they make sense.
1056
10572016-07-27  Simon J. Gerraty  <sjg@bad.crufty.net>
1058
1059	* dirdeps.mk (DIRDEPS_CACHE): no dirname.
1060
10612016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1062
1063	* install-mk (MK_VERSION): 20160602
1064	* meta.autodep.mk: when passing META_FILES to gendirdeps.mk
1065	  do not apply :T to META_XTRAS
1066	  patch from Bryan Drewery at FreeBSD.org.
1067
10682016-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1069
1070	* install-mk (MK_VERSION): 20160530
1071	* meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
1072	  make it so.
1073
10742016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1075
1076	* install-mk (MK_VERSION): 20160512
1077
1078	* dpadd.mk: always include local.dpadd.mk if it exists
1079	  remove some things that better belong in local.dpadd.mk
1080	  skip INCLUDES_* for staged libs unless SRC_* defined.
1081
1082	* own.mk: add INCLUDEDIR
1083
10842016-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1085
1086	* dirdeps.mk: when doing -f dirdeps.mk if target suppies no
1087	  TARGET_MACHINE - :E will be empty or match part of path, use
1088	  ${MACHINE}
1089
10902016-04-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1091
1092	* meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
1093	  NO_FILEMON_COOKIE
1094
1095	* dirdeps.mk: move the logic that allows for
1096	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1097	  inside the check for !target(_DIRDEP_USE)
1098
10992016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1100
1101	* Use <> when including local*.mk and others which may exist
1102	  elsewhere so that user can better control what they get.
1103
1104	* meta.autodep.mk (NO_FILEMON_COOKIE):
1105	  create a cookie if we ever build dir with nofilemon
1106	  so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
1107
11082016-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1109
1110	* install-mk (MK_VERSION): 20160401
1111
1112	* meta2deps.py: fix old print statement when debugging.
1113
1114	* gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
1115	  patch from Bryan Drewery
1116
11172016-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1118
1119	* install-mk (MK_VERSION): 20160317 (St. Pats)
1120
1121	* warnings.mk: g++ does not like -Wimplicit
1122
1123	* sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
1124	  pelthora of common suffixes for C++
1125
1126	* lib.mk: use .So for shared objects
1127
11282016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1129
1130	* install-mk (MK_VERSION): 20160315
1131
1132	* meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
1133	  normally only applies to scripts.
1134
1135	* dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
1136	  well as outside it.
1137
11382016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1139
1140	* install-mk (MK_VERSION): 20160310
1141
1142	* dirdeps.mk: use targets rather than a list to track DIRDEPS that
1143	  we have processed; the list gets very inefficient as number of
1144	  DIRDEPS gets large.
1145
1146	* sys.dependfile.mk: fix comment wrt MACHINE
1147
1148	* meta.autodep.mk: ignore staged DPADDs when bootstrapping.
1149	  patch from Bryan Drewery
1150
11512016-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1152
1153	* meta2deps.sh: don't ignore subdirs.
1154	  patch from Bryan Drewery
1155
11562016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1157
1158	* install-mk (MK_VERSION): 20160226
1159
1160	* gendirdeps.mk: mark _DEPENDFILE .NOMETA
1161
11622016-02-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1163
1164	* dirdeps.mk: we shouldn't normally include .depend but if we do
1165	  use .dinclude if we can.
1166
11672016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1168
1169	* install-mk (MK_VERSION): 20160218
1170	* sys.clean-env.mk: with recent change to Var_Subst()
1171	  we cannot use the '$$' trick, but .export-literal does the job
1172	  we need.
1173	* auto.dep.mk: make use .dinclude if we can.
1174
1175
11762016-02-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1177
1178	* dirdeps.mk:
1179	  Add _build_all_dirs such that local.dirdeps.mk can
1180	  add fully qualified dirs to it.
1181	  These will be built normally but the current
1182	  DEP_RELDIR will not depend on then (to avoid cycles).
1183	  This makes it easy to hook things like unit-tests into build.
1184
1185
11862016-01-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1187
1188	* dirdeps.mk: add bootstrap-empty
1189
11902015-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1191
1192	* install-mk (MK_VERSION): 20151212
1193	* auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
1194	  only apply :tA to __objdir when comparing to .OBJDIR
1195
11962015-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1197
1198	* install-mk (MK_VERSION): 20151111
1199
1200	* meta.sys.mk: include sys.dependfile.mk
1201
1202	* sys.mk (OPTIONS_DEFAULT_NO): use options.mk
1203	  to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
1204	  include local.sys.env.mk early
1205	  include local.sys.mk later
1206
1207	* own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
1208
12092015-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1210
1211	* meta.sys.mk (META_COOKIE_TOUCH):
1212	  add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
1213
1214	* meta.stage.mk: stage_libs should ignore SYMLINKS.
1215
12162015-10-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1217
1218	* install-mk (MK_VERSION): 20151022
1219
1220	* sys.mk: BSD/OS does not have 'type' as a shell builtin.
1221
12222015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1223
1224	* install-mk (MK_VERSION): 20151020
1225
1226	* dirdeps.mk: Add logic for
1227	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1228
12292015-10-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1230
1231	* install-mk (MK_VERSION): 20151010
1232
12332015-10-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1234
1235	* meta.stage.mk: use staging: ${STAGE_TARGETS:...
1236	  to have stage_lins run last in non-jobs mode.
1237	  Use .ORDER only for jobs mode.
1238
12392015-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1240
1241	* rst2htm.mk: allow for per target flags etc.
1242
12432015-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1244
1245	* install-mk (MK_VERSION): 20150901
1246
1247	* doc.mk: create dir if needed use DOC_INSTALL_OWN
1248
12492015-06-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1250
1251	* install-mk (MK_VERSION): 20150615
1252
1253	* auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
1254	  Follow make's normal precedence rules.
1255
1256	* gendirdeps.mk: allow customization of the header.
1257	  eg. for FreeBSD:
1258	  GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
1259
1260	* meta.autodep.mk: ignore dirdeps.cache*
1261
1262	* meta.stage.mk: when bootstrapping options it can be handy to
1263	  throw warnings rather than errors for staging conflicts.
1264
1265	* meta.sys.mk: include local.meta.sys.mk for customization
1266
12672015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1268
1269	* install-mk (MK_VERSION): 20150606
1270
1271	* dirdeps.mk: don't rely on manually maintained Makefile.depend
1272	  to set DEP_RELDIR and reset DIRDEPS.
1273	  By setting DEP_RELDIR ourselves we can skip :tA
1274
1275	* gendirdeps.mk: skip setting DEP_RELDIR.
1276
12772015-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1278
1279	* dirdeps.mk: avoid wildcards like make(bootstrap*)
1280
12812015-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1282
1283	* install-mk (MK_VERSION): 20150520
1284
1285	* dirdeps.mk: when we are building dirdeps cache file we *want*
1286	  meta_oodate to look at all the Makefile.depend files, so
1287	  set .MAKE.DEPENDFILE to something that won't match.
1288
1289	* meta.stage.mk: for STAGE_AS_* basename of file may not be unique
1290	  so first use absolute path as key.
1291	  Also skip staging at level 0.
1292
12932015-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1294
1295	* install-mk (MK_VERSION): 20150430
1296
1297	* dirdeps.mk: fix _count_dirdeps for non-cache case.
1298
12992015-04-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1300
1301	* install-mk (MK_VERSION): 20150411
1302	  bump version
1303
1304	* own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
1305	  it is here mainly for documentation purposes, since
1306	  if using auto.obj.mk it is better done via sys.mk
1307
13082015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1309
1310	* install-mk (MK_VERSION): 20150401
1311
1312	* meta2deps.sh: support @list
1313
1314	* meta2deps.py: updates from Juniper
1315	  o add EXCLUDES
1316	  o skip bogus input files.
1317	  o treat 'M' and 'L' as both an 'R' and a 'W'
1318
13192015-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1320
1321	* install-mk (MK_VERSION): 20150303
1322
1323	* dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
1324	  which is built via sub-make so we have a .meta file to tell if
1325	  it is out-of-date.
1326	  The dirdeps-cache contains the same dependency rules that we
1327	  normaly construct on the fly.
1328	  This adds a few seconds overhead when the cache is out of date,
1329	  but for a large target, the savings can be significant (10-20min).
1330
13312014-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1332
1333	* install-mk (MK_VERSION): 20141118
1334
1335	* meta.stage.mk: add stale_staged
1336
1337	* dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
1338	  only useful under very rare conditions such as
1339	  FreeBSD's make universe.
1340
1341	* auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
1342
13432014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1344
1345	* install-mk (MK_VERSION): 20141111
1346
1347	* mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
1348
13492014-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1350
1351	* FILES: include mkopt.sh which allows handling options in shell
1352	  scripts in a manner compatible with options.mk
1353
13542014-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1355
1356	* meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
1357	  for GENDIRDEPS_FILTER to avoid surprises.
1358
13592014-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1360
1361	* dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
1362	  the time it is applied to __depdirs they have.
1363
1364	* dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
1365	  expects patterns like *.${MACHINE}
1366
1367	* cython.mk (pyprefix?): use pyprefix to find python bits
1368	  since prefix might be something else (where we install our
1369	  stuff)
1370
13712014-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1372
1373	* install-mk (MK_VERSION): 20140911
1374
1375	* dirdeps.mk: add bootstrap target to simplify adding support for
1376	  new MACHINE.
1377
13782014-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1379
1380	* gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
1381	  GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
1382	  Makefile.depend files.
1383
13842014-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1385
1386	* install-mk (MK_VERSION): 20140828
1387
1388	* cython.mk: capture logic for building python extension modules
1389	  with Cython.
1390
13912014-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1392
1393	* meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
1394
13952014-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1396
1397	* install-mk (MK_VERSION): 20140801
1398
1399	* dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
1400	identify the autodep.mk variant.
1401
1402	* sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
1403	initial value does not match .MAKE.DEPENDFILE_PREFIX
1404
1405	* meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
1406
14072014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1408
1409	* install-mk (MK_VERSION): 20140522
1410
1411	* lib.mk: use CC to link shlib for linux too
1412	  patch from Brendan MacDonell
1413
14142014-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1415
1416	* meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
1417	  if WITH_META_STATS is defined.
1418
14192014-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1420
1421	* dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
1422	  to supress dirdeps outside of .CURDIR.
1423
14242014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1425
1426	* Fix spelling errors - patch from Pedro Giffuni
1427
14282014-03-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1429
1430	* install-mk (MK_VERSION): 20140314
1431
1432	* dirdeps.mk (beforedirdeps): a handy hook
1433
1434	* dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
1435	  to visit leaf dirs to be intercepted (eg. for distributed
1436	  build).
1437
1438	* dirdeps.mk (__depdirs): ensure // don't sneak in
1439
1440	* gendirdeps.mk (DIRDEPS): ensure // don't sneak in
1441
1442
14432014-02-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1444
1445	* rst2htm.mk (RST2PDF): add support for rst2pdf
1446
14472014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1448
1449	* install-mk (MK_VERSION): bump version
1450	* dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
1451	  available.
1452
14532014-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1454
1455	* options.mk: avoid :U so this isn't bmake dependent
1456
14572014-02-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1458
1459	* options.mk: cleanup and simplify semanitcs
1460	  NO_* dominates all, if both WITH_* and WITHOUT_*
1461	  are defined then result is DOMINATE_* which defaults to "no".
1462	  Ie. WITHOUT_ normally wins.
1463
14642013-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1465
1466	* install-mk (MK_VERSION): bump version
1467	* meta2deps.py: convert to print function for python3 compat.
1468	  we also need to open files with mode 'r' rather than 'rb'
1469	  otherwise we get bytes instead of strings.
1470
14712013-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1472
1473	* install-mk (MK_VERSION): bump version
1474
1475	* dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
1476	  apply the same filtering (M_dep_qual_fixes) when setting _machines
1477	  as _build_dirs.
1478	  Also fix the filtering of Makefile.depend files - for reporting
1479	  what we are looking for (M_dep_qual_fixes can get confused by
1480	  Makefile.depend)
1481	  Add some more debug info.
1482
14832013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1484
1485	* gendirdeps.mk (_objtops): fix typo also
1486	  while processing M2D_OBJROOTS to gather qualdir_list
1487	  qualify $ql with loop iterator to ensure correct results.
1488
14892013-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1490
1491	* install-mk (MK_VERSION): 20130801
1492	* libs.mk: update to match progs.mk
1493
14942013-07-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1495
1496	* install-mk (MK_VERSION): 20130726
1497	  some updates from Juniper and FreeBSD
1498	  o meta2deps.py: indicate file and line number when we hit parse
1499	    errors
1500	    also allow @file to provide huge list of .meta files.
1501	* meta2deps.py: add try_parse() to cleanup the above.
1502
15032013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1504
1505	* install-mk (MK_VERSION): 20130716
1506	* own.mk: add GPROG as an option
1507	* prog.mk: honor MK_GPROF==yes
1508
15092013-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1510
1511	* install-mk (MK_VERSION): 20130505
1512	* gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
1513	  for when $MACHINE isn't enough for objdir distinction.
1514	  Bring meta2deps.sh closer to par with meta2deps.py.
1515
15162013-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1517
1518	* meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
1519	  also if the target 'beforeinstall' exists, make it depend on
1520	  .dirdep (incase it uses STAGE_INSTALL).
1521
15222013-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1523
1524	* install-mk (MK_VERSION): 20130401 ;-)
1525	* meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
1526	  wrapper around install(1).
1527	* options.mk (OPTION_PREFIX): Allow a prefix other than MK_
1528
15292013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1530
1531	* meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
1532	* install-mk (MK_VERSION): bump version
1533
15342013-03-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1535
1536	* install-mk (MK_VERSION): bump version
1537	* gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
1538	  any trailing /., rather apply :tA only when needed.
1539	* gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
1540	* meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
1541	  consistently.
1542	* dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
1543
15442013-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1545
1546	* gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
1547	  it is simpler to just not update when say building for "host"
1548	  (where we know we apply filters to DIRDEPS), and using a
1549	  non-machine qualified dependfile.
1550
15512013-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1552
1553	* dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
1554	  and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
1555	* gendirdeps.mk: ensure _objroot has trailing / if it needs it.
1556	* meta2deps.py: if machine is "host", then also trim
1557	  self.host_target from any OBJROOTS.
1558
1559
15602013-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1561
1562	* gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
1563	  qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
1564	  but _DEPENDFILE does not, compare the new _DEPENDFILE against
1565	  .MAKE.DEPENDFILE_DEFAULT and discard if the same.
1566
15672013-03-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1568
1569	* meta.stage.mk: use STAGE_TARGETS to control .ORDER
1570	  and hook to all: via staging:
1571
15722013-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1573
1574	* sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
1575	  use a separate variable for the default .MAKE.DEPENDFILE value
1576	  so that it can be controlled independently of
1577	  .MAKE.DEPENDFILE_PREFERENCE
1578
1579	* meta.stage.mk: throw error if cp fails etc.
1580	  Stage*() return early if passed no args.
1581	  .ORDER stage_*
1582
15832013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1584
1585	* install-mk (MK_VERSION): bump version
1586	* gendirdeps.mk: handle multiple M2D_OBJROOTS better.
1587
15882013-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1589
1590	* install-mk (MK_VERSION): bump version to 20130210
1591	* import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
1592	  from Juniper.
1593	  o dirdeps.mk now fully supports TARGET_SPEC consisting of more
1594	    than just MACHINE.
1595	  o no longer use DEP_MACHINE from Makefile.depend* so remove it.
1596
15972013-01-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1598
1599	* install-mk (MK_VERSION): bump version to 20130123
1600	* meta.stage.mk: add stage_links (hard links).
1601	  if doing hard links, we add dest to link as well.
1602	  Default the stage dir for [sym]links to STAGE_OBJTOP since
1603	  these are typically specified as absolute paths.
1604	  Add -m "mode" flag to StageFiles and StageAs.
1605
16062012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1607
1608	* install-mk (MK_VERSION): bump version to 20121111
1609	* autoconf.mk: avoid meta mode seeing changed commands for config.status
1610	* meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
1611	  in case we were found via .../mk
1612	* sys.clean-env.mk: move it from examples, we and others use it
1613	  "as is".
1614	* FILES: add srctop.mk and options.mk
1615	* own.mk: convert to using options.mk
1616	  which is modeled after FreeBSD's handling of MK_*
1617	  but more flexible.
1618	  This allows MK_* for boolean knobs to not be confused
1619	  with MK* which can be commands.
1620
1621	* examples/sys.clean-env.mk: add WITH[OUT]_ to
1622	  MAKE_ENV_SAVE_PREFIX_LIST.
1623	  Mention that HOME=/var/empty might be a good idea.
1624
16252012-11-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1626
1627	* sys.dependfile.mk: if not depend file exists, $MACHINE
1628	  specific ones are supported but not the default,
1629	  check if any exist and follow suit.
1630
16312012-11-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1632
1633	* install-mk (MK_VERSION): bump version to 20121106
1634
16352012-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1636
1637	* import latest dirdeps.mk and meta2deps.py from Juniper.
1638	* progs.mk: add MAN and CXXFLAGS to PROG_VARS
1639	  also add PROGS_TARGETS and pass on PROG_CXX if it seems
1640	  appropriate.
1641
16422012-11-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1643
1644	* meta.stage.mk: update CLEANFILES
1645	  remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
1646	* progs.mk: Add LDADD to PROG_VARS
1647
16482012-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1649
1650	* meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
1651	  _STAGED_DIRS so that these can be turned into filters for
1652	  GENDIRDEPS_FILTER.
1653
16542012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1655
1656	* install-mk (MK_VERSION): bump version to 20121010
1657	* meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
1658	target.dirdep matches .dirdep
1659
16602012-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1661
1662	* install-mk (MK_VERSION): bump version to 20120808
1663	* import latest meta2deps.py from Juniper.
1664
16652012-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1666
1667	* install-mk (MK_VERSION): bump version to 20120711
1668	* dep.mk: add explicit dependencies on SRCS after applying
1669	  SRCS_DEP_FILTER
1670	* meta.autodep.mk: add explicit dependencies on SRCS after
1671	  applying SRCS_DEP_FILTER
1672	* meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
1673
16742012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1675
1676	* install-mk (MK_VERSION): bump version to 20120626
1677	* meta.sys.mk: ignore PYTHON if it does not exist
1678	  compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
1679	* meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
1680	  entries ending in .${MACHINE} to decide if qualified _dirdep is
1681	  needed.
1682	* gendirdeps.mk: only produce unqualified deps if no
1683	  .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
1684	* meta.subdir.mk: apply SUBDIRDEPS_FILTER
1685
16862012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1687
1688	* install-mk (MK_VERSION): bump version to 20120420
1689	* add sys.dependfile.mk so we can experiment with
1690	  .MAKE.DEPENDFILE_PREFERENCE
1691	* meta.autodep.mk: _DEPENDFILE is precious!
1692
16932012-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1694
1695	* install-mk (MK_VERSION): bump version to 20120315
1696	* install-new.mk: avoid being interrupted
1697
16982012-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1699
1700	* man.mk: MAN might have multiple values so be careful with exists().
1701
17022012-01-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1703
1704	* install-mk (MK_VERSION): bump version to 20120112
1705	* fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
1706	  as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
1707
17082011-12-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1709
1710	* install-mk (MK_VERSION):  bump version to 20111201
1711	* import dirdeps.mk from Juniper sjg@
1712	  o more consistent handling of DEP_MACHINE, especially when
1713	    dealing with an odd Makefile.depend, when normally using
1714	    Makefile.depend.${MACHINE}
1715
17162011-11-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1717
1718	* install-mk (MK_VERSION): bump version to 20111122
1719	* meta.autodep.mk: add some debug output, be more crisp about
1720	  updating.  Use ${.ALLTARGETS:M*.o} as a clue for .depend
1721
17222011-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1723
1724	* install-mk (MK_VERSION): bump version to 20111111
1725	  it's too cool to miss
1726	* import meta* updates from Juniper sjg@
1727	  o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
1728	    normally using Makefile.depend.${MACHINE}), handy for
1729	    read-only manually maintained dependencies.
1730	  o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
1731	  o gendirdeps.mk if ERROR: from meta2deps.py do not update
1732	    anything.
1733
17342011-10-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1735
1736	* install-new.mk separate the cmp and copy logic to its own function.
1737
17382011-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1739
1740	* install-mk (MK_VERSION): bump version to 20111028
1741	* sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
1742	* subdir.mk: ensure _SUBDIRUSE is provided
1743	* meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
1744	* meta.subdir.mk: always allow for Makefile.depend
1745
17462011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1747
1748	* install-mk (MK_VERSION): bump version to 20111010
1749	  o minor tweak to *dirdeps.mk from Juniper sjg@
1750
17512011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1752
1753	* install-mk (MK_VERSION): bump version to 20111001
1754	  o add meta2deps.py from Juniper sjg@
1755	  o tweak gendirdeps.mk to work with meta2deps.py when not
1756	    cross-building
1757	* autoconf.mk: add autoconf-input as a hook for regenerating
1758	  AUTOCONF_INPUTS (configure).
1759
17602011-08-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1761
1762	* meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
1763	  trigger for updating Makefile.depend*
1764
17652011-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1766
1767	* install-mk (MK_VERSION): bump version to 20110808
1768	* obj.mk: minor cleanup
1769	* auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
1770
17712011-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1772
1773	* auto.obj.mk (.OBJDIR): throw an error if we cannot use the
1774	  specified dir.
1775
17762011-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1777
1778	* meta.autodep.mk: if XMAKE_META_FILE is set
1779	  the makefile uses a foreign make, and so dependencies
1780	  can only be gathered from a clean tree build.
1781
17822011-06-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1783
1784	* install-mk (MK_VERSION): bump version to 20110622
1785	* meta.autodep.mk: improve bootstraping
1786
17872011-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1788
1789	* yacc.mk: handle the corner case of .c being removed
1790	  while .h remains.
1791
17922011-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1793
1794	* yacc.mk: do .y.h and .y.c separately
1795
17962011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1797
1798	* install-mk (MK_VERSION): bump version to 20110606
1799	* don't store SRC_DIRDEPS in Makefile.depend* by default
1800	  not everyone needs it.
1801
18022011-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1803
1804	* install-mk (MK_VERSION): bump version to 20110505
1805	  first release including meta mode makefiles
1806
18072011-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1808
1809	* meta.stage.mk: add STAGE_AS_SETS and stage_as
1810	  for things that need to be staged with different names.
1811
18122011-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1813
1814	* meta.stage.mk: add notion of STAGE_SETS
1815	  so a makefile can stage to multiple dirs
1816
18172011-04-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1818
1819	* rst2htm.mk: convert rst to s5 (slides) or plain html depending
1820	  on target name.
1821
18222011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1823
1824	* install-mk (MK_VERSION): bump version to 20110330
1825
18262011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
1827
1828	* sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
1829	  can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
1830	* sys.mk: re-define M_whence in terms of M_type.
1831	  M_type is useful for checking if something is a builtin.
1832
18332011-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1834
1835	* meta.stage.mk: add stage_symlinks and leverage StageLinks for
1836	  stage_libs
1837
18382011-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1839
1840	* dirdeps.mk: correct value for _depdir_files depends on
1841	  .MAKE.DEPENDFILE
1842	  Add our copyright - just to make it clear we have frobbed this
1843	  quite a bit.
1844	  DEP_MACHINE needs to be set to MACHINE each time, if using only
1845	  Makefile.depend (cf. Makefile.depend.${MACHINE})
1846
1847	* meta.stage.mk: meta mode version of staging
1848
1849	* init.mk, final.mk: include local.*.mk to simplify customization
1850
18512011-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1852
1853	* auto.obj.mk: just because we are doing mk destroy, we should
1854	  still set .OBJDIR correctly if it exists.
1855
1856	* install-mk (mksrc): do not exclude meta.sys.mk
1857
18582011-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1859
1860	* host-target.mk: set/export _HOST_ARCH etc separately,
1861	  catch junk resulting from uname -p, so we can find sys/Linux.mk
1862	  correctly.
1863
18642011-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1865
1866	* meta.sys.mk: throw an error if /dev/filemon is missing and we
1867	  expected to be updating Makefile.depend*
1868
18692011-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1870
1871	* install-mk (MK_VERSION): bump version to 20110214
1872	* meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
1873
18742010-09-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1875
1876	* meta.sys.mk: not valid for older bmake
1877
18782010-09-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1879
1880	* install-mk (MK_VERSION): bump version to 20100919
1881	include dirdeps.mk et al from Juniper Networks,
1882	for meta mode - requires filemon(9).
1883	* sys.mk, subdir.mk: Add hooks for meta mode.
1884	we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
1885	to make turning it on/off simple.
1886
18872010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1888
1889	* install-mk (MK_VERSION): bump version to 20100616
1890	* fix typo in sys.mk
1891
18922010-06-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1893
1894	* install-mk (MK_VERSION): bump version to 20100612
1895	* lib.mk: remove duplicate addition to SOBJS
1896
18972010-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1898
1899	* sys.mk: Add a means of selectively turning on debug flags.
1900	  Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
1901	  will act as if we did make -dv if .CURDIR ends in lib/sjg
1902	  DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
1903	  the start of sys.mk rather than the end.
1904	  This only makes sense for leaf dirs, so we check that
1905	  .MAKE.LEVEL > 0
1906
19072010-06-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1908
1909	* install-mk (MK_VERSION): bump version to 20100608
1910	* sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
1911	* examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
1912	  also make it easier for folk to tweak
1913
19142010-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1915
1916	* install-mk (MK_VERSION): bump version to 20100606
1917	  do not install examples/*
1918	* FILES: add examples/sys.clean-env.mk
1919	* examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
1920	  this requires bmake-20100606 or later to work.
1921
19222010-05-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1923
1924	* sys.mk (M_tA): better simulate the result of :tA if not available.
1925
19262010-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1927
1928	* sys.mk: canonicalize MAKE_VERSION
1929	  old versions reported bmake-<src-date> build-<build-date>
1930	  whereas we only care about <src-date>
1931
19322010-04-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1933
1934	* install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
1935	* lib.mk: we only build the shared lib if SHLIB_FULLVERSION
1936	  is !empty
1937
19382010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1939
1940	* dpadd.mk: use LDADD_* if defined.
1941
19422010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1943
1944	* install-mk (MK_VERSION): bump version to 20100420
1945	* sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
1946	* autoconf.mk allow AUTO_AUTOCONF
1947
19482010-04-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1949
1950	* obj.mk: add objwarn to keep freebsd makefiles happy
1951	* auto.obj.mk: ensure Mkdirs is available.
1952	* FILES: add auto.dep.mk - a simpler version of autodep.mk
1953	* dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
1954	  asked to do that.
1955	  fix/simplify the tests for when to run mkdep.
1956	* auto.dep.mk: add some explanation of how/what we do.
1957	* autodep.mk: skip the .OPTIONAL frobbing of .depend
1958	  bmake's FROM_DEPEND flag makes it redundant.
1959
19602010-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1961
1962	* install-mk (MK_VERSION): bump version to 20100404
1963	* subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
1964	* obj.mk: protect from multiple inclusion even as bsd.obj.mk
1965	Also create a target _SUBDIRUSE so that we can  be used without
1966	subdir.mk
1967
19682010-04-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1969
1970	* dep.mk: use <> when .including so can override.
1971
19722010-01-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1973
1974	* lib.mk (SHLIB_LINKS): ensure a string comparison.
1975
19762010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1977
1978	* install-mk (MK_VERSION): bump version to 20100102
1979	* own.mk: ensure PRINTOBJDIR works
1980	* autoconf.mk: pass on CONFIGURE_ARGS
1981	* init.mk: handle COPTS.${.IMPSRC:T} etc.
1982	* lib.mk: allow sys.mk to control SHLIB_FULLVERSION
1983	  fix handling of symlinks for darwin
1984	* libnames.mk: add DSHLIBEXT for libs which only exist as shared.
1985	* man.mk: suppress chown when not root.
1986	* rst2htm.mk: allow srcs from multiple locations.
1987	* sys.mk: M_whence, stop after 1st line of output.
1988	* sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
1989	* sys/SunOS.mk: we need to export PATH
1990
19912009-12-23  Simon J. Gerraty  <sjg@void.crufty.net>
1992
1993	* install-mk (MK_VERSION): bump version
1994	  include rst2htm.mk
1995
19962009-12-17  Simon J. Gerraty  <sjg@void.crufty.net>
1997
1998	* sys.mk,libnames.mk add .-include <local.*>
1999	  this allows local customization without the need to edit the
2000	  distributed files.
2001
20022009-12-14  Simon J. Gerraty  <sjg@void.crufty.net>
2003
2004	* dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
2005	  older versions already installed.
2006
20072009-12-13  Simon J. Gerraty  <sjg@void.crufty.net>
2008
2009	* stage.mk (.stage-install): generalize lib.mk's .libinstall
2010	* rules.mk rules for generic Makefile.
2011	* inc.mk install for includes.
2012
20132009-12-11  Simon J. Gerraty  <sjg@void.crufty.net>
2014
2015	* sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
2016	  this, so provide it if using native make.
2017
20182009-12-10  Simon J. Gerraty  <sjg@void.crufty.net>
2019
2020	* FILES: move all the platform *.sys.mk files to sys/*.mk
2021	* Rename Generic.sys.mk to sys.mk - we always want it.
2022
20232009-11-17  Simon J. Gerraty  <sjg@void.crufty.net>
2024
2025	* install-mk (MK_VERSION): bump version
2026	* host-target.mk: only export the expensive stuff
2027	* Generic.sys.mk (sys_mk): for SunOS we need to look for
2028	  ${HOST_OS}.${HOST_OSMAJOR} too!
2029
20302009-11-07  Simon J. Gerraty  <sjg@void.crufty.net>
2031
2032	* install-mk (MK_VERSION): bump version
2033	* lib.mk: if sys.mk doesn't give us an lorder, don't use it.
2034	  based on patch from Greg Olszewski.
2035	* Generic.sys.mk: if we have nothing to work with
2036	set LORDER etc only if we can find it.
2037
20382009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
2039
2040	* install-mk (MK_VERSION): bump version
2041	* man.mk: cleanman: remove CLEANMAN if defined.
2042
20432009-09-04  Simon J. Gerraty  <sjg@void.crufty.net>
2044
2045	* SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
2046
20472009-07-17  Simon J. Gerraty  <sjg@void.crufty.net>
2048
2049	* install-mk (MK_VERSION): bump version
2050	include auto.obj.mk
2051
2052
20532009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
2054
2055	* prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
2056
20572008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
2058
2059	* install-mk (MK_VERSION): bump version
2060	man.mk: ensure we generate *.cat1 etc in .
2061
20622008-07-16  Simon J. Gerraty  <sjg@void.crufty.net>
2063
2064	* install-mk (MK_VERSION): bump version
2065	add prlist.mk
2066
20672007-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
2068
2069	* Generic.sys.mk: Allow os specific sys.mk to be in a
2070	subdir of ${.PARSEDIR}
2071
20722007-11-22  Simon J. Gerraty  <sjg@void.crufty.net>
2073
2074	* install-mk (MK_VERSION): bump version
2075	* general cleanup
2076	* dpadd.mk introduce DPMAGIC_LIBS_*
2077
20782007-04-30  Simon J. Gerraty  <sjg@void.crufty.net>
2079
2080	* install-mk (MK_VERSION): bump version
2081
2082	* libs.mk, progs.mk, autodep.mk: allow for per lib/prog
2083	depend files and ensure clean is called for each lib/prog.
2084
20852007-03-27  Simon J. Gerraty  <sjg@void.crufty.net>
2086
2087	* autodep.mk (.depend): delete lines that do not start with
2088	space and do not contain ':'
2089
20902007-02-16  Simon J. Gerraty  <sjg@void.crufty.net>
2091
2092	* autodep.mk (.depend): gcc may wrap lines if pathnames are long
2093	so make sure the transform for .OPTIONAL copes.
2094
20952007-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2096
2097	* install-mk (MK_VERSION): bump version
2098
2099	* own.mk: make sure RM and LN are defined.
2100
2101	* obj.mk: fix a typo, and objlink target.
2102
21032006-12-30  Simon J. Gerraty  <sjg@void.crufty.net>
2104
2105	* install-mk (MK_VERSION): bump version
2106	* added libs.mk - analogous to progs.mk
2107	  make both of them always inlcude {lib,prog}.mk
2108
21092006-12-28  Simon J. Gerraty  <sjg@void.crufty.net>
2110
2111	* progs.mk: add a means of building multiple apps in one dir.
2112
21132006-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
2114
2115	* install-mk (MK_VERSION): bump version to 20061126
2116
2117	* warnings.mk: detect invalid WARNINGS_SET
2118
2119	* warnings.mk: use ${.TARGET:T:R}.o when looking for target
2120	specific warnings.
2121
2122	* For .cc sources, turn off warnings that g++ vomits on.
2123
21242006-11-08  Simon J. Gerraty  <sjg@void.crufty.net>
2125
2126	* own.mk: if __initialized__ target doesn't exist and we are
2127	FreeBSD we got here directly from sys.mk
2128
21292006-11-06  Simon J. Gerraty  <sjg@void.crufty.net>
2130
2131	* install-mk (MK_VERSION): bump version to 20061106
2132	add scripts.mk
2133
21342006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
2135
2136	* install-mk (MK_VERSION): bump version to 20060318
2137
2138	* autodep.mk: avoid := when modifying OBJS into __dependsrcs
2139
21402006-03-02  Simon J. Gerraty  <sjg@void.crufty.net>
2141
2142	* install-mk (MK_VERSION): bump version to 20060302
2143	* autodep.mk: use -MF et al to help gcc+ccache DTRT.
2144
21452006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
2146
2147	* install-mk (MK_VERSION): bump version to 20060301
2148	* autodep.mk (.depend):
2149	if MAKE_VERSION is newer than  20050530 we can make .END depend on
2150	.depend and make .depend depend on __depsrcs that exist.
2151	* dpadd.mk: add SRC_PATHADD
2152
21532005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
2154
2155	* install-mk (MK_VERSION): bump version to 20051104
2156	* prog.mk: remove all the LIBC?= junk, use
2157	.-include libnames.mk instead (none by default).
2158	also if USE_DPADD_MK is set, include that.
2159
21602005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2161
2162	* install-mk (MK_VERSION): bump version to 20051001
2163	Add UnixWare.sys.mk from Klaus Heinz.
2164
21652005-04-05  Simon J. Gerraty  <sjg@void.crufty.net>
2166
2167	* install-mk: always install *.sys.mk and if need be symlink one
2168	to sys.mk
2169
21702005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2171
2172	* subdir.mk, own.mk: use .MAKE rather than MAKE
2173
21742004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
2175
2176	* own.mk: don't use NetBSD's _SRC_TOP_ it can
2177	cause confusion.  Also don't take just 'mk' as a
2178	srctop indicator.
2179
21802004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
2181
2182	* warnings.mk: overhauled, now very powerful.
2183
21842004-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2185
2186	* Generic.sys.mk: need to use ${.PARSEDIR} with exists().
2187
21882004-02-01  Simon J. Gerraty  <sjg@void.crufty.net>
2189
2190	* install-mk (MK_VERSION): bump version to 20040201
2191	* extract HOST_TARGET stuff to host-target.mk so own.mk and
2192	Generic.sys.mk can share.
2193	* fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
2194
21952003-09-30  Simon J. Gerraty  <sjg@void.crufty.net>
2196
2197	* install-mk (MK_VERSION): 20030930
2198	* rename generic.sys.mk to Generic.sys.mk
2199	so that it does not get installed (unless being used as sys.mk)
2200	* set OS and ROOT_GROUP for those that we know the value.
2201	for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
2202	we don't do it again for each sub-make.
2203
22042003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
2205
2206	* install-mk (MK_VERSION): 20030928
2207	Add some extra *.sys.mk from bootstrap-pkgsrc
2208	some of these likely still need work.
2209	Make everything default to root:wheel ownership,
2210	sys.mk can set ROOT_GROUP accordingly.
2211
22122003-08-07  Simon J. Gerraty  <sjg@void.crufty.net>
2213
2214	* install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
2215	not the portable ones.
2216
22172003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
2218
2219	* install-mk: add ability to use cp -f when updating
2220	destination .mk files.  Also now possible to play games with
2221	FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
2222	into dest - not recommended unless you seriously want to.
2223
22242003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
2225
2226	* own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
2227	for semi-compatability with NetBSD.
2228
22292003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
2230
2231	* install-mk: add a version indicator
2232
22332003-07-22  Simon J. Gerraty  <sjg@void.crufty.net>
2234
2235	* prog.mk: don't try and use ${LIBCRT0} if its /dev/null
2236
2237	* install-mk: Allow FORCE_SYS_MK to come from env
2238
2239
2240
2241