xref: /freebsd/contrib/bmake/mk/ChangeLog (revision c60f6422ffae3ea85e7b10bad950ad27c463af18)
12025-11-18  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* sys.vars.mk: set MAKE_POSIX_SHELL to 1 if .SHELL is POSIX, 0 if not.
4	set isPOSIX_SHELL for use in target scripts.
5
6	* meta.stage.mk: set MAKE_POSIX_SHELL if needed.
7
8	* install-new.mk: use ${isPOSIX_SHELL:Ufalse} to see if we can
9	avoid running 'expr'.
10
11	* install-new.mk: Allow use of cp or mv - controlled by CPMV_OP
12	(default mv).
13
142025-11-13  Simon J Gerraty  <sjg@beast.crufty.net>
15
16	* sys.vars.mk: add M_sh1 so we can handle older bmake that does
17	not support :sh1
18
192025-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
20
21	* install-mk (MK_VERSION): 20251111
22
23	* meta2deps.sh: reset some vars for each new meta file
24	set meta_file to path of meta file.
25	If meta2deps appears in DEBUG_SH set -x.
26
272025-09-16  Simon J Gerraty  <sjg@beast.crufty.net>
28
29	* options.mk: Add OPTIONS_DEFAULT_DEPENDENT_REQUIRED of the form
30	OPTION/REQUIRED[/VALUE]
31	if OPTION is $VALUE (default is "yes"), then REQUIRED must be too.
32	We add OPTIONS_DEFAULT_DEPENDENT_REQUIRED (sans any /{yes,no}) to
33	OPTIONS_DEFAULT_DEPENDENT so DEPENDENT/REQUIRED follow the same
34	processing.
35
36	Also add OPTIONS_FORCED_VALUES of the form OPTION/{yes,no}
37	we add any OPTIONS_FORCED_NO and OPTIONS_FORCED_YES before
38	processing.
39
40	Simplify the processing of OPTIONS_DEFAULT_VALUES and
41	OPTIONS_DEFAULT_DEPENDENT by splitting the tuples and use two
42	iterator variables in the .for loops.
43
442025-08-09  Simon J Gerraty  <sjg@beast.crufty.net>
45
46	* install-mk (MK_VERSION): 20250808
47
48	* replace sjg license with just BSD-2-Clause SPDX tag
49
502025-07-24  Simon J Gerraty  <sjg@beast.crufty.net>
51
52	* install-mk (MK_VERSION): 20250724
53
54	* meta2deps: Allow X record to have 3 or 4 args.
55	V4 filemon on Linux produces 3
56	V5 filemon on FreeBSD produces 4
57
582025-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
59
60	* install-mk (MK_VERSION): 20250721
61
62	* meta2deps.{py,sh}: detect corrupted filemon output (an issue on
63	Linux) by checking each record type has the correct number of
64	words.  Throw an error if necessary so that gendirdeps.mk will not
65	update Makefile.depend
66
672025-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
68
69	* prog.mk: .MADE is a special source not a target!
70
712025-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
72
73	* install-mk (MK_VERSION): 20250528
74
75	* add dirdeps2dplibs.mk
76
772025-05-18  Simon J Gerraty  <sjg@beast.crufty.net>
78
79	* install-mk (MK_VERSION): 20250518
80
81	* meta.autodep.mk (META_FILES): re-work to fix filtering.
82	if OPTIMIZE_OBJECT_META_FILES==yes
83	provide a default META_FILE_OBJ_FILTER that selects a valid
84	.SUFFIX to match *o.meta, there's no guarantee that it will be as
85	simple as .o or .So etc.
86	We have to defer evaluation until the target script is run
87	for any of these filters to have any effect.
88	Use :S,${.OBJDIR}/,, rather than :T incase there are objects
89	in sub-dirs.
90
91	* lib.mk: leverage ${.SUFFIXES} when setting dependencies.
92
93	* add UPDATE_DEPENDFILE as a dependent option - follows
94	DIRDEPS_BUILD and use MK_UPDATE_DEPENDFILE as default for
95	UPDATE_DEPENDFILE when we think it should be yes.
96	This allows override with -DWITH[OUT]_UPDATE_DEPENDFILE
97	without overriding UPDATE_DEPENDFILE directly - which can lead to
98	trouble.
99
1002025-05-16  Simon J Gerraty  <sjg@beast.crufty.net>
101
102	* install-mk (MK_VERSION): 20250515
103
104	* meta2deps.py: resolve the target of a Move or Link first
105	and track the last path resolved, then if the src is a relative
106	path we can easily use that last path to resolve the src correctly.
107
108	* meta2deps.sh: for a Move or Link add the dir of target path to
109	the list used to resolve the src path.
110
1112025-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
112
113	* init.mk: include Skipping ${RELDIR} when _SKIP_BUILD is not empty.
114
1152025-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
116
117	* install-mk (MK_VERSION): 20250414
118
119	* init.mk: check ONLY_*_LIST and NOT_*_LIST for SKIP_BUILD_VAR_LIST
120	to set _SKIP_BUILD
121
122	* genfiles.mk: add FILTER support
123
124	* rst2htm.mk: latest docutils drops .py extensions
125
1262025-03-26  Simon J Gerraty  <sjg@beast.crufty.net>
127
128	* install-mk (MK_VERSION): 20250326
129
130	* auto.obj.mk: fix and simplify handling of relative __objdir,
131	convert it to absolute before checking against .OBJDIR
132
1332025-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
134
135	* install-mk (MK_VERSION): 20250314
136
137	* meta.stage.mk: StageFiles --subdir: preserve the dir part of
138	each file under $dest
139
1402025-03-12  Simon J Gerraty  <sjg@beast.crufty.net>
141
142	* meta.autodep.mk: do a better job of handling MAKESYSPATH in
143	GENDIRDEPS_ENV.  If we have MAKE_VERSION >= 20230123 we can just
144	use .SYSPATH, otherwise it is a bit more complicated.
145
1462025-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
147
148	* rust.mk: use RUST_LIBS and RUST_PROGS
149
1502025-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
151
152	* install-mk (MK_VERSION): 20250101
153
154	* use W flag to :S and :C rather than :tW
155
1562024-12-16  Simon J Gerraty  <sjg@beast.crufty.net>
157
158	* rust.mk: add RUSTFLAGS if needed
159
1602024-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
161
162	* init.mk (OBJS_SRCS_FILTER): apply this as
163	${OBJS_SRCS_FILTER:ts:} as we do in FreeBSD.
164
1652024-12-03  Simon J Gerraty  <sjg@beast.crufty.net>
166
167	* install-mk (MK_VERSION): 20241202
168
169	* setopts.sh: needed by newlog.sh
170
1712024-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
172
173	* meta.sys.mk: add META_MODE_XTRAS to META_MODE to make it
174	easier to add things like 'env' when debugging.
175
176	* install-mk (MK_VERSION): 20241122
177
178	* rust.mk: rename CARGO* to RUST_CARGO* so I don't feel
179	like this makefile should be renamed to cargo.mk
180
1812024-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
182
183	* dirdeps.mk: add DIRDEPS_CACHED_ENV to dirdeps-cached and
184	DIRDEP_USE_EPILOGUE to _DIRDEP_USE
185
1862024-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
187
188	* meta.sys.mk: if MK_META_ERROR_TARGET is yes and NEWLOG_SH is
189	set, and ERROR_LOGDIR already exists, hook _rotateErrorLog to
190	.BEGIN target.
191
1922024-10-27  Simon J Gerraty  <sjg@beast.crufty.net>
193
194	* options.mk: add support for DEBUG_OPTIONS (similar to
195	DEBUG_DIRDEPS) to allow us to see where options get set.
196	Eg. DEBUG_OPTIONS="STAGING*" gives:
197
198	bmake[1]: "mk/options.mk" line 89: sys.mk: MK_STAGING=yes (MK_DIRDEPS_BUILD=no)
199	bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING=yes
200	bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING_PROG=no
201	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_MAN=yes (MK_STAGING=yes)
202	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_PROG=no (MK_STAGING=yes)
203	bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_RUST=no (MK_STAGING_PROG=no)
204
205	* own.mk: fix setting of STAGE_OBJTOP (normally set by sys.dirdeps.mk)
206
2072024-10-26  Simon J Gerraty  <sjg@beast.crufty.net>
208
209	* rust.mk: add some documentation and support for staging
210
2112024-10-25  Simon J Gerraty  <sjg@beast.crufty.net>
212
213	* rust.mk: a means of integrating Rust projects into a larger build.
214
2152024-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
216
217	* dirdeps-targets.mk: if DEBUG_DIRDEPS_TARGETS and we found
218	STATIC_DIRDEPS_CACHE, report its relative path.
219
2202024-09-30  Simon J Gerraty  <sjg@beast.crufty.net>
221
222	* dirdeps.mk: tweak the debug message for "Loading" a
223	Makefile.depend file, always report what the actual makefile is
224	with the DIRDEP it is for.
225	Remove the redundant "Looking" message.
226
2272024-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
228
229	* meta2deps.py: when raising AssertionError include meta file name
230	with $SB trimmed if possible.
231
2322024-09-23  Simon J Gerraty  <sjg@beast.crufty.net>
233
234	* meta2deps.py: replace assert() with raise AssertionError when we
235	detect missing eXits, to ensure a meaningful message gets into
236	log.
237
2382024-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
239
240	* install-mk (MK_VERSION): 20240921
241
242	* FILES: add genfiles.mk
243
2442024-09-20  Simon J Gerraty  <sjg@beast.crufty.net>
245
246	* install-mk (MK_VERSION): 20240920
247
248	* cython.mk: Get PYTHON_VERSION from PYTHON
249
2502024-08-31  Simon J Gerraty  <sjg@beast.crufty.net>
251
252	* subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*}
253	  and handle subdir with '-' in its name.
254
2552024-08-23  Simon J Gerraty  <sjg@beast.crufty.net>
256
257	* install-mk (MK_VERSION): 20240820
258
259	* links.mk: Allow a filter to be applied to SYMLINKS etc.
260	It is up to [BUILD_][SYM]LINKS_FILTER to do something sane.
261	Also only claim we are making a symlink if the value changed.
262
2632024-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
264
265	* install-mk (MK_VERSION): 20240616
266
267	* dirdeps.mk: apply DEP_DIRDEPS_BUILD_DIR_FILTER after we have
268	computed build dirs, since some filters cannot be easily expressed via
269	DEP_DIRDEPS_FILTER.
270
2712024-05-31  Simon J Gerraty  <sjg@beast.crufty.net>
272
273	* dirdeps.mk: move reset of DIRDEPS_EXPORT_VARS
274	until after we a finished with it if building a cache.
275
2762024-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
277
278	* install-mk (MK_VERSION): 20240504
279
280	* dirdeps.mk: allow BUILD_DIRDEPS_OVERRIDES to pass overrides to
281	sub-make building DIRDEPS_CACHE.
282
2832024-04-24  Simon J Gerraty  <sjg@beast.crufty.net>
284
285	* meta.autodep.mk: do not override start_utc
286
2872024-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
288
289	* sys.dirdeps.mk: set defaults for DEP_* at level 0 too.
290	These help when first include of Makefile.depend happens in a leaf
291	dir.
292
293	* install-mk (MK_VERSION): 20240414
294
2952024-04-09  Simon J Gerraty  <sjg@beast.crufty.net>
296
297	* install-mk (MK_VERSION): 20240408
298
299	* init.mk: allow for _ as well as . to join V
300	and Q from QUALIFIED_VAR_LIST and VAR_QUALIFIER_LIST.
301
302	* progs.mk: avoid overlap between PROG_VARS and
303	init.mk's QUALIFIED_VAR_LIST since PROG would also
304	match its VAR_QUALIFIER_LIST,
305	libs.mk does not have the same issue.
306
307	* subdir.mk: _SUBDIRUSE for realinstall should run install
308	remove include of ${.CURDIR}/Makefile.inc that can be done via
309	local.subdir.mk where needed
310
311	* own.mk: do not conflict with man.mk
312
3132024-03-19  Simon J Gerraty  <sjg@beast.crufty.net>
314
315	* install-mk (MK_VERSION): 20240314
316
317	* add sys/Cygwin.mk from Christian Franke
318
3192024-03-09  Simon J Gerraty  <sjg@beast.crufty.net>
320
321	* install-mk (MK_VERSION): 20240309
322
323	* meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not
324	want to save the .ERROR_META_FILE
325
3262024-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
327
328	* install-mk (MK_VERSION): 20240220
329
330	* sys.dirdeps.mk, dirdeps-targets.mk, init.mk:
331	do not set .MAIN: dirdeps in sys.dirdeps.mk
332	dirdeps-targets.mk will do that for top-level builds
333	and init.mk will do it for others.
334	This allows a Makefile which has no need of 'dirdeps' to
335	set .MAIN for itself and "just work".
336
3372024-02-18  Simon J Gerraty  <sjg@beast.crufty.net>
338
339	* bsd.*.mk: for makefiles that get a bsd. symlink,
340	use _this in  multiple inclusion tags since .PARSEFILE will not
341	DTRT when such a makefile is included directly by Makefile and
342	automatically (without bsd. prefix).
343	Since we cannot guarantee that our sys.mk will be used, we provide
344	a default _this in each makefile that gets a bsd. prefix such that
345	the value is the same regardless of bsd. prefix.
346
347	* subdir.mk: drop the !target guard on $SUBDIR_TARGETS
348
3492024-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
350
351	* install-mk (MK_VERSION): 20240212
352
353	* SPDX-License-Identifier: BSD-2-Clause
354	Add SPDX-License-Identifier to inidicate that I consider
355	my copyright on any of these makefiles equivalent to BSD-2-Clause
356
357	* autoconf.mk: allow for configure.ac as currently recommended
358
359	* subdir.mk: support @auto
360	which is replaced with each subdir that
361	has a [Mm]akefile.
362
363	* subdir.mk: include local.subdir.mk if it exists.
364
365	* subdir.mk: rework to handle .WAIT
366
3672024-02-11  Simon J Gerraty  <sjg@beast.crufty.net>
368
369	* subdir.mk: _SUBDIRUSE report the target we are entering subdirs for.
370
3712024-02-10  Simon J Gerraty  <sjg@beast.crufty.net>
372
373	* prog.mk: treat empty SRCS the same as undefined
374
3752024-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
376
377	* Avoid undefined errors in lint (-dL) mode
378
379	* man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7)
380
3812024-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
382
383	* install-mk (MK_VERSION): 20240128
384
385	* FILES: add ccm.dep.mk for C++ modules
386	add suffixes.mk for common location for generic SUFFIX rules.
387
388	* auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk
389	replace OBJ_EXTENSIONS with OBJ_SUFFIXES
390
391	* autodep.mk: leverage CXX_SUFFIXES for __depsrcs
392	and update style (spaces around = etc)
393
394	* init.mk: add OBJS_SRCS_FILTER to filter SRCS when
395	setting OBJS
396
397	* meta2deps.py: handle multiple ./ embedded in path better.
398
3992024-01-05  Simon J Gerraty  <sjg@beast.crufty.net>
400
401	* install-mk (MK_VERSION): 20240105
402	* dirdeps.mk: for MAKE_VERSION 20240105 we do not have the same
403	limits on command line length, so skip export of lists to env.
404
4052023-12-24  Simon J Gerraty  <sjg@beast.crufty.net>
406
407	* man.mk: add logic for staging man pages
408
4092023-11-28  Simon J Gerraty  <sjg@beast.crufty.net>
410
411	* jobs.mk: avoid C suffix in JOB_MAX_C if factor is floating
412	point.  This keeps JOB_MAX numeric incase another makefile does
413	comparisons.
414
4152023-11-04  Simon J Gerraty  <sjg@beast.crufty.net>
416
417	* dpadd.mk: add support for DPLIBS_QUALIFIER_LIST
418
419	* gendirdeps.mk: if META_XTRAS is passed to us, add to META_FILES
420
4212023-10-03  Simon J Gerraty  <sjg@beast.crufty.net>
422
423	* compiler.mk (COMPILER_VERSION): clang at least is into
424	double digit major versions.
425
4262023-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
427
428	* install-mk (MK_VERSION): 20231001
429
430	* set _CCLINK in init.mk so lib.mk can use it for default SHLIB_LD
431
432	* lib.mk (cleanlib): use LD_solink so we remove all the right files.
433	Use -Wl for -soname since we now default to linking with CC
434	We should not need SHLIB_LDSTARTFILE or SHLIB_LDENDFILE when linking
435	with CC.
436
4372023-09-24  Simon J Gerraty  <sjg@beast.crufty.net>
438
439	* init.mk (QUALIFIED_VAR_LIST): Add SRCS
440
4412023-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
442
443	* jobs.mk (JOB_MAX): use -jC if we can
444	we actually use JOB_MAX_C which defaults to 1.33C
445
4462023-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
447
448	* now_utc: %s only works with :localtime
449
4502023-07-14  Simon J Gerraty  <sjg@beast.crufty.net>
451
452	* install-sh: ignore -c as claimed and only insist on
453	a directory for destination when more than one file to copy.
454
455	* sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and
456	${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64)
457
4582023-07-13  Simon J Gerraty  <sjg@beast.crufty.net>
459
460	* install-mk (MK_VERSION): 20230711
461
462	* sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible
463	install(1)
464
465	* sys/IRIX.mk:  when setting ROOT_GROUP only match the first :0:
466	set INSTALL to install-sh rather than pathname that may not exist
467	(yet).
468
4692023-07-07  Simon J Gerraty  <sjg@beast.crufty.net>
470
471	* dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE
472	normally this is empty - for the default target, but there are
473	use-cases where we might set it to something else.
474
4752023-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
476
477	* install-mk (MK_VERSION): 20230704
478
479	* dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output
480	when DEBUG_DIRDEPS is in effect.
481	Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n
482	can greatly improve readability.
483
4842023-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
485
486	* meta.autodep.mk (beforegendirdeps): allow tasks to be done
487	at END but before gendirdeps
488
4892023-05-22  Simon J Gerraty  <sjg@beast.crufty.net>
490
491	* install-mk (MK_VERSION): 20230522
492
493	* host-target.mk: deal with garbage from uname -m on
494	Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH
495	these days so just leave it be.
496	For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get
497	arm64 and x86_64 in HOST_TARGET.
498
4992023-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
500
501	* sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older
502	versions of bmake.
503
504	* dirdeps.mk (TARGET_SPEC_VARS.host):
505	While *most* projects need only DEP_MACHINE for host,
506	there is always an exception.  So we allow for
507	TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS.
508	The default will *just work* for most projects.
509	We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC
510	based on DEP_MACHINE.
511	Allow for M_dep_qual_fixes.host to be different too
512	and take care to apply the right set.
513
5142023-05-14  Simon J Gerraty  <sjg@beast.crufty.net>
515
516	* sys.dirdeps.mk: we *do* want to override OBJTOP
517	and if MAKEOBJDIR was not in env as we want it;
518	put it there - carefully.
519	Ensure OBJROOT ends in / or - (/ preferred)
520	Add more comments to explain what/why.
521
5222023-05-13  Simon J Gerraty  <sjg@beast.crufty.net>
523
524	* install-mk (MK_VERSION): 20230512
525
526	* dirdeps.mk: take care not to qualify "host" dirdeps
527
528	* sys.dirdeps.mk (OBJTOP): must use ?=
529
5302023-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
531
532	* meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no"
533	suppress processing of .depend
534
5352023-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
536
537	* dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP
538
539	* meta.sys.mk sys.dirdeps.mk:
540	originally DIRDEPS_BUILD and META_MODE were the same thing,
541	but META_MODE is useful by itself.
542	Move things from meta.sys.mk which actually pertain to
543	DIRDEPS_BUILD to sys.dirdeps.mk
544
5452023-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
546
547	* install-mk (MK_VERSION): 20230504 May the Forth be with you
548
549	* dirdeps.mk: as with meta.sys.mk we treat "host" as special.
550	DEP_TARGET_SPEC is just ${DEP_MACHINE}
551
552	* meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at
553	level > 0 since these are often refered to in Makefile.depend*
554
5552023-04-26  Simon J Gerraty  <sjg@beast.crufty.net>
556
557	* jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and
558	anything in ${JOB_LOG_START}
559
560	* jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}}
561	or a scripts subdir before searching $PATH.
562
563	* FILES: include newlog.sh for jobs.mk
564
5652023-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
566
567	* install-mk (MK_VERSION): 20230420
568
569	* lib.mk: include LDFLAGS and LDADD when linking shared libs
570
571	* gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc
572	via local.meta.sys.mk rather than local.gendirdeps.mk
573	so DEP_* variables can be set at level 1+ to avoid syntax errors
574	when used in conditionals in manually maintained Makefile.depend
575	files.
576
577	* dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines
578
5792023-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
580
581	* dirdeps.mk: check we were not included by
582	Makefile.depend.options as the result is bad.
583
5842023-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
585
586	* install-mk (MK_VERSION): 20230414
587
588	* meta.sys.mk: since we have :range we can put the logic for
589	processing TARGET_SPEC from env here.
590
591	* dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including
592	local.dirdeps-missing.mk, also improve debug output.
593
594	* dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC
595	we need to use :M*[/.]* same as for when actually setting DIRDEPS
596	from the targets on command line.
597
5982023-04-12  Simon J Gerraty  <sjg@beast.crufty.net>
599
600	* Add jobs.mk
601
6022023-03-21  Simon J Gerraty  <sjg@beast.crufty.net>
603
604	* install-mk (MK_VERSION): 20230321
605
606	* meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter
607	STAGE_LIBS for SHLIB_LINKS.
608
609	* autoconf.mk: add .WAIT after config.status
610
6112023-02-17  Simon J Gerraty  <sjg@beast.crufty.net>
612
613	* sys.vars.mk: add M_Index to report the index of a word in a list.
614
6152023-02-15  Simon J Gerraty  <sjg@beast.crufty.net>
616
617	* install-mk (MK_VERSION): 20230215
618
619	* warnings.mk: allow better control of -Werror
620	allow -Wno-error or similar to be added if
621	WARNINGS_SET < WERROR_SET
622	account for COMPILER_TYPE
623
6242023-01-29  Simon J Gerraty  <sjg@beast.crufty.net>
625
626	* autoconf.mk: hook config.status to beforebuild.
627
628	* whats.mk: what*.c is NOTMAIN
629
6302023-01-27  Simon J Gerraty  <sjg@beast.crufty.net>
631
632	* install-mk (MK_VERSION): 20230127
633	control umask so directories are created with suitable mode.
634
6352023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
636
637	* install-mk (MK_VERSION): 20230120
638
639	* sys.vars.mk: add M_On and M_Onr also cleanup to be more
640	consistent wrt testing MAKE_VERSION
641
6422023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
643
644	* install-mk (MK_VERSION): 20230112
645
646	* meta2deps.{py,sh}: assert if filemon data is truncated
647	we should see the '# Bye bye' record - assert if we do not.
648
6492022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
650
651	* install-mk (MK_VERSION): 20220909
652
653	* sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings
654
6552022-09-06  Simon J Gerraty  <sjg@beast.crufty.net>
656
657	* dirdeps-options.mk: explain the need to use
658	${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to
659	${TARGET_SPEC_VAR}
660
6612022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
662
663	* install-mk (MK_VERSION): 20220903
664
665	* M_cmpv handle more than 3 dots and clear leading 0's
666
6672022-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
668
669	* install-mk (MK_VERSION): 20220720
670
671	* prog.mk: handle PROG_CXX for more than just NetBSD
672
6732022-06-20  Simon J Gerraty  <sjg@beast.crufty.net>
674
675	* install-mk (MK_VERSION): 20220620
676
677	* yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER
678	rather than just suffix rules
679
6802022-04-23  Simon J Gerraty  <sjg@beast.crufty.net>
681
682	* install-mk (MK_VERSION): 20220422
683
684	* gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no"
685	do not capture any local depends in Makefile.depend
686
6872022-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
688
689	* install-mk (MK_VERSION): 20220323
690	* posix.mk: default rules for .POSIX:
691
6922022-03-17  Simon J Gerraty  <sjg@beast.crufty.net>
693
694	* sys/*.mk: remove l from ARFLAGS
695
6962022-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
697
698	* install-mk (MK_VERSION): 20220314
699
700	* dirdeps-options.mk: allow options to be per RELDIR
701	try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed
702	with ${DEP_RELDIR}.
703
7042022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
705
706	* install-mk (MK_VERSION): 20220214
707
708	* cc-wrap.mk: fix :@ modifier
709
7102022-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
711
712	* install-mk (MK_VERSION): 20220206
713
714	* cc-wrap.mk: docuement how CCACHE etc might be set for
715	maximum flexibility
716
7172022-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
718
719	* sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT
720
7212022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
722
723	* install-mk (MK_VERSION): 20220204
724
725	* host-target.mk: use .MAKE.OS if available
726
7272022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
728
729	* install-mk (MK_VERSION): 20220202
730
731	* cc-wrap.mk: allow other entries in CC_WRAP_FILTER
732	We add our filter on extensions last, so prior filters
733	can apply to the whole value of .IMPSRC
734
7352022-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
736
737	* cc-wrap.mk: take advantage of target local variables to
738	wrap compilers like CC CXX with wrappers like ccache distcc etc
739
7402022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
741
742	* meta2deps: we do not expect any trace data for setid apps
743
7442022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
745
746	* dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed
747	to sub-make using DIRDEPS_CACHE
748
7492022-01-07  Simon J Gerraty  <sjg@beast.crufty.net>
750
751	* dirdeps.mk: use _cache_script to minimize the number of shells
752	forked when generating dirdeps.cache
753
7542022-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
755
756	* install-mk (MK_VERSION): 20220101
757
758	* dirdeps.mk: initialize DEP_* and _debug_reldir earlier.
759	If initial DIRDEPS are from command line, create the target
760	_dirdeps_cmdline as an indication.
761
7622022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
763
764	* init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD
765	at top-level only some targets are allowed at level 0,
766	for leaf makefiles only the default (all) target is restricted
767
7682021-12-28  Simon J Gerraty  <sjg@beast.crufty.net>
769
770	* install-mk (MK_VERSION): 20211228
771
772	* meta2deps.py: filemon on Linux is not as reliable as we might
773	like, we do not want to update DIRDEPS if filemon output is
774	incomplete.   Track pids that we 'E'xec and make sure we see an
775	e'X'it for each one.  Throw an error if we are missing any 'X'
776	records.
777
7782021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
779
780	* sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes.
781
782	* meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON
783	is something else.
784
785	* meta.autodep.mk: we can now reference ${.SUFFIXES}
786
787	* meta2deps.py: derive a list of dirdep extensions from
788	TARGET_SPEC to trim from dirdeps.
789
790	* dirdeps.mk: flip the computation of qualified vs unqualified
791	dirdeps - it is much simpler to check for unqualified first.
792
7932021-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
794
795	* install-mk (MK_VERSION): 20211212
796
797	* auto.dep.mk: rearrange so that the trivial implementation
798	for recent bmake is more obvious.
799
8002021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
801
802	* install-mk (MK_VERSION): 20211207
803
804	* Ensure guard targets are .NOTMAIN
805
806	* meta.sys.mk: check for nofilemon support when we skip level 0
807
808	* auto.dep.mk: make this usable in meta mode
809	for platforms that cannot use meta.autodep.mk
810
811	* meta2deps.py: avoid confusion if MACHINE and another
812	TARGET_SPEC_VAR have same value.
813
8142021-11-27  Simon J Gerraty  <sjg@beast.crufty.net>
815
816	* dirdeps.mk: when building dirdeps.cache, minimize the amount of
817	data put into env, by stripping ${SRCTOP}/ from each entry.
818	A long sandbox name can double the amount of memory consumed and
819	in extreme cases cause failure.
820	While we are at it, strip ${SRCTOP}/ from a lot of the debug output.
821
8222021-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
823
824	* install-mk (MK_VERSION): 20211111
825
826	* meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail
827	so fallback to cp if necessary.
828
8292021-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
830
831	* man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year
832	old cmt2doc.pl
833
8342021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
835
836	* meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f}
837	as the symlink (rare)
838
8392021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
840
841	* autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not
842	been read, throw an error after running configure telling user to
843	restart.
844
8452021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
846
847	* install-mk (MK_VERSION): 20211011
848
849	* Add support for SCO_SV
850
8512021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
852
853	* install-mk (MK_VERSION): 20211001
854
855	* man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more
856	flexibility
857
8582021-09-13  Simon J Gerraty  <sjg@beast.crufty.net>
859
860	* options.mk (describe-options): print options and their values
861	  and optional description
862
8632021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
864
865	* install-mk (MK_VERSION): 20210911
866
867	* options.mk (show-options): print options and their values
868
8692021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
870
871	* install-mk (MK_VERSION): 20210909
872
873	* lib.mk: apply patch from <daniel@octaforge.org>
874	to fix shared libs on Linux
875
8762021-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
877
878	* install-mk (MK_VERSION): 20210808
879
880	* options.mk: issue warning for WITH_*=no
881
8822021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
883
884	* install-mk (MK_VERSION): 20210616
885
886	* dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find
887	depend files to read, anchor MACHINE at , or end of string
888	to avoid prefix match.
889
8902021-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
891
892	* install-mk (MK_VERSION): 20210504
893
894	* dirdeps.mk: re-implement ALL_MACHINES support to better
895	cater for local complexities, when ONLY_TARGET_SPEC_LIST
896	is not set. local.dirdeps.mk can set
897	DIRDEPS_ALL_MACHINES_FILTER and/or
898	DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get
899	from listing all existing Makefile.depend.*
900
9012021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
902
903	* install-mk (MK_VERSION): 20210420
904
905	* dirdeps.mk: revert previous - not always safe.
906
9072021-03-20  Simon J Gerraty  <sjg@beast.crufty.net>
908
909	* install-mk (MK_VERSION): 20210321
910
911	* dirdeps.mk: when generating dirdeps.cache
912	we only need to hook the initial DIRDEPS to the
913	dirdeps target.  That and any _build_xtra_dirs (like tests which
914	should not be hooked directly to the dependency graph - to avoid
915	cycles)
916
9172021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
918
919	* install-mk (MK_VERSION): 20210130
920
921	* dirdeps.mk: expr 2 - 1 - 1 exits with a bad status
922	  we need to  guard against this in DIRDEP_LOADAVG_REPORT.
923
924	* dirdeps.mk: restore respect for TARGET_MACHINE
925
9262021-01-06  Simon J Gerraty  <sjg@beast.crufty.net>
927
928	* install-mk (MK_VERSION): 20210101
929
930	* dirdeps.mk: first time we are read, just use TARGET_SPEC for
931	_DEP_TARGET_SPEC
932
9332020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
934
935	* sys.mk (MAKE_SHELL): use ${.SHELL:Ush}
936	and use := when setting SHELL
937
9382020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
939
940	* install-mk (MK_VERSION): 20201221
941
942	* dirdeps-options.mk: latest bmake allows only one arg to .undef
943
9442020-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
945
946	* dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS
947	so that any directory can be treated as a target.
948
9492020-11-26  Simon J Gerraty  <sjg@beast.crufty.net>
950
951	* install-mk (MK_VERSION): 20201126
952
953	* own.mk: use .MAKE.{UID,GID} if available.
954
955	* init.mk: suppress _SKIP_BUILD warning if doing -V
956
9572020-11-20  Simon J Gerraty  <sjg@beast.crufty.net>
958
959	* install-mk (MK_VERSION): 20201120
960
961	* init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS
962
963	* dirdeps-targets.mk: fix typo in comment
964
9652020-11-06  Simon J Gerraty  <sjg@beast.crufty.net>
966
967	* install-mk (MK_VERSION): 20201106
968
969	* meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed
970	args to tweak extensions for local deps.
971
9722020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
973
974	* install-mk (MK_VERSION): 20201101
975
976	* dirdeps.mk: most leaf makefiles are not suitable for building
977	dirdeps.cache so if RELDIR is not "." use dirdeps.mk
978
9792020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
980
981	* install-mk (MK_VERSION): 20201028
982
983	* dirdeps.mk: if we don't have :range use equivalent of M_RANGE
984	when building dirdeps.cache for leaf directory use -f dirdeps.mk
985
986	* sys.vars.mk: add M_JOT and M_RANGE
987
9882020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
989
990	* install-mk (MK_VERSION): 20201001
991
992	* meta2deps.{py,sh}: throw an error if we don't see filemon version
993
9942020-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
995
996	* install-mk (MK_VERSION): 20200909
997
998	* dirdeps-cache-update.mk: use cache_update_dirdep as guard target
999
10002020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
1001
1002	* dirdeps.mk: ensure we cannot confuse a static cache for dynamic
1003	(even more rare that use of static cache is playing clever tricks
1004	with it)
1005
10062020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
1007
1008	* dirdeps-cache-update.mk: allow
1009	MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we
1010	actually update STATIC_DIRDEPS_CACHE.
1011
1012	* stage-install.sh: create dest directory if needed
1013	before running install(1)
1014
10152020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
1016
1017	* dirdeps-targets.mk: include Makefile.dirdeps.options
1018
1019	* dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE
1020
10212020-08-09  Simon J Gerraty  <sjg@beast.crufty.net>
1022
1023	* dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty
1024
1025	* dirdeps-cache-update.mk: building parallel cache update
1026	under the context of dirdeps-cached would be ideal, but
1027	is problematic, so it runs as a sibling.
1028	Use cache-built target to ensure we wait for it to complete if
1029	necessary.
1030
10312020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
1032
1033	* install-mk (MK_VERSION): 20200806
1034
1035	* dirdeps-options: allow TARGET_SPEC to affect option values.
1036	Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_*
1037
1038	* dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined
1039	before looking for STATIC_DIRDEPS_CACHE
1040
10412020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
1042
1043	* host-target.mk: Darwin use MACHINE for HOST_ARCH too
1044
1045	* dirdeps-options.mk: improve debug output
1046
10472020-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
1048
1049	* dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE
1050	for use by dirdeps-cache-update.mk
1051
1052	* dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE
1053	for use by dirdeps-cache-update.mk even if we don't use it.
1054
1055	* dirdeps-cache-update.mk: we only need worry about the background
1056	update case, with the above, the update from DIRDEPS_CACHE is
1057	simple.
1058
1059	* meta2deps.py: R 1234 . is not interesting
1060
10612020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
1062
1063	* sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE
1064
1065	* dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS
1066	allows use of lower case for pseudo options.
1067
1068	* dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE
1069
10702020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
1071
1072	* dirdeps-targets.mk: Look for Makefile.dirdeps.cache
1073	which allows us to have a static cache for expensive targets.
1074	Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE
1075	to regenerate the dirdeps.cache it is a copy of.
1076
10772020-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
1078
1079	* Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense.
1080
10812020-07-16  Simon J Gerraty  <sjg@beast.crufty.net>
1082
1083	* dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record
1084	load averages at intervals during build.
1085
10862020-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
1087
1088	* install-mk (MK_VERSION): 20200715
1089
1090	* dirdeps.mk: tweak Checking line to make matching Finished
1091	lines for post-build analysis easier.
1092
1093	* meta.autodep.mk: use !defined(WITHOUT_META_STATS)
1094
1095	* progs.mk: avoid prog.mk outputting multiple Finished lines
1096
10972020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
1098
1099	* dirdeps.mk: further optimize dirdeps.cache
1100	generate a DIRDEPS.${.TARGET} list for other purposes
1101	and improve the layout.
1102
11032020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
1104
1105	* dirdeps.mk: optimize content of dirdeps.cache
1106
11072020-06-28  Simon J Gerraty  <sjg@beast.crufty.net>
1108
1109	* sys/*.mk: make it easier for local*sys.mk to customize by
1110	using ?=
1111
11122020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
1113
1114	* gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
1115	it is much safer to guard local depends with a simple check for
1116	.MAKE.LEVEL > 0
1117
11182020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
1119
1120	* install-mk (MK_VERSION): 20200610
1121
1122	* mkopt.sh: this needs posix shell so #!/bin/sh should be ok
1123
11242020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
1125
1126	* install-mk (MK_VERSION): 20200606
1127
1128	* dirdeps-targets.mk: allow for filtering of .TARGETS
1129
1130	* meta2deps.py: fix bug in processing 'L'ink and 'M'ove
1131	entries - and we don't care about 'W'rite entries.
1132	Also ignore absolute paths that do not exist.
1133
11342020-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
1135
1136	* install-mk (MK_VERSION): 20200525
1137
1138	* init.mk: expand and simplify handling of qualified vars
1139	like CPPFLAGS.${.TARGET:T}
1140
11412020-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
1142
1143	* install-mk (MK_VERSION): 20200515
1144
1145	* dirdeps.mk: set _debug_* earlier and allow passing -d*
1146	flags to submake when building DIRDEPS_CACHE
1147
11482020-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
1149
1150	* whats.mk: more easily extensible
1151
11522020-05-02  Simon J Gerraty  <sjg@beast.crufty.net>
1153
1154	* whats.mk: greatly simplify by adding what.c to SRCS
1155
11562020-05-01  Simon J Gerraty  <sjg@beast.crufty.net>
1157
1158	* whats.mk: for libs take care how we add to *OBJS
1159
1160	* lib.mk: : works better with whats.mk
1161
11622020-04-25  Simon J Gerraty  <sjg@beast.crufty.net>
1163
1164	* install-mk (MK_VERSION): 20200420
1165
1166	* meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
1167	contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
1168
11692020-04-16  Simon J Gerraty  <sjg@beast.crufty.net>
1170
1171	* install-mk (MK_VERSION): 20200416
1172
1173	* sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
1174	  interfere with user env.
1175
1176	* sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
1177
1178	* autodep.mk: use MAKE_SHELL.
1179
11802019-11-21  Simon J Gerraty  <sjg@beast.crufty.net>
1181
1182	* gendirdeps.mk: clear .SUFFIXES to avoid a lot of
1183	  wasted effort, and unexport _meta_files when no longer needed as
1184	  it consumes space we need for command line.
1185
11862019-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
1187
1188	* dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
1189	  DIRDEP_USE_PRELUDE at start - facilitates job distribution
1190
11912019-10-04  Simon J Gerraty  <sjg@beast.crufty.net>
1192
1193	* dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
1194	defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
1195	TARGET_SPEC qualified depend files.
1196
11972019-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
1198
1199	* dirdeps-targets.mk: encapsulate logic for finding top-level
1200	  targets to set initial DIRDEPS for DIRDEPS_BUILD
1201
12022019-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
1203
1204	* install-mk (MK_VERSION): 20190911
1205
1206	* compiler.mk: set COMPILER_TYPE
1207
12082019-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
1209
1210	* install-mk (MK_VERSION): 20190704
1211
1212	* sys/Darwin.mk: support for Objective-C and clang
1213
12142019-05-30  Simon J Gerraty  <sjg@beast.crufty.net>
1215
1216	* dirdeps.mk: avoid insanely long command line when generating cache
1217
12182019-05-23  Simon J Gerraty  <sjg@beast.crufty.net>
1219
1220	* install-mk (MK_VERSION): 20190505
1221
1222	* whats.mk: handle corner case SHLIB defined but not LIB
1223
12242018-09-19  Simon J Gerraty  <sjg@beast.crufty.net>
1225
1226	* install-mk (MK_VERSION): 20180919
1227
1228	* dirdeps-options.mk: .undef cannot handle var that expands to
1229	  more than one var.
1230
12312018-07-08  Simon J Gerraty  <sjg@beast.crufty.net>
1232
1233	* meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
1234
12352018-06-01  Simon J Gerraty  <sjg@beast.crufty.net>
1236
1237	* meta.autodep.mk: export META_FILES to avoid command line limit
1238	* gendirdeps.mk: if we have lots of .meta files put them in
1239	  an @list
1240
12412018-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
1242
1243	* dirdeps-options.mk: use local.dirdeps-options.mk
1244	  not local.dirdeps-option.mk
1245
12462018-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
1247
1248	* install-mk (MK_VERSION): 20180420
1249	* dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
1250	  ie. we are building something.
1251
12522018-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
1253
1254	* FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
1255
12562018-04-05  Simon J Gerraty  <sjg@beast.crufty.net>
1257
1258	* install-mk (MK_VERSION): 20180405
1259
1260	* ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
1261	  if needed.
1262
12632018-01-18  Simon J Gerraty  <sjg@beast.crufty.net>
1264
1265	* install-mk (MK_VERSION): 20180118
1266
1267	* ldorder.mk: let make compute correct link order
1268
12692017-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
1270
1271	* install-mk (MK_VERSION): 20171212
1272
1273	* gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
1274
12752017-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1276
1277	* install-mk (MK_VERSION): 20171111
1278
1279	* lib.mk: ensure META_NOECHO is set
1280
12812017-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1282
1283	* Allow for host32 on rare occasions.
1284
12852017-10-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1286
1287	* install-mk (MK_VERSION): 20171018
1288
1289	* whats.mk: include what_thing in what_uuid to avoid problem
1290	  when building multiple apps in the same directory.
1291
12922017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1293
1294	* install-mk (MK_VERSION): 20170812
1295
1296	* autoconf.mk: Use CONFIGURE_DEPS so Makefile can
1297	  add dependencies for config.recheck and config.gen
1298
12992017-06-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1300
1301	* install-mk (MK_VERSION): 20170630
1302
1303	* meta.stage.mk: avoid triggering stage_* targets with nothing to do.
1304
13052017-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1306
1307	* meta2deps.py: take special care of '..'
1308
13092017-05-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1310
1311	* install-mk (MK_VERSION): 20170515
1312
1313	* dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
1314	useful/necessary for a Makefile.depend file to export some knobs.
1315	This is complicated when we are doing DIRDEPS_CACHE, so we will
1316	handle export of any variables listed in DEP_EXPORT_VARS.
1317
13182017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1319
1320	* install-mk (MK_VERSION): 20170505
1321
1322	* meta2deps.py: fix botched indenation.
1323
13242017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1325
1326	* sys/*.mk: Remove setting of MAKE it is unnecessary and
1327	  in many cases wrong (basname rather than full path)
1328
1329	* scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
1330
1331	* init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
1332
13332017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1334
1335	* install-mk (MK_VERSION): 20170501
1336
1337	* doc.mk: fix typo in DOC_INSTALL_OWN
1338
1339	* inc.mk: handle INCGROUPS similar to freebsd
1340
1341	* files.mk: add something for files too
1342
1343	* add staging logic to lib.mk prog.mk etc.
1344
13452017-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1346
1347	* install-mk (MK_VERSION): 20170424
1348
1349	* dirdeps.mk: set NO_DIRDEPS when bootstrapping.
1350	  also target of bootstrap-this when sed is needed should be ${_want:T}
1351
13522017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1353
1354	* install-mk (MK_VERSION): 20170418
1355
1356	* auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
1357	  prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
1358
13592017-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1360
1361	* install-mk (MK_VERSION): 20170401
1362
1363	* meta2deps.py: add is_src so we can check if obj dependency
1364	  is also a src dependency.
1365
13662017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1367
1368	* install-mk (MK_VERSION): 20170326
1369
1370	* meta.stage.mk: do nothing if NO_STAGING is defined.
1371
13722017-03-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1373
1374	* auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
1375
13762017-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1377
1378	* mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
1379
13802017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1381
1382	* install-mk (MK_VERSION): 20170301
1383
1384	* dirdeps.mk (_build_all_dirs): update this outside test for empty
1385	  DIRDEPS.
1386
1387	* meta.stage.mk: allow multiple inclusion to the extent it makes
1388	  sense.
1389
13902017-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1391
1392	* prog.mk (install_links): depends on realinstall
1393
13942017-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1395
1396	* install-mk (MK_VERSION): 20170212
1397
1398	* dpadd.mk: avoid applying :T:R twice to DPLIBS entries
1399
14002017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1401
1402	* install-mk (MK_VERSION): 20170130
1403
1404	* dirdeps.mk: use :range if we can.
1405
1406	* sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
1407
1408	* meta2deps.py: clean paths without using realpath() where possible.
1409	  fix sort_unique.
1410
14112016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1412
1413	* install-mk (MK_VERSION): 20161212
1414
1415	* meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
1416	rather than when we detect pid change.
1417
14182016-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1419
1420	* install-mk (MK_VERSION): 20161207
1421
1422	* meta.stage.mk: add stage_as_and_symlink for staging packages.
1423	  We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
1424	  to use foo.tgz to reference the latest staged version - so we
1425	  make foo.tgz a symlink to it.
1426	  Using a target to do both operations ensures we stay in sync.
1427
14282016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1429
1430	* install-mk (MK_VERSION): 20161126
1431
1432	* dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
1433	  so it can add dependencies.
1434
14352016-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1436
1437	* dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
1438	  do that they can influence the result correctly.
1439
1440	* dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
1441
1442	* dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
1443	  similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
1444
14452016-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1446
1447	* dirdeps.mk: remove dependence on jot (normal situations anyway).
1448	  Before we read another Makefile.depend* set DEP_* vars from
1449	  _DEP_TARGET_SPEC in case it uses any of them with :=
1450	  When bootstrapping, trim any ,* from extention of chosen _src
1451	  Makefile.depend* to get the machine value we subst for.
1452
14532016-09-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1454
1455	* dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
1456	  DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
1457
1458	* sys.mk: extract some bits to sys.{debug,vars}.mk
1459	  for easier re-use by others.
1460
14612016-09-23  Simon Gerraty  <sjg@sjg-mba13>
1462
1463	* lib.mk: Use ${PICO} for extension for PIC objects.
1464	  default to .pico (like NetBSD) safe on case insensitive filesystem.
1465
14662016-08-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1467
1468	* meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
1469
14702016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1471
1472	* install-mk (MK_VERSION): 20160815
1473
1474	* dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
1475	consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
1476
14772016-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1478
1479	* meta.sys.mk (.MAKE.META.IGNORE_PATHS):
1480	  in meta mode we can ignore the mtime of makefiles
1481
14822016-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1483
1484	* install-mk (MK_VERSION): 20160802
1485
1486	* lib.mk (libinstall): depends on beforinstall
1487
1488	* prog.mk (proginstall): depends on beforinstall
1489	  patch from Lauri Tirkkonen
1490
1491	* dirdeps.mk (bootstrap): When bootstrapping; creat
1492	.MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
1493	.MAKE.DEPENDFILE_BOOTSTRAP_SED
1494
1495	* dirdeps.mk: move some comments to where they make sense.
1496
14972016-07-27  Simon J. Gerraty  <sjg@bad.crufty.net>
1498
1499	* dirdeps.mk (DIRDEPS_CACHE): no dirname.
1500
15012016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1502
1503	* install-mk (MK_VERSION): 20160602
1504	* meta.autodep.mk: when passing META_FILES to gendirdeps.mk
1505	  do not apply :T to META_XTRAS
1506	  patch from Bryan Drewery at FreeBSD.org.
1507
15082016-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1509
1510	* install-mk (MK_VERSION): 20160530
1511	* meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
1512	  make it so.
1513
15142016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1515
1516	* install-mk (MK_VERSION): 20160512
1517
1518	* dpadd.mk: always include local.dpadd.mk if it exists
1519	  remove some things that better belong in local.dpadd.mk
1520	  skip INCLUDES_* for staged libs unless SRC_* defined.
1521
1522	* own.mk: add INCLUDEDIR
1523
15242016-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1525
1526	* dirdeps.mk: when doing -f dirdeps.mk if target suppies no
1527	  TARGET_MACHINE - :E will be empty or match part of path, use
1528	  ${MACHINE}
1529
15302016-04-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1531
1532	* meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
1533	  NO_FILEMON_COOKIE
1534
1535	* dirdeps.mk: move the logic that allows for
1536	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1537	  inside the check for !target(_DIRDEP_USE)
1538
15392016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1540
1541	* Use <> when including local*.mk and others which may exist
1542	  elsewhere so that user can better control what they get.
1543
1544	* meta.autodep.mk (NO_FILEMON_COOKIE):
1545	  create a cookie if we ever build dir with nofilemon
1546	  so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
1547
15482016-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1549
1550	* install-mk (MK_VERSION): 20160401
1551
1552	* meta2deps.py: fix old print statement when debugging.
1553
1554	* gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
1555	  patch from Bryan Drewery
1556
15572016-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1558
1559	* install-mk (MK_VERSION): 20160317 (St. Pats)
1560
1561	* warnings.mk: g++ does not like -Wimplicit
1562
1563	* sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
1564	  pelthora of common suffixes for C++
1565
1566	* lib.mk: use .So for shared objects
1567
15682016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1569
1570	* install-mk (MK_VERSION): 20160315
1571
1572	* meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
1573	  normally only applies to scripts.
1574
1575	* dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
1576	  well as outside it.
1577
15782016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1579
1580	* install-mk (MK_VERSION): 20160310
1581
1582	* dirdeps.mk: use targets rather than a list to track DIRDEPS that
1583	  we have processed; the list gets very inefficient as number of
1584	  DIRDEPS gets large.
1585
1586	* sys.dependfile.mk: fix comment wrt MACHINE
1587
1588	* meta.autodep.mk: ignore staged DPADDs when bootstrapping.
1589	  patch from Bryan Drewery
1590
15912016-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1592
1593	* meta2deps.sh: don't ignore subdirs.
1594	  patch from Bryan Drewery
1595
15962016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1597
1598	* install-mk (MK_VERSION): 20160226
1599
1600	* gendirdeps.mk: mark _DEPENDFILE .NOMETA
1601
16022016-02-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1603
1604	* dirdeps.mk: we shouldn't normally include .depend but if we do
1605	  use .dinclude if we can.
1606
16072016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1608
1609	* install-mk (MK_VERSION): 20160218
1610	* sys.clean-env.mk: with recent change to Var_Subst()
1611	  we cannot use the '$$' trick, but .export-literal does the job
1612	  we need.
1613	* auto.dep.mk: make use .dinclude if we can.
1614
1615
16162016-02-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1617
1618	* dirdeps.mk:
1619	  Add _build_all_dirs such that local.dirdeps.mk can
1620	  add fully qualified dirs to it.
1621	  These will be built normally but the current
1622	  DEP_RELDIR will not depend on then (to avoid cycles).
1623	  This makes it easy to hook things like unit-tests into build.
1624
1625
16262016-01-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1627
1628	* dirdeps.mk: add bootstrap-empty
1629
16302015-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1631
1632	* install-mk (MK_VERSION): 20151212
1633	* auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
1634	  only apply :tA to __objdir when comparing to .OBJDIR
1635
16362015-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1637
1638	* install-mk (MK_VERSION): 20151111
1639
1640	* meta.sys.mk: include sys.dependfile.mk
1641
1642	* sys.mk (OPTIONS_DEFAULT_NO): use options.mk
1643	  to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
1644	  include local.sys.env.mk early
1645	  include local.sys.mk later
1646
1647	* own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
1648
16492015-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1650
1651	* meta.sys.mk (META_COOKIE_TOUCH):
1652	  add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
1653
1654	* meta.stage.mk: stage_libs should ignore SYMLINKS.
1655
16562015-10-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1657
1658	* install-mk (MK_VERSION): 20151022
1659
1660	* sys.mk: BSD/OS does not have 'type' as a shell builtin.
1661
16622015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1663
1664	* install-mk (MK_VERSION): 20151020
1665
1666	* dirdeps.mk: Add logic for
1667	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1668
16692015-10-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1670
1671	* install-mk (MK_VERSION): 20151010
1672
16732015-10-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1674
1675	* meta.stage.mk: use staging: ${STAGE_TARGETS:...
1676	  to have stage_lins run last in non-jobs mode.
1677	  Use .ORDER only for jobs mode.
1678
16792015-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1680
1681	* rst2htm.mk: allow for per target flags etc.
1682
16832015-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1684
1685	* install-mk (MK_VERSION): 20150901
1686
1687	* doc.mk: create dir if needed use DOC_INSTALL_OWN
1688
16892015-06-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1690
1691	* install-mk (MK_VERSION): 20150615
1692
1693	* auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
1694	  Follow make's normal precedence rules.
1695
1696	* gendirdeps.mk: allow customization of the header.
1697	  eg. for FreeBSD:
1698	  GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
1699
1700	* meta.autodep.mk: ignore dirdeps.cache*
1701
1702	* meta.stage.mk: when bootstrapping options it can be handy to
1703	  throw warnings rather than errors for staging conflicts.
1704
1705	* meta.sys.mk: include local.meta.sys.mk for customization
1706
17072015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1708
1709	* install-mk (MK_VERSION): 20150606
1710
1711	* dirdeps.mk: don't rely on manually maintained Makefile.depend
1712	  to set DEP_RELDIR and reset DIRDEPS.
1713	  By setting DEP_RELDIR ourselves we can skip :tA
1714
1715	* gendirdeps.mk: skip setting DEP_RELDIR.
1716
17172015-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1718
1719	* dirdeps.mk: avoid wildcards like make(bootstrap*)
1720
17212015-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1722
1723	* install-mk (MK_VERSION): 20150520
1724
1725	* dirdeps.mk: when we are building dirdeps cache file we *want*
1726	  meta_oodate to look at all the Makefile.depend files, so
1727	  set .MAKE.DEPENDFILE to something that won't match.
1728
1729	* meta.stage.mk: for STAGE_AS_* basename of file may not be unique
1730	  so first use absolute path as key.
1731	  Also skip staging at level 0.
1732
17332015-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1734
1735	* install-mk (MK_VERSION): 20150430
1736
1737	* dirdeps.mk: fix _count_dirdeps for non-cache case.
1738
17392015-04-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1740
1741	* install-mk (MK_VERSION): 20150411
1742	  bump version
1743
1744	* own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
1745	  it is here mainly for documentation purposes, since
1746	  if using auto.obj.mk it is better done via sys.mk
1747
17482015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1749
1750	* install-mk (MK_VERSION): 20150401
1751
1752	* meta2deps.sh: support @list
1753
1754	* meta2deps.py: updates from Juniper
1755	  o add EXCLUDES
1756	  o skip bogus input files.
1757	  o treat 'M' and 'L' as both an 'R' and a 'W'
1758
17592015-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1760
1761	* install-mk (MK_VERSION): 20150303
1762
1763	* dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
1764	  which is built via sub-make so we have a .meta file to tell if
1765	  it is out-of-date.
1766	  The dirdeps-cache contains the same dependency rules that we
1767	  normaly construct on the fly.
1768	  This adds a few seconds overhead when the cache is out of date,
1769	  but for a large target, the savings can be significant (10-20min).
1770
17712014-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1772
1773	* install-mk (MK_VERSION): 20141118
1774
1775	* meta.stage.mk: add stale_staged
1776
1777	* dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
1778	  only useful under very rare conditions such as
1779	  FreeBSD's make universe.
1780
1781	* auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
1782
17832014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1784
1785	* install-mk (MK_VERSION): 20141111
1786
1787	* mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
1788
17892014-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1790
1791	* FILES: include mkopt.sh which allows handling options in shell
1792	  scripts in a manner compatible with options.mk
1793
17942014-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1795
1796	* meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
1797	  for GENDIRDEPS_FILTER to avoid surprises.
1798
17992014-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1800
1801	* dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
1802	  the time it is applied to __depdirs they have.
1803
1804	* dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
1805	  expects patterns like *.${MACHINE}
1806
1807	* cython.mk (pyprefix?): use pyprefix to find python bits
1808	  since prefix might be something else (where we install our
1809	  stuff)
1810
18112014-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1812
1813	* install-mk (MK_VERSION): 20140911
1814
1815	* dirdeps.mk: add bootstrap target to simplify adding support for
1816	  new MACHINE.
1817
18182014-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1819
1820	* gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
1821	  GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
1822	  Makefile.depend files.
1823
18242014-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1825
1826	* install-mk (MK_VERSION): 20140828
1827
1828	* cython.mk: capture logic for building python extension modules
1829	  with Cython.
1830
18312014-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1832
1833	* meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
1834
18352014-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1836
1837	* install-mk (MK_VERSION): 20140801
1838
1839	* dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
1840	identify the autodep.mk variant.
1841
1842	* sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
1843	initial value does not match .MAKE.DEPENDFILE_PREFIX
1844
1845	* meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
1846
18472014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1848
1849	* install-mk (MK_VERSION): 20140522
1850
1851	* lib.mk: use CC to link shlib for linux too
1852	  patch from Brendan MacDonell
1853
18542014-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1855
1856	* meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
1857	  if WITH_META_STATS is defined.
1858
18592014-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1860
1861	* dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
1862	  to supress dirdeps outside of .CURDIR.
1863
18642014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1865
1866	* Fix spelling errors - patch from Pedro Giffuni
1867
18682014-03-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1869
1870	* install-mk (MK_VERSION): 20140314
1871
1872	* dirdeps.mk (beforedirdeps): a handy hook
1873
1874	* dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
1875	  to visit leaf dirs to be intercepted (eg. for distributed
1876	  build).
1877
1878	* dirdeps.mk (__depdirs): ensure // don't sneak in
1879
1880	* gendirdeps.mk (DIRDEPS): ensure // don't sneak in
1881
1882
18832014-02-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1884
1885	* rst2htm.mk (RST2PDF): add support for rst2pdf
1886
18872014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1888
1889	* install-mk (MK_VERSION): bump version
1890	* dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
1891	  available.
1892
18932014-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1894
1895	* options.mk: avoid :U so this isn't bmake dependent
1896
18972014-02-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1898
1899	* options.mk: cleanup and simplify semanitcs
1900	  NO_* dominates all, if both WITH_* and WITHOUT_*
1901	  are defined then result is DOMINATE_* which defaults to "no".
1902	  Ie. WITHOUT_ normally wins.
1903
19042013-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1905
1906	* install-mk (MK_VERSION): bump version
1907	* meta2deps.py: convert to print function for python3 compat.
1908	  we also need to open files with mode 'r' rather than 'rb'
1909	  otherwise we get bytes instead of strings.
1910
19112013-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1912
1913	* install-mk (MK_VERSION): bump version
1914
1915	* dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
1916	  apply the same filtering (M_dep_qual_fixes) when setting _machines
1917	  as _build_dirs.
1918	  Also fix the filtering of Makefile.depend files - for reporting
1919	  what we are looking for (M_dep_qual_fixes can get confused by
1920	  Makefile.depend)
1921	  Add some more debug info.
1922
19232013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1924
1925	* gendirdeps.mk (_objtops): fix typo also
1926	  while processing M2D_OBJROOTS to gather qualdir_list
1927	  qualify $ql with loop iterator to ensure correct results.
1928
19292013-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1930
1931	* install-mk (MK_VERSION): 20130801
1932	* libs.mk: update to match progs.mk
1933
19342013-07-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1935
1936	* install-mk (MK_VERSION): 20130726
1937	  some updates from Juniper and FreeBSD
1938	  o meta2deps.py: indicate file and line number when we hit parse
1939	    errors
1940	    also allow @file to provide huge list of .meta files.
1941	* meta2deps.py: add try_parse() to cleanup the above.
1942
19432013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1944
1945	* install-mk (MK_VERSION): 20130716
1946	* own.mk: add GPROG as an option
1947	* prog.mk: honor MK_GPROF==yes
1948
19492013-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1950
1951	* install-mk (MK_VERSION): 20130505
1952	* gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
1953	  for when $MACHINE isn't enough for objdir distinction.
1954	  Bring meta2deps.sh closer to par with meta2deps.py.
1955
19562013-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1957
1958	* meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
1959	  also if the target 'beforeinstall' exists, make it depend on
1960	  .dirdep (incase it uses STAGE_INSTALL).
1961
19622013-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1963
1964	* install-mk (MK_VERSION): 20130401 ;-)
1965	* meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
1966	  wrapper around install(1).
1967	* options.mk (OPTION_PREFIX): Allow a prefix other than MK_
1968
19692013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1970
1971	* meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
1972	* install-mk (MK_VERSION): bump version
1973
19742013-03-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1975
1976	* install-mk (MK_VERSION): bump version
1977	* gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
1978	  any trailing /., rather apply :tA only when needed.
1979	* gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
1980	* meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
1981	  consistently.
1982	* dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
1983
19842013-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1985
1986	* gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
1987	  it is simpler to just not update when say building for "host"
1988	  (where we know we apply filters to DIRDEPS), and using a
1989	  non-machine qualified dependfile.
1990
19912013-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1992
1993	* dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
1994	  and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
1995	* gendirdeps.mk: ensure _objroot has trailing / if it needs it.
1996	* meta2deps.py: if machine is "host", then also trim
1997	  self.host_target from any OBJROOTS.
1998
1999
20002013-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2001
2002	* gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
2003	  qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
2004	  but _DEPENDFILE does not, compare the new _DEPENDFILE against
2005	  .MAKE.DEPENDFILE_DEFAULT and discard if the same.
2006
20072013-03-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2008
2009	* meta.stage.mk: use STAGE_TARGETS to control .ORDER
2010	  and hook to all: via staging:
2011
20122013-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2013
2014	* sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
2015	  use a separate variable for the default .MAKE.DEPENDFILE value
2016	  so that it can be controlled independently of
2017	  .MAKE.DEPENDFILE_PREFERENCE
2018
2019	* meta.stage.mk: throw error if cp fails etc.
2020	  Stage*() return early if passed no args.
2021	  .ORDER stage_*
2022
20232013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2024
2025	* install-mk (MK_VERSION): bump version
2026	* gendirdeps.mk: handle multiple M2D_OBJROOTS better.
2027
20282013-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2029
2030	* install-mk (MK_VERSION): bump version to 20130210
2031	* import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
2032	  from Juniper.
2033	  o dirdeps.mk now fully supports TARGET_SPEC consisting of more
2034	    than just MACHINE.
2035	  o no longer use DEP_MACHINE from Makefile.depend* so remove it.
2036
20372013-01-23  Simon J. Gerraty  <sjg@bad.crufty.net>
2038
2039	* install-mk (MK_VERSION): bump version to 20130123
2040	* meta.stage.mk: add stage_links (hard links).
2041	  if doing hard links, we add dest to link as well.
2042	  Default the stage dir for [sym]links to STAGE_OBJTOP since
2043	  these are typically specified as absolute paths.
2044	  Add -m "mode" flag to StageFiles and StageAs.
2045
20462012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2047
2048	* install-mk (MK_VERSION): bump version to 20121111
2049	* autoconf.mk: avoid meta mode seeing changed commands for config.status
2050	* meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
2051	  in case we were found via .../mk
2052	* sys.clean-env.mk: move it from examples, we and others use it
2053	  "as is".
2054	* FILES: add srctop.mk and options.mk
2055	* own.mk: convert to using options.mk
2056	  which is modeled after FreeBSD's handling of MK_*
2057	  but more flexible.
2058	  This allows MK_* for boolean knobs to not be confused
2059	  with MK* which can be commands.
2060
2061	* examples/sys.clean-env.mk: add WITH[OUT]_ to
2062	  MAKE_ENV_SAVE_PREFIX_LIST.
2063	  Mention that HOME=/var/empty might be a good idea.
2064
20652012-11-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2066
2067	* sys.dependfile.mk: if not depend file exists, $MACHINE
2068	  specific ones are supported but not the default,
2069	  check if any exist and follow suit.
2070
20712012-11-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2072
2073	* install-mk (MK_VERSION): bump version to 20121106
2074
20752012-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2076
2077	* import latest dirdeps.mk and meta2deps.py from Juniper.
2078	* progs.mk: add MAN and CXXFLAGS to PROG_VARS
2079	  also add PROGS_TARGETS and pass on PROG_CXX if it seems
2080	  appropriate.
2081
20822012-11-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2083
2084	* meta.stage.mk: update CLEANFILES
2085	  remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
2086	* progs.mk: Add LDADD to PROG_VARS
2087
20882012-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2089
2090	* meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
2091	  _STAGED_DIRS so that these can be turned into filters for
2092	  GENDIRDEPS_FILTER.
2093
20942012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2095
2096	* install-mk (MK_VERSION): bump version to 20121010
2097	* meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
2098	target.dirdep matches .dirdep
2099
21002012-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2101
2102	* install-mk (MK_VERSION): bump version to 20120808
2103	* import latest meta2deps.py from Juniper.
2104
21052012-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2106
2107	* install-mk (MK_VERSION): bump version to 20120711
2108	* dep.mk: add explicit dependencies on SRCS after applying
2109	  SRCS_DEP_FILTER
2110	* meta.autodep.mk: add explicit dependencies on SRCS after
2111	  applying SRCS_DEP_FILTER
2112	* meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
2113
21142012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2115
2116	* install-mk (MK_VERSION): bump version to 20120626
2117	* meta.sys.mk: ignore PYTHON if it does not exist
2118	  compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
2119	* meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
2120	  entries ending in .${MACHINE} to decide if qualified _dirdep is
2121	  needed.
2122	* gendirdeps.mk: only produce unqualified deps if no
2123	  .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
2124	* meta.subdir.mk: apply SUBDIRDEPS_FILTER
2125
21262012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2127
2128	* install-mk (MK_VERSION): bump version to 20120420
2129	* add sys.dependfile.mk so we can experiment with
2130	  .MAKE.DEPENDFILE_PREFERENCE
2131	* meta.autodep.mk: _DEPENDFILE is precious!
2132
21332012-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2134
2135	* install-mk (MK_VERSION): bump version to 20120315
2136	* install-new.mk: avoid being interrupted
2137
21382012-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2139
2140	* man.mk: MAN might have multiple values so be careful with exists().
2141
21422012-01-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2143
2144	* install-mk (MK_VERSION): bump version to 20120112
2145	* fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
2146	  as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
2147
21482011-12-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2149
2150	* install-mk (MK_VERSION):  bump version to 20111201
2151	* import dirdeps.mk from Juniper sjg@
2152	  o more consistent handling of DEP_MACHINE, especially when
2153	    dealing with an odd Makefile.depend, when normally using
2154	    Makefile.depend.${MACHINE}
2155
21562011-11-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2157
2158	* install-mk (MK_VERSION): bump version to 20111122
2159	* meta.autodep.mk: add some debug output, be more crisp about
2160	  updating.  Use ${.ALLTARGETS:M*.o} as a clue for .depend
2161
21622011-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2163
2164	* install-mk (MK_VERSION): bump version to 20111111
2165	  it's too cool to miss
2166	* import meta* updates from Juniper sjg@
2167	  o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
2168	    normally using Makefile.depend.${MACHINE}), handy for
2169	    read-only manually maintained dependencies.
2170	  o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
2171	  o gendirdeps.mk if ERROR: from meta2deps.py do not update
2172	    anything.
2173
21742011-10-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2175
2176	* install-new.mk separate the cmp and copy logic to its own function.
2177
21782011-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2179
2180	* install-mk (MK_VERSION): bump version to 20111028
2181	* sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
2182	* subdir.mk: ensure _SUBDIRUSE is provided
2183	* meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
2184	* meta.subdir.mk: always allow for Makefile.depend
2185
21862011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2187
2188	* install-mk (MK_VERSION): bump version to 20111010
2189	  o minor tweak to *dirdeps.mk from Juniper sjg@
2190
21912011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2192
2193	* install-mk (MK_VERSION): bump version to 20111001
2194	  o add meta2deps.py from Juniper sjg@
2195	  o tweak gendirdeps.mk to work with meta2deps.py when not
2196	    cross-building
2197	* autoconf.mk: add autoconf-input as a hook for regenerating
2198	  AUTOCONF_INPUTS (configure).
2199
22002011-08-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2201
2202	* meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
2203	  trigger for updating Makefile.depend*
2204
22052011-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2206
2207	* install-mk (MK_VERSION): bump version to 20110808
2208	* obj.mk: minor cleanup
2209	* auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
2210
22112011-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2212
2213	* auto.obj.mk (.OBJDIR): throw an error if we cannot use the
2214	  specified dir.
2215
22162011-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2217
2218	* meta.autodep.mk: if XMAKE_META_FILE is set
2219	  the makefile uses a foreign make, and so dependencies
2220	  can only be gathered from a clean tree build.
2221
22222011-06-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2223
2224	* install-mk (MK_VERSION): bump version to 20110622
2225	* meta.autodep.mk: improve bootstraping
2226
22272011-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2228
2229	* yacc.mk: handle the corner case of .c being removed
2230	  while .h remains.
2231
22322011-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2233
2234	* yacc.mk: do .y.h and .y.c separately
2235
22362011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2237
2238	* install-mk (MK_VERSION): bump version to 20110606
2239	* don't store SRC_DIRDEPS in Makefile.depend* by default
2240	  not everyone needs it.
2241
22422011-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2243
2244	* install-mk (MK_VERSION): bump version to 20110505
2245	  first release including meta mode makefiles
2246
22472011-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2248
2249	* meta.stage.mk: add STAGE_AS_SETS and stage_as
2250	  for things that need to be staged with different names.
2251
22522011-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2253
2254	* meta.stage.mk: add notion of STAGE_SETS
2255	  so a makefile can stage to multiple dirs
2256
22572011-04-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2258
2259	* rst2htm.mk: convert rst to s5 (slides) or plain html depending
2260	  on target name.
2261
22622011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2263
2264	* install-mk (MK_VERSION): bump version to 20110330
2265
22662011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
2267
2268	* sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
2269	  can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
2270	* sys.mk: re-define M_whence in terms of M_type.
2271	  M_type is useful for checking if something is a builtin.
2272
22732011-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2274
2275	* meta.stage.mk: add stage_symlinks and leverage StageLinks for
2276	  stage_libs
2277
22782011-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2279
2280	* dirdeps.mk: correct value for _depdir_files depends on
2281	  .MAKE.DEPENDFILE
2282	  Add our copyright - just to make it clear we have frobbed this
2283	  quite a bit.
2284	  DEP_MACHINE needs to be set to MACHINE each time, if using only
2285	  Makefile.depend (cf. Makefile.depend.${MACHINE})
2286
2287	* meta.stage.mk: meta mode version of staging
2288
2289	* init.mk, final.mk: include local.*.mk to simplify customization
2290
22912011-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2292
2293	* auto.obj.mk: just because we are doing mk destroy, we should
2294	  still set .OBJDIR correctly if it exists.
2295
2296	* install-mk (mksrc): do not exclude meta.sys.mk
2297
22982011-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2299
2300	* host-target.mk: set/export _HOST_ARCH etc separately,
2301	  catch junk resulting from uname -p, so we can find sys/Linux.mk
2302	  correctly.
2303
23042011-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2305
2306	* meta.sys.mk: throw an error if /dev/filemon is missing and we
2307	  expected to be updating Makefile.depend*
2308
23092011-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2310
2311	* install-mk (MK_VERSION): bump version to 20110214
2312	* meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
2313
23142010-09-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2315
2316	* meta.sys.mk: not valid for older bmake
2317
23182010-09-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2319
2320	* install-mk (MK_VERSION): bump version to 20100919
2321	include dirdeps.mk et al from Juniper Networks,
2322	for meta mode - requires filemon(9).
2323	* sys.mk, subdir.mk: Add hooks for meta mode.
2324	we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
2325	to make turning it on/off simple.
2326
23272010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2328
2329	* install-mk (MK_VERSION): bump version to 20100616
2330	* fix typo in sys.mk
2331
23322010-06-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2333
2334	* install-mk (MK_VERSION): bump version to 20100612
2335	* lib.mk: remove duplicate addition to SOBJS
2336
23372010-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2338
2339	* sys.mk: Add a means of selectively turning on debug flags.
2340	  Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
2341	  will act as if we did make -dv if .CURDIR ends in lib/sjg
2342	  DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
2343	  the start of sys.mk rather than the end.
2344	  This only makes sense for leaf dirs, so we check that
2345	  .MAKE.LEVEL > 0
2346
23472010-06-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2348
2349	* install-mk (MK_VERSION): bump version to 20100608
2350	* sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
2351	* examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
2352	  also make it easier for folk to tweak
2353
23542010-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2355
2356	* install-mk (MK_VERSION): bump version to 20100606
2357	  do not install examples/*
2358	* FILES: add examples/sys.clean-env.mk
2359	* examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
2360	  this requires bmake-20100606 or later to work.
2361
23622010-05-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2363
2364	* sys.mk (M_tA): better simulate the result of :tA if not available.
2365
23662010-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2367
2368	* sys.mk: canonicalize MAKE_VERSION
2369	  old versions reported bmake-<src-date> build-<build-date>
2370	  whereas we only care about <src-date>
2371
23722010-04-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2373
2374	* install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
2375	* lib.mk: we only build the shared lib if SHLIB_FULLVERSION
2376	  is !empty
2377
23782010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2379
2380	* dpadd.mk: use LDADD_* if defined.
2381
23822010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2383
2384	* install-mk (MK_VERSION): bump version to 20100420
2385	* sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
2386	* autoconf.mk allow AUTO_AUTOCONF
2387
23882010-04-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2389
2390	* obj.mk: add objwarn to keep freebsd makefiles happy
2391	* auto.obj.mk: ensure Mkdirs is available.
2392	* FILES: add auto.dep.mk - a simpler version of autodep.mk
2393	* dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
2394	  asked to do that.
2395	  fix/simplify the tests for when to run mkdep.
2396	* auto.dep.mk: add some explanation of how/what we do.
2397	* autodep.mk: skip the .OPTIONAL frobbing of .depend
2398	  bmake's FROM_DEPEND flag makes it redundant.
2399
24002010-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2401
2402	* install-mk (MK_VERSION): bump version to 20100404
2403	* subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
2404	* obj.mk: protect from multiple inclusion even as bsd.obj.mk
2405	Also create a target _SUBDIRUSE so that we can  be used without
2406	subdir.mk
2407
24082010-04-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2409
2410	* dep.mk: use <> when .including so can override.
2411
24122010-01-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2413
2414	* lib.mk (SHLIB_LINKS): ensure a string comparison.
2415
24162010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2417
2418	* install-mk (MK_VERSION): bump version to 20100102
2419	* own.mk: ensure PRINTOBJDIR works
2420	* autoconf.mk: pass on CONFIGURE_ARGS
2421	* init.mk: handle COPTS.${.IMPSRC:T} etc.
2422	* lib.mk: allow sys.mk to control SHLIB_FULLVERSION
2423	  fix handling of symlinks for darwin
2424	* libnames.mk: add DSHLIBEXT for libs which only exist as shared.
2425	* man.mk: suppress chown when not root.
2426	* rst2htm.mk: allow srcs from multiple locations.
2427	* sys.mk: M_whence, stop after 1st line of output.
2428	* sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
2429	* sys/SunOS.mk: we need to export PATH
2430
24312009-12-23  Simon J. Gerraty  <sjg@void.crufty.net>
2432
2433	* install-mk (MK_VERSION): bump version
2434	  include rst2htm.mk
2435
24362009-12-17  Simon J. Gerraty  <sjg@void.crufty.net>
2437
2438	* sys.mk,libnames.mk add .-include <local.*>
2439	  this allows local customization without the need to edit the
2440	  distributed files.
2441
24422009-12-14  Simon J. Gerraty  <sjg@void.crufty.net>
2443
2444	* dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
2445	  older versions already installed.
2446
24472009-12-13  Simon J. Gerraty  <sjg@void.crufty.net>
2448
2449	* stage.mk (.stage-install): generalize lib.mk's .libinstall
2450	* rules.mk rules for generic Makefile.
2451	* inc.mk install for includes.
2452
24532009-12-11  Simon J. Gerraty  <sjg@void.crufty.net>
2454
2455	* sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
2456	  this, so provide it if using native make.
2457
24582009-12-10  Simon J. Gerraty  <sjg@void.crufty.net>
2459
2460	* FILES: move all the platform *.sys.mk files to sys/*.mk
2461	* Rename Generic.sys.mk to sys.mk - we always want it.
2462
24632009-11-17  Simon J. Gerraty  <sjg@void.crufty.net>
2464
2465	* install-mk (MK_VERSION): bump version
2466	* host-target.mk: only export the expensive stuff
2467	* Generic.sys.mk (sys_mk): for SunOS we need to look for
2468	  ${HOST_OS}.${HOST_OSMAJOR} too!
2469
24702009-11-07  Simon J. Gerraty  <sjg@void.crufty.net>
2471
2472	* install-mk (MK_VERSION): bump version
2473	* lib.mk: if sys.mk doesn't give us an lorder, don't use it.
2474	  based on patch from Greg Olszewski.
2475	* Generic.sys.mk: if we have nothing to work with
2476	set LORDER etc only if we can find it.
2477
24782009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
2479
2480	* install-mk (MK_VERSION): bump version
2481	* man.mk: cleanman: remove CLEANMAN if defined.
2482
24832009-09-04  Simon J. Gerraty  <sjg@void.crufty.net>
2484
2485	* SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
2486
24872009-07-17  Simon J. Gerraty  <sjg@void.crufty.net>
2488
2489	* install-mk (MK_VERSION): bump version
2490	include auto.obj.mk
2491
2492
24932009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
2494
2495	* prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
2496
24972008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
2498
2499	* install-mk (MK_VERSION): bump version
2500	man.mk: ensure we generate *.cat1 etc in .
2501
25022008-07-16  Simon J. Gerraty  <sjg@void.crufty.net>
2503
2504	* install-mk (MK_VERSION): bump version
2505	add prlist.mk
2506
25072007-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
2508
2509	* Generic.sys.mk: Allow os specific sys.mk to be in a
2510	subdir of ${.PARSEDIR}
2511
25122007-11-22  Simon J. Gerraty  <sjg@void.crufty.net>
2513
2514	* install-mk (MK_VERSION): bump version
2515	* general cleanup
2516	* dpadd.mk introduce DPMAGIC_LIBS_*
2517
25182007-04-30  Simon J. Gerraty  <sjg@void.crufty.net>
2519
2520	* install-mk (MK_VERSION): bump version
2521
2522	* libs.mk, progs.mk, autodep.mk: allow for per lib/prog
2523	depend files and ensure clean is called for each lib/prog.
2524
25252007-03-27  Simon J. Gerraty  <sjg@void.crufty.net>
2526
2527	* autodep.mk (.depend): delete lines that do not start with
2528	space and do not contain ':'
2529
25302007-02-16  Simon J. Gerraty  <sjg@void.crufty.net>
2531
2532	* autodep.mk (.depend): gcc may wrap lines if pathnames are long
2533	so make sure the transform for .OPTIONAL copes.
2534
25352007-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2536
2537	* install-mk (MK_VERSION): bump version
2538
2539	* own.mk: make sure RM and LN are defined.
2540
2541	* obj.mk: fix a typo, and objlink target.
2542
25432006-12-30  Simon J. Gerraty  <sjg@void.crufty.net>
2544
2545	* install-mk (MK_VERSION): bump version
2546	* added libs.mk - analogous to progs.mk
2547	  make both of them always inlcude {lib,prog}.mk
2548
25492006-12-28  Simon J. Gerraty  <sjg@void.crufty.net>
2550
2551	* progs.mk: add a means of building multiple apps in one dir.
2552
25532006-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
2554
2555	* install-mk (MK_VERSION): bump version to 20061126
2556
2557	* warnings.mk: detect invalid WARNINGS_SET
2558
2559	* warnings.mk: use ${.TARGET:T:R}.o when looking for target
2560	specific warnings.
2561
2562	* For .cc sources, turn off warnings that g++ vomits on.
2563
25642006-11-08  Simon J. Gerraty  <sjg@void.crufty.net>
2565
2566	* own.mk: if __initialized__ target doesn't exist and we are
2567	FreeBSD we got here directly from sys.mk
2568
25692006-11-06  Simon J. Gerraty  <sjg@void.crufty.net>
2570
2571	* install-mk (MK_VERSION): bump version to 20061106
2572	add scripts.mk
2573
25742006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
2575
2576	* install-mk (MK_VERSION): bump version to 20060318
2577
2578	* autodep.mk: avoid := when modifying OBJS into __dependsrcs
2579
25802006-03-02  Simon J. Gerraty  <sjg@void.crufty.net>
2581
2582	* install-mk (MK_VERSION): bump version to 20060302
2583	* autodep.mk: use -MF et al to help gcc+ccache DTRT.
2584
25852006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
2586
2587	* install-mk (MK_VERSION): bump version to 20060301
2588	* autodep.mk (.depend):
2589	if MAKE_VERSION is newer than  20050530 we can make .END depend on
2590	.depend and make .depend depend on __depsrcs that exist.
2591	* dpadd.mk: add SRC_PATHADD
2592
25932005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
2594
2595	* install-mk (MK_VERSION): bump version to 20051104
2596	* prog.mk: remove all the LIBC?= junk, use
2597	.-include libnames.mk instead (none by default).
2598	also if USE_DPADD_MK is set, include that.
2599
26002005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2601
2602	* install-mk (MK_VERSION): bump version to 20051001
2603	Add UnixWare.sys.mk from Klaus Heinz.
2604
26052005-04-05  Simon J. Gerraty  <sjg@void.crufty.net>
2606
2607	* install-mk: always install *.sys.mk and if need be symlink one
2608	to sys.mk
2609
26102005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2611
2612	* subdir.mk, own.mk: use .MAKE rather than MAKE
2613
26142004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
2615
2616	* own.mk: don't use NetBSD's _SRC_TOP_ it can
2617	cause confusion.  Also don't take just 'mk' as a
2618	srctop indicator.
2619
26202004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
2621
2622	* warnings.mk: overhauled, now very powerful.
2623
26242004-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2625
2626	* Generic.sys.mk: need to use ${.PARSEDIR} with exists().
2627
26282004-02-01  Simon J. Gerraty  <sjg@void.crufty.net>
2629
2630	* install-mk (MK_VERSION): bump version to 20040201
2631	* extract HOST_TARGET stuff to host-target.mk so own.mk and
2632	Generic.sys.mk can share.
2633	* fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
2634
26352003-09-30  Simon J. Gerraty  <sjg@void.crufty.net>
2636
2637	* install-mk (MK_VERSION): 20030930
2638	* rename generic.sys.mk to Generic.sys.mk
2639	so that it does not get installed (unless being used as sys.mk)
2640	* set OS and ROOT_GROUP for those that we know the value.
2641	for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
2642	we don't do it again for each sub-make.
2643
26442003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
2645
2646	* install-mk (MK_VERSION): 20030928
2647	Add some extra *.sys.mk from bootstrap-pkgsrc
2648	some of these likely still need work.
2649	Make everything default to root:wheel ownership,
2650	sys.mk can set ROOT_GROUP accordingly.
2651
26522003-08-07  Simon J. Gerraty  <sjg@void.crufty.net>
2653
2654	* install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
2655	not the portable ones.
2656
26572003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
2658
2659	* install-mk: add ability to use cp -f when updating
2660	destination .mk files.  Also now possible to play games with
2661	FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
2662	into dest - not recommended unless you seriously want to.
2663
26642003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
2665
2666	* own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
2667	for semi-compatability with NetBSD.
2668
26692003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
2670
2671	* install-mk: add a version indicator
2672
26732003-07-22  Simon J. Gerraty  <sjg@void.crufty.net>
2674
2675	* prog.mk: don't try and use ${LIBCRT0} if its /dev/null
2676
2677	* install-mk: Allow FORCE_SYS_MK to come from env
2678
2679
2680
2681