xref: /freebsd/contrib/bmake/mk/ChangeLog (revision d9a65c5de1c9f30ae71ce0be8fb88be9d20d216d)
12025-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* install-mk (MK_VERSION): 20250314
4
5	* meta.stage.mk: StageFiles --subdir: preserve the dir part of
6	each file under $dest
7
82025-03-12  Simon J Gerraty  <sjg@beast.crufty.net>
9
10	* meta.autodep.mk: do a better job of handling MAKESYSPATH in
11	GENDIRDEPS_ENV.  If we have MAKE_VERSION >= 20230123 we can just
12	use .SYSPATH, otherwise it is a bit more complicated.
13
142025-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
15
16	* rust.mk: use RUST_LIBS and RUST_PROGS
17
182025-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
19
20	* install-mk (MK_VERSION): 20250101
21
22	* use W flag to :S and :C rather than :tW
23
242024-12-16  Simon J Gerraty  <sjg@beast.crufty.net>
25
26	* rust.mk: add RUSTFLAGS if needed
27
282024-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
29
30	* init.mk (OBJS_SRCS_FILTER): apply this as
31	${OBJS_SRCS_FILTER:ts:} as we do in FreeBSD.
32
332024-12-03  Simon J Gerraty  <sjg@beast.crufty.net>
34
35	* install-mk (MK_VERSION): 20241202
36
37	* setopts.sh: needed by newlog.sh
38
392024-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
40
41	* meta.sys.mk: add META_MODE_XTRAS to META_MODE to make it
42	easier to add things like 'env' when debugging.
43
44	* install-mk (MK_VERSION): 20241122
45
46	* rust.mk: rename CARGO* to RUST_CARGO* so I don't feel
47	like this makefile should be renamed to cargo.mk
48
492024-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
50
51	* dirdeps.mk: add DIRDEPS_CACHED_ENV to dirdeps-cached and
52	DIRDEP_USE_EPILOGUE to _DIRDEP_USE
53
542024-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
55
56	* meta.sys.mk: if MK_META_ERROR_TARGET is yes and NEWLOG_SH is
57	set, and ERROR_LOGDIR already exists, hook _rotateErrorLog to
58	.BEGIN target.
59
602024-10-27  Simon J Gerraty  <sjg@beast.crufty.net>
61
62	* options.mk: add support for DEBUG_OPTIONS (similar to
63	DEBUG_DIRDEPS) to allow us to see where options get set.
64	Eg. DEBUG_OPTIONS="STAGING*" gives:
65
66	bmake[1]: "mk/options.mk" line 89: sys.mk: MK_STAGING=yes (MK_DIRDEPS_BUILD=no)
67	bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING=yes
68	bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING_PROG=no
69	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_MAN=yes (MK_STAGING=yes)
70	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_PROG=no (MK_STAGING=yes)
71	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_RUST=no (MK_STAGING_PROG=no)
72
73	* own.mk: fix setting of STAGE_OBJTOP (normally set by sys.dirdeps.mk)
74
752024-10-26  Simon J Gerraty  <sjg@beast.crufty.net>
76
77	* rust.mk: add some documentation and support for staging
78
792024-10-25  Simon J Gerraty  <sjg@beast.crufty.net>
80
81	* rust.mk: a means of integrating Rust projects into a larger build.
82
832024-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
84
85	* dirdeps-targets.mk: if DEBUG_DIRDEPS_TARGETS and we found
86	STATIC_DIRDEPS_CACHE, report its relative path.
87
882024-09-30  Simon J Gerraty  <sjg@beast.crufty.net>
89
90	* dirdeps.mk: tweak the debug message for "Loading" a
91	Makefile.depend file, always report what the actual makefile is
92	with the DIRDEP it is for.
93	Remove the redundant "Looking" message.
94
952024-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
96
97	* meta2deps.py: when raising AssertionError include meta file name
98	with $SB trimmed if possible.
99
1002024-09-23  Simon J Gerraty  <sjg@beast.crufty.net>
101
102	* meta2deps.py: replace assert() with raise AssertionError when we
103	detect missing eXits, to ensure a meaningful message gets into
104	log.
105
1062024-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
107
108	* install-mk (MK_VERSION): 20240921
109
110	* FILES: add genfiles.mk
111
1122024-09-20  Simon J Gerraty  <sjg@beast.crufty.net>
113
114	* install-mk (MK_VERSION): 20240920
115
116	* cython.mk: Get PYTHON_VERSION from PYTHON
117
1182024-08-31  Simon J Gerraty  <sjg@beast.crufty.net>
119
120	* subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*}
121	  and handle subdir with '-' in its name.
122
1232024-08-23  Simon J Gerraty  <sjg@beast.crufty.net>
124
125	* install-mk (MK_VERSION): 20240820
126
127	* links.mk: Allow a filter to be applied to SYMLINKS etc.
128	It is up to [BUILD_][SYM]LINKS_FILTER to do something sane.
129	Also only claim we are making a symlink if the value changed.
130
1312024-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
132
133	* install-mk (MK_VERSION): 20240616
134
135	* dirdeps.mk: apply DEP_DIRDEPS_BUILD_DIR_FILTER after we have
136	computed build dirs, since some filters cannot be easily expressed via
137	DEP_DIRDEPS_FILTER.
138
1392024-05-31  Simon J Gerraty  <sjg@beast.crufty.net>
140
141	* dirdeps.mk: move reset of DIRDEPS_EXPORT_VARS
142	until after we a finished with it if building a cache.
143
1442024-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
145
146	* install-mk (MK_VERSION): 20240504
147
148	* dirdeps.mk: allow BUILD_DIRDEPS_OVERRIDES to pass overrides to
149	sub-make building DIRDEPS_CACHE.
150
1512024-04-24  Simon J Gerraty  <sjg@beast.crufty.net>
152
153	* meta.autodep.mk: do not override start_utc
154
1552024-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
156
157	* sys.dirdeps.mk: set defaults for DEP_* at level 0 too.
158	These help when first include of Makefile.depend happens in a leaf
159	dir.
160
161	* install-mk (MK_VERSION): 20240414
162
1632024-04-09  Simon J Gerraty  <sjg@beast.crufty.net>
164
165	* install-mk (MK_VERSION): 20240408
166
167	* init.mk: allow for _ as well as . to join V
168	and Q from QUALIFIED_VAR_LIST and VAR_QUALIFIER_LIST.
169
170	* progs.mk: avoid overlap between PROG_VARS and
171	init.mk's QUALIFIED_VAR_LIST since PROG would also
172	match its VAR_QUALIFIER_LIST,
173	libs.mk does not have the same issue.
174
175	* subdir.mk: _SUBDIRUSE for realinstall should run install
176	remove include of ${.CURDIR}/Makefile.inc that can be done via
177	local.subdir.mk where needed
178
179	* own.mk: do not conflict with man.mk
180
1812024-03-19  Simon J Gerraty  <sjg@beast.crufty.net>
182
183	* install-mk (MK_VERSION): 20240314
184
185	* add sys/Cygwin.mk from Christian Franke
186
1872024-03-09  Simon J Gerraty  <sjg@beast.crufty.net>
188
189	* install-mk (MK_VERSION): 20240309
190
191	* meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not
192	want to save the .ERROR_META_FILE
193
1942024-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
195
196	* install-mk (MK_VERSION): 20240220
197
198	* sys.dirdeps.mk, dirdeps-targets.mk, init.mk:
199	do not set .MAIN: dirdeps in sys.dirdeps.mk
200	dirdeps-targets.mk will do that for top-level builds
201	and init.mk will do it for others.
202	This allows a Makefile which has no need of 'dirdeps' to
203	set .MAIN for itself and "just work".
204
2052024-02-18  Simon J Gerraty  <sjg@beast.crufty.net>
206
207	* bsd.*.mk: for makefiles that get a bsd. symlink,
208	use _this in  multiple inclusion tags since .PARSEFILE will not
209	DTRT when such a makefile is included directly by Makefile and
210	automatically (without bsd. prefix).
211	Since we cannot guarantee that our sys.mk will be used, we provide
212	a default _this in each makefile that gets a bsd. prefix such that
213	the value is the same regardless of bsd. prefix.
214
215	* subdir.mk: drop the !target guard on $SUBDIR_TARGETS
216
2172024-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
218
219	* install-mk (MK_VERSION): 20240212
220
221	* SPDX-License-Identifier: BSD-2-Clause
222	Add SPDX-License-Identifier to inidicate that I consider
223	my copyright on any of these makefiles equivalent to BSD-2-Clause
224
225	* autoconf.mk: allow for configure.ac as currently recommended
226
227	* subdir.mk: support @auto
228	which is replaced with each subdir that
229	has a [Mm]akefile.
230
231	* subdir.mk: include local.subdir.mk if it exists.
232
233	* subdir.mk: rework to handle .WAIT
234
2352024-02-11  Simon J Gerraty  <sjg@beast.crufty.net>
236
237	* subdir.mk: _SUBDIRUSE report the target we are entering subdirs for.
238
2392024-02-10  Simon J Gerraty  <sjg@beast.crufty.net>
240
241	* prog.mk: treat empty SRCS the same as undefined
242
2432024-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
244
245	* Avoid undefined errors in lint (-dL) mode
246
247	* man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7)
248
2492024-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
250
251	* install-mk (MK_VERSION): 20240128
252
253	* FILES: add ccm.dep.mk for C++ modules
254	add suffixes.mk for common location for generic SUFFIX rules.
255
256	* auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk
257	replace OBJ_EXTENSIONS with OBJ_SUFFIXES
258
259	* autodep.mk: leverage CXX_SUFFIXES for __depsrcs
260	and update style (spaces around = etc)
261
262	* init.mk: add OBJS_SRCS_FILTER to filter SRCS when
263	setting OBJS
264
265	* meta2deps.py: handle multiple ./ embedded in path better.
266
2672024-01-05  Simon J Gerraty  <sjg@beast.crufty.net>
268
269	* install-mk (MK_VERSION): 20240105
270	* dirdeps.mk: for MAKE_VERSION 20240105 we do not have the same
271	limits on command line length, so skip export of lists to env.
272
2732023-12-24  Simon J Gerraty  <sjg@beast.crufty.net>
274
275	* man.mk: add logic for staging man pages
276
2772023-11-28  Simon J Gerraty  <sjg@beast.crufty.net>
278
279	* jobs.mk: avoid C suffix in JOB_MAX_C if factor is floating
280	point.  This keeps JOB_MAX numeric incase another makefile does
281	comparisons.
282
2832023-11-04  Simon J Gerraty  <sjg@beast.crufty.net>
284
285	* dpadd.mk: add support for DPLIBS_QUALIFIER_LIST
286
287	* gendirdeps.mk: if META_XTRAS is passed to us, add to META_FILES
288
2892023-10-03  Simon J Gerraty  <sjg@beast.crufty.net>
290
291	* compiler.mk (COMPILER_VERSION): clang at least is into
292	double digit major versions.
293
2942023-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
295
296	* install-mk (MK_VERSION): 20231001
297
298	* set _CCLINK in init.mk so lib.mk can use it for default SHLIB_LD
299
300	* lib.mk (cleanlib): use LD_solink so we remove all the right files.
301	Use -Wl for -soname since we now default to linking with CC
302	We should not need SHLIB_LDSTARTFILE or SHLIB_LDENDFILE when linking
303	with CC.
304
3052023-09-24  Simon J Gerraty  <sjg@beast.crufty.net>
306
307	* init.mk (QUALIFIED_VAR_LIST): Add SRCS
308
3092023-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
310
311	* jobs.mk (JOB_MAX): use -jC if we can
312	we actually use JOB_MAX_C which defaults to 1.33C
313
3142023-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
315
316	* now_utc: %s only works with :localtime
317
3182023-07-14  Simon J Gerraty  <sjg@beast.crufty.net>
319
320	* install-sh: ignore -c as claimed and only insist on
321	a directory for destination when more than one file to copy.
322
323	* sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and
324	${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64)
325
3262023-07-13  Simon J Gerraty  <sjg@beast.crufty.net>
327
328	* install-mk (MK_VERSION): 20230711
329
330	* sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible
331	install(1)
332
333	* sys/IRIX.mk:  when setting ROOT_GROUP only match the first :0:
334	set INSTALL to install-sh rather than pathname that may not exist
335	(yet).
336
3372023-07-07  Simon J Gerraty  <sjg@beast.crufty.net>
338
339	* dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE
340	normally this is empty - for the default target, but there are
341	use-cases where we might set it to something else.
342
3432023-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
344
345	* install-mk (MK_VERSION): 20230704
346
347	* dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output
348	when DEBUG_DIRDEPS is in effect.
349	Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n
350	can greatly improve readability.
351
3522023-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
353
354	* meta.autodep.mk (beforegendirdeps): allow tasks to be done
355	at END but before gendirdeps
356
3572023-05-22  Simon J Gerraty  <sjg@beast.crufty.net>
358
359	* install-mk (MK_VERSION): 20230522
360
361	* host-target.mk: deal with garbage from uname -m on
362	Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH
363	these days so just leave it be.
364	For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get
365	arm64 and x86_64 in HOST_TARGET.
366
3672023-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
368
369	* sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older
370	versions of bmake.
371
372	* dirdeps.mk (TARGET_SPEC_VARS.host):
373	While *most* projects need only DEP_MACHINE for host,
374	there is always an exception.  So we allow for
375	TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS.
376	The default will *just work* for most projects.
377	We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC
378	based on DEP_MACHINE.
379	Allow for M_dep_qual_fixes.host to be different too
380	and take care to apply the right set.
381
3822023-05-14  Simon J Gerraty  <sjg@beast.crufty.net>
383
384	* sys.dirdeps.mk: we *do* want to override OBJTOP
385	and if MAKEOBJDIR was not in env as we want it;
386	put it there - carefully.
387	Ensure OBJROOT ends in / or - (/ preferred)
388	Add more comments to explain what/why.
389
3902023-05-13  Simon J Gerraty  <sjg@beast.crufty.net>
391
392	* install-mk (MK_VERSION): 20230512
393
394	* dirdeps.mk: take care not to qualify "host" dirdeps
395
396	* sys.dirdeps.mk (OBJTOP): must use ?=
397
3982023-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
399
400	* meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no"
401	suppress processing of .depend
402
4032023-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
404
405	* dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP
406
407	* meta.sys.mk sys.dirdeps.mk:
408	originally DIRDEPS_BUILD and META_MODE were the same thing,
409	but META_MODE is useful by itself.
410	Move things from meta.sys.mk which actually pertain to
411	DIRDEPS_BUILD to sys.dirdeps.mk
412
4132023-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
414
415	* install-mk (MK_VERSION): 20230504 May the Forth be with you
416
417	* dirdeps.mk: as with meta.sys.mk we treat "host" as special.
418	DEP_TARGET_SPEC is just ${DEP_MACHINE}
419
420	* meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at
421	level > 0 since these are often refered to in Makefile.depend*
422
4232023-04-26  Simon J Gerraty  <sjg@beast.crufty.net>
424
425	* jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and
426	anything in ${JOB_LOG_START}
427
428	* jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}}
429	or a scripts subdir before searching $PATH.
430
431	* FILES: include newlog.sh for jobs.mk
432
4332023-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
434
435	* install-mk (MK_VERSION): 20230420
436
437	* lib.mk: include LDFLAGS and LDADD when linking shared libs
438
439	* gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc
440	via local.meta.sys.mk rather than local.gendirdeps.mk
441	so DEP_* variables can be set at level 1+ to avoid syntax errors
442	when used in conditionals in manually maintained Makefile.depend
443	files.
444
445	* dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines
446
4472023-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
448
449	* dirdeps.mk: check we were not included by
450	Makefile.depend.options as the result is bad.
451
4522023-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
453
454	* install-mk (MK_VERSION): 20230414
455
456	* meta.sys.mk: since we have :range we can put the logic for
457	processing TARGET_SPEC from env here.
458
459	* dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including
460	local.dirdeps-missing.mk, also improve debug output.
461
462	* dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC
463	we need to use :M*[/.]* same as for when actually setting DIRDEPS
464	from the targets on command line.
465
4662023-04-12  Simon J Gerraty  <sjg@beast.crufty.net>
467
468	* Add jobs.mk
469
4702023-03-21  Simon J Gerraty  <sjg@beast.crufty.net>
471
472	* install-mk (MK_VERSION): 20230321
473
474	* meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter
475	STAGE_LIBS for SHLIB_LINKS.
476
477	* autoconf.mk: add .WAIT after config.status
478
4792023-02-17  Simon J Gerraty  <sjg@beast.crufty.net>
480
481	* sys.vars.mk: add M_Index to report the index of a word in a list.
482
4832023-02-15  Simon J Gerraty  <sjg@beast.crufty.net>
484
485	* install-mk (MK_VERSION): 20230215
486
487	* warnings.mk: allow better control of -Werror
488	allow -Wno-error or similar to be added if
489	WARNINGS_SET < WERROR_SET
490	account for COMPILER_TYPE
491
4922023-01-29  Simon J Gerraty  <sjg@beast.crufty.net>
493
494	* autoconf.mk: hook config.status to beforebuild.
495
496	* whats.mk: what*.c is NOTMAIN
497
4982023-01-27  Simon J Gerraty  <sjg@beast.crufty.net>
499
500	* install-mk (MK_VERSION): 20230127
501	control umask so directories are created with suitable mode.
502
5032023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
504
505	* install-mk (MK_VERSION): 20230120
506
507	* sys.vars.mk: add M_On and M_Onr also cleanup to be more
508	consistent wrt testing MAKE_VERSION
509
5102023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
511
512	* install-mk (MK_VERSION): 20230112
513
514	* meta2deps.{py,sh}: assert if filemon data is truncated
515	we should see the '# Bye bye' record - assert if we do not.
516
5172022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
518
519	* install-mk (MK_VERSION): 20220909
520
521	* sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings
522
5232022-09-06  Simon J Gerraty  <sjg@beast.crufty.net>
524
525	* dirdeps-options.mk: explain the need to use
526	${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to
527	${TARGET_SPEC_VAR}
528
5292022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
530
531	* install-mk (MK_VERSION): 20220903
532
533	* M_cmpv handle more than 3 dots and clear leading 0's
534
5352022-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
536
537	* install-mk (MK_VERSION): 20220720
538
539	* prog.mk: handle PROG_CXX for more than just NetBSD
540
5412022-06-20  Simon J Gerraty  <sjg@beast.crufty.net>
542
543	* install-mk (MK_VERSION): 20220620
544
545	* yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER
546	rather than just suffix rules
547
5482022-04-23  Simon J Gerraty  <sjg@beast.crufty.net>
549
550	* install-mk (MK_VERSION): 20220422
551
552	* gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no"
553	do not capture any local depends in Makefile.depend
554
5552022-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
556
557	* install-mk (MK_VERSION): 20220323
558	* posix.mk: default rules for .POSIX:
559
5602022-03-17  Simon J Gerraty  <sjg@beast.crufty.net>
561
562	* sys/*.mk: remove l from ARFLAGS
563
5642022-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
565
566	* install-mk (MK_VERSION): 20220314
567
568	* dirdeps-options.mk: allow options to be per RELDIR
569	try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed
570	with ${DEP_RELDIR}.
571
5722022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
573
574	* install-mk (MK_VERSION): 20220214
575
576	* cc-wrap.mk: fix :@ modifier
577
5782022-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
579
580	* install-mk (MK_VERSION): 20220206
581
582	* cc-wrap.mk: docuement how CCACHE etc might be set for
583	maximum flexibility
584
5852022-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
586
587	* sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT
588
5892022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
590
591	* install-mk (MK_VERSION): 20220204
592
593	* host-target.mk: use .MAKE.OS if available
594
5952022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
596
597	* install-mk (MK_VERSION): 20220202
598
599	* cc-wrap.mk: allow other entries in CC_WRAP_FILTER
600	We add our filter on extensions last, so prior filters
601	can apply to the whole value of .IMPSRC
602
6032022-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
604
605	* cc-wrap.mk: take advantage of target local variables to
606	wrap compilers like CC CXX with wrappers like ccache distcc etc
607
6082022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
609
610	* meta2deps: we do not expect any trace data for setid apps
611
6122022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
613
614	* dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed
615	to sub-make using DIRDEPS_CACHE
616
6172022-01-07  Simon J Gerraty  <sjg@beast.crufty.net>
618
619	* dirdeps.mk: use _cache_script to minimize the number of shells
620	forked when generating dirdeps.cache
621
6222022-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
623
624	* install-mk (MK_VERSION): 20220101
625
626	* dirdeps.mk: initialize DEP_* and _debug_reldir earlier.
627	If initial DIRDEPS are from command line, create the target
628	_dirdeps_cmdline as an indication.
629
6302022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
631
632	* init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD
633	at top-level only some targets are allowed at level 0,
634	for leaf makefiles only the default (all) target is restricted
635
6362021-12-28  Simon J Gerraty  <sjg@beast.crufty.net>
637
638	* install-mk (MK_VERSION): 20211228
639
640	* meta2deps.py: filemon on Linux is not as reliable as we might
641	like, we do not want to update DIRDEPS if filemon output is
642	incomplete.   Track pids that we 'E'xec and make sure we see an
643	e'X'it for each one.  Throw an error if we are missing any 'X'
644	records.
645
6462021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
647
648	* sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes.
649
650	* meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON
651	is something else.
652
653	* meta.autodep.mk: we can now reference ${.SUFFIXES}
654
655	* meta2deps.py: derive a list of dirdep extensions from
656	TARGET_SPEC to trim from dirdeps.
657
658	* dirdeps.mk: flip the computation of qualified vs unqualified
659	dirdeps - it is much simpler to check for unqualified first.
660
6612021-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
662
663	* install-mk (MK_VERSION): 20211212
664
665	* auto.dep.mk: rearrange so that the trivial implementation
666	for recent bmake is more obvious.
667
6682021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
669
670	* install-mk (MK_VERSION): 20211207
671
672	* Ensure guard targets are .NOTMAIN
673
674	* meta.sys.mk: check for nofilemon support when we skip level 0
675
676	* auto.dep.mk: make this usable in meta mode
677	for platforms that cannot use meta.autodep.mk
678
679	* meta2deps.py: avoid confusion if MACHINE and another
680	TARGET_SPEC_VAR have same value.
681
6822021-11-27  Simon J Gerraty  <sjg@beast.crufty.net>
683
684	* dirdeps.mk: when building dirdeps.cache, minimize the amount of
685	data put into env, by stripping ${SRCTOP}/ from each entry.
686	A long sandbox name can double the amount of memory consumed and
687	in extreme cases cause failure.
688	While we are at it, strip ${SRCTOP}/ from a lot of the debug output.
689
6902021-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
691
692	* install-mk (MK_VERSION): 20211111
693
694	* meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail
695	so fallback to cp if necessary.
696
6972021-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
698
699	* man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year
700	old cmt2doc.pl
701
7022021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
703
704	* meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f}
705	as the symlink (rare)
706
7072021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
708
709	* autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not
710	been read, throw an error after running configure telling user to
711	restart.
712
7132021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
714
715	* install-mk (MK_VERSION): 20211011
716
717	* Add support for SCO_SV
718
7192021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
720
721	* install-mk (MK_VERSION): 20211001
722
723	* man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more
724	flexibility
725
7262021-09-13  Simon J Gerraty  <sjg@beast.crufty.net>
727
728	* options.mk (describe-options): print options and their values
729	  and optional description
730
7312021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
732
733	* install-mk (MK_VERSION): 20210911
734
735	* options.mk (show-options): print options and their values
736
7372021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
738
739	* install-mk (MK_VERSION): 20210909
740
741	* lib.mk: apply patch from <daniel@octaforge.org>
742	to fix shared libs on Linux
743
7442021-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
745
746	* install-mk (MK_VERSION): 20210808
747
748	* options.mk: issue warning for WITH_*=no
749
7502021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
751
752	* install-mk (MK_VERSION): 20210616
753
754	* dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find
755	depend files to read, anchor MACHINE at , or end of string
756	to avoid prefix match.
757
7582021-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
759
760	* install-mk (MK_VERSION): 20210504
761
762	* dirdeps.mk: re-implement ALL_MACHINES support to better
763	cater for local complexities, when ONLY_TARGET_SPEC_LIST
764	is not set. local.dirdeps.mk can set
765	DIRDEPS_ALL_MACHINES_FILTER and/or
766	DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get
767	from listing all existing Makefile.depend.*
768
7692021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
770
771	* install-mk (MK_VERSION): 20210420
772
773	* dirdeps.mk: revert previous - not always safe.
774
7752021-03-20  Simon J Gerraty  <sjg@beast.crufty.net>
776
777	* install-mk (MK_VERSION): 20210321
778
779	* dirdeps.mk: when generating dirdeps.cache
780	we only need to hook the initial DIRDEPS to the
781	dirdeps target.  That and any _build_xtra_dirs (like tests which
782	should not be hooked directly to the dependency graph - to avoid
783	cycles)
784
7852021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
786
787	* install-mk (MK_VERSION): 20210130
788
789	* dirdeps.mk: expr 2 - 1 - 1 exits with a bad status
790	  we need to  guard against this in DIRDEP_LOADAVG_REPORT.
791
792	* dirdeps.mk: restore respect for TARGET_MACHINE
793
7942021-01-06  Simon J Gerraty  <sjg@beast.crufty.net>
795
796	* install-mk (MK_VERSION): 20210101
797
798	* dirdeps.mk: first time we are read, just use TARGET_SPEC for
799	_DEP_TARGET_SPEC
800
8012020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
802
803	* sys.mk (MAKE_SHELL): use ${.SHELL:Ush}
804	and use := when setting SHELL
805
8062020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
807
808	* install-mk (MK_VERSION): 20201221
809
810	* dirdeps-options.mk: latest bmake allows only one arg to .undef
811
8122020-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
813
814	* dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS
815	so that any directory can be treated as a target.
816
8172020-11-26  Simon J Gerraty  <sjg@beast.crufty.net>
818
819	* install-mk (MK_VERSION): 20201126
820
821	* own.mk: use .MAKE.{UID,GID} if available.
822
823	* init.mk: suppress _SKIP_BUILD warning if doing -V
824
8252020-11-20  Simon J Gerraty  <sjg@beast.crufty.net>
826
827	* install-mk (MK_VERSION): 20201120
828
829	* init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS
830
831	* dirdeps-targets.mk: fix typo in comment
832
8332020-11-06  Simon J Gerraty  <sjg@beast.crufty.net>
834
835	* install-mk (MK_VERSION): 20201106
836
837	* meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed
838	args to tweak extensions for local deps.
839
8402020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
841
842	* install-mk (MK_VERSION): 20201101
843
844	* dirdeps.mk: most leaf makefiles are not suitable for building
845	dirdeps.cache so if RELDIR is not "." use dirdeps.mk
846
8472020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
848
849	* install-mk (MK_VERSION): 20201028
850
851	* dirdeps.mk: if we don't have :range use equivalent of M_RANGE
852	when building dirdeps.cache for leaf directory use -f dirdeps.mk
853
854	* sys.vars.mk: add M_JOT and M_RANGE
855
8562020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
857
858	* install-mk (MK_VERSION): 20201001
859
860	* meta2deps.{py,sh}: throw an error if we don't see filemon version
861
8622020-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
863
864	* install-mk (MK_VERSION): 20200909
865
866	* dirdeps-cache-update.mk: use cache_update_dirdep as guard target
867
8682020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
869
870	* dirdeps.mk: ensure we cannot confuse a static cache for dynamic
871	(even more rare that use of static cache is playing clever tricks
872	with it)
873
8742020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
875
876	* dirdeps-cache-update.mk: allow
877	MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we
878	actually update STATIC_DIRDEPS_CACHE.
879
880	* stage-install.sh: create dest directory if needed
881	before running install(1)
882
8832020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
884
885	* dirdeps-targets.mk: include Makefile.dirdeps.options
886
887	* dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE
888
8892020-08-09  Simon J Gerraty  <sjg@beast.crufty.net>
890
891	* dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty
892
893	* dirdeps-cache-update.mk: building parallel cache update
894	under the context of dirdeps-cached would be ideal, but
895	is problematic, so it runs as a sibling.
896	Use cache-built target to ensure we wait for it to complete if
897	necessary.
898
8992020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
900
901	* install-mk (MK_VERSION): 20200806
902
903	* dirdeps-options: allow TARGET_SPEC to affect option values.
904	Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_*
905
906	* dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined
907	before looking for STATIC_DIRDEPS_CACHE
908
9092020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
910
911	* host-target.mk: Darwin use MACHINE for HOST_ARCH too
912
913	* dirdeps-options.mk: improve debug output
914
9152020-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
916
917	* dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE
918	for use by dirdeps-cache-update.mk
919
920	* dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE
921	for use by dirdeps-cache-update.mk even if we don't use it.
922
923	* dirdeps-cache-update.mk: we only need worry about the background
924	update case, with the above, the update from DIRDEPS_CACHE is
925	simple.
926
927	* meta2deps.py: R 1234 . is not interesting
928
9292020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
930
931	* sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE
932
933	* dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS
934	allows use of lower case for pseudo options.
935
936	* dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE
937
9382020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
939
940	* dirdeps-targets.mk: Look for Makefile.dirdeps.cache
941	which allows us to have a static cache for expensive targets.
942	Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE
943	to regenerate the dirdeps.cache it is a copy of.
944
9452020-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
946
947	* Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense.
948
9492020-07-16  Simon J Gerraty  <sjg@beast.crufty.net>
950
951	* dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record
952	load averages at intervals during build.
953
9542020-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
955
956	* install-mk (MK_VERSION): 20200715
957
958	* dirdeps.mk: tweak Checking line to make matching Finished
959	lines for post-build analysis easier.
960
961	* meta.autodep.mk: use !defined(WITHOUT_META_STATS)
962
963	* progs.mk: avoid prog.mk outputting multiple Finished lines
964
9652020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
966
967	* dirdeps.mk: further optimize dirdeps.cache
968	generate a DIRDEPS.${.TARGET} list for other purposes
969	and improve the layout.
970
9712020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
972
973	* dirdeps.mk: optimize content of dirdeps.cache
974
9752020-06-28  Simon J Gerraty  <sjg@beast.crufty.net>
976
977	* sys/*.mk: make it easier for local*sys.mk to customize by
978	using ?=
979
9802020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
981
982	* gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
983	it is much safer to guard local depends with a simple check for
984	.MAKE.LEVEL > 0
985
9862020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
987
988	* install-mk (MK_VERSION): 20200610
989
990	* mkopt.sh: this needs posix shell so #!/bin/sh should be ok
991
9922020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
993
994	* install-mk (MK_VERSION): 20200606
995
996	* dirdeps-targets.mk: allow for filtering of .TARGETS
997
998	* meta2deps.py: fix bug in processing 'L'ink and 'M'ove
999	entries - and we don't care about 'W'rite entries.
1000	Also ignore absolute paths that do not exist.
1001
10022020-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
1003
1004	* install-mk (MK_VERSION): 20200525
1005
1006	* init.mk: expand and simplify handling of qualified vars
1007	like CPPFLAGS.${.TARGET:T}
1008
10092020-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
1010
1011	* install-mk (MK_VERSION): 20200515
1012
1013	* dirdeps.mk: set _debug_* earlier and allow passing -d*
1014	flags to submake when building DIRDEPS_CACHE
1015
10162020-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
1017
1018	* whats.mk: more easily extensible
1019
10202020-05-02  Simon J Gerraty  <sjg@beast.crufty.net>
1021
1022	* whats.mk: greatly simplify by adding what.c to SRCS
1023
10242020-05-01  Simon J Gerraty  <sjg@beast.crufty.net>
1025
1026	* whats.mk: for libs take care how we add to *OBJS
1027
1028	* lib.mk: : works better with whats.mk
1029
10302020-04-25  Simon J Gerraty  <sjg@beast.crufty.net>
1031
1032	* install-mk (MK_VERSION): 20200420
1033
1034	* meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
1035	contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
1036
10372020-04-16  Simon J Gerraty  <sjg@beast.crufty.net>
1038
1039	* install-mk (MK_VERSION): 20200416
1040
1041	* sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
1042	  interfere with user env.
1043
1044	* sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
1045
1046	* autodep.mk: use MAKE_SHELL.
1047
10482019-11-21  Simon J Gerraty  <sjg@beast.crufty.net>
1049
1050	* gendirdeps.mk: clear .SUFFIXES to avoid a lot of
1051	  wasted effort, and unexport _meta_files when no longer needed as
1052	  it consumes space we need for command line.
1053
10542019-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
1055
1056	* dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
1057	  DIRDEP_USE_PRELUDE at start - facilitates job distribution
1058
10592019-10-04  Simon J Gerraty  <sjg@beast.crufty.net>
1060
1061	* dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
1062	defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
1063	TARGET_SPEC qualified depend files.
1064
10652019-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
1066
1067	* dirdeps-targets.mk: encapsulate logic for finding top-level
1068	  targets to set initial DIRDEPS for DIRDEPS_BUILD
1069
10702019-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
1071
1072	* install-mk (MK_VERSION): 20190911
1073
1074	* compiler.mk: set COMPILER_TYPE
1075
10762019-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
1077
1078	* install-mk (MK_VERSION): 20190704
1079
1080	* sys/Darwin.mk: support for Objective-C and clang
1081
10822019-05-30  Simon J Gerraty  <sjg@beast.crufty.net>
1083
1084	* dirdeps.mk: avoid insanely long command line when generating cache
1085
10862019-05-23  Simon J Gerraty  <sjg@beast.crufty.net>
1087
1088	* install-mk (MK_VERSION): 20190505
1089
1090	* whats.mk: handle corner case SHLIB defined but not LIB
1091
10922018-09-19  Simon J Gerraty  <sjg@beast.crufty.net>
1093
1094	* install-mk (MK_VERSION): 20180919
1095
1096	* dirdeps-options.mk: .undef cannot handle var that expands to
1097	  more than one var.
1098
10992018-07-08  Simon J Gerraty  <sjg@beast.crufty.net>
1100
1101	* meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
1102
11032018-06-01  Simon J Gerraty  <sjg@beast.crufty.net>
1104
1105	* meta.autodep.mk: export META_FILES to avoid command line limit
1106	* gendirdeps.mk: if we have lots of .meta files put them in
1107	  an @list
1108
11092018-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
1110
1111	* dirdeps-options.mk: use local.dirdeps-options.mk
1112	  not local.dirdeps-option.mk
1113
11142018-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
1115
1116	* install-mk (MK_VERSION): 20180420
1117	* dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
1118	  ie. we are building something.
1119
11202018-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
1121
1122	* FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
1123
11242018-04-05  Simon J Gerraty  <sjg@beast.crufty.net>
1125
1126	* install-mk (MK_VERSION): 20180405
1127
1128	* ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
1129	  if needed.
1130
11312018-01-18  Simon J Gerraty  <sjg@beast.crufty.net>
1132
1133	* install-mk (MK_VERSION): 20180118
1134
1135	* ldorder.mk: let make compute correct link order
1136
11372017-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
1138
1139	* install-mk (MK_VERSION): 20171212
1140
1141	* gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
1142
11432017-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1144
1145	* install-mk (MK_VERSION): 20171111
1146
1147	* lib.mk: ensure META_NOECHO is set
1148
11492017-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1150
1151	* Allow for host32 on rare occasions.
1152
11532017-10-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1154
1155	* install-mk (MK_VERSION): 20171018
1156
1157	* whats.mk: include what_thing in what_uuid to avoid problem
1158	  when building multiple apps in the same directory.
1159
11602017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1161
1162	* install-mk (MK_VERSION): 20170812
1163
1164	* autoconf.mk: Use CONFIGURE_DEPS so Makefile can
1165	  add dependencies for config.recheck and config.gen
1166
11672017-06-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1168
1169	* install-mk (MK_VERSION): 20170630
1170
1171	* meta.stage.mk: avoid triggering stage_* targets with nothing to do.
1172
11732017-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1174
1175	* meta2deps.py: take special care of '..'
1176
11772017-05-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1178
1179	* install-mk (MK_VERSION): 20170515
1180
1181	* dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
1182	useful/necessary for a Makefile.depend file to export some knobs.
1183	This is complicated when we are doing DIRDEPS_CACHE, so we will
1184	handle export of any variables listed in DEP_EXPORT_VARS.
1185
11862017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1187
1188	* install-mk (MK_VERSION): 20170505
1189
1190	* meta2deps.py: fix botched indenation.
1191
11922017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1193
1194	* sys/*.mk: Remove setting of MAKE it is unnecessary and
1195	  in many cases wrong (basname rather than full path)
1196
1197	* scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
1198
1199	* init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
1200
12012017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1202
1203	* install-mk (MK_VERSION): 20170501
1204
1205	* doc.mk: fix typo in DOC_INSTALL_OWN
1206
1207	* inc.mk: handle INCGROUPS similar to freebsd
1208
1209	* files.mk: add something for files too
1210
1211	* add staging logic to lib.mk prog.mk etc.
1212
12132017-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1214
1215	* install-mk (MK_VERSION): 20170424
1216
1217	* dirdeps.mk: set NO_DIRDEPS when bootstrapping.
1218	  also target of bootstrap-this when sed is needed should be ${_want:T}
1219
12202017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1221
1222	* install-mk (MK_VERSION): 20170418
1223
1224	* auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
1225	  prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
1226
12272017-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1228
1229	* install-mk (MK_VERSION): 20170401
1230
1231	* meta2deps.py: add is_src so we can check if obj dependency
1232	  is also a src dependency.
1233
12342017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1235
1236	* install-mk (MK_VERSION): 20170326
1237
1238	* meta.stage.mk: do nothing if NO_STAGING is defined.
1239
12402017-03-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1241
1242	* auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
1243
12442017-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1245
1246	* mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
1247
12482017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1249
1250	* install-mk (MK_VERSION): 20170301
1251
1252	* dirdeps.mk (_build_all_dirs): update this outside test for empty
1253	  DIRDEPS.
1254
1255	* meta.stage.mk: allow multiple inclusion to the extent it makes
1256	  sense.
1257
12582017-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1259
1260	* prog.mk (install_links): depends on realinstall
1261
12622017-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1263
1264	* install-mk (MK_VERSION): 20170212
1265
1266	* dpadd.mk: avoid applying :T:R twice to DPLIBS entries
1267
12682017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1269
1270	* install-mk (MK_VERSION): 20170130
1271
1272	* dirdeps.mk: use :range if we can.
1273
1274	* sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
1275
1276	* meta2deps.py: clean paths without using realpath() where possible.
1277	  fix sort_unique.
1278
12792016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1280
1281	* install-mk (MK_VERSION): 20161212
1282
1283	* meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
1284	rather than when we detect pid change.
1285
12862016-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1287
1288	* install-mk (MK_VERSION): 20161207
1289
1290	* meta.stage.mk: add stage_as_and_symlink for staging packages.
1291	  We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
1292	  to use foo.tgz to reference the latest staged version - so we
1293	  make foo.tgz a symlink to it.
1294	  Using a target to do both operations ensures we stay in sync.
1295
12962016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1297
1298	* install-mk (MK_VERSION): 20161126
1299
1300	* dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
1301	  so it can add dependencies.
1302
13032016-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1304
1305	* dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
1306	  do that they can influence the result correctly.
1307
1308	* dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
1309
1310	* dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
1311	  similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
1312
13132016-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1314
1315	* dirdeps.mk: remove dependence on jot (normal situations anyway).
1316	  Before we read another Makefile.depend* set DEP_* vars from
1317	  _DEP_TARGET_SPEC in case it uses any of them with :=
1318	  When bootstrapping, trim any ,* from extention of chosen _src
1319	  Makefile.depend* to get the machine value we subst for.
1320
13212016-09-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1322
1323	* dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
1324	  DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
1325
1326	* sys.mk: extract some bits to sys.{debug,vars}.mk
1327	  for easier re-use by others.
1328
13292016-09-23  Simon Gerraty  <sjg@sjg-mba13>
1330
1331	* lib.mk: Use ${PICO} for extension for PIC objects.
1332	  default to .pico (like NetBSD) safe on case insensitive filesystem.
1333
13342016-08-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1335
1336	* meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
1337
13382016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1339
1340	* install-mk (MK_VERSION): 20160815
1341
1342	* dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
1343	consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
1344
13452016-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1346
1347	* meta.sys.mk (.MAKE.META.IGNORE_PATHS):
1348	  in meta mode we can ignore the mtime of makefiles
1349
13502016-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1351
1352	* install-mk (MK_VERSION): 20160802
1353
1354	* lib.mk (libinstall): depends on beforinstall
1355
1356	* prog.mk (proginstall): depends on beforinstall
1357	  patch from Lauri Tirkkonen
1358
1359	* dirdeps.mk (bootstrap): When bootstrapping; creat
1360	.MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
1361	.MAKE.DEPENDFILE_BOOTSTRAP_SED
1362
1363	* dirdeps.mk: move some comments to where they make sense.
1364
13652016-07-27  Simon J. Gerraty  <sjg@bad.crufty.net>
1366
1367	* dirdeps.mk (DIRDEPS_CACHE): no dirname.
1368
13692016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1370
1371	* install-mk (MK_VERSION): 20160602
1372	* meta.autodep.mk: when passing META_FILES to gendirdeps.mk
1373	  do not apply :T to META_XTRAS
1374	  patch from Bryan Drewery at FreeBSD.org.
1375
13762016-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1377
1378	* install-mk (MK_VERSION): 20160530
1379	* meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
1380	  make it so.
1381
13822016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1383
1384	* install-mk (MK_VERSION): 20160512
1385
1386	* dpadd.mk: always include local.dpadd.mk if it exists
1387	  remove some things that better belong in local.dpadd.mk
1388	  skip INCLUDES_* for staged libs unless SRC_* defined.
1389
1390	* own.mk: add INCLUDEDIR
1391
13922016-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1393
1394	* dirdeps.mk: when doing -f dirdeps.mk if target suppies no
1395	  TARGET_MACHINE - :E will be empty or match part of path, use
1396	  ${MACHINE}
1397
13982016-04-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1399
1400	* meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
1401	  NO_FILEMON_COOKIE
1402
1403	* dirdeps.mk: move the logic that allows for
1404	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1405	  inside the check for !target(_DIRDEP_USE)
1406
14072016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1408
1409	* Use <> when including local*.mk and others which may exist
1410	  elsewhere so that user can better control what they get.
1411
1412	* meta.autodep.mk (NO_FILEMON_COOKIE):
1413	  create a cookie if we ever build dir with nofilemon
1414	  so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
1415
14162016-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1417
1418	* install-mk (MK_VERSION): 20160401
1419
1420	* meta2deps.py: fix old print statement when debugging.
1421
1422	* gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
1423	  patch from Bryan Drewery
1424
14252016-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1426
1427	* install-mk (MK_VERSION): 20160317 (St. Pats)
1428
1429	* warnings.mk: g++ does not like -Wimplicit
1430
1431	* sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
1432	  pelthora of common suffixes for C++
1433
1434	* lib.mk: use .So for shared objects
1435
14362016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1437
1438	* install-mk (MK_VERSION): 20160315
1439
1440	* meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
1441	  normally only applies to scripts.
1442
1443	* dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
1444	  well as outside it.
1445
14462016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1447
1448	* install-mk (MK_VERSION): 20160310
1449
1450	* dirdeps.mk: use targets rather than a list to track DIRDEPS that
1451	  we have processed; the list gets very inefficient as number of
1452	  DIRDEPS gets large.
1453
1454	* sys.dependfile.mk: fix comment wrt MACHINE
1455
1456	* meta.autodep.mk: ignore staged DPADDs when bootstrapping.
1457	  patch from Bryan Drewery
1458
14592016-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1460
1461	* meta2deps.sh: don't ignore subdirs.
1462	  patch from Bryan Drewery
1463
14642016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1465
1466	* install-mk (MK_VERSION): 20160226
1467
1468	* gendirdeps.mk: mark _DEPENDFILE .NOMETA
1469
14702016-02-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1471
1472	* dirdeps.mk: we shouldn't normally include .depend but if we do
1473	  use .dinclude if we can.
1474
14752016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1476
1477	* install-mk (MK_VERSION): 20160218
1478	* sys.clean-env.mk: with recent change to Var_Subst()
1479	  we cannot use the '$$' trick, but .export-literal does the job
1480	  we need.
1481	* auto.dep.mk: make use .dinclude if we can.
1482
1483
14842016-02-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1485
1486	* dirdeps.mk:
1487	  Add _build_all_dirs such that local.dirdeps.mk can
1488	  add fully qualified dirs to it.
1489	  These will be built normally but the current
1490	  DEP_RELDIR will not depend on then (to avoid cycles).
1491	  This makes it easy to hook things like unit-tests into build.
1492
1493
14942016-01-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1495
1496	* dirdeps.mk: add bootstrap-empty
1497
14982015-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1499
1500	* install-mk (MK_VERSION): 20151212
1501	* auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
1502	  only apply :tA to __objdir when comparing to .OBJDIR
1503
15042015-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1505
1506	* install-mk (MK_VERSION): 20151111
1507
1508	* meta.sys.mk: include sys.dependfile.mk
1509
1510	* sys.mk (OPTIONS_DEFAULT_NO): use options.mk
1511	  to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
1512	  include local.sys.env.mk early
1513	  include local.sys.mk later
1514
1515	* own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
1516
15172015-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1518
1519	* meta.sys.mk (META_COOKIE_TOUCH):
1520	  add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
1521
1522	* meta.stage.mk: stage_libs should ignore SYMLINKS.
1523
15242015-10-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1525
1526	* install-mk (MK_VERSION): 20151022
1527
1528	* sys.mk: BSD/OS does not have 'type' as a shell builtin.
1529
15302015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1531
1532	* install-mk (MK_VERSION): 20151020
1533
1534	* dirdeps.mk: Add logic for
1535	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1536
15372015-10-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1538
1539	* install-mk (MK_VERSION): 20151010
1540
15412015-10-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1542
1543	* meta.stage.mk: use staging: ${STAGE_TARGETS:...
1544	  to have stage_lins run last in non-jobs mode.
1545	  Use .ORDER only for jobs mode.
1546
15472015-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1548
1549	* rst2htm.mk: allow for per target flags etc.
1550
15512015-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1552
1553	* install-mk (MK_VERSION): 20150901
1554
1555	* doc.mk: create dir if needed use DOC_INSTALL_OWN
1556
15572015-06-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1558
1559	* install-mk (MK_VERSION): 20150615
1560
1561	* auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
1562	  Follow make's normal precedence rules.
1563
1564	* gendirdeps.mk: allow customization of the header.
1565	  eg. for FreeBSD:
1566	  GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
1567
1568	* meta.autodep.mk: ignore dirdeps.cache*
1569
1570	* meta.stage.mk: when bootstrapping options it can be handy to
1571	  throw warnings rather than errors for staging conflicts.
1572
1573	* meta.sys.mk: include local.meta.sys.mk for customization
1574
15752015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1576
1577	* install-mk (MK_VERSION): 20150606
1578
1579	* dirdeps.mk: don't rely on manually maintained Makefile.depend
1580	  to set DEP_RELDIR and reset DIRDEPS.
1581	  By setting DEP_RELDIR ourselves we can skip :tA
1582
1583	* gendirdeps.mk: skip setting DEP_RELDIR.
1584
15852015-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1586
1587	* dirdeps.mk: avoid wildcards like make(bootstrap*)
1588
15892015-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1590
1591	* install-mk (MK_VERSION): 20150520
1592
1593	* dirdeps.mk: when we are building dirdeps cache file we *want*
1594	  meta_oodate to look at all the Makefile.depend files, so
1595	  set .MAKE.DEPENDFILE to something that won't match.
1596
1597	* meta.stage.mk: for STAGE_AS_* basename of file may not be unique
1598	  so first use absolute path as key.
1599	  Also skip staging at level 0.
1600
16012015-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1602
1603	* install-mk (MK_VERSION): 20150430
1604
1605	* dirdeps.mk: fix _count_dirdeps for non-cache case.
1606
16072015-04-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1608
1609	* install-mk (MK_VERSION): 20150411
1610	  bump version
1611
1612	* own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
1613	  it is here mainly for documentation purposes, since
1614	  if using auto.obj.mk it is better done via sys.mk
1615
16162015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1617
1618	* install-mk (MK_VERSION): 20150401
1619
1620	* meta2deps.sh: support @list
1621
1622	* meta2deps.py: updates from Juniper
1623	  o add EXCLUDES
1624	  o skip bogus input files.
1625	  o treat 'M' and 'L' as both an 'R' and a 'W'
1626
16272015-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1628
1629	* install-mk (MK_VERSION): 20150303
1630
1631	* dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
1632	  which is built via sub-make so we have a .meta file to tell if
1633	  it is out-of-date.
1634	  The dirdeps-cache contains the same dependency rules that we
1635	  normaly construct on the fly.
1636	  This adds a few seconds overhead when the cache is out of date,
1637	  but for a large target, the savings can be significant (10-20min).
1638
16392014-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1640
1641	* install-mk (MK_VERSION): 20141118
1642
1643	* meta.stage.mk: add stale_staged
1644
1645	* dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
1646	  only useful under very rare conditions such as
1647	  FreeBSD's make universe.
1648
1649	* auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
1650
16512014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1652
1653	* install-mk (MK_VERSION): 20141111
1654
1655	* mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
1656
16572014-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1658
1659	* FILES: include mkopt.sh which allows handling options in shell
1660	  scripts in a manner compatible with options.mk
1661
16622014-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1663
1664	* meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
1665	  for GENDIRDEPS_FILTER to avoid surprises.
1666
16672014-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1668
1669	* dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
1670	  the time it is applied to __depdirs they have.
1671
1672	* dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
1673	  expects patterns like *.${MACHINE}
1674
1675	* cython.mk (pyprefix?): use pyprefix to find python bits
1676	  since prefix might be something else (where we install our
1677	  stuff)
1678
16792014-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1680
1681	* install-mk (MK_VERSION): 20140911
1682
1683	* dirdeps.mk: add bootstrap target to simplify adding support for
1684	  new MACHINE.
1685
16862014-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1687
1688	* gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
1689	  GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
1690	  Makefile.depend files.
1691
16922014-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1693
1694	* install-mk (MK_VERSION): 20140828
1695
1696	* cython.mk: capture logic for building python extension modules
1697	  with Cython.
1698
16992014-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1700
1701	* meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
1702
17032014-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1704
1705	* install-mk (MK_VERSION): 20140801
1706
1707	* dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
1708	identify the autodep.mk variant.
1709
1710	* sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
1711	initial value does not match .MAKE.DEPENDFILE_PREFIX
1712
1713	* meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
1714
17152014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1716
1717	* install-mk (MK_VERSION): 20140522
1718
1719	* lib.mk: use CC to link shlib for linux too
1720	  patch from Brendan MacDonell
1721
17222014-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1723
1724	* meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
1725	  if WITH_META_STATS is defined.
1726
17272014-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1728
1729	* dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
1730	  to supress dirdeps outside of .CURDIR.
1731
17322014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1733
1734	* Fix spelling errors - patch from Pedro Giffuni
1735
17362014-03-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1737
1738	* install-mk (MK_VERSION): 20140314
1739
1740	* dirdeps.mk (beforedirdeps): a handy hook
1741
1742	* dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
1743	  to visit leaf dirs to be intercepted (eg. for distributed
1744	  build).
1745
1746	* dirdeps.mk (__depdirs): ensure // don't sneak in
1747
1748	* gendirdeps.mk (DIRDEPS): ensure // don't sneak in
1749
1750
17512014-02-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1752
1753	* rst2htm.mk (RST2PDF): add support for rst2pdf
1754
17552014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1756
1757	* install-mk (MK_VERSION): bump version
1758	* dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
1759	  available.
1760
17612014-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1762
1763	* options.mk: avoid :U so this isn't bmake dependent
1764
17652014-02-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1766
1767	* options.mk: cleanup and simplify semanitcs
1768	  NO_* dominates all, if both WITH_* and WITHOUT_*
1769	  are defined then result is DOMINATE_* which defaults to "no".
1770	  Ie. WITHOUT_ normally wins.
1771
17722013-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1773
1774	* install-mk (MK_VERSION): bump version
1775	* meta2deps.py: convert to print function for python3 compat.
1776	  we also need to open files with mode 'r' rather than 'rb'
1777	  otherwise we get bytes instead of strings.
1778
17792013-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1780
1781	* install-mk (MK_VERSION): bump version
1782
1783	* dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
1784	  apply the same filtering (M_dep_qual_fixes) when setting _machines
1785	  as _build_dirs.
1786	  Also fix the filtering of Makefile.depend files - for reporting
1787	  what we are looking for (M_dep_qual_fixes can get confused by
1788	  Makefile.depend)
1789	  Add some more debug info.
1790
17912013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1792
1793	* gendirdeps.mk (_objtops): fix typo also
1794	  while processing M2D_OBJROOTS to gather qualdir_list
1795	  qualify $ql with loop iterator to ensure correct results.
1796
17972013-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1798
1799	* install-mk (MK_VERSION): 20130801
1800	* libs.mk: update to match progs.mk
1801
18022013-07-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1803
1804	* install-mk (MK_VERSION): 20130726
1805	  some updates from Juniper and FreeBSD
1806	  o meta2deps.py: indicate file and line number when we hit parse
1807	    errors
1808	    also allow @file to provide huge list of .meta files.
1809	* meta2deps.py: add try_parse() to cleanup the above.
1810
18112013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1812
1813	* install-mk (MK_VERSION): 20130716
1814	* own.mk: add GPROG as an option
1815	* prog.mk: honor MK_GPROF==yes
1816
18172013-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1818
1819	* install-mk (MK_VERSION): 20130505
1820	* gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
1821	  for when $MACHINE isn't enough for objdir distinction.
1822	  Bring meta2deps.sh closer to par with meta2deps.py.
1823
18242013-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1825
1826	* meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
1827	  also if the target 'beforeinstall' exists, make it depend on
1828	  .dirdep (incase it uses STAGE_INSTALL).
1829
18302013-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1831
1832	* install-mk (MK_VERSION): 20130401 ;-)
1833	* meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
1834	  wrapper around install(1).
1835	* options.mk (OPTION_PREFIX): Allow a prefix other than MK_
1836
18372013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1838
1839	* meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
1840	* install-mk (MK_VERSION): bump version
1841
18422013-03-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1843
1844	* install-mk (MK_VERSION): bump version
1845	* gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
1846	  any trailing /., rather apply :tA only when needed.
1847	* gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
1848	* meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
1849	  consistently.
1850	* dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
1851
18522013-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1853
1854	* gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
1855	  it is simpler to just not update when say building for "host"
1856	  (where we know we apply filters to DIRDEPS), and using a
1857	  non-machine qualified dependfile.
1858
18592013-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1860
1861	* dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
1862	  and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
1863	* gendirdeps.mk: ensure _objroot has trailing / if it needs it.
1864	* meta2deps.py: if machine is "host", then also trim
1865	  self.host_target from any OBJROOTS.
1866
1867
18682013-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1869
1870	* gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
1871	  qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
1872	  but _DEPENDFILE does not, compare the new _DEPENDFILE against
1873	  .MAKE.DEPENDFILE_DEFAULT and discard if the same.
1874
18752013-03-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1876
1877	* meta.stage.mk: use STAGE_TARGETS to control .ORDER
1878	  and hook to all: via staging:
1879
18802013-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1881
1882	* sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
1883	  use a separate variable for the default .MAKE.DEPENDFILE value
1884	  so that it can be controlled independently of
1885	  .MAKE.DEPENDFILE_PREFERENCE
1886
1887	* meta.stage.mk: throw error if cp fails etc.
1888	  Stage*() return early if passed no args.
1889	  .ORDER stage_*
1890
18912013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1892
1893	* install-mk (MK_VERSION): bump version
1894	* gendirdeps.mk: handle multiple M2D_OBJROOTS better.
1895
18962013-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1897
1898	* install-mk (MK_VERSION): bump version to 20130210
1899	* import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
1900	  from Juniper.
1901	  o dirdeps.mk now fully supports TARGET_SPEC consisting of more
1902	    than just MACHINE.
1903	  o no longer use DEP_MACHINE from Makefile.depend* so remove it.
1904
19052013-01-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1906
1907	* install-mk (MK_VERSION): bump version to 20130123
1908	* meta.stage.mk: add stage_links (hard links).
1909	  if doing hard links, we add dest to link as well.
1910	  Default the stage dir for [sym]links to STAGE_OBJTOP since
1911	  these are typically specified as absolute paths.
1912	  Add -m "mode" flag to StageFiles and StageAs.
1913
19142012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1915
1916	* install-mk (MK_VERSION): bump version to 20121111
1917	* autoconf.mk: avoid meta mode seeing changed commands for config.status
1918	* meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
1919	  in case we were found via .../mk
1920	* sys.clean-env.mk: move it from examples, we and others use it
1921	  "as is".
1922	* FILES: add srctop.mk and options.mk
1923	* own.mk: convert to using options.mk
1924	  which is modeled after FreeBSD's handling of MK_*
1925	  but more flexible.
1926	  This allows MK_* for boolean knobs to not be confused
1927	  with MK* which can be commands.
1928
1929	* examples/sys.clean-env.mk: add WITH[OUT]_ to
1930	  MAKE_ENV_SAVE_PREFIX_LIST.
1931	  Mention that HOME=/var/empty might be a good idea.
1932
19332012-11-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1934
1935	* sys.dependfile.mk: if not depend file exists, $MACHINE
1936	  specific ones are supported but not the default,
1937	  check if any exist and follow suit.
1938
19392012-11-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1940
1941	* install-mk (MK_VERSION): bump version to 20121106
1942
19432012-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1944
1945	* import latest dirdeps.mk and meta2deps.py from Juniper.
1946	* progs.mk: add MAN and CXXFLAGS to PROG_VARS
1947	  also add PROGS_TARGETS and pass on PROG_CXX if it seems
1948	  appropriate.
1949
19502012-11-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1951
1952	* meta.stage.mk: update CLEANFILES
1953	  remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
1954	* progs.mk: Add LDADD to PROG_VARS
1955
19562012-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1957
1958	* meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
1959	  _STAGED_DIRS so that these can be turned into filters for
1960	  GENDIRDEPS_FILTER.
1961
19622012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1963
1964	* install-mk (MK_VERSION): bump version to 20121010
1965	* meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
1966	target.dirdep matches .dirdep
1967
19682012-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1969
1970	* install-mk (MK_VERSION): bump version to 20120808
1971	* import latest meta2deps.py from Juniper.
1972
19732012-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1974
1975	* install-mk (MK_VERSION): bump version to 20120711
1976	* dep.mk: add explicit dependencies on SRCS after applying
1977	  SRCS_DEP_FILTER
1978	* meta.autodep.mk: add explicit dependencies on SRCS after
1979	  applying SRCS_DEP_FILTER
1980	* meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
1981
19822012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1983
1984	* install-mk (MK_VERSION): bump version to 20120626
1985	* meta.sys.mk: ignore PYTHON if it does not exist
1986	  compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
1987	* meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
1988	  entries ending in .${MACHINE} to decide if qualified _dirdep is
1989	  needed.
1990	* gendirdeps.mk: only produce unqualified deps if no
1991	  .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
1992	* meta.subdir.mk: apply SUBDIRDEPS_FILTER
1993
19942012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1995
1996	* install-mk (MK_VERSION): bump version to 20120420
1997	* add sys.dependfile.mk so we can experiment with
1998	  .MAKE.DEPENDFILE_PREFERENCE
1999	* meta.autodep.mk: _DEPENDFILE is precious!
2000
20012012-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2002
2003	* install-mk (MK_VERSION): bump version to 20120315
2004	* install-new.mk: avoid being interrupted
2005
20062012-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2007
2008	* man.mk: MAN might have multiple values so be careful with exists().
2009
20102012-01-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2011
2012	* install-mk (MK_VERSION): bump version to 20120112
2013	* fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
2014	  as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
2015
20162011-12-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2017
2018	* install-mk (MK_VERSION):  bump version to 20111201
2019	* import dirdeps.mk from Juniper sjg@
2020	  o more consistent handling of DEP_MACHINE, especially when
2021	    dealing with an odd Makefile.depend, when normally using
2022	    Makefile.depend.${MACHINE}
2023
20242011-11-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2025
2026	* install-mk (MK_VERSION): bump version to 20111122
2027	* meta.autodep.mk: add some debug output, be more crisp about
2028	  updating.  Use ${.ALLTARGETS:M*.o} as a clue for .depend
2029
20302011-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2031
2032	* install-mk (MK_VERSION): bump version to 20111111
2033	  it's too cool to miss
2034	* import meta* updates from Juniper sjg@
2035	  o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
2036	    normally using Makefile.depend.${MACHINE}), handy for
2037	    read-only manually maintained dependencies.
2038	  o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
2039	  o gendirdeps.mk if ERROR: from meta2deps.py do not update
2040	    anything.
2041
20422011-10-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2043
2044	* install-new.mk separate the cmp and copy logic to its own function.
2045
20462011-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2047
2048	* install-mk (MK_VERSION): bump version to 20111028
2049	* sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
2050	* subdir.mk: ensure _SUBDIRUSE is provided
2051	* meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
2052	* meta.subdir.mk: always allow for Makefile.depend
2053
20542011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2055
2056	* install-mk (MK_VERSION): bump version to 20111010
2057	  o minor tweak to *dirdeps.mk from Juniper sjg@
2058
20592011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2060
2061	* install-mk (MK_VERSION): bump version to 20111001
2062	  o add meta2deps.py from Juniper sjg@
2063	  o tweak gendirdeps.mk to work with meta2deps.py when not
2064	    cross-building
2065	* autoconf.mk: add autoconf-input as a hook for regenerating
2066	  AUTOCONF_INPUTS (configure).
2067
20682011-08-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2069
2070	* meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
2071	  trigger for updating Makefile.depend*
2072
20732011-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2074
2075	* install-mk (MK_VERSION): bump version to 20110808
2076	* obj.mk: minor cleanup
2077	* auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
2078
20792011-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2080
2081	* auto.obj.mk (.OBJDIR): throw an error if we cannot use the
2082	  specified dir.
2083
20842011-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2085
2086	* meta.autodep.mk: if XMAKE_META_FILE is set
2087	  the makefile uses a foreign make, and so dependencies
2088	  can only be gathered from a clean tree build.
2089
20902011-06-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2091
2092	* install-mk (MK_VERSION): bump version to 20110622
2093	* meta.autodep.mk: improve bootstraping
2094
20952011-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2096
2097	* yacc.mk: handle the corner case of .c being removed
2098	  while .h remains.
2099
21002011-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2101
2102	* yacc.mk: do .y.h and .y.c separately
2103
21042011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2105
2106	* install-mk (MK_VERSION): bump version to 20110606
2107	* don't store SRC_DIRDEPS in Makefile.depend* by default
2108	  not everyone needs it.
2109
21102011-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2111
2112	* install-mk (MK_VERSION): bump version to 20110505
2113	  first release including meta mode makefiles
2114
21152011-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2116
2117	* meta.stage.mk: add STAGE_AS_SETS and stage_as
2118	  for things that need to be staged with different names.
2119
21202011-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2121
2122	* meta.stage.mk: add notion of STAGE_SETS
2123	  so a makefile can stage to multiple dirs
2124
21252011-04-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2126
2127	* rst2htm.mk: convert rst to s5 (slides) or plain html depending
2128	  on target name.
2129
21302011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2131
2132	* install-mk (MK_VERSION): bump version to 20110330
2133
21342011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
2135
2136	* sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
2137	  can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
2138	* sys.mk: re-define M_whence in terms of M_type.
2139	  M_type is useful for checking if something is a builtin.
2140
21412011-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2142
2143	* meta.stage.mk: add stage_symlinks and leverage StageLinks for
2144	  stage_libs
2145
21462011-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2147
2148	* dirdeps.mk: correct value for _depdir_files depends on
2149	  .MAKE.DEPENDFILE
2150	  Add our copyright - just to make it clear we have frobbed this
2151	  quite a bit.
2152	  DEP_MACHINE needs to be set to MACHINE each time, if using only
2153	  Makefile.depend (cf. Makefile.depend.${MACHINE})
2154
2155	* meta.stage.mk: meta mode version of staging
2156
2157	* init.mk, final.mk: include local.*.mk to simplify customization
2158
21592011-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2160
2161	* auto.obj.mk: just because we are doing mk destroy, we should
2162	  still set .OBJDIR correctly if it exists.
2163
2164	* install-mk (mksrc): do not exclude meta.sys.mk
2165
21662011-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2167
2168	* host-target.mk: set/export _HOST_ARCH etc separately,
2169	  catch junk resulting from uname -p, so we can find sys/Linux.mk
2170	  correctly.
2171
21722011-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2173
2174	* meta.sys.mk: throw an error if /dev/filemon is missing and we
2175	  expected to be updating Makefile.depend*
2176
21772011-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2178
2179	* install-mk (MK_VERSION): bump version to 20110214
2180	* meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
2181
21822010-09-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2183
2184	* meta.sys.mk: not valid for older bmake
2185
21862010-09-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2187
2188	* install-mk (MK_VERSION): bump version to 20100919
2189	include dirdeps.mk et al from Juniper Networks,
2190	for meta mode - requires filemon(9).
2191	* sys.mk, subdir.mk: Add hooks for meta mode.
2192	we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
2193	to make turning it on/off simple.
2194
21952010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2196
2197	* install-mk (MK_VERSION): bump version to 20100616
2198	* fix typo in sys.mk
2199
22002010-06-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2201
2202	* install-mk (MK_VERSION): bump version to 20100612
2203	* lib.mk: remove duplicate addition to SOBJS
2204
22052010-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2206
2207	* sys.mk: Add a means of selectively turning on debug flags.
2208	  Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
2209	  will act as if we did make -dv if .CURDIR ends in lib/sjg
2210	  DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
2211	  the start of sys.mk rather than the end.
2212	  This only makes sense for leaf dirs, so we check that
2213	  .MAKE.LEVEL > 0
2214
22152010-06-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2216
2217	* install-mk (MK_VERSION): bump version to 20100608
2218	* sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
2219	* examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
2220	  also make it easier for folk to tweak
2221
22222010-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2223
2224	* install-mk (MK_VERSION): bump version to 20100606
2225	  do not install examples/*
2226	* FILES: add examples/sys.clean-env.mk
2227	* examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
2228	  this requires bmake-20100606 or later to work.
2229
22302010-05-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2231
2232	* sys.mk (M_tA): better simulate the result of :tA if not available.
2233
22342010-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2235
2236	* sys.mk: canonicalize MAKE_VERSION
2237	  old versions reported bmake-<src-date> build-<build-date>
2238	  whereas we only care about <src-date>
2239
22402010-04-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2241
2242	* install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
2243	* lib.mk: we only build the shared lib if SHLIB_FULLVERSION
2244	  is !empty
2245
22462010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2247
2248	* dpadd.mk: use LDADD_* if defined.
2249
22502010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2251
2252	* install-mk (MK_VERSION): bump version to 20100420
2253	* sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
2254	* autoconf.mk allow AUTO_AUTOCONF
2255
22562010-04-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2257
2258	* obj.mk: add objwarn to keep freebsd makefiles happy
2259	* auto.obj.mk: ensure Mkdirs is available.
2260	* FILES: add auto.dep.mk - a simpler version of autodep.mk
2261	* dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
2262	  asked to do that.
2263	  fix/simplify the tests for when to run mkdep.
2264	* auto.dep.mk: add some explanation of how/what we do.
2265	* autodep.mk: skip the .OPTIONAL frobbing of .depend
2266	  bmake's FROM_DEPEND flag makes it redundant.
2267
22682010-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2269
2270	* install-mk (MK_VERSION): bump version to 20100404
2271	* subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
2272	* obj.mk: protect from multiple inclusion even as bsd.obj.mk
2273	Also create a target _SUBDIRUSE so that we can  be used without
2274	subdir.mk
2275
22762010-04-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2277
2278	* dep.mk: use <> when .including so can override.
2279
22802010-01-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2281
2282	* lib.mk (SHLIB_LINKS): ensure a string comparison.
2283
22842010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2285
2286	* install-mk (MK_VERSION): bump version to 20100102
2287	* own.mk: ensure PRINTOBJDIR works
2288	* autoconf.mk: pass on CONFIGURE_ARGS
2289	* init.mk: handle COPTS.${.IMPSRC:T} etc.
2290	* lib.mk: allow sys.mk to control SHLIB_FULLVERSION
2291	  fix handling of symlinks for darwin
2292	* libnames.mk: add DSHLIBEXT for libs which only exist as shared.
2293	* man.mk: suppress chown when not root.
2294	* rst2htm.mk: allow srcs from multiple locations.
2295	* sys.mk: M_whence, stop after 1st line of output.
2296	* sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
2297	* sys/SunOS.mk: we need to export PATH
2298
22992009-12-23  Simon J. Gerraty  <sjg@void.crufty.net>
2300
2301	* install-mk (MK_VERSION): bump version
2302	  include rst2htm.mk
2303
23042009-12-17  Simon J. Gerraty  <sjg@void.crufty.net>
2305
2306	* sys.mk,libnames.mk add .-include <local.*>
2307	  this allows local customization without the need to edit the
2308	  distributed files.
2309
23102009-12-14  Simon J. Gerraty  <sjg@void.crufty.net>
2311
2312	* dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
2313	  older versions already installed.
2314
23152009-12-13  Simon J. Gerraty  <sjg@void.crufty.net>
2316
2317	* stage.mk (.stage-install): generalize lib.mk's .libinstall
2318	* rules.mk rules for generic Makefile.
2319	* inc.mk install for includes.
2320
23212009-12-11  Simon J. Gerraty  <sjg@void.crufty.net>
2322
2323	* sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
2324	  this, so provide it if using native make.
2325
23262009-12-10  Simon J. Gerraty  <sjg@void.crufty.net>
2327
2328	* FILES: move all the platform *.sys.mk files to sys/*.mk
2329	* Rename Generic.sys.mk to sys.mk - we always want it.
2330
23312009-11-17  Simon J. Gerraty  <sjg@void.crufty.net>
2332
2333	* install-mk (MK_VERSION): bump version
2334	* host-target.mk: only export the expensive stuff
2335	* Generic.sys.mk (sys_mk): for SunOS we need to look for
2336	  ${HOST_OS}.${HOST_OSMAJOR} too!
2337
23382009-11-07  Simon J. Gerraty  <sjg@void.crufty.net>
2339
2340	* install-mk (MK_VERSION): bump version
2341	* lib.mk: if sys.mk doesn't give us an lorder, don't use it.
2342	  based on patch from Greg Olszewski.
2343	* Generic.sys.mk: if we have nothing to work with
2344	set LORDER etc only if we can find it.
2345
23462009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
2347
2348	* install-mk (MK_VERSION): bump version
2349	* man.mk: cleanman: remove CLEANMAN if defined.
2350
23512009-09-04  Simon J. Gerraty  <sjg@void.crufty.net>
2352
2353	* SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
2354
23552009-07-17  Simon J. Gerraty  <sjg@void.crufty.net>
2356
2357	* install-mk (MK_VERSION): bump version
2358	include auto.obj.mk
2359
2360
23612009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
2362
2363	* prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
2364
23652008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
2366
2367	* install-mk (MK_VERSION): bump version
2368	man.mk: ensure we generate *.cat1 etc in .
2369
23702008-07-16  Simon J. Gerraty  <sjg@void.crufty.net>
2371
2372	* install-mk (MK_VERSION): bump version
2373	add prlist.mk
2374
23752007-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
2376
2377	* Generic.sys.mk: Allow os specific sys.mk to be in a
2378	subdir of ${.PARSEDIR}
2379
23802007-11-22  Simon J. Gerraty  <sjg@void.crufty.net>
2381
2382	* install-mk (MK_VERSION): bump version
2383	* general cleanup
2384	* dpadd.mk introduce DPMAGIC_LIBS_*
2385
23862007-04-30  Simon J. Gerraty  <sjg@void.crufty.net>
2387
2388	* install-mk (MK_VERSION): bump version
2389
2390	* libs.mk, progs.mk, autodep.mk: allow for per lib/prog
2391	depend files and ensure clean is called for each lib/prog.
2392
23932007-03-27  Simon J. Gerraty  <sjg@void.crufty.net>
2394
2395	* autodep.mk (.depend): delete lines that do not start with
2396	space and do not contain ':'
2397
23982007-02-16  Simon J. Gerraty  <sjg@void.crufty.net>
2399
2400	* autodep.mk (.depend): gcc may wrap lines if pathnames are long
2401	so make sure the transform for .OPTIONAL copes.
2402
24032007-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2404
2405	* install-mk (MK_VERSION): bump version
2406
2407	* own.mk: make sure RM and LN are defined.
2408
2409	* obj.mk: fix a typo, and objlink target.
2410
24112006-12-30  Simon J. Gerraty  <sjg@void.crufty.net>
2412
2413	* install-mk (MK_VERSION): bump version
2414	* added libs.mk - analogous to progs.mk
2415	  make both of them always inlcude {lib,prog}.mk
2416
24172006-12-28  Simon J. Gerraty  <sjg@void.crufty.net>
2418
2419	* progs.mk: add a means of building multiple apps in one dir.
2420
24212006-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
2422
2423	* install-mk (MK_VERSION): bump version to 20061126
2424
2425	* warnings.mk: detect invalid WARNINGS_SET
2426
2427	* warnings.mk: use ${.TARGET:T:R}.o when looking for target
2428	specific warnings.
2429
2430	* For .cc sources, turn off warnings that g++ vomits on.
2431
24322006-11-08  Simon J. Gerraty  <sjg@void.crufty.net>
2433
2434	* own.mk: if __initialized__ target doesn't exist and we are
2435	FreeBSD we got here directly from sys.mk
2436
24372006-11-06  Simon J. Gerraty  <sjg@void.crufty.net>
2438
2439	* install-mk (MK_VERSION): bump version to 20061106
2440	add scripts.mk
2441
24422006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
2443
2444	* install-mk (MK_VERSION): bump version to 20060318
2445
2446	* autodep.mk: avoid := when modifying OBJS into __dependsrcs
2447
24482006-03-02  Simon J. Gerraty  <sjg@void.crufty.net>
2449
2450	* install-mk (MK_VERSION): bump version to 20060302
2451	* autodep.mk: use -MF et al to help gcc+ccache DTRT.
2452
24532006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
2454
2455	* install-mk (MK_VERSION): bump version to 20060301
2456	* autodep.mk (.depend):
2457	if MAKE_VERSION is newer than  20050530 we can make .END depend on
2458	.depend and make .depend depend on __depsrcs that exist.
2459	* dpadd.mk: add SRC_PATHADD
2460
24612005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
2462
2463	* install-mk (MK_VERSION): bump version to 20051104
2464	* prog.mk: remove all the LIBC?= junk, use
2465	.-include libnames.mk instead (none by default).
2466	also if USE_DPADD_MK is set, include that.
2467
24682005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2469
2470	* install-mk (MK_VERSION): bump version to 20051001
2471	Add UnixWare.sys.mk from Klaus Heinz.
2472
24732005-04-05  Simon J. Gerraty  <sjg@void.crufty.net>
2474
2475	* install-mk: always install *.sys.mk and if need be symlink one
2476	to sys.mk
2477
24782005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2479
2480	* subdir.mk, own.mk: use .MAKE rather than MAKE
2481
24822004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
2483
2484	* own.mk: don't use NetBSD's _SRC_TOP_ it can
2485	cause confusion.  Also don't take just 'mk' as a
2486	srctop indicator.
2487
24882004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
2489
2490	* warnings.mk: overhauled, now very powerful.
2491
24922004-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2493
2494	* Generic.sys.mk: need to use ${.PARSEDIR} with exists().
2495
24962004-02-01  Simon J. Gerraty  <sjg@void.crufty.net>
2497
2498	* install-mk (MK_VERSION): bump version to 20040201
2499	* extract HOST_TARGET stuff to host-target.mk so own.mk and
2500	Generic.sys.mk can share.
2501	* fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
2502
25032003-09-30  Simon J. Gerraty  <sjg@void.crufty.net>
2504
2505	* install-mk (MK_VERSION): 20030930
2506	* rename generic.sys.mk to Generic.sys.mk
2507	so that it does not get installed (unless being used as sys.mk)
2508	* set OS and ROOT_GROUP for those that we know the value.
2509	for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
2510	we don't do it again for each sub-make.
2511
25122003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
2513
2514	* install-mk (MK_VERSION): 20030928
2515	Add some extra *.sys.mk from bootstrap-pkgsrc
2516	some of these likely still need work.
2517	Make everything default to root:wheel ownership,
2518	sys.mk can set ROOT_GROUP accordingly.
2519
25202003-08-07  Simon J. Gerraty  <sjg@void.crufty.net>
2521
2522	* install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
2523	not the portable ones.
2524
25252003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
2526
2527	* install-mk: add ability to use cp -f when updating
2528	destination .mk files.  Also now possible to play games with
2529	FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
2530	into dest - not recommended unless you seriously want to.
2531
25322003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
2533
2534	* own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
2535	for semi-compatability with NetBSD.
2536
25372003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
2538
2539	* install-mk: add a version indicator
2540
25412003-07-22  Simon J. Gerraty  <sjg@void.crufty.net>
2542
2543	* prog.mk: don't try and use ${LIBCRT0} if its /dev/null
2544
2545	* install-mk: Allow FORCE_SYS_MK to come from env
2546
2547
2548
2549