xref: /freebsd/contrib/bmake/mk/ChangeLog (revision 0b46a53a2f50b5ab0f4598104119a049b9c42cc9)
12025-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* install-mk (MK_VERSION): 20250528
4
5	* add dirdeps2dplibs.mk
6
72025-05-18  Simon J Gerraty  <sjg@beast.crufty.net>
8
9	* install-mk (MK_VERSION): 20250518
10
11	* meta.autodep.mk (META_FILES): re-work to fix filtering.
12	if OPTIMIZE_OBJECT_META_FILES==yes
13	provide a default META_FILE_OBJ_FILTER that selects a valid
14	.SUFFIX to match *o.meta, there's no guarantee that it will be as
15	simple as .o or .So etc.
16	We have to defer evaluation until the target script is run
17	for any of these filters to have any effect.
18	Use :S,${.OBJDIR}/,, rather than :T incase there are objects
19	in sub-dirs.
20
21	* lib.mk: leverage ${.SUFFIXES} when setting dependencies.
22
23	* add UPDATE_DEPENDFILE as a dependent option - follows
24	DIRDEPS_BUILD and use MK_UPDATE_DEPENDFILE as default for
25	UPDATE_DEPENDFILE when we think it should be yes.
26	This allows override with -DWITH[OUT]_UPDATE_DEPENDFILE
27	without overriding UPDATE_DEPENDFILE directly - which can lead to
28	trouble.
29
302025-05-16  Simon J Gerraty  <sjg@beast.crufty.net>
31
32	* install-mk (MK_VERSION): 20250515
33
34	* meta2deps.py: resolve the target of a Move or Link first
35	and track the last path resolved, then if the src is a relative
36	path we can easily use that last path to resolve the src correctly.
37
38	* meta2deps.sh: for a Move or Link add the dir of target path to
39	the list used to resolve the src path.
40
412025-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
42
43	* init.mk: include Skipping ${RELDIR} when _SKIP_BUILD is not empty.
44
452025-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
46
47	* install-mk (MK_VERSION): 20250414
48
49	* init.mk: check ONLY_*_LIST and NOT_*_LIST for SKIP_BUILD_VAR_LIST
50	to set _SKIP_BUILD
51
52	* genfiles.mk: add FILTER support
53
54	* rst2htm.mk: latest docutils drops .py extensions
55
562025-03-26  Simon J Gerraty  <sjg@beast.crufty.net>
57
58	* install-mk (MK_VERSION): 20250326
59
60	* auto.obj.mk: fix and simplify handling of relative __objdir,
61	convert it to absolute before checking against .OBJDIR
62
632025-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
64
65	* install-mk (MK_VERSION): 20250314
66
67	* meta.stage.mk: StageFiles --subdir: preserve the dir part of
68	each file under $dest
69
702025-03-12  Simon J Gerraty  <sjg@beast.crufty.net>
71
72	* meta.autodep.mk: do a better job of handling MAKESYSPATH in
73	GENDIRDEPS_ENV.  If we have MAKE_VERSION >= 20230123 we can just
74	use .SYSPATH, otherwise it is a bit more complicated.
75
762025-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
77
78	* rust.mk: use RUST_LIBS and RUST_PROGS
79
802025-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
81
82	* install-mk (MK_VERSION): 20250101
83
84	* use W flag to :S and :C rather than :tW
85
862024-12-16  Simon J Gerraty  <sjg@beast.crufty.net>
87
88	* rust.mk: add RUSTFLAGS if needed
89
902024-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
91
92	* init.mk (OBJS_SRCS_FILTER): apply this as
93	${OBJS_SRCS_FILTER:ts:} as we do in FreeBSD.
94
952024-12-03  Simon J Gerraty  <sjg@beast.crufty.net>
96
97	* install-mk (MK_VERSION): 20241202
98
99	* setopts.sh: needed by newlog.sh
100
1012024-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
102
103	* meta.sys.mk: add META_MODE_XTRAS to META_MODE to make it
104	easier to add things like 'env' when debugging.
105
106	* install-mk (MK_VERSION): 20241122
107
108	* rust.mk: rename CARGO* to RUST_CARGO* so I don't feel
109	like this makefile should be renamed to cargo.mk
110
1112024-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
112
113	* dirdeps.mk: add DIRDEPS_CACHED_ENV to dirdeps-cached and
114	DIRDEP_USE_EPILOGUE to _DIRDEP_USE
115
1162024-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
117
118	* meta.sys.mk: if MK_META_ERROR_TARGET is yes and NEWLOG_SH is
119	set, and ERROR_LOGDIR already exists, hook _rotateErrorLog to
120	.BEGIN target.
121
1222024-10-27  Simon J Gerraty  <sjg@beast.crufty.net>
123
124	* options.mk: add support for DEBUG_OPTIONS (similar to
125	DEBUG_DIRDEPS) to allow us to see where options get set.
126	Eg. DEBUG_OPTIONS="STAGING*" gives:
127
128	bmake[1]: "mk/options.mk" line 89: sys.mk: MK_STAGING=yes (MK_DIRDEPS_BUILD=no)
129	bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING=yes
130	bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING_PROG=no
131	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_MAN=yes (MK_STAGING=yes)
132	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_PROG=no (MK_STAGING=yes)
133	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_RUST=no (MK_STAGING_PROG=no)
134
135	* own.mk: fix setting of STAGE_OBJTOP (normally set by sys.dirdeps.mk)
136
1372024-10-26  Simon J Gerraty  <sjg@beast.crufty.net>
138
139	* rust.mk: add some documentation and support for staging
140
1412024-10-25  Simon J Gerraty  <sjg@beast.crufty.net>
142
143	* rust.mk: a means of integrating Rust projects into a larger build.
144
1452024-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
146
147	* dirdeps-targets.mk: if DEBUG_DIRDEPS_TARGETS and we found
148	STATIC_DIRDEPS_CACHE, report its relative path.
149
1502024-09-30  Simon J Gerraty  <sjg@beast.crufty.net>
151
152	* dirdeps.mk: tweak the debug message for "Loading" a
153	Makefile.depend file, always report what the actual makefile is
154	with the DIRDEP it is for.
155	Remove the redundant "Looking" message.
156
1572024-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
158
159	* meta2deps.py: when raising AssertionError include meta file name
160	with $SB trimmed if possible.
161
1622024-09-23  Simon J Gerraty  <sjg@beast.crufty.net>
163
164	* meta2deps.py: replace assert() with raise AssertionError when we
165	detect missing eXits, to ensure a meaningful message gets into
166	log.
167
1682024-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
169
170	* install-mk (MK_VERSION): 20240921
171
172	* FILES: add genfiles.mk
173
1742024-09-20  Simon J Gerraty  <sjg@beast.crufty.net>
175
176	* install-mk (MK_VERSION): 20240920
177
178	* cython.mk: Get PYTHON_VERSION from PYTHON
179
1802024-08-31  Simon J Gerraty  <sjg@beast.crufty.net>
181
182	* subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*}
183	  and handle subdir with '-' in its name.
184
1852024-08-23  Simon J Gerraty  <sjg@beast.crufty.net>
186
187	* install-mk (MK_VERSION): 20240820
188
189	* links.mk: Allow a filter to be applied to SYMLINKS etc.
190	It is up to [BUILD_][SYM]LINKS_FILTER to do something sane.
191	Also only claim we are making a symlink if the value changed.
192
1932024-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
194
195	* install-mk (MK_VERSION): 20240616
196
197	* dirdeps.mk: apply DEP_DIRDEPS_BUILD_DIR_FILTER after we have
198	computed build dirs, since some filters cannot be easily expressed via
199	DEP_DIRDEPS_FILTER.
200
2012024-05-31  Simon J Gerraty  <sjg@beast.crufty.net>
202
203	* dirdeps.mk: move reset of DIRDEPS_EXPORT_VARS
204	until after we a finished with it if building a cache.
205
2062024-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
207
208	* install-mk (MK_VERSION): 20240504
209
210	* dirdeps.mk: allow BUILD_DIRDEPS_OVERRIDES to pass overrides to
211	sub-make building DIRDEPS_CACHE.
212
2132024-04-24  Simon J Gerraty  <sjg@beast.crufty.net>
214
215	* meta.autodep.mk: do not override start_utc
216
2172024-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
218
219	* sys.dirdeps.mk: set defaults for DEP_* at level 0 too.
220	These help when first include of Makefile.depend happens in a leaf
221	dir.
222
223	* install-mk (MK_VERSION): 20240414
224
2252024-04-09  Simon J Gerraty  <sjg@beast.crufty.net>
226
227	* install-mk (MK_VERSION): 20240408
228
229	* init.mk: allow for _ as well as . to join V
230	and Q from QUALIFIED_VAR_LIST and VAR_QUALIFIER_LIST.
231
232	* progs.mk: avoid overlap between PROG_VARS and
233	init.mk's QUALIFIED_VAR_LIST since PROG would also
234	match its VAR_QUALIFIER_LIST,
235	libs.mk does not have the same issue.
236
237	* subdir.mk: _SUBDIRUSE for realinstall should run install
238	remove include of ${.CURDIR}/Makefile.inc that can be done via
239	local.subdir.mk where needed
240
241	* own.mk: do not conflict with man.mk
242
2432024-03-19  Simon J Gerraty  <sjg@beast.crufty.net>
244
245	* install-mk (MK_VERSION): 20240314
246
247	* add sys/Cygwin.mk from Christian Franke
248
2492024-03-09  Simon J Gerraty  <sjg@beast.crufty.net>
250
251	* install-mk (MK_VERSION): 20240309
252
253	* meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not
254	want to save the .ERROR_META_FILE
255
2562024-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
257
258	* install-mk (MK_VERSION): 20240220
259
260	* sys.dirdeps.mk, dirdeps-targets.mk, init.mk:
261	do not set .MAIN: dirdeps in sys.dirdeps.mk
262	dirdeps-targets.mk will do that for top-level builds
263	and init.mk will do it for others.
264	This allows a Makefile which has no need of 'dirdeps' to
265	set .MAIN for itself and "just work".
266
2672024-02-18  Simon J Gerraty  <sjg@beast.crufty.net>
268
269	* bsd.*.mk: for makefiles that get a bsd. symlink,
270	use _this in  multiple inclusion tags since .PARSEFILE will not
271	DTRT when such a makefile is included directly by Makefile and
272	automatically (without bsd. prefix).
273	Since we cannot guarantee that our sys.mk will be used, we provide
274	a default _this in each makefile that gets a bsd. prefix such that
275	the value is the same regardless of bsd. prefix.
276
277	* subdir.mk: drop the !target guard on $SUBDIR_TARGETS
278
2792024-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
280
281	* install-mk (MK_VERSION): 20240212
282
283	* SPDX-License-Identifier: BSD-2-Clause
284	Add SPDX-License-Identifier to inidicate that I consider
285	my copyright on any of these makefiles equivalent to BSD-2-Clause
286
287	* autoconf.mk: allow for configure.ac as currently recommended
288
289	* subdir.mk: support @auto
290	which is replaced with each subdir that
291	has a [Mm]akefile.
292
293	* subdir.mk: include local.subdir.mk if it exists.
294
295	* subdir.mk: rework to handle .WAIT
296
2972024-02-11  Simon J Gerraty  <sjg@beast.crufty.net>
298
299	* subdir.mk: _SUBDIRUSE report the target we are entering subdirs for.
300
3012024-02-10  Simon J Gerraty  <sjg@beast.crufty.net>
302
303	* prog.mk: treat empty SRCS the same as undefined
304
3052024-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
306
307	* Avoid undefined errors in lint (-dL) mode
308
309	* man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7)
310
3112024-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
312
313	* install-mk (MK_VERSION): 20240128
314
315	* FILES: add ccm.dep.mk for C++ modules
316	add suffixes.mk for common location for generic SUFFIX rules.
317
318	* auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk
319	replace OBJ_EXTENSIONS with OBJ_SUFFIXES
320
321	* autodep.mk: leverage CXX_SUFFIXES for __depsrcs
322	and update style (spaces around = etc)
323
324	* init.mk: add OBJS_SRCS_FILTER to filter SRCS when
325	setting OBJS
326
327	* meta2deps.py: handle multiple ./ embedded in path better.
328
3292024-01-05  Simon J Gerraty  <sjg@beast.crufty.net>
330
331	* install-mk (MK_VERSION): 20240105
332	* dirdeps.mk: for MAKE_VERSION 20240105 we do not have the same
333	limits on command line length, so skip export of lists to env.
334
3352023-12-24  Simon J Gerraty  <sjg@beast.crufty.net>
336
337	* man.mk: add logic for staging man pages
338
3392023-11-28  Simon J Gerraty  <sjg@beast.crufty.net>
340
341	* jobs.mk: avoid C suffix in JOB_MAX_C if factor is floating
342	point.  This keeps JOB_MAX numeric incase another makefile does
343	comparisons.
344
3452023-11-04  Simon J Gerraty  <sjg@beast.crufty.net>
346
347	* dpadd.mk: add support for DPLIBS_QUALIFIER_LIST
348
349	* gendirdeps.mk: if META_XTRAS is passed to us, add to META_FILES
350
3512023-10-03  Simon J Gerraty  <sjg@beast.crufty.net>
352
353	* compiler.mk (COMPILER_VERSION): clang at least is into
354	double digit major versions.
355
3562023-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
357
358	* install-mk (MK_VERSION): 20231001
359
360	* set _CCLINK in init.mk so lib.mk can use it for default SHLIB_LD
361
362	* lib.mk (cleanlib): use LD_solink so we remove all the right files.
363	Use -Wl for -soname since we now default to linking with CC
364	We should not need SHLIB_LDSTARTFILE or SHLIB_LDENDFILE when linking
365	with CC.
366
3672023-09-24  Simon J Gerraty  <sjg@beast.crufty.net>
368
369	* init.mk (QUALIFIED_VAR_LIST): Add SRCS
370
3712023-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
372
373	* jobs.mk (JOB_MAX): use -jC if we can
374	we actually use JOB_MAX_C which defaults to 1.33C
375
3762023-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
377
378	* now_utc: %s only works with :localtime
379
3802023-07-14  Simon J Gerraty  <sjg@beast.crufty.net>
381
382	* install-sh: ignore -c as claimed and only insist on
383	a directory for destination when more than one file to copy.
384
385	* sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and
386	${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64)
387
3882023-07-13  Simon J Gerraty  <sjg@beast.crufty.net>
389
390	* install-mk (MK_VERSION): 20230711
391
392	* sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible
393	install(1)
394
395	* sys/IRIX.mk:  when setting ROOT_GROUP only match the first :0:
396	set INSTALL to install-sh rather than pathname that may not exist
397	(yet).
398
3992023-07-07  Simon J Gerraty  <sjg@beast.crufty.net>
400
401	* dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE
402	normally this is empty - for the default target, but there are
403	use-cases where we might set it to something else.
404
4052023-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
406
407	* install-mk (MK_VERSION): 20230704
408
409	* dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output
410	when DEBUG_DIRDEPS is in effect.
411	Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n
412	can greatly improve readability.
413
4142023-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
415
416	* meta.autodep.mk (beforegendirdeps): allow tasks to be done
417	at END but before gendirdeps
418
4192023-05-22  Simon J Gerraty  <sjg@beast.crufty.net>
420
421	* install-mk (MK_VERSION): 20230522
422
423	* host-target.mk: deal with garbage from uname -m on
424	Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH
425	these days so just leave it be.
426	For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get
427	arm64 and x86_64 in HOST_TARGET.
428
4292023-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
430
431	* sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older
432	versions of bmake.
433
434	* dirdeps.mk (TARGET_SPEC_VARS.host):
435	While *most* projects need only DEP_MACHINE for host,
436	there is always an exception.  So we allow for
437	TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS.
438	The default will *just work* for most projects.
439	We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC
440	based on DEP_MACHINE.
441	Allow for M_dep_qual_fixes.host to be different too
442	and take care to apply the right set.
443
4442023-05-14  Simon J Gerraty  <sjg@beast.crufty.net>
445
446	* sys.dirdeps.mk: we *do* want to override OBJTOP
447	and if MAKEOBJDIR was not in env as we want it;
448	put it there - carefully.
449	Ensure OBJROOT ends in / or - (/ preferred)
450	Add more comments to explain what/why.
451
4522023-05-13  Simon J Gerraty  <sjg@beast.crufty.net>
453
454	* install-mk (MK_VERSION): 20230512
455
456	* dirdeps.mk: take care not to qualify "host" dirdeps
457
458	* sys.dirdeps.mk (OBJTOP): must use ?=
459
4602023-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
461
462	* meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no"
463	suppress processing of .depend
464
4652023-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
466
467	* dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP
468
469	* meta.sys.mk sys.dirdeps.mk:
470	originally DIRDEPS_BUILD and META_MODE were the same thing,
471	but META_MODE is useful by itself.
472	Move things from meta.sys.mk which actually pertain to
473	DIRDEPS_BUILD to sys.dirdeps.mk
474
4752023-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
476
477	* install-mk (MK_VERSION): 20230504 May the Forth be with you
478
479	* dirdeps.mk: as with meta.sys.mk we treat "host" as special.
480	DEP_TARGET_SPEC is just ${DEP_MACHINE}
481
482	* meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at
483	level > 0 since these are often refered to in Makefile.depend*
484
4852023-04-26  Simon J Gerraty  <sjg@beast.crufty.net>
486
487	* jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and
488	anything in ${JOB_LOG_START}
489
490	* jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}}
491	or a scripts subdir before searching $PATH.
492
493	* FILES: include newlog.sh for jobs.mk
494
4952023-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
496
497	* install-mk (MK_VERSION): 20230420
498
499	* lib.mk: include LDFLAGS and LDADD when linking shared libs
500
501	* gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc
502	via local.meta.sys.mk rather than local.gendirdeps.mk
503	so DEP_* variables can be set at level 1+ to avoid syntax errors
504	when used in conditionals in manually maintained Makefile.depend
505	files.
506
507	* dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines
508
5092023-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
510
511	* dirdeps.mk: check we were not included by
512	Makefile.depend.options as the result is bad.
513
5142023-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
515
516	* install-mk (MK_VERSION): 20230414
517
518	* meta.sys.mk: since we have :range we can put the logic for
519	processing TARGET_SPEC from env here.
520
521	* dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including
522	local.dirdeps-missing.mk, also improve debug output.
523
524	* dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC
525	we need to use :M*[/.]* same as for when actually setting DIRDEPS
526	from the targets on command line.
527
5282023-04-12  Simon J Gerraty  <sjg@beast.crufty.net>
529
530	* Add jobs.mk
531
5322023-03-21  Simon J Gerraty  <sjg@beast.crufty.net>
533
534	* install-mk (MK_VERSION): 20230321
535
536	* meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter
537	STAGE_LIBS for SHLIB_LINKS.
538
539	* autoconf.mk: add .WAIT after config.status
540
5412023-02-17  Simon J Gerraty  <sjg@beast.crufty.net>
542
543	* sys.vars.mk: add M_Index to report the index of a word in a list.
544
5452023-02-15  Simon J Gerraty  <sjg@beast.crufty.net>
546
547	* install-mk (MK_VERSION): 20230215
548
549	* warnings.mk: allow better control of -Werror
550	allow -Wno-error or similar to be added if
551	WARNINGS_SET < WERROR_SET
552	account for COMPILER_TYPE
553
5542023-01-29  Simon J Gerraty  <sjg@beast.crufty.net>
555
556	* autoconf.mk: hook config.status to beforebuild.
557
558	* whats.mk: what*.c is NOTMAIN
559
5602023-01-27  Simon J Gerraty  <sjg@beast.crufty.net>
561
562	* install-mk (MK_VERSION): 20230127
563	control umask so directories are created with suitable mode.
564
5652023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
566
567	* install-mk (MK_VERSION): 20230120
568
569	* sys.vars.mk: add M_On and M_Onr also cleanup to be more
570	consistent wrt testing MAKE_VERSION
571
5722023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
573
574	* install-mk (MK_VERSION): 20230112
575
576	* meta2deps.{py,sh}: assert if filemon data is truncated
577	we should see the '# Bye bye' record - assert if we do not.
578
5792022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
580
581	* install-mk (MK_VERSION): 20220909
582
583	* sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings
584
5852022-09-06  Simon J Gerraty  <sjg@beast.crufty.net>
586
587	* dirdeps-options.mk: explain the need to use
588	${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to
589	${TARGET_SPEC_VAR}
590
5912022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
592
593	* install-mk (MK_VERSION): 20220903
594
595	* M_cmpv handle more than 3 dots and clear leading 0's
596
5972022-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
598
599	* install-mk (MK_VERSION): 20220720
600
601	* prog.mk: handle PROG_CXX for more than just NetBSD
602
6032022-06-20  Simon J Gerraty  <sjg@beast.crufty.net>
604
605	* install-mk (MK_VERSION): 20220620
606
607	* yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER
608	rather than just suffix rules
609
6102022-04-23  Simon J Gerraty  <sjg@beast.crufty.net>
611
612	* install-mk (MK_VERSION): 20220422
613
614	* gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no"
615	do not capture any local depends in Makefile.depend
616
6172022-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
618
619	* install-mk (MK_VERSION): 20220323
620	* posix.mk: default rules for .POSIX:
621
6222022-03-17  Simon J Gerraty  <sjg@beast.crufty.net>
623
624	* sys/*.mk: remove l from ARFLAGS
625
6262022-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
627
628	* install-mk (MK_VERSION): 20220314
629
630	* dirdeps-options.mk: allow options to be per RELDIR
631	try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed
632	with ${DEP_RELDIR}.
633
6342022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
635
636	* install-mk (MK_VERSION): 20220214
637
638	* cc-wrap.mk: fix :@ modifier
639
6402022-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
641
642	* install-mk (MK_VERSION): 20220206
643
644	* cc-wrap.mk: docuement how CCACHE etc might be set for
645	maximum flexibility
646
6472022-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
648
649	* sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT
650
6512022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
652
653	* install-mk (MK_VERSION): 20220204
654
655	* host-target.mk: use .MAKE.OS if available
656
6572022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
658
659	* install-mk (MK_VERSION): 20220202
660
661	* cc-wrap.mk: allow other entries in CC_WRAP_FILTER
662	We add our filter on extensions last, so prior filters
663	can apply to the whole value of .IMPSRC
664
6652022-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
666
667	* cc-wrap.mk: take advantage of target local variables to
668	wrap compilers like CC CXX with wrappers like ccache distcc etc
669
6702022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
671
672	* meta2deps: we do not expect any trace data for setid apps
673
6742022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
675
676	* dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed
677	to sub-make using DIRDEPS_CACHE
678
6792022-01-07  Simon J Gerraty  <sjg@beast.crufty.net>
680
681	* dirdeps.mk: use _cache_script to minimize the number of shells
682	forked when generating dirdeps.cache
683
6842022-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
685
686	* install-mk (MK_VERSION): 20220101
687
688	* dirdeps.mk: initialize DEP_* and _debug_reldir earlier.
689	If initial DIRDEPS are from command line, create the target
690	_dirdeps_cmdline as an indication.
691
6922022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
693
694	* init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD
695	at top-level only some targets are allowed at level 0,
696	for leaf makefiles only the default (all) target is restricted
697
6982021-12-28  Simon J Gerraty  <sjg@beast.crufty.net>
699
700	* install-mk (MK_VERSION): 20211228
701
702	* meta2deps.py: filemon on Linux is not as reliable as we might
703	like, we do not want to update DIRDEPS if filemon output is
704	incomplete.   Track pids that we 'E'xec and make sure we see an
705	e'X'it for each one.  Throw an error if we are missing any 'X'
706	records.
707
7082021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
709
710	* sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes.
711
712	* meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON
713	is something else.
714
715	* meta.autodep.mk: we can now reference ${.SUFFIXES}
716
717	* meta2deps.py: derive a list of dirdep extensions from
718	TARGET_SPEC to trim from dirdeps.
719
720	* dirdeps.mk: flip the computation of qualified vs unqualified
721	dirdeps - it is much simpler to check for unqualified first.
722
7232021-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
724
725	* install-mk (MK_VERSION): 20211212
726
727	* auto.dep.mk: rearrange so that the trivial implementation
728	for recent bmake is more obvious.
729
7302021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
731
732	* install-mk (MK_VERSION): 20211207
733
734	* Ensure guard targets are .NOTMAIN
735
736	* meta.sys.mk: check for nofilemon support when we skip level 0
737
738	* auto.dep.mk: make this usable in meta mode
739	for platforms that cannot use meta.autodep.mk
740
741	* meta2deps.py: avoid confusion if MACHINE and another
742	TARGET_SPEC_VAR have same value.
743
7442021-11-27  Simon J Gerraty  <sjg@beast.crufty.net>
745
746	* dirdeps.mk: when building dirdeps.cache, minimize the amount of
747	data put into env, by stripping ${SRCTOP}/ from each entry.
748	A long sandbox name can double the amount of memory consumed and
749	in extreme cases cause failure.
750	While we are at it, strip ${SRCTOP}/ from a lot of the debug output.
751
7522021-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
753
754	* install-mk (MK_VERSION): 20211111
755
756	* meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail
757	so fallback to cp if necessary.
758
7592021-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
760
761	* man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year
762	old cmt2doc.pl
763
7642021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
765
766	* meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f}
767	as the symlink (rare)
768
7692021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
770
771	* autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not
772	been read, throw an error after running configure telling user to
773	restart.
774
7752021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
776
777	* install-mk (MK_VERSION): 20211011
778
779	* Add support for SCO_SV
780
7812021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
782
783	* install-mk (MK_VERSION): 20211001
784
785	* man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more
786	flexibility
787
7882021-09-13  Simon J Gerraty  <sjg@beast.crufty.net>
789
790	* options.mk (describe-options): print options and their values
791	  and optional description
792
7932021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
794
795	* install-mk (MK_VERSION): 20210911
796
797	* options.mk (show-options): print options and their values
798
7992021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
800
801	* install-mk (MK_VERSION): 20210909
802
803	* lib.mk: apply patch from <daniel@octaforge.org>
804	to fix shared libs on Linux
805
8062021-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
807
808	* install-mk (MK_VERSION): 20210808
809
810	* options.mk: issue warning for WITH_*=no
811
8122021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
813
814	* install-mk (MK_VERSION): 20210616
815
816	* dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find
817	depend files to read, anchor MACHINE at , or end of string
818	to avoid prefix match.
819
8202021-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
821
822	* install-mk (MK_VERSION): 20210504
823
824	* dirdeps.mk: re-implement ALL_MACHINES support to better
825	cater for local complexities, when ONLY_TARGET_SPEC_LIST
826	is not set. local.dirdeps.mk can set
827	DIRDEPS_ALL_MACHINES_FILTER and/or
828	DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get
829	from listing all existing Makefile.depend.*
830
8312021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
832
833	* install-mk (MK_VERSION): 20210420
834
835	* dirdeps.mk: revert previous - not always safe.
836
8372021-03-20  Simon J Gerraty  <sjg@beast.crufty.net>
838
839	* install-mk (MK_VERSION): 20210321
840
841	* dirdeps.mk: when generating dirdeps.cache
842	we only need to hook the initial DIRDEPS to the
843	dirdeps target.  That and any _build_xtra_dirs (like tests which
844	should not be hooked directly to the dependency graph - to avoid
845	cycles)
846
8472021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
848
849	* install-mk (MK_VERSION): 20210130
850
851	* dirdeps.mk: expr 2 - 1 - 1 exits with a bad status
852	  we need to  guard against this in DIRDEP_LOADAVG_REPORT.
853
854	* dirdeps.mk: restore respect for TARGET_MACHINE
855
8562021-01-06  Simon J Gerraty  <sjg@beast.crufty.net>
857
858	* install-mk (MK_VERSION): 20210101
859
860	* dirdeps.mk: first time we are read, just use TARGET_SPEC for
861	_DEP_TARGET_SPEC
862
8632020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
864
865	* sys.mk (MAKE_SHELL): use ${.SHELL:Ush}
866	and use := when setting SHELL
867
8682020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
869
870	* install-mk (MK_VERSION): 20201221
871
872	* dirdeps-options.mk: latest bmake allows only one arg to .undef
873
8742020-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
875
876	* dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS
877	so that any directory can be treated as a target.
878
8792020-11-26  Simon J Gerraty  <sjg@beast.crufty.net>
880
881	* install-mk (MK_VERSION): 20201126
882
883	* own.mk: use .MAKE.{UID,GID} if available.
884
885	* init.mk: suppress _SKIP_BUILD warning if doing -V
886
8872020-11-20  Simon J Gerraty  <sjg@beast.crufty.net>
888
889	* install-mk (MK_VERSION): 20201120
890
891	* init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS
892
893	* dirdeps-targets.mk: fix typo in comment
894
8952020-11-06  Simon J Gerraty  <sjg@beast.crufty.net>
896
897	* install-mk (MK_VERSION): 20201106
898
899	* meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed
900	args to tweak extensions for local deps.
901
9022020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
903
904	* install-mk (MK_VERSION): 20201101
905
906	* dirdeps.mk: most leaf makefiles are not suitable for building
907	dirdeps.cache so if RELDIR is not "." use dirdeps.mk
908
9092020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
910
911	* install-mk (MK_VERSION): 20201028
912
913	* dirdeps.mk: if we don't have :range use equivalent of M_RANGE
914	when building dirdeps.cache for leaf directory use -f dirdeps.mk
915
916	* sys.vars.mk: add M_JOT and M_RANGE
917
9182020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
919
920	* install-mk (MK_VERSION): 20201001
921
922	* meta2deps.{py,sh}: throw an error if we don't see filemon version
923
9242020-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
925
926	* install-mk (MK_VERSION): 20200909
927
928	* dirdeps-cache-update.mk: use cache_update_dirdep as guard target
929
9302020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
931
932	* dirdeps.mk: ensure we cannot confuse a static cache for dynamic
933	(even more rare that use of static cache is playing clever tricks
934	with it)
935
9362020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
937
938	* dirdeps-cache-update.mk: allow
939	MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we
940	actually update STATIC_DIRDEPS_CACHE.
941
942	* stage-install.sh: create dest directory if needed
943	before running install(1)
944
9452020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
946
947	* dirdeps-targets.mk: include Makefile.dirdeps.options
948
949	* dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE
950
9512020-08-09  Simon J Gerraty  <sjg@beast.crufty.net>
952
953	* dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty
954
955	* dirdeps-cache-update.mk: building parallel cache update
956	under the context of dirdeps-cached would be ideal, but
957	is problematic, so it runs as a sibling.
958	Use cache-built target to ensure we wait for it to complete if
959	necessary.
960
9612020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
962
963	* install-mk (MK_VERSION): 20200806
964
965	* dirdeps-options: allow TARGET_SPEC to affect option values.
966	Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_*
967
968	* dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined
969	before looking for STATIC_DIRDEPS_CACHE
970
9712020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
972
973	* host-target.mk: Darwin use MACHINE for HOST_ARCH too
974
975	* dirdeps-options.mk: improve debug output
976
9772020-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
978
979	* dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE
980	for use by dirdeps-cache-update.mk
981
982	* dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE
983	for use by dirdeps-cache-update.mk even if we don't use it.
984
985	* dirdeps-cache-update.mk: we only need worry about the background
986	update case, with the above, the update from DIRDEPS_CACHE is
987	simple.
988
989	* meta2deps.py: R 1234 . is not interesting
990
9912020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
992
993	* sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE
994
995	* dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS
996	allows use of lower case for pseudo options.
997
998	* dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE
999
10002020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
1001
1002	* dirdeps-targets.mk: Look for Makefile.dirdeps.cache
1003	which allows us to have a static cache for expensive targets.
1004	Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE
1005	to regenerate the dirdeps.cache it is a copy of.
1006
10072020-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
1008
1009	* Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense.
1010
10112020-07-16  Simon J Gerraty  <sjg@beast.crufty.net>
1012
1013	* dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record
1014	load averages at intervals during build.
1015
10162020-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
1017
1018	* install-mk (MK_VERSION): 20200715
1019
1020	* dirdeps.mk: tweak Checking line to make matching Finished
1021	lines for post-build analysis easier.
1022
1023	* meta.autodep.mk: use !defined(WITHOUT_META_STATS)
1024
1025	* progs.mk: avoid prog.mk outputting multiple Finished lines
1026
10272020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
1028
1029	* dirdeps.mk: further optimize dirdeps.cache
1030	generate a DIRDEPS.${.TARGET} list for other purposes
1031	and improve the layout.
1032
10332020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
1034
1035	* dirdeps.mk: optimize content of dirdeps.cache
1036
10372020-06-28  Simon J Gerraty  <sjg@beast.crufty.net>
1038
1039	* sys/*.mk: make it easier for local*sys.mk to customize by
1040	using ?=
1041
10422020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
1043
1044	* gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
1045	it is much safer to guard local depends with a simple check for
1046	.MAKE.LEVEL > 0
1047
10482020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
1049
1050	* install-mk (MK_VERSION): 20200610
1051
1052	* mkopt.sh: this needs posix shell so #!/bin/sh should be ok
1053
10542020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
1055
1056	* install-mk (MK_VERSION): 20200606
1057
1058	* dirdeps-targets.mk: allow for filtering of .TARGETS
1059
1060	* meta2deps.py: fix bug in processing 'L'ink and 'M'ove
1061	entries - and we don't care about 'W'rite entries.
1062	Also ignore absolute paths that do not exist.
1063
10642020-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
1065
1066	* install-mk (MK_VERSION): 20200525
1067
1068	* init.mk: expand and simplify handling of qualified vars
1069	like CPPFLAGS.${.TARGET:T}
1070
10712020-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
1072
1073	* install-mk (MK_VERSION): 20200515
1074
1075	* dirdeps.mk: set _debug_* earlier and allow passing -d*
1076	flags to submake when building DIRDEPS_CACHE
1077
10782020-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
1079
1080	* whats.mk: more easily extensible
1081
10822020-05-02  Simon J Gerraty  <sjg@beast.crufty.net>
1083
1084	* whats.mk: greatly simplify by adding what.c to SRCS
1085
10862020-05-01  Simon J Gerraty  <sjg@beast.crufty.net>
1087
1088	* whats.mk: for libs take care how we add to *OBJS
1089
1090	* lib.mk: : works better with whats.mk
1091
10922020-04-25  Simon J Gerraty  <sjg@beast.crufty.net>
1093
1094	* install-mk (MK_VERSION): 20200420
1095
1096	* meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
1097	contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
1098
10992020-04-16  Simon J Gerraty  <sjg@beast.crufty.net>
1100
1101	* install-mk (MK_VERSION): 20200416
1102
1103	* sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
1104	  interfere with user env.
1105
1106	* sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
1107
1108	* autodep.mk: use MAKE_SHELL.
1109
11102019-11-21  Simon J Gerraty  <sjg@beast.crufty.net>
1111
1112	* gendirdeps.mk: clear .SUFFIXES to avoid a lot of
1113	  wasted effort, and unexport _meta_files when no longer needed as
1114	  it consumes space we need for command line.
1115
11162019-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
1117
1118	* dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
1119	  DIRDEP_USE_PRELUDE at start - facilitates job distribution
1120
11212019-10-04  Simon J Gerraty  <sjg@beast.crufty.net>
1122
1123	* dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
1124	defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
1125	TARGET_SPEC qualified depend files.
1126
11272019-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
1128
1129	* dirdeps-targets.mk: encapsulate logic for finding top-level
1130	  targets to set initial DIRDEPS for DIRDEPS_BUILD
1131
11322019-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
1133
1134	* install-mk (MK_VERSION): 20190911
1135
1136	* compiler.mk: set COMPILER_TYPE
1137
11382019-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
1139
1140	* install-mk (MK_VERSION): 20190704
1141
1142	* sys/Darwin.mk: support for Objective-C and clang
1143
11442019-05-30  Simon J Gerraty  <sjg@beast.crufty.net>
1145
1146	* dirdeps.mk: avoid insanely long command line when generating cache
1147
11482019-05-23  Simon J Gerraty  <sjg@beast.crufty.net>
1149
1150	* install-mk (MK_VERSION): 20190505
1151
1152	* whats.mk: handle corner case SHLIB defined but not LIB
1153
11542018-09-19  Simon J Gerraty  <sjg@beast.crufty.net>
1155
1156	* install-mk (MK_VERSION): 20180919
1157
1158	* dirdeps-options.mk: .undef cannot handle var that expands to
1159	  more than one var.
1160
11612018-07-08  Simon J Gerraty  <sjg@beast.crufty.net>
1162
1163	* meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
1164
11652018-06-01  Simon J Gerraty  <sjg@beast.crufty.net>
1166
1167	* meta.autodep.mk: export META_FILES to avoid command line limit
1168	* gendirdeps.mk: if we have lots of .meta files put them in
1169	  an @list
1170
11712018-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
1172
1173	* dirdeps-options.mk: use local.dirdeps-options.mk
1174	  not local.dirdeps-option.mk
1175
11762018-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
1177
1178	* install-mk (MK_VERSION): 20180420
1179	* dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
1180	  ie. we are building something.
1181
11822018-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
1183
1184	* FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
1185
11862018-04-05  Simon J Gerraty  <sjg@beast.crufty.net>
1187
1188	* install-mk (MK_VERSION): 20180405
1189
1190	* ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
1191	  if needed.
1192
11932018-01-18  Simon J Gerraty  <sjg@beast.crufty.net>
1194
1195	* install-mk (MK_VERSION): 20180118
1196
1197	* ldorder.mk: let make compute correct link order
1198
11992017-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
1200
1201	* install-mk (MK_VERSION): 20171212
1202
1203	* gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
1204
12052017-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1206
1207	* install-mk (MK_VERSION): 20171111
1208
1209	* lib.mk: ensure META_NOECHO is set
1210
12112017-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1212
1213	* Allow for host32 on rare occasions.
1214
12152017-10-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1216
1217	* install-mk (MK_VERSION): 20171018
1218
1219	* whats.mk: include what_thing in what_uuid to avoid problem
1220	  when building multiple apps in the same directory.
1221
12222017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1223
1224	* install-mk (MK_VERSION): 20170812
1225
1226	* autoconf.mk: Use CONFIGURE_DEPS so Makefile can
1227	  add dependencies for config.recheck and config.gen
1228
12292017-06-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1230
1231	* install-mk (MK_VERSION): 20170630
1232
1233	* meta.stage.mk: avoid triggering stage_* targets with nothing to do.
1234
12352017-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1236
1237	* meta2deps.py: take special care of '..'
1238
12392017-05-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1240
1241	* install-mk (MK_VERSION): 20170515
1242
1243	* dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
1244	useful/necessary for a Makefile.depend file to export some knobs.
1245	This is complicated when we are doing DIRDEPS_CACHE, so we will
1246	handle export of any variables listed in DEP_EXPORT_VARS.
1247
12482017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1249
1250	* install-mk (MK_VERSION): 20170505
1251
1252	* meta2deps.py: fix botched indenation.
1253
12542017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1255
1256	* sys/*.mk: Remove setting of MAKE it is unnecessary and
1257	  in many cases wrong (basname rather than full path)
1258
1259	* scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
1260
1261	* init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
1262
12632017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1264
1265	* install-mk (MK_VERSION): 20170501
1266
1267	* doc.mk: fix typo in DOC_INSTALL_OWN
1268
1269	* inc.mk: handle INCGROUPS similar to freebsd
1270
1271	* files.mk: add something for files too
1272
1273	* add staging logic to lib.mk prog.mk etc.
1274
12752017-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1276
1277	* install-mk (MK_VERSION): 20170424
1278
1279	* dirdeps.mk: set NO_DIRDEPS when bootstrapping.
1280	  also target of bootstrap-this when sed is needed should be ${_want:T}
1281
12822017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1283
1284	* install-mk (MK_VERSION): 20170418
1285
1286	* auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
1287	  prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
1288
12892017-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1290
1291	* install-mk (MK_VERSION): 20170401
1292
1293	* meta2deps.py: add is_src so we can check if obj dependency
1294	  is also a src dependency.
1295
12962017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1297
1298	* install-mk (MK_VERSION): 20170326
1299
1300	* meta.stage.mk: do nothing if NO_STAGING is defined.
1301
13022017-03-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1303
1304	* auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
1305
13062017-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1307
1308	* mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
1309
13102017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1311
1312	* install-mk (MK_VERSION): 20170301
1313
1314	* dirdeps.mk (_build_all_dirs): update this outside test for empty
1315	  DIRDEPS.
1316
1317	* meta.stage.mk: allow multiple inclusion to the extent it makes
1318	  sense.
1319
13202017-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1321
1322	* prog.mk (install_links): depends on realinstall
1323
13242017-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1325
1326	* install-mk (MK_VERSION): 20170212
1327
1328	* dpadd.mk: avoid applying :T:R twice to DPLIBS entries
1329
13302017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1331
1332	* install-mk (MK_VERSION): 20170130
1333
1334	* dirdeps.mk: use :range if we can.
1335
1336	* sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
1337
1338	* meta2deps.py: clean paths without using realpath() where possible.
1339	  fix sort_unique.
1340
13412016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1342
1343	* install-mk (MK_VERSION): 20161212
1344
1345	* meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
1346	rather than when we detect pid change.
1347
13482016-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1349
1350	* install-mk (MK_VERSION): 20161207
1351
1352	* meta.stage.mk: add stage_as_and_symlink for staging packages.
1353	  We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
1354	  to use foo.tgz to reference the latest staged version - so we
1355	  make foo.tgz a symlink to it.
1356	  Using a target to do both operations ensures we stay in sync.
1357
13582016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1359
1360	* install-mk (MK_VERSION): 20161126
1361
1362	* dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
1363	  so it can add dependencies.
1364
13652016-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1366
1367	* dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
1368	  do that they can influence the result correctly.
1369
1370	* dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
1371
1372	* dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
1373	  similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
1374
13752016-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1376
1377	* dirdeps.mk: remove dependence on jot (normal situations anyway).
1378	  Before we read another Makefile.depend* set DEP_* vars from
1379	  _DEP_TARGET_SPEC in case it uses any of them with :=
1380	  When bootstrapping, trim any ,* from extention of chosen _src
1381	  Makefile.depend* to get the machine value we subst for.
1382
13832016-09-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1384
1385	* dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
1386	  DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
1387
1388	* sys.mk: extract some bits to sys.{debug,vars}.mk
1389	  for easier re-use by others.
1390
13912016-09-23  Simon Gerraty  <sjg@sjg-mba13>
1392
1393	* lib.mk: Use ${PICO} for extension for PIC objects.
1394	  default to .pico (like NetBSD) safe on case insensitive filesystem.
1395
13962016-08-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1397
1398	* meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
1399
14002016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1401
1402	* install-mk (MK_VERSION): 20160815
1403
1404	* dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
1405	consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
1406
14072016-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1408
1409	* meta.sys.mk (.MAKE.META.IGNORE_PATHS):
1410	  in meta mode we can ignore the mtime of makefiles
1411
14122016-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1413
1414	* install-mk (MK_VERSION): 20160802
1415
1416	* lib.mk (libinstall): depends on beforinstall
1417
1418	* prog.mk (proginstall): depends on beforinstall
1419	  patch from Lauri Tirkkonen
1420
1421	* dirdeps.mk (bootstrap): When bootstrapping; creat
1422	.MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
1423	.MAKE.DEPENDFILE_BOOTSTRAP_SED
1424
1425	* dirdeps.mk: move some comments to where they make sense.
1426
14272016-07-27  Simon J. Gerraty  <sjg@bad.crufty.net>
1428
1429	* dirdeps.mk (DIRDEPS_CACHE): no dirname.
1430
14312016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1432
1433	* install-mk (MK_VERSION): 20160602
1434	* meta.autodep.mk: when passing META_FILES to gendirdeps.mk
1435	  do not apply :T to META_XTRAS
1436	  patch from Bryan Drewery at FreeBSD.org.
1437
14382016-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1439
1440	* install-mk (MK_VERSION): 20160530
1441	* meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
1442	  make it so.
1443
14442016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1445
1446	* install-mk (MK_VERSION): 20160512
1447
1448	* dpadd.mk: always include local.dpadd.mk if it exists
1449	  remove some things that better belong in local.dpadd.mk
1450	  skip INCLUDES_* for staged libs unless SRC_* defined.
1451
1452	* own.mk: add INCLUDEDIR
1453
14542016-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1455
1456	* dirdeps.mk: when doing -f dirdeps.mk if target suppies no
1457	  TARGET_MACHINE - :E will be empty or match part of path, use
1458	  ${MACHINE}
1459
14602016-04-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1461
1462	* meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
1463	  NO_FILEMON_COOKIE
1464
1465	* dirdeps.mk: move the logic that allows for
1466	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1467	  inside the check for !target(_DIRDEP_USE)
1468
14692016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1470
1471	* Use <> when including local*.mk and others which may exist
1472	  elsewhere so that user can better control what they get.
1473
1474	* meta.autodep.mk (NO_FILEMON_COOKIE):
1475	  create a cookie if we ever build dir with nofilemon
1476	  so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
1477
14782016-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1479
1480	* install-mk (MK_VERSION): 20160401
1481
1482	* meta2deps.py: fix old print statement when debugging.
1483
1484	* gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
1485	  patch from Bryan Drewery
1486
14872016-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1488
1489	* install-mk (MK_VERSION): 20160317 (St. Pats)
1490
1491	* warnings.mk: g++ does not like -Wimplicit
1492
1493	* sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
1494	  pelthora of common suffixes for C++
1495
1496	* lib.mk: use .So for shared objects
1497
14982016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1499
1500	* install-mk (MK_VERSION): 20160315
1501
1502	* meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
1503	  normally only applies to scripts.
1504
1505	* dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
1506	  well as outside it.
1507
15082016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1509
1510	* install-mk (MK_VERSION): 20160310
1511
1512	* dirdeps.mk: use targets rather than a list to track DIRDEPS that
1513	  we have processed; the list gets very inefficient as number of
1514	  DIRDEPS gets large.
1515
1516	* sys.dependfile.mk: fix comment wrt MACHINE
1517
1518	* meta.autodep.mk: ignore staged DPADDs when bootstrapping.
1519	  patch from Bryan Drewery
1520
15212016-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1522
1523	* meta2deps.sh: don't ignore subdirs.
1524	  patch from Bryan Drewery
1525
15262016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1527
1528	* install-mk (MK_VERSION): 20160226
1529
1530	* gendirdeps.mk: mark _DEPENDFILE .NOMETA
1531
15322016-02-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1533
1534	* dirdeps.mk: we shouldn't normally include .depend but if we do
1535	  use .dinclude if we can.
1536
15372016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1538
1539	* install-mk (MK_VERSION): 20160218
1540	* sys.clean-env.mk: with recent change to Var_Subst()
1541	  we cannot use the '$$' trick, but .export-literal does the job
1542	  we need.
1543	* auto.dep.mk: make use .dinclude if we can.
1544
1545
15462016-02-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1547
1548	* dirdeps.mk:
1549	  Add _build_all_dirs such that local.dirdeps.mk can
1550	  add fully qualified dirs to it.
1551	  These will be built normally but the current
1552	  DEP_RELDIR will not depend on then (to avoid cycles).
1553	  This makes it easy to hook things like unit-tests into build.
1554
1555
15562016-01-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1557
1558	* dirdeps.mk: add bootstrap-empty
1559
15602015-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1561
1562	* install-mk (MK_VERSION): 20151212
1563	* auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
1564	  only apply :tA to __objdir when comparing to .OBJDIR
1565
15662015-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1567
1568	* install-mk (MK_VERSION): 20151111
1569
1570	* meta.sys.mk: include sys.dependfile.mk
1571
1572	* sys.mk (OPTIONS_DEFAULT_NO): use options.mk
1573	  to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
1574	  include local.sys.env.mk early
1575	  include local.sys.mk later
1576
1577	* own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
1578
15792015-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1580
1581	* meta.sys.mk (META_COOKIE_TOUCH):
1582	  add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
1583
1584	* meta.stage.mk: stage_libs should ignore SYMLINKS.
1585
15862015-10-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1587
1588	* install-mk (MK_VERSION): 20151022
1589
1590	* sys.mk: BSD/OS does not have 'type' as a shell builtin.
1591
15922015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1593
1594	* install-mk (MK_VERSION): 20151020
1595
1596	* dirdeps.mk: Add logic for
1597	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1598
15992015-10-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1600
1601	* install-mk (MK_VERSION): 20151010
1602
16032015-10-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1604
1605	* meta.stage.mk: use staging: ${STAGE_TARGETS:...
1606	  to have stage_lins run last in non-jobs mode.
1607	  Use .ORDER only for jobs mode.
1608
16092015-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1610
1611	* rst2htm.mk: allow for per target flags etc.
1612
16132015-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1614
1615	* install-mk (MK_VERSION): 20150901
1616
1617	* doc.mk: create dir if needed use DOC_INSTALL_OWN
1618
16192015-06-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1620
1621	* install-mk (MK_VERSION): 20150615
1622
1623	* auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
1624	  Follow make's normal precedence rules.
1625
1626	* gendirdeps.mk: allow customization of the header.
1627	  eg. for FreeBSD:
1628	  GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
1629
1630	* meta.autodep.mk: ignore dirdeps.cache*
1631
1632	* meta.stage.mk: when bootstrapping options it can be handy to
1633	  throw warnings rather than errors for staging conflicts.
1634
1635	* meta.sys.mk: include local.meta.sys.mk for customization
1636
16372015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1638
1639	* install-mk (MK_VERSION): 20150606
1640
1641	* dirdeps.mk: don't rely on manually maintained Makefile.depend
1642	  to set DEP_RELDIR and reset DIRDEPS.
1643	  By setting DEP_RELDIR ourselves we can skip :tA
1644
1645	* gendirdeps.mk: skip setting DEP_RELDIR.
1646
16472015-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1648
1649	* dirdeps.mk: avoid wildcards like make(bootstrap*)
1650
16512015-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1652
1653	* install-mk (MK_VERSION): 20150520
1654
1655	* dirdeps.mk: when we are building dirdeps cache file we *want*
1656	  meta_oodate to look at all the Makefile.depend files, so
1657	  set .MAKE.DEPENDFILE to something that won't match.
1658
1659	* meta.stage.mk: for STAGE_AS_* basename of file may not be unique
1660	  so first use absolute path as key.
1661	  Also skip staging at level 0.
1662
16632015-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1664
1665	* install-mk (MK_VERSION): 20150430
1666
1667	* dirdeps.mk: fix _count_dirdeps for non-cache case.
1668
16692015-04-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1670
1671	* install-mk (MK_VERSION): 20150411
1672	  bump version
1673
1674	* own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
1675	  it is here mainly for documentation purposes, since
1676	  if using auto.obj.mk it is better done via sys.mk
1677
16782015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1679
1680	* install-mk (MK_VERSION): 20150401
1681
1682	* meta2deps.sh: support @list
1683
1684	* meta2deps.py: updates from Juniper
1685	  o add EXCLUDES
1686	  o skip bogus input files.
1687	  o treat 'M' and 'L' as both an 'R' and a 'W'
1688
16892015-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1690
1691	* install-mk (MK_VERSION): 20150303
1692
1693	* dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
1694	  which is built via sub-make so we have a .meta file to tell if
1695	  it is out-of-date.
1696	  The dirdeps-cache contains the same dependency rules that we
1697	  normaly construct on the fly.
1698	  This adds a few seconds overhead when the cache is out of date,
1699	  but for a large target, the savings can be significant (10-20min).
1700
17012014-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1702
1703	* install-mk (MK_VERSION): 20141118
1704
1705	* meta.stage.mk: add stale_staged
1706
1707	* dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
1708	  only useful under very rare conditions such as
1709	  FreeBSD's make universe.
1710
1711	* auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
1712
17132014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1714
1715	* install-mk (MK_VERSION): 20141111
1716
1717	* mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
1718
17192014-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1720
1721	* FILES: include mkopt.sh which allows handling options in shell
1722	  scripts in a manner compatible with options.mk
1723
17242014-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1725
1726	* meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
1727	  for GENDIRDEPS_FILTER to avoid surprises.
1728
17292014-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1730
1731	* dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
1732	  the time it is applied to __depdirs they have.
1733
1734	* dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
1735	  expects patterns like *.${MACHINE}
1736
1737	* cython.mk (pyprefix?): use pyprefix to find python bits
1738	  since prefix might be something else (where we install our
1739	  stuff)
1740
17412014-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1742
1743	* install-mk (MK_VERSION): 20140911
1744
1745	* dirdeps.mk: add bootstrap target to simplify adding support for
1746	  new MACHINE.
1747
17482014-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1749
1750	* gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
1751	  GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
1752	  Makefile.depend files.
1753
17542014-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1755
1756	* install-mk (MK_VERSION): 20140828
1757
1758	* cython.mk: capture logic for building python extension modules
1759	  with Cython.
1760
17612014-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1762
1763	* meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
1764
17652014-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1766
1767	* install-mk (MK_VERSION): 20140801
1768
1769	* dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
1770	identify the autodep.mk variant.
1771
1772	* sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
1773	initial value does not match .MAKE.DEPENDFILE_PREFIX
1774
1775	* meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
1776
17772014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1778
1779	* install-mk (MK_VERSION): 20140522
1780
1781	* lib.mk: use CC to link shlib for linux too
1782	  patch from Brendan MacDonell
1783
17842014-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1785
1786	* meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
1787	  if WITH_META_STATS is defined.
1788
17892014-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1790
1791	* dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
1792	  to supress dirdeps outside of .CURDIR.
1793
17942014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1795
1796	* Fix spelling errors - patch from Pedro Giffuni
1797
17982014-03-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1799
1800	* install-mk (MK_VERSION): 20140314
1801
1802	* dirdeps.mk (beforedirdeps): a handy hook
1803
1804	* dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
1805	  to visit leaf dirs to be intercepted (eg. for distributed
1806	  build).
1807
1808	* dirdeps.mk (__depdirs): ensure // don't sneak in
1809
1810	* gendirdeps.mk (DIRDEPS): ensure // don't sneak in
1811
1812
18132014-02-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1814
1815	* rst2htm.mk (RST2PDF): add support for rst2pdf
1816
18172014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1818
1819	* install-mk (MK_VERSION): bump version
1820	* dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
1821	  available.
1822
18232014-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1824
1825	* options.mk: avoid :U so this isn't bmake dependent
1826
18272014-02-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1828
1829	* options.mk: cleanup and simplify semanitcs
1830	  NO_* dominates all, if both WITH_* and WITHOUT_*
1831	  are defined then result is DOMINATE_* which defaults to "no".
1832	  Ie. WITHOUT_ normally wins.
1833
18342013-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1835
1836	* install-mk (MK_VERSION): bump version
1837	* meta2deps.py: convert to print function for python3 compat.
1838	  we also need to open files with mode 'r' rather than 'rb'
1839	  otherwise we get bytes instead of strings.
1840
18412013-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1842
1843	* install-mk (MK_VERSION): bump version
1844
1845	* dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
1846	  apply the same filtering (M_dep_qual_fixes) when setting _machines
1847	  as _build_dirs.
1848	  Also fix the filtering of Makefile.depend files - for reporting
1849	  what we are looking for (M_dep_qual_fixes can get confused by
1850	  Makefile.depend)
1851	  Add some more debug info.
1852
18532013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1854
1855	* gendirdeps.mk (_objtops): fix typo also
1856	  while processing M2D_OBJROOTS to gather qualdir_list
1857	  qualify $ql with loop iterator to ensure correct results.
1858
18592013-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1860
1861	* install-mk (MK_VERSION): 20130801
1862	* libs.mk: update to match progs.mk
1863
18642013-07-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1865
1866	* install-mk (MK_VERSION): 20130726
1867	  some updates from Juniper and FreeBSD
1868	  o meta2deps.py: indicate file and line number when we hit parse
1869	    errors
1870	    also allow @file to provide huge list of .meta files.
1871	* meta2deps.py: add try_parse() to cleanup the above.
1872
18732013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1874
1875	* install-mk (MK_VERSION): 20130716
1876	* own.mk: add GPROG as an option
1877	* prog.mk: honor MK_GPROF==yes
1878
18792013-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1880
1881	* install-mk (MK_VERSION): 20130505
1882	* gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
1883	  for when $MACHINE isn't enough for objdir distinction.
1884	  Bring meta2deps.sh closer to par with meta2deps.py.
1885
18862013-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1887
1888	* meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
1889	  also if the target 'beforeinstall' exists, make it depend on
1890	  .dirdep (incase it uses STAGE_INSTALL).
1891
18922013-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1893
1894	* install-mk (MK_VERSION): 20130401 ;-)
1895	* meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
1896	  wrapper around install(1).
1897	* options.mk (OPTION_PREFIX): Allow a prefix other than MK_
1898
18992013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1900
1901	* meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
1902	* install-mk (MK_VERSION): bump version
1903
19042013-03-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1905
1906	* install-mk (MK_VERSION): bump version
1907	* gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
1908	  any trailing /., rather apply :tA only when needed.
1909	* gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
1910	* meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
1911	  consistently.
1912	* dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
1913
19142013-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1915
1916	* gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
1917	  it is simpler to just not update when say building for "host"
1918	  (where we know we apply filters to DIRDEPS), and using a
1919	  non-machine qualified dependfile.
1920
19212013-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1922
1923	* dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
1924	  and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
1925	* gendirdeps.mk: ensure _objroot has trailing / if it needs it.
1926	* meta2deps.py: if machine is "host", then also trim
1927	  self.host_target from any OBJROOTS.
1928
1929
19302013-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1931
1932	* gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
1933	  qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
1934	  but _DEPENDFILE does not, compare the new _DEPENDFILE against
1935	  .MAKE.DEPENDFILE_DEFAULT and discard if the same.
1936
19372013-03-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1938
1939	* meta.stage.mk: use STAGE_TARGETS to control .ORDER
1940	  and hook to all: via staging:
1941
19422013-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1943
1944	* sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
1945	  use a separate variable for the default .MAKE.DEPENDFILE value
1946	  so that it can be controlled independently of
1947	  .MAKE.DEPENDFILE_PREFERENCE
1948
1949	* meta.stage.mk: throw error if cp fails etc.
1950	  Stage*() return early if passed no args.
1951	  .ORDER stage_*
1952
19532013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1954
1955	* install-mk (MK_VERSION): bump version
1956	* gendirdeps.mk: handle multiple M2D_OBJROOTS better.
1957
19582013-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1959
1960	* install-mk (MK_VERSION): bump version to 20130210
1961	* import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
1962	  from Juniper.
1963	  o dirdeps.mk now fully supports TARGET_SPEC consisting of more
1964	    than just MACHINE.
1965	  o no longer use DEP_MACHINE from Makefile.depend* so remove it.
1966
19672013-01-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1968
1969	* install-mk (MK_VERSION): bump version to 20130123
1970	* meta.stage.mk: add stage_links (hard links).
1971	  if doing hard links, we add dest to link as well.
1972	  Default the stage dir for [sym]links to STAGE_OBJTOP since
1973	  these are typically specified as absolute paths.
1974	  Add -m "mode" flag to StageFiles and StageAs.
1975
19762012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1977
1978	* install-mk (MK_VERSION): bump version to 20121111
1979	* autoconf.mk: avoid meta mode seeing changed commands for config.status
1980	* meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
1981	  in case we were found via .../mk
1982	* sys.clean-env.mk: move it from examples, we and others use it
1983	  "as is".
1984	* FILES: add srctop.mk and options.mk
1985	* own.mk: convert to using options.mk
1986	  which is modeled after FreeBSD's handling of MK_*
1987	  but more flexible.
1988	  This allows MK_* for boolean knobs to not be confused
1989	  with MK* which can be commands.
1990
1991	* examples/sys.clean-env.mk: add WITH[OUT]_ to
1992	  MAKE_ENV_SAVE_PREFIX_LIST.
1993	  Mention that HOME=/var/empty might be a good idea.
1994
19952012-11-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1996
1997	* sys.dependfile.mk: if not depend file exists, $MACHINE
1998	  specific ones are supported but not the default,
1999	  check if any exist and follow suit.
2000
20012012-11-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2002
2003	* install-mk (MK_VERSION): bump version to 20121106
2004
20052012-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2006
2007	* import latest dirdeps.mk and meta2deps.py from Juniper.
2008	* progs.mk: add MAN and CXXFLAGS to PROG_VARS
2009	  also add PROGS_TARGETS and pass on PROG_CXX if it seems
2010	  appropriate.
2011
20122012-11-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2013
2014	* meta.stage.mk: update CLEANFILES
2015	  remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
2016	* progs.mk: Add LDADD to PROG_VARS
2017
20182012-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2019
2020	* meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
2021	  _STAGED_DIRS so that these can be turned into filters for
2022	  GENDIRDEPS_FILTER.
2023
20242012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2025
2026	* install-mk (MK_VERSION): bump version to 20121010
2027	* meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
2028	target.dirdep matches .dirdep
2029
20302012-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2031
2032	* install-mk (MK_VERSION): bump version to 20120808
2033	* import latest meta2deps.py from Juniper.
2034
20352012-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2036
2037	* install-mk (MK_VERSION): bump version to 20120711
2038	* dep.mk: add explicit dependencies on SRCS after applying
2039	  SRCS_DEP_FILTER
2040	* meta.autodep.mk: add explicit dependencies on SRCS after
2041	  applying SRCS_DEP_FILTER
2042	* meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
2043
20442012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2045
2046	* install-mk (MK_VERSION): bump version to 20120626
2047	* meta.sys.mk: ignore PYTHON if it does not exist
2048	  compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
2049	* meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
2050	  entries ending in .${MACHINE} to decide if qualified _dirdep is
2051	  needed.
2052	* gendirdeps.mk: only produce unqualified deps if no
2053	  .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
2054	* meta.subdir.mk: apply SUBDIRDEPS_FILTER
2055
20562012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2057
2058	* install-mk (MK_VERSION): bump version to 20120420
2059	* add sys.dependfile.mk so we can experiment with
2060	  .MAKE.DEPENDFILE_PREFERENCE
2061	* meta.autodep.mk: _DEPENDFILE is precious!
2062
20632012-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2064
2065	* install-mk (MK_VERSION): bump version to 20120315
2066	* install-new.mk: avoid being interrupted
2067
20682012-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2069
2070	* man.mk: MAN might have multiple values so be careful with exists().
2071
20722012-01-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2073
2074	* install-mk (MK_VERSION): bump version to 20120112
2075	* fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
2076	  as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
2077
20782011-12-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2079
2080	* install-mk (MK_VERSION):  bump version to 20111201
2081	* import dirdeps.mk from Juniper sjg@
2082	  o more consistent handling of DEP_MACHINE, especially when
2083	    dealing with an odd Makefile.depend, when normally using
2084	    Makefile.depend.${MACHINE}
2085
20862011-11-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2087
2088	* install-mk (MK_VERSION): bump version to 20111122
2089	* meta.autodep.mk: add some debug output, be more crisp about
2090	  updating.  Use ${.ALLTARGETS:M*.o} as a clue for .depend
2091
20922011-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2093
2094	* install-mk (MK_VERSION): bump version to 20111111
2095	  it's too cool to miss
2096	* import meta* updates from Juniper sjg@
2097	  o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
2098	    normally using Makefile.depend.${MACHINE}), handy for
2099	    read-only manually maintained dependencies.
2100	  o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
2101	  o gendirdeps.mk if ERROR: from meta2deps.py do not update
2102	    anything.
2103
21042011-10-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2105
2106	* install-new.mk separate the cmp and copy logic to its own function.
2107
21082011-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2109
2110	* install-mk (MK_VERSION): bump version to 20111028
2111	* sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
2112	* subdir.mk: ensure _SUBDIRUSE is provided
2113	* meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
2114	* meta.subdir.mk: always allow for Makefile.depend
2115
21162011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2117
2118	* install-mk (MK_VERSION): bump version to 20111010
2119	  o minor tweak to *dirdeps.mk from Juniper sjg@
2120
21212011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2122
2123	* install-mk (MK_VERSION): bump version to 20111001
2124	  o add meta2deps.py from Juniper sjg@
2125	  o tweak gendirdeps.mk to work with meta2deps.py when not
2126	    cross-building
2127	* autoconf.mk: add autoconf-input as a hook for regenerating
2128	  AUTOCONF_INPUTS (configure).
2129
21302011-08-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2131
2132	* meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
2133	  trigger for updating Makefile.depend*
2134
21352011-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2136
2137	* install-mk (MK_VERSION): bump version to 20110808
2138	* obj.mk: minor cleanup
2139	* auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
2140
21412011-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2142
2143	* auto.obj.mk (.OBJDIR): throw an error if we cannot use the
2144	  specified dir.
2145
21462011-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2147
2148	* meta.autodep.mk: if XMAKE_META_FILE is set
2149	  the makefile uses a foreign make, and so dependencies
2150	  can only be gathered from a clean tree build.
2151
21522011-06-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2153
2154	* install-mk (MK_VERSION): bump version to 20110622
2155	* meta.autodep.mk: improve bootstraping
2156
21572011-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2158
2159	* yacc.mk: handle the corner case of .c being removed
2160	  while .h remains.
2161
21622011-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2163
2164	* yacc.mk: do .y.h and .y.c separately
2165
21662011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2167
2168	* install-mk (MK_VERSION): bump version to 20110606
2169	* don't store SRC_DIRDEPS in Makefile.depend* by default
2170	  not everyone needs it.
2171
21722011-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2173
2174	* install-mk (MK_VERSION): bump version to 20110505
2175	  first release including meta mode makefiles
2176
21772011-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2178
2179	* meta.stage.mk: add STAGE_AS_SETS and stage_as
2180	  for things that need to be staged with different names.
2181
21822011-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2183
2184	* meta.stage.mk: add notion of STAGE_SETS
2185	  so a makefile can stage to multiple dirs
2186
21872011-04-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2188
2189	* rst2htm.mk: convert rst to s5 (slides) or plain html depending
2190	  on target name.
2191
21922011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2193
2194	* install-mk (MK_VERSION): bump version to 20110330
2195
21962011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
2197
2198	* sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
2199	  can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
2200	* sys.mk: re-define M_whence in terms of M_type.
2201	  M_type is useful for checking if something is a builtin.
2202
22032011-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2204
2205	* meta.stage.mk: add stage_symlinks and leverage StageLinks for
2206	  stage_libs
2207
22082011-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2209
2210	* dirdeps.mk: correct value for _depdir_files depends on
2211	  .MAKE.DEPENDFILE
2212	  Add our copyright - just to make it clear we have frobbed this
2213	  quite a bit.
2214	  DEP_MACHINE needs to be set to MACHINE each time, if using only
2215	  Makefile.depend (cf. Makefile.depend.${MACHINE})
2216
2217	* meta.stage.mk: meta mode version of staging
2218
2219	* init.mk, final.mk: include local.*.mk to simplify customization
2220
22212011-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2222
2223	* auto.obj.mk: just because we are doing mk destroy, we should
2224	  still set .OBJDIR correctly if it exists.
2225
2226	* install-mk (mksrc): do not exclude meta.sys.mk
2227
22282011-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2229
2230	* host-target.mk: set/export _HOST_ARCH etc separately,
2231	  catch junk resulting from uname -p, so we can find sys/Linux.mk
2232	  correctly.
2233
22342011-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2235
2236	* meta.sys.mk: throw an error if /dev/filemon is missing and we
2237	  expected to be updating Makefile.depend*
2238
22392011-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2240
2241	* install-mk (MK_VERSION): bump version to 20110214
2242	* meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
2243
22442010-09-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2245
2246	* meta.sys.mk: not valid for older bmake
2247
22482010-09-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2249
2250	* install-mk (MK_VERSION): bump version to 20100919
2251	include dirdeps.mk et al from Juniper Networks,
2252	for meta mode - requires filemon(9).
2253	* sys.mk, subdir.mk: Add hooks for meta mode.
2254	we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
2255	to make turning it on/off simple.
2256
22572010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2258
2259	* install-mk (MK_VERSION): bump version to 20100616
2260	* fix typo in sys.mk
2261
22622010-06-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2263
2264	* install-mk (MK_VERSION): bump version to 20100612
2265	* lib.mk: remove duplicate addition to SOBJS
2266
22672010-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2268
2269	* sys.mk: Add a means of selectively turning on debug flags.
2270	  Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
2271	  will act as if we did make -dv if .CURDIR ends in lib/sjg
2272	  DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
2273	  the start of sys.mk rather than the end.
2274	  This only makes sense for leaf dirs, so we check that
2275	  .MAKE.LEVEL > 0
2276
22772010-06-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2278
2279	* install-mk (MK_VERSION): bump version to 20100608
2280	* sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
2281	* examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
2282	  also make it easier for folk to tweak
2283
22842010-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2285
2286	* install-mk (MK_VERSION): bump version to 20100606
2287	  do not install examples/*
2288	* FILES: add examples/sys.clean-env.mk
2289	* examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
2290	  this requires bmake-20100606 or later to work.
2291
22922010-05-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2293
2294	* sys.mk (M_tA): better simulate the result of :tA if not available.
2295
22962010-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2297
2298	* sys.mk: canonicalize MAKE_VERSION
2299	  old versions reported bmake-<src-date> build-<build-date>
2300	  whereas we only care about <src-date>
2301
23022010-04-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2303
2304	* install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
2305	* lib.mk: we only build the shared lib if SHLIB_FULLVERSION
2306	  is !empty
2307
23082010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2309
2310	* dpadd.mk: use LDADD_* if defined.
2311
23122010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2313
2314	* install-mk (MK_VERSION): bump version to 20100420
2315	* sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
2316	* autoconf.mk allow AUTO_AUTOCONF
2317
23182010-04-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2319
2320	* obj.mk: add objwarn to keep freebsd makefiles happy
2321	* auto.obj.mk: ensure Mkdirs is available.
2322	* FILES: add auto.dep.mk - a simpler version of autodep.mk
2323	* dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
2324	  asked to do that.
2325	  fix/simplify the tests for when to run mkdep.
2326	* auto.dep.mk: add some explanation of how/what we do.
2327	* autodep.mk: skip the .OPTIONAL frobbing of .depend
2328	  bmake's FROM_DEPEND flag makes it redundant.
2329
23302010-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2331
2332	* install-mk (MK_VERSION): bump version to 20100404
2333	* subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
2334	* obj.mk: protect from multiple inclusion even as bsd.obj.mk
2335	Also create a target _SUBDIRUSE so that we can  be used without
2336	subdir.mk
2337
23382010-04-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2339
2340	* dep.mk: use <> when .including so can override.
2341
23422010-01-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2343
2344	* lib.mk (SHLIB_LINKS): ensure a string comparison.
2345
23462010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2347
2348	* install-mk (MK_VERSION): bump version to 20100102
2349	* own.mk: ensure PRINTOBJDIR works
2350	* autoconf.mk: pass on CONFIGURE_ARGS
2351	* init.mk: handle COPTS.${.IMPSRC:T} etc.
2352	* lib.mk: allow sys.mk to control SHLIB_FULLVERSION
2353	  fix handling of symlinks for darwin
2354	* libnames.mk: add DSHLIBEXT for libs which only exist as shared.
2355	* man.mk: suppress chown when not root.
2356	* rst2htm.mk: allow srcs from multiple locations.
2357	* sys.mk: M_whence, stop after 1st line of output.
2358	* sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
2359	* sys/SunOS.mk: we need to export PATH
2360
23612009-12-23  Simon J. Gerraty  <sjg@void.crufty.net>
2362
2363	* install-mk (MK_VERSION): bump version
2364	  include rst2htm.mk
2365
23662009-12-17  Simon J. Gerraty  <sjg@void.crufty.net>
2367
2368	* sys.mk,libnames.mk add .-include <local.*>
2369	  this allows local customization without the need to edit the
2370	  distributed files.
2371
23722009-12-14  Simon J. Gerraty  <sjg@void.crufty.net>
2373
2374	* dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
2375	  older versions already installed.
2376
23772009-12-13  Simon J. Gerraty  <sjg@void.crufty.net>
2378
2379	* stage.mk (.stage-install): generalize lib.mk's .libinstall
2380	* rules.mk rules for generic Makefile.
2381	* inc.mk install for includes.
2382
23832009-12-11  Simon J. Gerraty  <sjg@void.crufty.net>
2384
2385	* sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
2386	  this, so provide it if using native make.
2387
23882009-12-10  Simon J. Gerraty  <sjg@void.crufty.net>
2389
2390	* FILES: move all the platform *.sys.mk files to sys/*.mk
2391	* Rename Generic.sys.mk to sys.mk - we always want it.
2392
23932009-11-17  Simon J. Gerraty  <sjg@void.crufty.net>
2394
2395	* install-mk (MK_VERSION): bump version
2396	* host-target.mk: only export the expensive stuff
2397	* Generic.sys.mk (sys_mk): for SunOS we need to look for
2398	  ${HOST_OS}.${HOST_OSMAJOR} too!
2399
24002009-11-07  Simon J. Gerraty  <sjg@void.crufty.net>
2401
2402	* install-mk (MK_VERSION): bump version
2403	* lib.mk: if sys.mk doesn't give us an lorder, don't use it.
2404	  based on patch from Greg Olszewski.
2405	* Generic.sys.mk: if we have nothing to work with
2406	set LORDER etc only if we can find it.
2407
24082009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
2409
2410	* install-mk (MK_VERSION): bump version
2411	* man.mk: cleanman: remove CLEANMAN if defined.
2412
24132009-09-04  Simon J. Gerraty  <sjg@void.crufty.net>
2414
2415	* SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
2416
24172009-07-17  Simon J. Gerraty  <sjg@void.crufty.net>
2418
2419	* install-mk (MK_VERSION): bump version
2420	include auto.obj.mk
2421
2422
24232009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
2424
2425	* prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
2426
24272008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
2428
2429	* install-mk (MK_VERSION): bump version
2430	man.mk: ensure we generate *.cat1 etc in .
2431
24322008-07-16  Simon J. Gerraty  <sjg@void.crufty.net>
2433
2434	* install-mk (MK_VERSION): bump version
2435	add prlist.mk
2436
24372007-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
2438
2439	* Generic.sys.mk: Allow os specific sys.mk to be in a
2440	subdir of ${.PARSEDIR}
2441
24422007-11-22  Simon J. Gerraty  <sjg@void.crufty.net>
2443
2444	* install-mk (MK_VERSION): bump version
2445	* general cleanup
2446	* dpadd.mk introduce DPMAGIC_LIBS_*
2447
24482007-04-30  Simon J. Gerraty  <sjg@void.crufty.net>
2449
2450	* install-mk (MK_VERSION): bump version
2451
2452	* libs.mk, progs.mk, autodep.mk: allow for per lib/prog
2453	depend files and ensure clean is called for each lib/prog.
2454
24552007-03-27  Simon J. Gerraty  <sjg@void.crufty.net>
2456
2457	* autodep.mk (.depend): delete lines that do not start with
2458	space and do not contain ':'
2459
24602007-02-16  Simon J. Gerraty  <sjg@void.crufty.net>
2461
2462	* autodep.mk (.depend): gcc may wrap lines if pathnames are long
2463	so make sure the transform for .OPTIONAL copes.
2464
24652007-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2466
2467	* install-mk (MK_VERSION): bump version
2468
2469	* own.mk: make sure RM and LN are defined.
2470
2471	* obj.mk: fix a typo, and objlink target.
2472
24732006-12-30  Simon J. Gerraty  <sjg@void.crufty.net>
2474
2475	* install-mk (MK_VERSION): bump version
2476	* added libs.mk - analogous to progs.mk
2477	  make both of them always inlcude {lib,prog}.mk
2478
24792006-12-28  Simon J. Gerraty  <sjg@void.crufty.net>
2480
2481	* progs.mk: add a means of building multiple apps in one dir.
2482
24832006-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
2484
2485	* install-mk (MK_VERSION): bump version to 20061126
2486
2487	* warnings.mk: detect invalid WARNINGS_SET
2488
2489	* warnings.mk: use ${.TARGET:T:R}.o when looking for target
2490	specific warnings.
2491
2492	* For .cc sources, turn off warnings that g++ vomits on.
2493
24942006-11-08  Simon J. Gerraty  <sjg@void.crufty.net>
2495
2496	* own.mk: if __initialized__ target doesn't exist and we are
2497	FreeBSD we got here directly from sys.mk
2498
24992006-11-06  Simon J. Gerraty  <sjg@void.crufty.net>
2500
2501	* install-mk (MK_VERSION): bump version to 20061106
2502	add scripts.mk
2503
25042006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
2505
2506	* install-mk (MK_VERSION): bump version to 20060318
2507
2508	* autodep.mk: avoid := when modifying OBJS into __dependsrcs
2509
25102006-03-02  Simon J. Gerraty  <sjg@void.crufty.net>
2511
2512	* install-mk (MK_VERSION): bump version to 20060302
2513	* autodep.mk: use -MF et al to help gcc+ccache DTRT.
2514
25152006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
2516
2517	* install-mk (MK_VERSION): bump version to 20060301
2518	* autodep.mk (.depend):
2519	if MAKE_VERSION is newer than  20050530 we can make .END depend on
2520	.depend and make .depend depend on __depsrcs that exist.
2521	* dpadd.mk: add SRC_PATHADD
2522
25232005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
2524
2525	* install-mk (MK_VERSION): bump version to 20051104
2526	* prog.mk: remove all the LIBC?= junk, use
2527	.-include libnames.mk instead (none by default).
2528	also if USE_DPADD_MK is set, include that.
2529
25302005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2531
2532	* install-mk (MK_VERSION): bump version to 20051001
2533	Add UnixWare.sys.mk from Klaus Heinz.
2534
25352005-04-05  Simon J. Gerraty  <sjg@void.crufty.net>
2536
2537	* install-mk: always install *.sys.mk and if need be symlink one
2538	to sys.mk
2539
25402005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2541
2542	* subdir.mk, own.mk: use .MAKE rather than MAKE
2543
25442004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
2545
2546	* own.mk: don't use NetBSD's _SRC_TOP_ it can
2547	cause confusion.  Also don't take just 'mk' as a
2548	srctop indicator.
2549
25502004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
2551
2552	* warnings.mk: overhauled, now very powerful.
2553
25542004-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2555
2556	* Generic.sys.mk: need to use ${.PARSEDIR} with exists().
2557
25582004-02-01  Simon J. Gerraty  <sjg@void.crufty.net>
2559
2560	* install-mk (MK_VERSION): bump version to 20040201
2561	* extract HOST_TARGET stuff to host-target.mk so own.mk and
2562	Generic.sys.mk can share.
2563	* fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
2564
25652003-09-30  Simon J. Gerraty  <sjg@void.crufty.net>
2566
2567	* install-mk (MK_VERSION): 20030930
2568	* rename generic.sys.mk to Generic.sys.mk
2569	so that it does not get installed (unless being used as sys.mk)
2570	* set OS and ROOT_GROUP for those that we know the value.
2571	for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
2572	we don't do it again for each sub-make.
2573
25742003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
2575
2576	* install-mk (MK_VERSION): 20030928
2577	Add some extra *.sys.mk from bootstrap-pkgsrc
2578	some of these likely still need work.
2579	Make everything default to root:wheel ownership,
2580	sys.mk can set ROOT_GROUP accordingly.
2581
25822003-08-07  Simon J. Gerraty  <sjg@void.crufty.net>
2583
2584	* install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
2585	not the portable ones.
2586
25872003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
2588
2589	* install-mk: add ability to use cp -f when updating
2590	destination .mk files.  Also now possible to play games with
2591	FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
2592	into dest - not recommended unless you seriously want to.
2593
25942003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
2595
2596	* own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
2597	for semi-compatability with NetBSD.
2598
25992003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
2600
2601	* install-mk: add a version indicator
2602
26032003-07-22  Simon J. Gerraty  <sjg@void.crufty.net>
2604
2605	* prog.mk: don't try and use ${LIBCRT0} if its /dev/null
2606
2607	* install-mk: Allow FORCE_SYS_MK to come from env
2608
2609
2610
2611