xref: /freebsd/contrib/bmake/mk/ChangeLog (revision a8c56be47166295d37600ff81fc1857db87b3a9b)
12025-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* prog.mk: .MADE is a special source not a target!
4
52025-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
6
7	* install-mk (MK_VERSION): 20250528
8
9	* add dirdeps2dplibs.mk
10
112025-05-18  Simon J Gerraty  <sjg@beast.crufty.net>
12
13	* install-mk (MK_VERSION): 20250518
14
15	* meta.autodep.mk (META_FILES): re-work to fix filtering.
16	if OPTIMIZE_OBJECT_META_FILES==yes
17	provide a default META_FILE_OBJ_FILTER that selects a valid
18	.SUFFIX to match *o.meta, there's no guarantee that it will be as
19	simple as .o or .So etc.
20	We have to defer evaluation until the target script is run
21	for any of these filters to have any effect.
22	Use :S,${.OBJDIR}/,, rather than :T incase there are objects
23	in sub-dirs.
24
25	* lib.mk: leverage ${.SUFFIXES} when setting dependencies.
26
27	* add UPDATE_DEPENDFILE as a dependent option - follows
28	DIRDEPS_BUILD and use MK_UPDATE_DEPENDFILE as default for
29	UPDATE_DEPENDFILE when we think it should be yes.
30	This allows override with -DWITH[OUT]_UPDATE_DEPENDFILE
31	without overriding UPDATE_DEPENDFILE directly - which can lead to
32	trouble.
33
342025-05-16  Simon J Gerraty  <sjg@beast.crufty.net>
35
36	* install-mk (MK_VERSION): 20250515
37
38	* meta2deps.py: resolve the target of a Move or Link first
39	and track the last path resolved, then if the src is a relative
40	path we can easily use that last path to resolve the src correctly.
41
42	* meta2deps.sh: for a Move or Link add the dir of target path to
43	the list used to resolve the src path.
44
452025-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
46
47	* init.mk: include Skipping ${RELDIR} when _SKIP_BUILD is not empty.
48
492025-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
50
51	* install-mk (MK_VERSION): 20250414
52
53	* init.mk: check ONLY_*_LIST and NOT_*_LIST for SKIP_BUILD_VAR_LIST
54	to set _SKIP_BUILD
55
56	* genfiles.mk: add FILTER support
57
58	* rst2htm.mk: latest docutils drops .py extensions
59
602025-03-26  Simon J Gerraty  <sjg@beast.crufty.net>
61
62	* install-mk (MK_VERSION): 20250326
63
64	* auto.obj.mk: fix and simplify handling of relative __objdir,
65	convert it to absolute before checking against .OBJDIR
66
672025-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
68
69	* install-mk (MK_VERSION): 20250314
70
71	* meta.stage.mk: StageFiles --subdir: preserve the dir part of
72	each file under $dest
73
742025-03-12  Simon J Gerraty  <sjg@beast.crufty.net>
75
76	* meta.autodep.mk: do a better job of handling MAKESYSPATH in
77	GENDIRDEPS_ENV.  If we have MAKE_VERSION >= 20230123 we can just
78	use .SYSPATH, otherwise it is a bit more complicated.
79
802025-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
81
82	* rust.mk: use RUST_LIBS and RUST_PROGS
83
842025-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
85
86	* install-mk (MK_VERSION): 20250101
87
88	* use W flag to :S and :C rather than :tW
89
902024-12-16  Simon J Gerraty  <sjg@beast.crufty.net>
91
92	* rust.mk: add RUSTFLAGS if needed
93
942024-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
95
96	* init.mk (OBJS_SRCS_FILTER): apply this as
97	${OBJS_SRCS_FILTER:ts:} as we do in FreeBSD.
98
992024-12-03  Simon J Gerraty  <sjg@beast.crufty.net>
100
101	* install-mk (MK_VERSION): 20241202
102
103	* setopts.sh: needed by newlog.sh
104
1052024-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
106
107	* meta.sys.mk: add META_MODE_XTRAS to META_MODE to make it
108	easier to add things like 'env' when debugging.
109
110	* install-mk (MK_VERSION): 20241122
111
112	* rust.mk: rename CARGO* to RUST_CARGO* so I don't feel
113	like this makefile should be renamed to cargo.mk
114
1152024-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
116
117	* dirdeps.mk: add DIRDEPS_CACHED_ENV to dirdeps-cached and
118	DIRDEP_USE_EPILOGUE to _DIRDEP_USE
119
1202024-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
121
122	* meta.sys.mk: if MK_META_ERROR_TARGET is yes and NEWLOG_SH is
123	set, and ERROR_LOGDIR already exists, hook _rotateErrorLog to
124	.BEGIN target.
125
1262024-10-27  Simon J Gerraty  <sjg@beast.crufty.net>
127
128	* options.mk: add support for DEBUG_OPTIONS (similar to
129	DEBUG_DIRDEPS) to allow us to see where options get set.
130	Eg. DEBUG_OPTIONS="STAGING*" gives:
131
132	bmake[1]: "mk/options.mk" line 89: sys.mk: MK_STAGING=yes (MK_DIRDEPS_BUILD=no)
133	bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING=yes
134	bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING_PROG=no
135	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_MAN=yes (MK_STAGING=yes)
136	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_PROG=no (MK_STAGING=yes)
137	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_RUST=no (MK_STAGING_PROG=no)
138
139	* own.mk: fix setting of STAGE_OBJTOP (normally set by sys.dirdeps.mk)
140
1412024-10-26  Simon J Gerraty  <sjg@beast.crufty.net>
142
143	* rust.mk: add some documentation and support for staging
144
1452024-10-25  Simon J Gerraty  <sjg@beast.crufty.net>
146
147	* rust.mk: a means of integrating Rust projects into a larger build.
148
1492024-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
150
151	* dirdeps-targets.mk: if DEBUG_DIRDEPS_TARGETS and we found
152	STATIC_DIRDEPS_CACHE, report its relative path.
153
1542024-09-30  Simon J Gerraty  <sjg@beast.crufty.net>
155
156	* dirdeps.mk: tweak the debug message for "Loading" a
157	Makefile.depend file, always report what the actual makefile is
158	with the DIRDEP it is for.
159	Remove the redundant "Looking" message.
160
1612024-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
162
163	* meta2deps.py: when raising AssertionError include meta file name
164	with $SB trimmed if possible.
165
1662024-09-23  Simon J Gerraty  <sjg@beast.crufty.net>
167
168	* meta2deps.py: replace assert() with raise AssertionError when we
169	detect missing eXits, to ensure a meaningful message gets into
170	log.
171
1722024-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
173
174	* install-mk (MK_VERSION): 20240921
175
176	* FILES: add genfiles.mk
177
1782024-09-20  Simon J Gerraty  <sjg@beast.crufty.net>
179
180	* install-mk (MK_VERSION): 20240920
181
182	* cython.mk: Get PYTHON_VERSION from PYTHON
183
1842024-08-31  Simon J Gerraty  <sjg@beast.crufty.net>
185
186	* subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*}
187	  and handle subdir with '-' in its name.
188
1892024-08-23  Simon J Gerraty  <sjg@beast.crufty.net>
190
191	* install-mk (MK_VERSION): 20240820
192
193	* links.mk: Allow a filter to be applied to SYMLINKS etc.
194	It is up to [BUILD_][SYM]LINKS_FILTER to do something sane.
195	Also only claim we are making a symlink if the value changed.
196
1972024-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
198
199	* install-mk (MK_VERSION): 20240616
200
201	* dirdeps.mk: apply DEP_DIRDEPS_BUILD_DIR_FILTER after we have
202	computed build dirs, since some filters cannot be easily expressed via
203	DEP_DIRDEPS_FILTER.
204
2052024-05-31  Simon J Gerraty  <sjg@beast.crufty.net>
206
207	* dirdeps.mk: move reset of DIRDEPS_EXPORT_VARS
208	until after we a finished with it if building a cache.
209
2102024-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
211
212	* install-mk (MK_VERSION): 20240504
213
214	* dirdeps.mk: allow BUILD_DIRDEPS_OVERRIDES to pass overrides to
215	sub-make building DIRDEPS_CACHE.
216
2172024-04-24  Simon J Gerraty  <sjg@beast.crufty.net>
218
219	* meta.autodep.mk: do not override start_utc
220
2212024-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
222
223	* sys.dirdeps.mk: set defaults for DEP_* at level 0 too.
224	These help when first include of Makefile.depend happens in a leaf
225	dir.
226
227	* install-mk (MK_VERSION): 20240414
228
2292024-04-09  Simon J Gerraty  <sjg@beast.crufty.net>
230
231	* install-mk (MK_VERSION): 20240408
232
233	* init.mk: allow for _ as well as . to join V
234	and Q from QUALIFIED_VAR_LIST and VAR_QUALIFIER_LIST.
235
236	* progs.mk: avoid overlap between PROG_VARS and
237	init.mk's QUALIFIED_VAR_LIST since PROG would also
238	match its VAR_QUALIFIER_LIST,
239	libs.mk does not have the same issue.
240
241	* subdir.mk: _SUBDIRUSE for realinstall should run install
242	remove include of ${.CURDIR}/Makefile.inc that can be done via
243	local.subdir.mk where needed
244
245	* own.mk: do not conflict with man.mk
246
2472024-03-19  Simon J Gerraty  <sjg@beast.crufty.net>
248
249	* install-mk (MK_VERSION): 20240314
250
251	* add sys/Cygwin.mk from Christian Franke
252
2532024-03-09  Simon J Gerraty  <sjg@beast.crufty.net>
254
255	* install-mk (MK_VERSION): 20240309
256
257	* meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not
258	want to save the .ERROR_META_FILE
259
2602024-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
261
262	* install-mk (MK_VERSION): 20240220
263
264	* sys.dirdeps.mk, dirdeps-targets.mk, init.mk:
265	do not set .MAIN: dirdeps in sys.dirdeps.mk
266	dirdeps-targets.mk will do that for top-level builds
267	and init.mk will do it for others.
268	This allows a Makefile which has no need of 'dirdeps' to
269	set .MAIN for itself and "just work".
270
2712024-02-18  Simon J Gerraty  <sjg@beast.crufty.net>
272
273	* bsd.*.mk: for makefiles that get a bsd. symlink,
274	use _this in  multiple inclusion tags since .PARSEFILE will not
275	DTRT when such a makefile is included directly by Makefile and
276	automatically (without bsd. prefix).
277	Since we cannot guarantee that our sys.mk will be used, we provide
278	a default _this in each makefile that gets a bsd. prefix such that
279	the value is the same regardless of bsd. prefix.
280
281	* subdir.mk: drop the !target guard on $SUBDIR_TARGETS
282
2832024-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
284
285	* install-mk (MK_VERSION): 20240212
286
287	* SPDX-License-Identifier: BSD-2-Clause
288	Add SPDX-License-Identifier to inidicate that I consider
289	my copyright on any of these makefiles equivalent to BSD-2-Clause
290
291	* autoconf.mk: allow for configure.ac as currently recommended
292
293	* subdir.mk: support @auto
294	which is replaced with each subdir that
295	has a [Mm]akefile.
296
297	* subdir.mk: include local.subdir.mk if it exists.
298
299	* subdir.mk: rework to handle .WAIT
300
3012024-02-11  Simon J Gerraty  <sjg@beast.crufty.net>
302
303	* subdir.mk: _SUBDIRUSE report the target we are entering subdirs for.
304
3052024-02-10  Simon J Gerraty  <sjg@beast.crufty.net>
306
307	* prog.mk: treat empty SRCS the same as undefined
308
3092024-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
310
311	* Avoid undefined errors in lint (-dL) mode
312
313	* man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7)
314
3152024-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
316
317	* install-mk (MK_VERSION): 20240128
318
319	* FILES: add ccm.dep.mk for C++ modules
320	add suffixes.mk for common location for generic SUFFIX rules.
321
322	* auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk
323	replace OBJ_EXTENSIONS with OBJ_SUFFIXES
324
325	* autodep.mk: leverage CXX_SUFFIXES for __depsrcs
326	and update style (spaces around = etc)
327
328	* init.mk: add OBJS_SRCS_FILTER to filter SRCS when
329	setting OBJS
330
331	* meta2deps.py: handle multiple ./ embedded in path better.
332
3332024-01-05  Simon J Gerraty  <sjg@beast.crufty.net>
334
335	* install-mk (MK_VERSION): 20240105
336	* dirdeps.mk: for MAKE_VERSION 20240105 we do not have the same
337	limits on command line length, so skip export of lists to env.
338
3392023-12-24  Simon J Gerraty  <sjg@beast.crufty.net>
340
341	* man.mk: add logic for staging man pages
342
3432023-11-28  Simon J Gerraty  <sjg@beast.crufty.net>
344
345	* jobs.mk: avoid C suffix in JOB_MAX_C if factor is floating
346	point.  This keeps JOB_MAX numeric incase another makefile does
347	comparisons.
348
3492023-11-04  Simon J Gerraty  <sjg@beast.crufty.net>
350
351	* dpadd.mk: add support for DPLIBS_QUALIFIER_LIST
352
353	* gendirdeps.mk: if META_XTRAS is passed to us, add to META_FILES
354
3552023-10-03  Simon J Gerraty  <sjg@beast.crufty.net>
356
357	* compiler.mk (COMPILER_VERSION): clang at least is into
358	double digit major versions.
359
3602023-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
361
362	* install-mk (MK_VERSION): 20231001
363
364	* set _CCLINK in init.mk so lib.mk can use it for default SHLIB_LD
365
366	* lib.mk (cleanlib): use LD_solink so we remove all the right files.
367	Use -Wl for -soname since we now default to linking with CC
368	We should not need SHLIB_LDSTARTFILE or SHLIB_LDENDFILE when linking
369	with CC.
370
3712023-09-24  Simon J Gerraty  <sjg@beast.crufty.net>
372
373	* init.mk (QUALIFIED_VAR_LIST): Add SRCS
374
3752023-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
376
377	* jobs.mk (JOB_MAX): use -jC if we can
378	we actually use JOB_MAX_C which defaults to 1.33C
379
3802023-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
381
382	* now_utc: %s only works with :localtime
383
3842023-07-14  Simon J Gerraty  <sjg@beast.crufty.net>
385
386	* install-sh: ignore -c as claimed and only insist on
387	a directory for destination when more than one file to copy.
388
389	* sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and
390	${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64)
391
3922023-07-13  Simon J Gerraty  <sjg@beast.crufty.net>
393
394	* install-mk (MK_VERSION): 20230711
395
396	* sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible
397	install(1)
398
399	* sys/IRIX.mk:  when setting ROOT_GROUP only match the first :0:
400	set INSTALL to install-sh rather than pathname that may not exist
401	(yet).
402
4032023-07-07  Simon J Gerraty  <sjg@beast.crufty.net>
404
405	* dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE
406	normally this is empty - for the default target, but there are
407	use-cases where we might set it to something else.
408
4092023-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
410
411	* install-mk (MK_VERSION): 20230704
412
413	* dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output
414	when DEBUG_DIRDEPS is in effect.
415	Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n
416	can greatly improve readability.
417
4182023-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
419
420	* meta.autodep.mk (beforegendirdeps): allow tasks to be done
421	at END but before gendirdeps
422
4232023-05-22  Simon J Gerraty  <sjg@beast.crufty.net>
424
425	* install-mk (MK_VERSION): 20230522
426
427	* host-target.mk: deal with garbage from uname -m on
428	Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH
429	these days so just leave it be.
430	For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get
431	arm64 and x86_64 in HOST_TARGET.
432
4332023-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
434
435	* sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older
436	versions of bmake.
437
438	* dirdeps.mk (TARGET_SPEC_VARS.host):
439	While *most* projects need only DEP_MACHINE for host,
440	there is always an exception.  So we allow for
441	TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS.
442	The default will *just work* for most projects.
443	We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC
444	based on DEP_MACHINE.
445	Allow for M_dep_qual_fixes.host to be different too
446	and take care to apply the right set.
447
4482023-05-14  Simon J Gerraty  <sjg@beast.crufty.net>
449
450	* sys.dirdeps.mk: we *do* want to override OBJTOP
451	and if MAKEOBJDIR was not in env as we want it;
452	put it there - carefully.
453	Ensure OBJROOT ends in / or - (/ preferred)
454	Add more comments to explain what/why.
455
4562023-05-13  Simon J Gerraty  <sjg@beast.crufty.net>
457
458	* install-mk (MK_VERSION): 20230512
459
460	* dirdeps.mk: take care not to qualify "host" dirdeps
461
462	* sys.dirdeps.mk (OBJTOP): must use ?=
463
4642023-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
465
466	* meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no"
467	suppress processing of .depend
468
4692023-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
470
471	* dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP
472
473	* meta.sys.mk sys.dirdeps.mk:
474	originally DIRDEPS_BUILD and META_MODE were the same thing,
475	but META_MODE is useful by itself.
476	Move things from meta.sys.mk which actually pertain to
477	DIRDEPS_BUILD to sys.dirdeps.mk
478
4792023-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
480
481	* install-mk (MK_VERSION): 20230504 May the Forth be with you
482
483	* dirdeps.mk: as with meta.sys.mk we treat "host" as special.
484	DEP_TARGET_SPEC is just ${DEP_MACHINE}
485
486	* meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at
487	level > 0 since these are often refered to in Makefile.depend*
488
4892023-04-26  Simon J Gerraty  <sjg@beast.crufty.net>
490
491	* jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and
492	anything in ${JOB_LOG_START}
493
494	* jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}}
495	or a scripts subdir before searching $PATH.
496
497	* FILES: include newlog.sh for jobs.mk
498
4992023-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
500
501	* install-mk (MK_VERSION): 20230420
502
503	* lib.mk: include LDFLAGS and LDADD when linking shared libs
504
505	* gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc
506	via local.meta.sys.mk rather than local.gendirdeps.mk
507	so DEP_* variables can be set at level 1+ to avoid syntax errors
508	when used in conditionals in manually maintained Makefile.depend
509	files.
510
511	* dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines
512
5132023-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
514
515	* dirdeps.mk: check we were not included by
516	Makefile.depend.options as the result is bad.
517
5182023-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
519
520	* install-mk (MK_VERSION): 20230414
521
522	* meta.sys.mk: since we have :range we can put the logic for
523	processing TARGET_SPEC from env here.
524
525	* dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including
526	local.dirdeps-missing.mk, also improve debug output.
527
528	* dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC
529	we need to use :M*[/.]* same as for when actually setting DIRDEPS
530	from the targets on command line.
531
5322023-04-12  Simon J Gerraty  <sjg@beast.crufty.net>
533
534	* Add jobs.mk
535
5362023-03-21  Simon J Gerraty  <sjg@beast.crufty.net>
537
538	* install-mk (MK_VERSION): 20230321
539
540	* meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter
541	STAGE_LIBS for SHLIB_LINKS.
542
543	* autoconf.mk: add .WAIT after config.status
544
5452023-02-17  Simon J Gerraty  <sjg@beast.crufty.net>
546
547	* sys.vars.mk: add M_Index to report the index of a word in a list.
548
5492023-02-15  Simon J Gerraty  <sjg@beast.crufty.net>
550
551	* install-mk (MK_VERSION): 20230215
552
553	* warnings.mk: allow better control of -Werror
554	allow -Wno-error or similar to be added if
555	WARNINGS_SET < WERROR_SET
556	account for COMPILER_TYPE
557
5582023-01-29  Simon J Gerraty  <sjg@beast.crufty.net>
559
560	* autoconf.mk: hook config.status to beforebuild.
561
562	* whats.mk: what*.c is NOTMAIN
563
5642023-01-27  Simon J Gerraty  <sjg@beast.crufty.net>
565
566	* install-mk (MK_VERSION): 20230127
567	control umask so directories are created with suitable mode.
568
5692023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
570
571	* install-mk (MK_VERSION): 20230120
572
573	* sys.vars.mk: add M_On and M_Onr also cleanup to be more
574	consistent wrt testing MAKE_VERSION
575
5762023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
577
578	* install-mk (MK_VERSION): 20230112
579
580	* meta2deps.{py,sh}: assert if filemon data is truncated
581	we should see the '# Bye bye' record - assert if we do not.
582
5832022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
584
585	* install-mk (MK_VERSION): 20220909
586
587	* sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings
588
5892022-09-06  Simon J Gerraty  <sjg@beast.crufty.net>
590
591	* dirdeps-options.mk: explain the need to use
592	${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to
593	${TARGET_SPEC_VAR}
594
5952022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
596
597	* install-mk (MK_VERSION): 20220903
598
599	* M_cmpv handle more than 3 dots and clear leading 0's
600
6012022-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
602
603	* install-mk (MK_VERSION): 20220720
604
605	* prog.mk: handle PROG_CXX for more than just NetBSD
606
6072022-06-20  Simon J Gerraty  <sjg@beast.crufty.net>
608
609	* install-mk (MK_VERSION): 20220620
610
611	* yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER
612	rather than just suffix rules
613
6142022-04-23  Simon J Gerraty  <sjg@beast.crufty.net>
615
616	* install-mk (MK_VERSION): 20220422
617
618	* gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no"
619	do not capture any local depends in Makefile.depend
620
6212022-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
622
623	* install-mk (MK_VERSION): 20220323
624	* posix.mk: default rules for .POSIX:
625
6262022-03-17  Simon J Gerraty  <sjg@beast.crufty.net>
627
628	* sys/*.mk: remove l from ARFLAGS
629
6302022-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
631
632	* install-mk (MK_VERSION): 20220314
633
634	* dirdeps-options.mk: allow options to be per RELDIR
635	try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed
636	with ${DEP_RELDIR}.
637
6382022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
639
640	* install-mk (MK_VERSION): 20220214
641
642	* cc-wrap.mk: fix :@ modifier
643
6442022-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
645
646	* install-mk (MK_VERSION): 20220206
647
648	* cc-wrap.mk: docuement how CCACHE etc might be set for
649	maximum flexibility
650
6512022-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
652
653	* sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT
654
6552022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
656
657	* install-mk (MK_VERSION): 20220204
658
659	* host-target.mk: use .MAKE.OS if available
660
6612022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
662
663	* install-mk (MK_VERSION): 20220202
664
665	* cc-wrap.mk: allow other entries in CC_WRAP_FILTER
666	We add our filter on extensions last, so prior filters
667	can apply to the whole value of .IMPSRC
668
6692022-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
670
671	* cc-wrap.mk: take advantage of target local variables to
672	wrap compilers like CC CXX with wrappers like ccache distcc etc
673
6742022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
675
676	* meta2deps: we do not expect any trace data for setid apps
677
6782022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
679
680	* dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed
681	to sub-make using DIRDEPS_CACHE
682
6832022-01-07  Simon J Gerraty  <sjg@beast.crufty.net>
684
685	* dirdeps.mk: use _cache_script to minimize the number of shells
686	forked when generating dirdeps.cache
687
6882022-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
689
690	* install-mk (MK_VERSION): 20220101
691
692	* dirdeps.mk: initialize DEP_* and _debug_reldir earlier.
693	If initial DIRDEPS are from command line, create the target
694	_dirdeps_cmdline as an indication.
695
6962022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
697
698	* init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD
699	at top-level only some targets are allowed at level 0,
700	for leaf makefiles only the default (all) target is restricted
701
7022021-12-28  Simon J Gerraty  <sjg@beast.crufty.net>
703
704	* install-mk (MK_VERSION): 20211228
705
706	* meta2deps.py: filemon on Linux is not as reliable as we might
707	like, we do not want to update DIRDEPS if filemon output is
708	incomplete.   Track pids that we 'E'xec and make sure we see an
709	e'X'it for each one.  Throw an error if we are missing any 'X'
710	records.
711
7122021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
713
714	* sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes.
715
716	* meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON
717	is something else.
718
719	* meta.autodep.mk: we can now reference ${.SUFFIXES}
720
721	* meta2deps.py: derive a list of dirdep extensions from
722	TARGET_SPEC to trim from dirdeps.
723
724	* dirdeps.mk: flip the computation of qualified vs unqualified
725	dirdeps - it is much simpler to check for unqualified first.
726
7272021-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
728
729	* install-mk (MK_VERSION): 20211212
730
731	* auto.dep.mk: rearrange so that the trivial implementation
732	for recent bmake is more obvious.
733
7342021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
735
736	* install-mk (MK_VERSION): 20211207
737
738	* Ensure guard targets are .NOTMAIN
739
740	* meta.sys.mk: check for nofilemon support when we skip level 0
741
742	* auto.dep.mk: make this usable in meta mode
743	for platforms that cannot use meta.autodep.mk
744
745	* meta2deps.py: avoid confusion if MACHINE and another
746	TARGET_SPEC_VAR have same value.
747
7482021-11-27  Simon J Gerraty  <sjg@beast.crufty.net>
749
750	* dirdeps.mk: when building dirdeps.cache, minimize the amount of
751	data put into env, by stripping ${SRCTOP}/ from each entry.
752	A long sandbox name can double the amount of memory consumed and
753	in extreme cases cause failure.
754	While we are at it, strip ${SRCTOP}/ from a lot of the debug output.
755
7562021-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
757
758	* install-mk (MK_VERSION): 20211111
759
760	* meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail
761	so fallback to cp if necessary.
762
7632021-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
764
765	* man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year
766	old cmt2doc.pl
767
7682021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
769
770	* meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f}
771	as the symlink (rare)
772
7732021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
774
775	* autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not
776	been read, throw an error after running configure telling user to
777	restart.
778
7792021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
780
781	* install-mk (MK_VERSION): 20211011
782
783	* Add support for SCO_SV
784
7852021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
786
787	* install-mk (MK_VERSION): 20211001
788
789	* man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more
790	flexibility
791
7922021-09-13  Simon J Gerraty  <sjg@beast.crufty.net>
793
794	* options.mk (describe-options): print options and their values
795	  and optional description
796
7972021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
798
799	* install-mk (MK_VERSION): 20210911
800
801	* options.mk (show-options): print options and their values
802
8032021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
804
805	* install-mk (MK_VERSION): 20210909
806
807	* lib.mk: apply patch from <daniel@octaforge.org>
808	to fix shared libs on Linux
809
8102021-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
811
812	* install-mk (MK_VERSION): 20210808
813
814	* options.mk: issue warning for WITH_*=no
815
8162021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
817
818	* install-mk (MK_VERSION): 20210616
819
820	* dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find
821	depend files to read, anchor MACHINE at , or end of string
822	to avoid prefix match.
823
8242021-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
825
826	* install-mk (MK_VERSION): 20210504
827
828	* dirdeps.mk: re-implement ALL_MACHINES support to better
829	cater for local complexities, when ONLY_TARGET_SPEC_LIST
830	is not set. local.dirdeps.mk can set
831	DIRDEPS_ALL_MACHINES_FILTER and/or
832	DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get
833	from listing all existing Makefile.depend.*
834
8352021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
836
837	* install-mk (MK_VERSION): 20210420
838
839	* dirdeps.mk: revert previous - not always safe.
840
8412021-03-20  Simon J Gerraty  <sjg@beast.crufty.net>
842
843	* install-mk (MK_VERSION): 20210321
844
845	* dirdeps.mk: when generating dirdeps.cache
846	we only need to hook the initial DIRDEPS to the
847	dirdeps target.  That and any _build_xtra_dirs (like tests which
848	should not be hooked directly to the dependency graph - to avoid
849	cycles)
850
8512021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
852
853	* install-mk (MK_VERSION): 20210130
854
855	* dirdeps.mk: expr 2 - 1 - 1 exits with a bad status
856	  we need to  guard against this in DIRDEP_LOADAVG_REPORT.
857
858	* dirdeps.mk: restore respect for TARGET_MACHINE
859
8602021-01-06  Simon J Gerraty  <sjg@beast.crufty.net>
861
862	* install-mk (MK_VERSION): 20210101
863
864	* dirdeps.mk: first time we are read, just use TARGET_SPEC for
865	_DEP_TARGET_SPEC
866
8672020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
868
869	* sys.mk (MAKE_SHELL): use ${.SHELL:Ush}
870	and use := when setting SHELL
871
8722020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
873
874	* install-mk (MK_VERSION): 20201221
875
876	* dirdeps-options.mk: latest bmake allows only one arg to .undef
877
8782020-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
879
880	* dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS
881	so that any directory can be treated as a target.
882
8832020-11-26  Simon J Gerraty  <sjg@beast.crufty.net>
884
885	* install-mk (MK_VERSION): 20201126
886
887	* own.mk: use .MAKE.{UID,GID} if available.
888
889	* init.mk: suppress _SKIP_BUILD warning if doing -V
890
8912020-11-20  Simon J Gerraty  <sjg@beast.crufty.net>
892
893	* install-mk (MK_VERSION): 20201120
894
895	* init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS
896
897	* dirdeps-targets.mk: fix typo in comment
898
8992020-11-06  Simon J Gerraty  <sjg@beast.crufty.net>
900
901	* install-mk (MK_VERSION): 20201106
902
903	* meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed
904	args to tweak extensions for local deps.
905
9062020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
907
908	* install-mk (MK_VERSION): 20201101
909
910	* dirdeps.mk: most leaf makefiles are not suitable for building
911	dirdeps.cache so if RELDIR is not "." use dirdeps.mk
912
9132020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
914
915	* install-mk (MK_VERSION): 20201028
916
917	* dirdeps.mk: if we don't have :range use equivalent of M_RANGE
918	when building dirdeps.cache for leaf directory use -f dirdeps.mk
919
920	* sys.vars.mk: add M_JOT and M_RANGE
921
9222020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
923
924	* install-mk (MK_VERSION): 20201001
925
926	* meta2deps.{py,sh}: throw an error if we don't see filemon version
927
9282020-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
929
930	* install-mk (MK_VERSION): 20200909
931
932	* dirdeps-cache-update.mk: use cache_update_dirdep as guard target
933
9342020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
935
936	* dirdeps.mk: ensure we cannot confuse a static cache for dynamic
937	(even more rare that use of static cache is playing clever tricks
938	with it)
939
9402020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
941
942	* dirdeps-cache-update.mk: allow
943	MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we
944	actually update STATIC_DIRDEPS_CACHE.
945
946	* stage-install.sh: create dest directory if needed
947	before running install(1)
948
9492020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
950
951	* dirdeps-targets.mk: include Makefile.dirdeps.options
952
953	* dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE
954
9552020-08-09  Simon J Gerraty  <sjg@beast.crufty.net>
956
957	* dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty
958
959	* dirdeps-cache-update.mk: building parallel cache update
960	under the context of dirdeps-cached would be ideal, but
961	is problematic, so it runs as a sibling.
962	Use cache-built target to ensure we wait for it to complete if
963	necessary.
964
9652020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
966
967	* install-mk (MK_VERSION): 20200806
968
969	* dirdeps-options: allow TARGET_SPEC to affect option values.
970	Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_*
971
972	* dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined
973	before looking for STATIC_DIRDEPS_CACHE
974
9752020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
976
977	* host-target.mk: Darwin use MACHINE for HOST_ARCH too
978
979	* dirdeps-options.mk: improve debug output
980
9812020-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
982
983	* dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE
984	for use by dirdeps-cache-update.mk
985
986	* dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE
987	for use by dirdeps-cache-update.mk even if we don't use it.
988
989	* dirdeps-cache-update.mk: we only need worry about the background
990	update case, with the above, the update from DIRDEPS_CACHE is
991	simple.
992
993	* meta2deps.py: R 1234 . is not interesting
994
9952020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
996
997	* sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE
998
999	* dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS
1000	allows use of lower case for pseudo options.
1001
1002	* dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE
1003
10042020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
1005
1006	* dirdeps-targets.mk: Look for Makefile.dirdeps.cache
1007	which allows us to have a static cache for expensive targets.
1008	Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE
1009	to regenerate the dirdeps.cache it is a copy of.
1010
10112020-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
1012
1013	* Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense.
1014
10152020-07-16  Simon J Gerraty  <sjg@beast.crufty.net>
1016
1017	* dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record
1018	load averages at intervals during build.
1019
10202020-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
1021
1022	* install-mk (MK_VERSION): 20200715
1023
1024	* dirdeps.mk: tweak Checking line to make matching Finished
1025	lines for post-build analysis easier.
1026
1027	* meta.autodep.mk: use !defined(WITHOUT_META_STATS)
1028
1029	* progs.mk: avoid prog.mk outputting multiple Finished lines
1030
10312020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
1032
1033	* dirdeps.mk: further optimize dirdeps.cache
1034	generate a DIRDEPS.${.TARGET} list for other purposes
1035	and improve the layout.
1036
10372020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
1038
1039	* dirdeps.mk: optimize content of dirdeps.cache
1040
10412020-06-28  Simon J Gerraty  <sjg@beast.crufty.net>
1042
1043	* sys/*.mk: make it easier for local*sys.mk to customize by
1044	using ?=
1045
10462020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
1047
1048	* gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
1049	it is much safer to guard local depends with a simple check for
1050	.MAKE.LEVEL > 0
1051
10522020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
1053
1054	* install-mk (MK_VERSION): 20200610
1055
1056	* mkopt.sh: this needs posix shell so #!/bin/sh should be ok
1057
10582020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
1059
1060	* install-mk (MK_VERSION): 20200606
1061
1062	* dirdeps-targets.mk: allow for filtering of .TARGETS
1063
1064	* meta2deps.py: fix bug in processing 'L'ink and 'M'ove
1065	entries - and we don't care about 'W'rite entries.
1066	Also ignore absolute paths that do not exist.
1067
10682020-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
1069
1070	* install-mk (MK_VERSION): 20200525
1071
1072	* init.mk: expand and simplify handling of qualified vars
1073	like CPPFLAGS.${.TARGET:T}
1074
10752020-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
1076
1077	* install-mk (MK_VERSION): 20200515
1078
1079	* dirdeps.mk: set _debug_* earlier and allow passing -d*
1080	flags to submake when building DIRDEPS_CACHE
1081
10822020-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
1083
1084	* whats.mk: more easily extensible
1085
10862020-05-02  Simon J Gerraty  <sjg@beast.crufty.net>
1087
1088	* whats.mk: greatly simplify by adding what.c to SRCS
1089
10902020-05-01  Simon J Gerraty  <sjg@beast.crufty.net>
1091
1092	* whats.mk: for libs take care how we add to *OBJS
1093
1094	* lib.mk: : works better with whats.mk
1095
10962020-04-25  Simon J Gerraty  <sjg@beast.crufty.net>
1097
1098	* install-mk (MK_VERSION): 20200420
1099
1100	* meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
1101	contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
1102
11032020-04-16  Simon J Gerraty  <sjg@beast.crufty.net>
1104
1105	* install-mk (MK_VERSION): 20200416
1106
1107	* sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
1108	  interfere with user env.
1109
1110	* sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
1111
1112	* autodep.mk: use MAKE_SHELL.
1113
11142019-11-21  Simon J Gerraty  <sjg@beast.crufty.net>
1115
1116	* gendirdeps.mk: clear .SUFFIXES to avoid a lot of
1117	  wasted effort, and unexport _meta_files when no longer needed as
1118	  it consumes space we need for command line.
1119
11202019-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
1121
1122	* dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
1123	  DIRDEP_USE_PRELUDE at start - facilitates job distribution
1124
11252019-10-04  Simon J Gerraty  <sjg@beast.crufty.net>
1126
1127	* dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
1128	defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
1129	TARGET_SPEC qualified depend files.
1130
11312019-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
1132
1133	* dirdeps-targets.mk: encapsulate logic for finding top-level
1134	  targets to set initial DIRDEPS for DIRDEPS_BUILD
1135
11362019-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
1137
1138	* install-mk (MK_VERSION): 20190911
1139
1140	* compiler.mk: set COMPILER_TYPE
1141
11422019-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
1143
1144	* install-mk (MK_VERSION): 20190704
1145
1146	* sys/Darwin.mk: support for Objective-C and clang
1147
11482019-05-30  Simon J Gerraty  <sjg@beast.crufty.net>
1149
1150	* dirdeps.mk: avoid insanely long command line when generating cache
1151
11522019-05-23  Simon J Gerraty  <sjg@beast.crufty.net>
1153
1154	* install-mk (MK_VERSION): 20190505
1155
1156	* whats.mk: handle corner case SHLIB defined but not LIB
1157
11582018-09-19  Simon J Gerraty  <sjg@beast.crufty.net>
1159
1160	* install-mk (MK_VERSION): 20180919
1161
1162	* dirdeps-options.mk: .undef cannot handle var that expands to
1163	  more than one var.
1164
11652018-07-08  Simon J Gerraty  <sjg@beast.crufty.net>
1166
1167	* meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
1168
11692018-06-01  Simon J Gerraty  <sjg@beast.crufty.net>
1170
1171	* meta.autodep.mk: export META_FILES to avoid command line limit
1172	* gendirdeps.mk: if we have lots of .meta files put them in
1173	  an @list
1174
11752018-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
1176
1177	* dirdeps-options.mk: use local.dirdeps-options.mk
1178	  not local.dirdeps-option.mk
1179
11802018-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
1181
1182	* install-mk (MK_VERSION): 20180420
1183	* dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
1184	  ie. we are building something.
1185
11862018-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
1187
1188	* FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
1189
11902018-04-05  Simon J Gerraty  <sjg@beast.crufty.net>
1191
1192	* install-mk (MK_VERSION): 20180405
1193
1194	* ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
1195	  if needed.
1196
11972018-01-18  Simon J Gerraty  <sjg@beast.crufty.net>
1198
1199	* install-mk (MK_VERSION): 20180118
1200
1201	* ldorder.mk: let make compute correct link order
1202
12032017-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
1204
1205	* install-mk (MK_VERSION): 20171212
1206
1207	* gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
1208
12092017-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1210
1211	* install-mk (MK_VERSION): 20171111
1212
1213	* lib.mk: ensure META_NOECHO is set
1214
12152017-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1216
1217	* Allow for host32 on rare occasions.
1218
12192017-10-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1220
1221	* install-mk (MK_VERSION): 20171018
1222
1223	* whats.mk: include what_thing in what_uuid to avoid problem
1224	  when building multiple apps in the same directory.
1225
12262017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1227
1228	* install-mk (MK_VERSION): 20170812
1229
1230	* autoconf.mk: Use CONFIGURE_DEPS so Makefile can
1231	  add dependencies for config.recheck and config.gen
1232
12332017-06-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1234
1235	* install-mk (MK_VERSION): 20170630
1236
1237	* meta.stage.mk: avoid triggering stage_* targets with nothing to do.
1238
12392017-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1240
1241	* meta2deps.py: take special care of '..'
1242
12432017-05-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1244
1245	* install-mk (MK_VERSION): 20170515
1246
1247	* dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
1248	useful/necessary for a Makefile.depend file to export some knobs.
1249	This is complicated when we are doing DIRDEPS_CACHE, so we will
1250	handle export of any variables listed in DEP_EXPORT_VARS.
1251
12522017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1253
1254	* install-mk (MK_VERSION): 20170505
1255
1256	* meta2deps.py: fix botched indenation.
1257
12582017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1259
1260	* sys/*.mk: Remove setting of MAKE it is unnecessary and
1261	  in many cases wrong (basname rather than full path)
1262
1263	* scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
1264
1265	* init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
1266
12672017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1268
1269	* install-mk (MK_VERSION): 20170501
1270
1271	* doc.mk: fix typo in DOC_INSTALL_OWN
1272
1273	* inc.mk: handle INCGROUPS similar to freebsd
1274
1275	* files.mk: add something for files too
1276
1277	* add staging logic to lib.mk prog.mk etc.
1278
12792017-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1280
1281	* install-mk (MK_VERSION): 20170424
1282
1283	* dirdeps.mk: set NO_DIRDEPS when bootstrapping.
1284	  also target of bootstrap-this when sed is needed should be ${_want:T}
1285
12862017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1287
1288	* install-mk (MK_VERSION): 20170418
1289
1290	* auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
1291	  prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
1292
12932017-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1294
1295	* install-mk (MK_VERSION): 20170401
1296
1297	* meta2deps.py: add is_src so we can check if obj dependency
1298	  is also a src dependency.
1299
13002017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1301
1302	* install-mk (MK_VERSION): 20170326
1303
1304	* meta.stage.mk: do nothing if NO_STAGING is defined.
1305
13062017-03-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1307
1308	* auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
1309
13102017-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1311
1312	* mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
1313
13142017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1315
1316	* install-mk (MK_VERSION): 20170301
1317
1318	* dirdeps.mk (_build_all_dirs): update this outside test for empty
1319	  DIRDEPS.
1320
1321	* meta.stage.mk: allow multiple inclusion to the extent it makes
1322	  sense.
1323
13242017-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1325
1326	* prog.mk (install_links): depends on realinstall
1327
13282017-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1329
1330	* install-mk (MK_VERSION): 20170212
1331
1332	* dpadd.mk: avoid applying :T:R twice to DPLIBS entries
1333
13342017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1335
1336	* install-mk (MK_VERSION): 20170130
1337
1338	* dirdeps.mk: use :range if we can.
1339
1340	* sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
1341
1342	* meta2deps.py: clean paths without using realpath() where possible.
1343	  fix sort_unique.
1344
13452016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1346
1347	* install-mk (MK_VERSION): 20161212
1348
1349	* meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
1350	rather than when we detect pid change.
1351
13522016-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1353
1354	* install-mk (MK_VERSION): 20161207
1355
1356	* meta.stage.mk: add stage_as_and_symlink for staging packages.
1357	  We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
1358	  to use foo.tgz to reference the latest staged version - so we
1359	  make foo.tgz a symlink to it.
1360	  Using a target to do both operations ensures we stay in sync.
1361
13622016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1363
1364	* install-mk (MK_VERSION): 20161126
1365
1366	* dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
1367	  so it can add dependencies.
1368
13692016-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1370
1371	* dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
1372	  do that they can influence the result correctly.
1373
1374	* dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
1375
1376	* dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
1377	  similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
1378
13792016-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1380
1381	* dirdeps.mk: remove dependence on jot (normal situations anyway).
1382	  Before we read another Makefile.depend* set DEP_* vars from
1383	  _DEP_TARGET_SPEC in case it uses any of them with :=
1384	  When bootstrapping, trim any ,* from extention of chosen _src
1385	  Makefile.depend* to get the machine value we subst for.
1386
13872016-09-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1388
1389	* dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
1390	  DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
1391
1392	* sys.mk: extract some bits to sys.{debug,vars}.mk
1393	  for easier re-use by others.
1394
13952016-09-23  Simon Gerraty  <sjg@sjg-mba13>
1396
1397	* lib.mk: Use ${PICO} for extension for PIC objects.
1398	  default to .pico (like NetBSD) safe on case insensitive filesystem.
1399
14002016-08-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1401
1402	* meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
1403
14042016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1405
1406	* install-mk (MK_VERSION): 20160815
1407
1408	* dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
1409	consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
1410
14112016-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1412
1413	* meta.sys.mk (.MAKE.META.IGNORE_PATHS):
1414	  in meta mode we can ignore the mtime of makefiles
1415
14162016-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1417
1418	* install-mk (MK_VERSION): 20160802
1419
1420	* lib.mk (libinstall): depends on beforinstall
1421
1422	* prog.mk (proginstall): depends on beforinstall
1423	  patch from Lauri Tirkkonen
1424
1425	* dirdeps.mk (bootstrap): When bootstrapping; creat
1426	.MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
1427	.MAKE.DEPENDFILE_BOOTSTRAP_SED
1428
1429	* dirdeps.mk: move some comments to where they make sense.
1430
14312016-07-27  Simon J. Gerraty  <sjg@bad.crufty.net>
1432
1433	* dirdeps.mk (DIRDEPS_CACHE): no dirname.
1434
14352016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1436
1437	* install-mk (MK_VERSION): 20160602
1438	* meta.autodep.mk: when passing META_FILES to gendirdeps.mk
1439	  do not apply :T to META_XTRAS
1440	  patch from Bryan Drewery at FreeBSD.org.
1441
14422016-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1443
1444	* install-mk (MK_VERSION): 20160530
1445	* meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
1446	  make it so.
1447
14482016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1449
1450	* install-mk (MK_VERSION): 20160512
1451
1452	* dpadd.mk: always include local.dpadd.mk if it exists
1453	  remove some things that better belong in local.dpadd.mk
1454	  skip INCLUDES_* for staged libs unless SRC_* defined.
1455
1456	* own.mk: add INCLUDEDIR
1457
14582016-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1459
1460	* dirdeps.mk: when doing -f dirdeps.mk if target suppies no
1461	  TARGET_MACHINE - :E will be empty or match part of path, use
1462	  ${MACHINE}
1463
14642016-04-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1465
1466	* meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
1467	  NO_FILEMON_COOKIE
1468
1469	* dirdeps.mk: move the logic that allows for
1470	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1471	  inside the check for !target(_DIRDEP_USE)
1472
14732016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1474
1475	* Use <> when including local*.mk and others which may exist
1476	  elsewhere so that user can better control what they get.
1477
1478	* meta.autodep.mk (NO_FILEMON_COOKIE):
1479	  create a cookie if we ever build dir with nofilemon
1480	  so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
1481
14822016-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1483
1484	* install-mk (MK_VERSION): 20160401
1485
1486	* meta2deps.py: fix old print statement when debugging.
1487
1488	* gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
1489	  patch from Bryan Drewery
1490
14912016-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1492
1493	* install-mk (MK_VERSION): 20160317 (St. Pats)
1494
1495	* warnings.mk: g++ does not like -Wimplicit
1496
1497	* sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
1498	  pelthora of common suffixes for C++
1499
1500	* lib.mk: use .So for shared objects
1501
15022016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1503
1504	* install-mk (MK_VERSION): 20160315
1505
1506	* meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
1507	  normally only applies to scripts.
1508
1509	* dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
1510	  well as outside it.
1511
15122016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1513
1514	* install-mk (MK_VERSION): 20160310
1515
1516	* dirdeps.mk: use targets rather than a list to track DIRDEPS that
1517	  we have processed; the list gets very inefficient as number of
1518	  DIRDEPS gets large.
1519
1520	* sys.dependfile.mk: fix comment wrt MACHINE
1521
1522	* meta.autodep.mk: ignore staged DPADDs when bootstrapping.
1523	  patch from Bryan Drewery
1524
15252016-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1526
1527	* meta2deps.sh: don't ignore subdirs.
1528	  patch from Bryan Drewery
1529
15302016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1531
1532	* install-mk (MK_VERSION): 20160226
1533
1534	* gendirdeps.mk: mark _DEPENDFILE .NOMETA
1535
15362016-02-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1537
1538	* dirdeps.mk: we shouldn't normally include .depend but if we do
1539	  use .dinclude if we can.
1540
15412016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1542
1543	* install-mk (MK_VERSION): 20160218
1544	* sys.clean-env.mk: with recent change to Var_Subst()
1545	  we cannot use the '$$' trick, but .export-literal does the job
1546	  we need.
1547	* auto.dep.mk: make use .dinclude if we can.
1548
1549
15502016-02-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1551
1552	* dirdeps.mk:
1553	  Add _build_all_dirs such that local.dirdeps.mk can
1554	  add fully qualified dirs to it.
1555	  These will be built normally but the current
1556	  DEP_RELDIR will not depend on then (to avoid cycles).
1557	  This makes it easy to hook things like unit-tests into build.
1558
1559
15602016-01-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1561
1562	* dirdeps.mk: add bootstrap-empty
1563
15642015-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1565
1566	* install-mk (MK_VERSION): 20151212
1567	* auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
1568	  only apply :tA to __objdir when comparing to .OBJDIR
1569
15702015-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1571
1572	* install-mk (MK_VERSION): 20151111
1573
1574	* meta.sys.mk: include sys.dependfile.mk
1575
1576	* sys.mk (OPTIONS_DEFAULT_NO): use options.mk
1577	  to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
1578	  include local.sys.env.mk early
1579	  include local.sys.mk later
1580
1581	* own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
1582
15832015-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1584
1585	* meta.sys.mk (META_COOKIE_TOUCH):
1586	  add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
1587
1588	* meta.stage.mk: stage_libs should ignore SYMLINKS.
1589
15902015-10-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1591
1592	* install-mk (MK_VERSION): 20151022
1593
1594	* sys.mk: BSD/OS does not have 'type' as a shell builtin.
1595
15962015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1597
1598	* install-mk (MK_VERSION): 20151020
1599
1600	* dirdeps.mk: Add logic for
1601	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1602
16032015-10-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1604
1605	* install-mk (MK_VERSION): 20151010
1606
16072015-10-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1608
1609	* meta.stage.mk: use staging: ${STAGE_TARGETS:...
1610	  to have stage_lins run last in non-jobs mode.
1611	  Use .ORDER only for jobs mode.
1612
16132015-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1614
1615	* rst2htm.mk: allow for per target flags etc.
1616
16172015-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1618
1619	* install-mk (MK_VERSION): 20150901
1620
1621	* doc.mk: create dir if needed use DOC_INSTALL_OWN
1622
16232015-06-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1624
1625	* install-mk (MK_VERSION): 20150615
1626
1627	* auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
1628	  Follow make's normal precedence rules.
1629
1630	* gendirdeps.mk: allow customization of the header.
1631	  eg. for FreeBSD:
1632	  GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
1633
1634	* meta.autodep.mk: ignore dirdeps.cache*
1635
1636	* meta.stage.mk: when bootstrapping options it can be handy to
1637	  throw warnings rather than errors for staging conflicts.
1638
1639	* meta.sys.mk: include local.meta.sys.mk for customization
1640
16412015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1642
1643	* install-mk (MK_VERSION): 20150606
1644
1645	* dirdeps.mk: don't rely on manually maintained Makefile.depend
1646	  to set DEP_RELDIR and reset DIRDEPS.
1647	  By setting DEP_RELDIR ourselves we can skip :tA
1648
1649	* gendirdeps.mk: skip setting DEP_RELDIR.
1650
16512015-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1652
1653	* dirdeps.mk: avoid wildcards like make(bootstrap*)
1654
16552015-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1656
1657	* install-mk (MK_VERSION): 20150520
1658
1659	* dirdeps.mk: when we are building dirdeps cache file we *want*
1660	  meta_oodate to look at all the Makefile.depend files, so
1661	  set .MAKE.DEPENDFILE to something that won't match.
1662
1663	* meta.stage.mk: for STAGE_AS_* basename of file may not be unique
1664	  so first use absolute path as key.
1665	  Also skip staging at level 0.
1666
16672015-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1668
1669	* install-mk (MK_VERSION): 20150430
1670
1671	* dirdeps.mk: fix _count_dirdeps for non-cache case.
1672
16732015-04-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1674
1675	* install-mk (MK_VERSION): 20150411
1676	  bump version
1677
1678	* own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
1679	  it is here mainly for documentation purposes, since
1680	  if using auto.obj.mk it is better done via sys.mk
1681
16822015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1683
1684	* install-mk (MK_VERSION): 20150401
1685
1686	* meta2deps.sh: support @list
1687
1688	* meta2deps.py: updates from Juniper
1689	  o add EXCLUDES
1690	  o skip bogus input files.
1691	  o treat 'M' and 'L' as both an 'R' and a 'W'
1692
16932015-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1694
1695	* install-mk (MK_VERSION): 20150303
1696
1697	* dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
1698	  which is built via sub-make so we have a .meta file to tell if
1699	  it is out-of-date.
1700	  The dirdeps-cache contains the same dependency rules that we
1701	  normaly construct on the fly.
1702	  This adds a few seconds overhead when the cache is out of date,
1703	  but for a large target, the savings can be significant (10-20min).
1704
17052014-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1706
1707	* install-mk (MK_VERSION): 20141118
1708
1709	* meta.stage.mk: add stale_staged
1710
1711	* dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
1712	  only useful under very rare conditions such as
1713	  FreeBSD's make universe.
1714
1715	* auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
1716
17172014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1718
1719	* install-mk (MK_VERSION): 20141111
1720
1721	* mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
1722
17232014-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1724
1725	* FILES: include mkopt.sh which allows handling options in shell
1726	  scripts in a manner compatible with options.mk
1727
17282014-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1729
1730	* meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
1731	  for GENDIRDEPS_FILTER to avoid surprises.
1732
17332014-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1734
1735	* dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
1736	  the time it is applied to __depdirs they have.
1737
1738	* dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
1739	  expects patterns like *.${MACHINE}
1740
1741	* cython.mk (pyprefix?): use pyprefix to find python bits
1742	  since prefix might be something else (where we install our
1743	  stuff)
1744
17452014-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1746
1747	* install-mk (MK_VERSION): 20140911
1748
1749	* dirdeps.mk: add bootstrap target to simplify adding support for
1750	  new MACHINE.
1751
17522014-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1753
1754	* gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
1755	  GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
1756	  Makefile.depend files.
1757
17582014-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1759
1760	* install-mk (MK_VERSION): 20140828
1761
1762	* cython.mk: capture logic for building python extension modules
1763	  with Cython.
1764
17652014-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1766
1767	* meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
1768
17692014-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1770
1771	* install-mk (MK_VERSION): 20140801
1772
1773	* dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
1774	identify the autodep.mk variant.
1775
1776	* sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
1777	initial value does not match .MAKE.DEPENDFILE_PREFIX
1778
1779	* meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
1780
17812014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1782
1783	* install-mk (MK_VERSION): 20140522
1784
1785	* lib.mk: use CC to link shlib for linux too
1786	  patch from Brendan MacDonell
1787
17882014-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1789
1790	* meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
1791	  if WITH_META_STATS is defined.
1792
17932014-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1794
1795	* dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
1796	  to supress dirdeps outside of .CURDIR.
1797
17982014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1799
1800	* Fix spelling errors - patch from Pedro Giffuni
1801
18022014-03-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1803
1804	* install-mk (MK_VERSION): 20140314
1805
1806	* dirdeps.mk (beforedirdeps): a handy hook
1807
1808	* dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
1809	  to visit leaf dirs to be intercepted (eg. for distributed
1810	  build).
1811
1812	* dirdeps.mk (__depdirs): ensure // don't sneak in
1813
1814	* gendirdeps.mk (DIRDEPS): ensure // don't sneak in
1815
1816
18172014-02-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1818
1819	* rst2htm.mk (RST2PDF): add support for rst2pdf
1820
18212014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1822
1823	* install-mk (MK_VERSION): bump version
1824	* dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
1825	  available.
1826
18272014-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1828
1829	* options.mk: avoid :U so this isn't bmake dependent
1830
18312014-02-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1832
1833	* options.mk: cleanup and simplify semanitcs
1834	  NO_* dominates all, if both WITH_* and WITHOUT_*
1835	  are defined then result is DOMINATE_* which defaults to "no".
1836	  Ie. WITHOUT_ normally wins.
1837
18382013-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1839
1840	* install-mk (MK_VERSION): bump version
1841	* meta2deps.py: convert to print function for python3 compat.
1842	  we also need to open files with mode 'r' rather than 'rb'
1843	  otherwise we get bytes instead of strings.
1844
18452013-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1846
1847	* install-mk (MK_VERSION): bump version
1848
1849	* dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
1850	  apply the same filtering (M_dep_qual_fixes) when setting _machines
1851	  as _build_dirs.
1852	  Also fix the filtering of Makefile.depend files - for reporting
1853	  what we are looking for (M_dep_qual_fixes can get confused by
1854	  Makefile.depend)
1855	  Add some more debug info.
1856
18572013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1858
1859	* gendirdeps.mk (_objtops): fix typo also
1860	  while processing M2D_OBJROOTS to gather qualdir_list
1861	  qualify $ql with loop iterator to ensure correct results.
1862
18632013-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1864
1865	* install-mk (MK_VERSION): 20130801
1866	* libs.mk: update to match progs.mk
1867
18682013-07-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1869
1870	* install-mk (MK_VERSION): 20130726
1871	  some updates from Juniper and FreeBSD
1872	  o meta2deps.py: indicate file and line number when we hit parse
1873	    errors
1874	    also allow @file to provide huge list of .meta files.
1875	* meta2deps.py: add try_parse() to cleanup the above.
1876
18772013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1878
1879	* install-mk (MK_VERSION): 20130716
1880	* own.mk: add GPROG as an option
1881	* prog.mk: honor MK_GPROF==yes
1882
18832013-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1884
1885	* install-mk (MK_VERSION): 20130505
1886	* gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
1887	  for when $MACHINE isn't enough for objdir distinction.
1888	  Bring meta2deps.sh closer to par with meta2deps.py.
1889
18902013-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1891
1892	* meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
1893	  also if the target 'beforeinstall' exists, make it depend on
1894	  .dirdep (incase it uses STAGE_INSTALL).
1895
18962013-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1897
1898	* install-mk (MK_VERSION): 20130401 ;-)
1899	* meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
1900	  wrapper around install(1).
1901	* options.mk (OPTION_PREFIX): Allow a prefix other than MK_
1902
19032013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1904
1905	* meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
1906	* install-mk (MK_VERSION): bump version
1907
19082013-03-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1909
1910	* install-mk (MK_VERSION): bump version
1911	* gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
1912	  any trailing /., rather apply :tA only when needed.
1913	* gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
1914	* meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
1915	  consistently.
1916	* dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
1917
19182013-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1919
1920	* gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
1921	  it is simpler to just not update when say building for "host"
1922	  (where we know we apply filters to DIRDEPS), and using a
1923	  non-machine qualified dependfile.
1924
19252013-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1926
1927	* dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
1928	  and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
1929	* gendirdeps.mk: ensure _objroot has trailing / if it needs it.
1930	* meta2deps.py: if machine is "host", then also trim
1931	  self.host_target from any OBJROOTS.
1932
1933
19342013-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1935
1936	* gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
1937	  qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
1938	  but _DEPENDFILE does not, compare the new _DEPENDFILE against
1939	  .MAKE.DEPENDFILE_DEFAULT and discard if the same.
1940
19412013-03-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1942
1943	* meta.stage.mk: use STAGE_TARGETS to control .ORDER
1944	  and hook to all: via staging:
1945
19462013-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1947
1948	* sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
1949	  use a separate variable for the default .MAKE.DEPENDFILE value
1950	  so that it can be controlled independently of
1951	  .MAKE.DEPENDFILE_PREFERENCE
1952
1953	* meta.stage.mk: throw error if cp fails etc.
1954	  Stage*() return early if passed no args.
1955	  .ORDER stage_*
1956
19572013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1958
1959	* install-mk (MK_VERSION): bump version
1960	* gendirdeps.mk: handle multiple M2D_OBJROOTS better.
1961
19622013-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1963
1964	* install-mk (MK_VERSION): bump version to 20130210
1965	* import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
1966	  from Juniper.
1967	  o dirdeps.mk now fully supports TARGET_SPEC consisting of more
1968	    than just MACHINE.
1969	  o no longer use DEP_MACHINE from Makefile.depend* so remove it.
1970
19712013-01-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1972
1973	* install-mk (MK_VERSION): bump version to 20130123
1974	* meta.stage.mk: add stage_links (hard links).
1975	  if doing hard links, we add dest to link as well.
1976	  Default the stage dir for [sym]links to STAGE_OBJTOP since
1977	  these are typically specified as absolute paths.
1978	  Add -m "mode" flag to StageFiles and StageAs.
1979
19802012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1981
1982	* install-mk (MK_VERSION): bump version to 20121111
1983	* autoconf.mk: avoid meta mode seeing changed commands for config.status
1984	* meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
1985	  in case we were found via .../mk
1986	* sys.clean-env.mk: move it from examples, we and others use it
1987	  "as is".
1988	* FILES: add srctop.mk and options.mk
1989	* own.mk: convert to using options.mk
1990	  which is modeled after FreeBSD's handling of MK_*
1991	  but more flexible.
1992	  This allows MK_* for boolean knobs to not be confused
1993	  with MK* which can be commands.
1994
1995	* examples/sys.clean-env.mk: add WITH[OUT]_ to
1996	  MAKE_ENV_SAVE_PREFIX_LIST.
1997	  Mention that HOME=/var/empty might be a good idea.
1998
19992012-11-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2000
2001	* sys.dependfile.mk: if not depend file exists, $MACHINE
2002	  specific ones are supported but not the default,
2003	  check if any exist and follow suit.
2004
20052012-11-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2006
2007	* install-mk (MK_VERSION): bump version to 20121106
2008
20092012-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2010
2011	* import latest dirdeps.mk and meta2deps.py from Juniper.
2012	* progs.mk: add MAN and CXXFLAGS to PROG_VARS
2013	  also add PROGS_TARGETS and pass on PROG_CXX if it seems
2014	  appropriate.
2015
20162012-11-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2017
2018	* meta.stage.mk: update CLEANFILES
2019	  remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
2020	* progs.mk: Add LDADD to PROG_VARS
2021
20222012-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2023
2024	* meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
2025	  _STAGED_DIRS so that these can be turned into filters for
2026	  GENDIRDEPS_FILTER.
2027
20282012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2029
2030	* install-mk (MK_VERSION): bump version to 20121010
2031	* meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
2032	target.dirdep matches .dirdep
2033
20342012-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2035
2036	* install-mk (MK_VERSION): bump version to 20120808
2037	* import latest meta2deps.py from Juniper.
2038
20392012-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2040
2041	* install-mk (MK_VERSION): bump version to 20120711
2042	* dep.mk: add explicit dependencies on SRCS after applying
2043	  SRCS_DEP_FILTER
2044	* meta.autodep.mk: add explicit dependencies on SRCS after
2045	  applying SRCS_DEP_FILTER
2046	* meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
2047
20482012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2049
2050	* install-mk (MK_VERSION): bump version to 20120626
2051	* meta.sys.mk: ignore PYTHON if it does not exist
2052	  compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
2053	* meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
2054	  entries ending in .${MACHINE} to decide if qualified _dirdep is
2055	  needed.
2056	* gendirdeps.mk: only produce unqualified deps if no
2057	  .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
2058	* meta.subdir.mk: apply SUBDIRDEPS_FILTER
2059
20602012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2061
2062	* install-mk (MK_VERSION): bump version to 20120420
2063	* add sys.dependfile.mk so we can experiment with
2064	  .MAKE.DEPENDFILE_PREFERENCE
2065	* meta.autodep.mk: _DEPENDFILE is precious!
2066
20672012-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2068
2069	* install-mk (MK_VERSION): bump version to 20120315
2070	* install-new.mk: avoid being interrupted
2071
20722012-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2073
2074	* man.mk: MAN might have multiple values so be careful with exists().
2075
20762012-01-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2077
2078	* install-mk (MK_VERSION): bump version to 20120112
2079	* fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
2080	  as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
2081
20822011-12-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2083
2084	* install-mk (MK_VERSION):  bump version to 20111201
2085	* import dirdeps.mk from Juniper sjg@
2086	  o more consistent handling of DEP_MACHINE, especially when
2087	    dealing with an odd Makefile.depend, when normally using
2088	    Makefile.depend.${MACHINE}
2089
20902011-11-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2091
2092	* install-mk (MK_VERSION): bump version to 20111122
2093	* meta.autodep.mk: add some debug output, be more crisp about
2094	  updating.  Use ${.ALLTARGETS:M*.o} as a clue for .depend
2095
20962011-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2097
2098	* install-mk (MK_VERSION): bump version to 20111111
2099	  it's too cool to miss
2100	* import meta* updates from Juniper sjg@
2101	  o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
2102	    normally using Makefile.depend.${MACHINE}), handy for
2103	    read-only manually maintained dependencies.
2104	  o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
2105	  o gendirdeps.mk if ERROR: from meta2deps.py do not update
2106	    anything.
2107
21082011-10-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2109
2110	* install-new.mk separate the cmp and copy logic to its own function.
2111
21122011-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2113
2114	* install-mk (MK_VERSION): bump version to 20111028
2115	* sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
2116	* subdir.mk: ensure _SUBDIRUSE is provided
2117	* meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
2118	* meta.subdir.mk: always allow for Makefile.depend
2119
21202011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2121
2122	* install-mk (MK_VERSION): bump version to 20111010
2123	  o minor tweak to *dirdeps.mk from Juniper sjg@
2124
21252011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2126
2127	* install-mk (MK_VERSION): bump version to 20111001
2128	  o add meta2deps.py from Juniper sjg@
2129	  o tweak gendirdeps.mk to work with meta2deps.py when not
2130	    cross-building
2131	* autoconf.mk: add autoconf-input as a hook for regenerating
2132	  AUTOCONF_INPUTS (configure).
2133
21342011-08-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2135
2136	* meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
2137	  trigger for updating Makefile.depend*
2138
21392011-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2140
2141	* install-mk (MK_VERSION): bump version to 20110808
2142	* obj.mk: minor cleanup
2143	* auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
2144
21452011-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2146
2147	* auto.obj.mk (.OBJDIR): throw an error if we cannot use the
2148	  specified dir.
2149
21502011-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2151
2152	* meta.autodep.mk: if XMAKE_META_FILE is set
2153	  the makefile uses a foreign make, and so dependencies
2154	  can only be gathered from a clean tree build.
2155
21562011-06-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2157
2158	* install-mk (MK_VERSION): bump version to 20110622
2159	* meta.autodep.mk: improve bootstraping
2160
21612011-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2162
2163	* yacc.mk: handle the corner case of .c being removed
2164	  while .h remains.
2165
21662011-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2167
2168	* yacc.mk: do .y.h and .y.c separately
2169
21702011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2171
2172	* install-mk (MK_VERSION): bump version to 20110606
2173	* don't store SRC_DIRDEPS in Makefile.depend* by default
2174	  not everyone needs it.
2175
21762011-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2177
2178	* install-mk (MK_VERSION): bump version to 20110505
2179	  first release including meta mode makefiles
2180
21812011-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2182
2183	* meta.stage.mk: add STAGE_AS_SETS and stage_as
2184	  for things that need to be staged with different names.
2185
21862011-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2187
2188	* meta.stage.mk: add notion of STAGE_SETS
2189	  so a makefile can stage to multiple dirs
2190
21912011-04-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2192
2193	* rst2htm.mk: convert rst to s5 (slides) or plain html depending
2194	  on target name.
2195
21962011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2197
2198	* install-mk (MK_VERSION): bump version to 20110330
2199
22002011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
2201
2202	* sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
2203	  can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
2204	* sys.mk: re-define M_whence in terms of M_type.
2205	  M_type is useful for checking if something is a builtin.
2206
22072011-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2208
2209	* meta.stage.mk: add stage_symlinks and leverage StageLinks for
2210	  stage_libs
2211
22122011-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2213
2214	* dirdeps.mk: correct value for _depdir_files depends on
2215	  .MAKE.DEPENDFILE
2216	  Add our copyright - just to make it clear we have frobbed this
2217	  quite a bit.
2218	  DEP_MACHINE needs to be set to MACHINE each time, if using only
2219	  Makefile.depend (cf. Makefile.depend.${MACHINE})
2220
2221	* meta.stage.mk: meta mode version of staging
2222
2223	* init.mk, final.mk: include local.*.mk to simplify customization
2224
22252011-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2226
2227	* auto.obj.mk: just because we are doing mk destroy, we should
2228	  still set .OBJDIR correctly if it exists.
2229
2230	* install-mk (mksrc): do not exclude meta.sys.mk
2231
22322011-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2233
2234	* host-target.mk: set/export _HOST_ARCH etc separately,
2235	  catch junk resulting from uname -p, so we can find sys/Linux.mk
2236	  correctly.
2237
22382011-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2239
2240	* meta.sys.mk: throw an error if /dev/filemon is missing and we
2241	  expected to be updating Makefile.depend*
2242
22432011-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2244
2245	* install-mk (MK_VERSION): bump version to 20110214
2246	* meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
2247
22482010-09-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2249
2250	* meta.sys.mk: not valid for older bmake
2251
22522010-09-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2253
2254	* install-mk (MK_VERSION): bump version to 20100919
2255	include dirdeps.mk et al from Juniper Networks,
2256	for meta mode - requires filemon(9).
2257	* sys.mk, subdir.mk: Add hooks for meta mode.
2258	we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
2259	to make turning it on/off simple.
2260
22612010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2262
2263	* install-mk (MK_VERSION): bump version to 20100616
2264	* fix typo in sys.mk
2265
22662010-06-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2267
2268	* install-mk (MK_VERSION): bump version to 20100612
2269	* lib.mk: remove duplicate addition to SOBJS
2270
22712010-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2272
2273	* sys.mk: Add a means of selectively turning on debug flags.
2274	  Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
2275	  will act as if we did make -dv if .CURDIR ends in lib/sjg
2276	  DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
2277	  the start of sys.mk rather than the end.
2278	  This only makes sense for leaf dirs, so we check that
2279	  .MAKE.LEVEL > 0
2280
22812010-06-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2282
2283	* install-mk (MK_VERSION): bump version to 20100608
2284	* sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
2285	* examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
2286	  also make it easier for folk to tweak
2287
22882010-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2289
2290	* install-mk (MK_VERSION): bump version to 20100606
2291	  do not install examples/*
2292	* FILES: add examples/sys.clean-env.mk
2293	* examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
2294	  this requires bmake-20100606 or later to work.
2295
22962010-05-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2297
2298	* sys.mk (M_tA): better simulate the result of :tA if not available.
2299
23002010-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2301
2302	* sys.mk: canonicalize MAKE_VERSION
2303	  old versions reported bmake-<src-date> build-<build-date>
2304	  whereas we only care about <src-date>
2305
23062010-04-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2307
2308	* install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
2309	* lib.mk: we only build the shared lib if SHLIB_FULLVERSION
2310	  is !empty
2311
23122010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2313
2314	* dpadd.mk: use LDADD_* if defined.
2315
23162010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2317
2318	* install-mk (MK_VERSION): bump version to 20100420
2319	* sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
2320	* autoconf.mk allow AUTO_AUTOCONF
2321
23222010-04-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2323
2324	* obj.mk: add objwarn to keep freebsd makefiles happy
2325	* auto.obj.mk: ensure Mkdirs is available.
2326	* FILES: add auto.dep.mk - a simpler version of autodep.mk
2327	* dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
2328	  asked to do that.
2329	  fix/simplify the tests for when to run mkdep.
2330	* auto.dep.mk: add some explanation of how/what we do.
2331	* autodep.mk: skip the .OPTIONAL frobbing of .depend
2332	  bmake's FROM_DEPEND flag makes it redundant.
2333
23342010-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2335
2336	* install-mk (MK_VERSION): bump version to 20100404
2337	* subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
2338	* obj.mk: protect from multiple inclusion even as bsd.obj.mk
2339	Also create a target _SUBDIRUSE so that we can  be used without
2340	subdir.mk
2341
23422010-04-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2343
2344	* dep.mk: use <> when .including so can override.
2345
23462010-01-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2347
2348	* lib.mk (SHLIB_LINKS): ensure a string comparison.
2349
23502010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2351
2352	* install-mk (MK_VERSION): bump version to 20100102
2353	* own.mk: ensure PRINTOBJDIR works
2354	* autoconf.mk: pass on CONFIGURE_ARGS
2355	* init.mk: handle COPTS.${.IMPSRC:T} etc.
2356	* lib.mk: allow sys.mk to control SHLIB_FULLVERSION
2357	  fix handling of symlinks for darwin
2358	* libnames.mk: add DSHLIBEXT for libs which only exist as shared.
2359	* man.mk: suppress chown when not root.
2360	* rst2htm.mk: allow srcs from multiple locations.
2361	* sys.mk: M_whence, stop after 1st line of output.
2362	* sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
2363	* sys/SunOS.mk: we need to export PATH
2364
23652009-12-23  Simon J. Gerraty  <sjg@void.crufty.net>
2366
2367	* install-mk (MK_VERSION): bump version
2368	  include rst2htm.mk
2369
23702009-12-17  Simon J. Gerraty  <sjg@void.crufty.net>
2371
2372	* sys.mk,libnames.mk add .-include <local.*>
2373	  this allows local customization without the need to edit the
2374	  distributed files.
2375
23762009-12-14  Simon J. Gerraty  <sjg@void.crufty.net>
2377
2378	* dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
2379	  older versions already installed.
2380
23812009-12-13  Simon J. Gerraty  <sjg@void.crufty.net>
2382
2383	* stage.mk (.stage-install): generalize lib.mk's .libinstall
2384	* rules.mk rules for generic Makefile.
2385	* inc.mk install for includes.
2386
23872009-12-11  Simon J. Gerraty  <sjg@void.crufty.net>
2388
2389	* sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
2390	  this, so provide it if using native make.
2391
23922009-12-10  Simon J. Gerraty  <sjg@void.crufty.net>
2393
2394	* FILES: move all the platform *.sys.mk files to sys/*.mk
2395	* Rename Generic.sys.mk to sys.mk - we always want it.
2396
23972009-11-17  Simon J. Gerraty  <sjg@void.crufty.net>
2398
2399	* install-mk (MK_VERSION): bump version
2400	* host-target.mk: only export the expensive stuff
2401	* Generic.sys.mk (sys_mk): for SunOS we need to look for
2402	  ${HOST_OS}.${HOST_OSMAJOR} too!
2403
24042009-11-07  Simon J. Gerraty  <sjg@void.crufty.net>
2405
2406	* install-mk (MK_VERSION): bump version
2407	* lib.mk: if sys.mk doesn't give us an lorder, don't use it.
2408	  based on patch from Greg Olszewski.
2409	* Generic.sys.mk: if we have nothing to work with
2410	set LORDER etc only if we can find it.
2411
24122009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
2413
2414	* install-mk (MK_VERSION): bump version
2415	* man.mk: cleanman: remove CLEANMAN if defined.
2416
24172009-09-04  Simon J. Gerraty  <sjg@void.crufty.net>
2418
2419	* SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
2420
24212009-07-17  Simon J. Gerraty  <sjg@void.crufty.net>
2422
2423	* install-mk (MK_VERSION): bump version
2424	include auto.obj.mk
2425
2426
24272009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
2428
2429	* prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
2430
24312008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
2432
2433	* install-mk (MK_VERSION): bump version
2434	man.mk: ensure we generate *.cat1 etc in .
2435
24362008-07-16  Simon J. Gerraty  <sjg@void.crufty.net>
2437
2438	* install-mk (MK_VERSION): bump version
2439	add prlist.mk
2440
24412007-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
2442
2443	* Generic.sys.mk: Allow os specific sys.mk to be in a
2444	subdir of ${.PARSEDIR}
2445
24462007-11-22  Simon J. Gerraty  <sjg@void.crufty.net>
2447
2448	* install-mk (MK_VERSION): bump version
2449	* general cleanup
2450	* dpadd.mk introduce DPMAGIC_LIBS_*
2451
24522007-04-30  Simon J. Gerraty  <sjg@void.crufty.net>
2453
2454	* install-mk (MK_VERSION): bump version
2455
2456	* libs.mk, progs.mk, autodep.mk: allow for per lib/prog
2457	depend files and ensure clean is called for each lib/prog.
2458
24592007-03-27  Simon J. Gerraty  <sjg@void.crufty.net>
2460
2461	* autodep.mk (.depend): delete lines that do not start with
2462	space and do not contain ':'
2463
24642007-02-16  Simon J. Gerraty  <sjg@void.crufty.net>
2465
2466	* autodep.mk (.depend): gcc may wrap lines if pathnames are long
2467	so make sure the transform for .OPTIONAL copes.
2468
24692007-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2470
2471	* install-mk (MK_VERSION): bump version
2472
2473	* own.mk: make sure RM and LN are defined.
2474
2475	* obj.mk: fix a typo, and objlink target.
2476
24772006-12-30  Simon J. Gerraty  <sjg@void.crufty.net>
2478
2479	* install-mk (MK_VERSION): bump version
2480	* added libs.mk - analogous to progs.mk
2481	  make both of them always inlcude {lib,prog}.mk
2482
24832006-12-28  Simon J. Gerraty  <sjg@void.crufty.net>
2484
2485	* progs.mk: add a means of building multiple apps in one dir.
2486
24872006-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
2488
2489	* install-mk (MK_VERSION): bump version to 20061126
2490
2491	* warnings.mk: detect invalid WARNINGS_SET
2492
2493	* warnings.mk: use ${.TARGET:T:R}.o when looking for target
2494	specific warnings.
2495
2496	* For .cc sources, turn off warnings that g++ vomits on.
2497
24982006-11-08  Simon J. Gerraty  <sjg@void.crufty.net>
2499
2500	* own.mk: if __initialized__ target doesn't exist and we are
2501	FreeBSD we got here directly from sys.mk
2502
25032006-11-06  Simon J. Gerraty  <sjg@void.crufty.net>
2504
2505	* install-mk (MK_VERSION): bump version to 20061106
2506	add scripts.mk
2507
25082006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
2509
2510	* install-mk (MK_VERSION): bump version to 20060318
2511
2512	* autodep.mk: avoid := when modifying OBJS into __dependsrcs
2513
25142006-03-02  Simon J. Gerraty  <sjg@void.crufty.net>
2515
2516	* install-mk (MK_VERSION): bump version to 20060302
2517	* autodep.mk: use -MF et al to help gcc+ccache DTRT.
2518
25192006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
2520
2521	* install-mk (MK_VERSION): bump version to 20060301
2522	* autodep.mk (.depend):
2523	if MAKE_VERSION is newer than  20050530 we can make .END depend on
2524	.depend and make .depend depend on __depsrcs that exist.
2525	* dpadd.mk: add SRC_PATHADD
2526
25272005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
2528
2529	* install-mk (MK_VERSION): bump version to 20051104
2530	* prog.mk: remove all the LIBC?= junk, use
2531	.-include libnames.mk instead (none by default).
2532	also if USE_DPADD_MK is set, include that.
2533
25342005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2535
2536	* install-mk (MK_VERSION): bump version to 20051001
2537	Add UnixWare.sys.mk from Klaus Heinz.
2538
25392005-04-05  Simon J. Gerraty  <sjg@void.crufty.net>
2540
2541	* install-mk: always install *.sys.mk and if need be symlink one
2542	to sys.mk
2543
25442005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2545
2546	* subdir.mk, own.mk: use .MAKE rather than MAKE
2547
25482004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
2549
2550	* own.mk: don't use NetBSD's _SRC_TOP_ it can
2551	cause confusion.  Also don't take just 'mk' as a
2552	srctop indicator.
2553
25542004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
2555
2556	* warnings.mk: overhauled, now very powerful.
2557
25582004-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2559
2560	* Generic.sys.mk: need to use ${.PARSEDIR} with exists().
2561
25622004-02-01  Simon J. Gerraty  <sjg@void.crufty.net>
2563
2564	* install-mk (MK_VERSION): bump version to 20040201
2565	* extract HOST_TARGET stuff to host-target.mk so own.mk and
2566	Generic.sys.mk can share.
2567	* fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
2568
25692003-09-30  Simon J. Gerraty  <sjg@void.crufty.net>
2570
2571	* install-mk (MK_VERSION): 20030930
2572	* rename generic.sys.mk to Generic.sys.mk
2573	so that it does not get installed (unless being used as sys.mk)
2574	* set OS and ROOT_GROUP for those that we know the value.
2575	for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
2576	we don't do it again for each sub-make.
2577
25782003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
2579
2580	* install-mk (MK_VERSION): 20030928
2581	Add some extra *.sys.mk from bootstrap-pkgsrc
2582	some of these likely still need work.
2583	Make everything default to root:wheel ownership,
2584	sys.mk can set ROOT_GROUP accordingly.
2585
25862003-08-07  Simon J. Gerraty  <sjg@void.crufty.net>
2587
2588	* install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
2589	not the portable ones.
2590
25912003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
2592
2593	* install-mk: add ability to use cp -f when updating
2594	destination .mk files.  Also now possible to play games with
2595	FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
2596	into dest - not recommended unless you seriously want to.
2597
25982003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
2599
2600	* own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
2601	for semi-compatability with NetBSD.
2602
26032003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
2604
2605	* install-mk: add a version indicator
2606
26072003-07-22  Simon J. Gerraty  <sjg@void.crufty.net>
2608
2609	* prog.mk: don't try and use ${LIBCRT0} if its /dev/null
2610
2611	* install-mk: Allow FORCE_SYS_MK to come from env
2612
2613
2614
2615