xref: /freebsd/contrib/bmake/mk/ChangeLog (revision d411c1d6)
12023-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* install-mk (MK_VERSION): 20230420
4
5	* lib.mk: include LDFLAGS and LDADD when linking shared libs
6
7	* gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc
8	via local.meta.sys.mk rather than local.gendirdeps.mk
9	so DEP_* variables can be set at level 1+ to avoid syntax errors
10	when used in conditionals in manually maintained Makefile.depend
11	files.
12
13	* dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines
14
152023-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
16
17	* dirdeps.mk: check we were not included by
18	Makefile.depend.options as the result is bad.
19
202023-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
21
22	* install-mk (MK_VERSION): 20230414
23
24	* meta.sys.mk: since we have :range we can put the logic for
25	processing TARGET_SPEC from env here.
26
27	* dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including
28	local.dirdeps-missing.mk, also improve debug output.
29
30	* dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC
31	we need to use :M*[/.]* same as for when actually setting DIRDEPS
32	from the targets on command line.
33
342023-04-12  Simon J Gerraty  <sjg@beast.crufty.net>
35
36	* Add jobs.mk
37
382023-03-21  Simon J Gerraty  <sjg@beast.crufty.net>
39
40	* install-mk (MK_VERSION): 20230321
41
42	* meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter
43	STAGE_LIBS for SHLIB_LINKS.
44
45	* autoconf.mk: add .WAIT after config.status
46
472023-02-17  Simon J Gerraty  <sjg@beast.crufty.net>
48
49	* sys.vars.mk: add M_Index to report the index of a word in a list.
50
512023-02-15  Simon J Gerraty  <sjg@beast.crufty.net>
52
53	* install-mk (MK_VERSION): 20230215
54
55	* warnings.mk: allow better control of -Werror
56	allow -Wno-error or similar to be added if
57	WARNINGS_SET < WERROR_SET
58	account for COMPILER_TYPE
59
602023-01-29  Simon J Gerraty  <sjg@beast.crufty.net>
61
62	* autoconf.mk: hook config.status to beforebuild.
63
64	* whats.mk: what*.c is NOTMAIN
65
662023-01-27  Simon J Gerraty  <sjg@beast.crufty.net>
67
68	* install-mk (MK_VERSION): 20230127
69	control umask so directories are created with suitable mode.
70
712023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
72
73	* install-mk (MK_VERSION): 20230120
74
75	* sys.vars.mk: add M_On and M_Onr also cleanup to be more
76	consistent wrt testing MAKE_VERSION
77
782023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
79
80	* install-mk (MK_VERSION): 20230112
81
82	* meta2deps.{py,sh}: assert if filemon data is truncated
83	we should see the '# Bye bye' record - assert if we do not.
84
852022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
86
87	* install-mk (MK_VERSION): 20220909
88
89	* sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings
90
912022-09-06  Simon J Gerraty  <sjg@beast.crufty.net>
92
93	* dirdeps-options.mk: explain the need to use
94	${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to
95	${TARGET_SPEC_VAR}
96
972022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
98
99	* install-mk (MK_VERSION): 20220903
100
101	* M_cmpv handle more than 3 dots and clear leading 0's
102
1032022-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
104
105	* install-mk (MK_VERSION): 20220720
106
107	* prog.mk: handle PROG_CXX for more than just NetBSD
108
1092022-06-20  Simon J Gerraty  <sjg@beast.crufty.net>
110
111	* install-mk (MK_VERSION): 20220620
112
113	* yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER
114	rather than just suffix rules
115
1162022-04-23  Simon J Gerraty  <sjg@beast.crufty.net>
117
118	* install-mk (MK_VERSION): 20220422
119
120	* gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no"
121	do not capture any local depends in Makefile.depend
122
1232022-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
124
125	* install-mk (MK_VERSION): 20220323
126	* posix.mk: default rules for .POSIX:
127
1282022-03-17  Simon J Gerraty  <sjg@beast.crufty.net>
129
130	* sys/*.mk: remove l from ARFLAGS
131
1322022-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
133
134	* install-mk (MK_VERSION): 20220314
135
136	* dirdeps-options.mk: allow options to be per RELDIR
137	try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed
138	with ${DEP_RELDIR}.
139
1402022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
141
142	* install-mk (MK_VERSION): 20220214
143
144	* cc-wrap.mk: fix :@ modifier
145
1462022-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
147
148	* install-mk (MK_VERSION): 20220206
149
150	* cc-wrap.mk: docuement how CCACHE etc might be set for
151	maximum flexibility
152
1532022-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
154
155	* sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT
156
1572022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
158
159	* install-mk (MK_VERSION): 20220204
160
161	* host-target.mk: use .MAKE.OS if available
162
1632022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
164
165	* install-mk (MK_VERSION): 20220202
166
167	* cc-wrap.mk: allow other entries in CC_WRAP_FILTER
168	We add our filter on extensions last, so prior filters
169	can apply to the whole value of .IMPSRC
170
1712022-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
172
173	* cc-wrap.mk: take advantage of target local variables to
174	wrap compilers like CC CXX with wrappers like ccache distcc etc
175
1762022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
177
178	* meta2deps: we do not expect any trace data for setid apps
179
1802022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
181
182	* dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed
183	to sub-make using DIRDEPS_CACHE
184
1852022-01-07  Simon J Gerraty  <sjg@beast.crufty.net>
186
187	* dirdeps.mk: use _cache_script to minimize the number of shells
188	forked when generating dirdeps.cache
189
1902022-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
191
192	* install-mk (MK_VERSION): 20220101
193
194	* dirdeps.mk: initialize DEP_* and _debug_reldir earlier.
195	If initial DIRDEPS are from command line, create the target
196	_dirdeps_cmdline as an indication.
197
1982022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
199
200	* init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD
201	at top-level only some targets are allowed at level 0,
202	for leaf makefiles only the default (all) target is restricted
203
2042021-12-28  Simon J Gerraty  <sjg@beast.crufty.net>
205
206	* install-mk (MK_VERSION): 20211228
207
208	* meta2deps.py: filemon on Linux is not as reliable as we might
209	like, we do not want to update DIRDEPS if filemon output is
210	incomplete.   Track pids that we 'E'xec and make sure we see an
211	e'X'it for each one.  Throw an error if we are missing any 'X'
212	records.
213
2142021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
215
216	* sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes.
217
218	* meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON
219	is something else.
220
221	* meta.autodep.mk: we can now reference ${.SUFFIXES}
222
223	* meta2deps.py: derive a list of dirdep extensions from
224	TARGET_SPEC to trim from dirdeps.
225
226	* dirdeps.mk: flip the computation of qualified vs unqualified
227	dirdeps - it is much simpler to check for unqualified first.
228
2292021-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
230
231	* install-mk (MK_VERSION): 20211212
232
233	* auto.dep.mk: rearrange so that the trivial implementation
234	for recent bmake is more obvious.
235
2362021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
237
238	* install-mk (MK_VERSION): 20211207
239
240	* Ensure guard targets are .NOTMAIN
241
242	* meta.sys.mk: check for nofilemon support when we skip level 0
243
244	* auto.dep.mk: make this usable in meta mode
245	for platforms that cannot use meta.autodep.mk
246
247	* meta2deps.py: avoid confusion if MACHINE and another
248	TARGET_SPEC_VAR have same value.
249
2502021-11-27  Simon J Gerraty  <sjg@beast.crufty.net>
251
252	* dirdeps.mk: when building dirdeps.cache, minimize the amount of
253	data put into env, by stripping ${SRCTOP}/ from each entry.
254	A long sandbox name can double the amount of memory consumed and
255	in extreme cases cause failure.
256	While we are at it, strip ${SRCTOP}/ from a lot of the debug output.
257
2582021-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
259
260	* install-mk (MK_VERSION): 20211111
261
262	* meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail
263	so fallback to cp if necessary.
264
2652021-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
266
267	* man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year
268	old cmt2doc.pl
269
2702021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
271
272	* meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f}
273	as the symlink (rare)
274
2752021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
276
277	* autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not
278	been read, throw an error after running configure telling user to
279	restart.
280
2812021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
282
283	* install-mk (MK_VERSION): 20211011
284
285	* Add support for SCO_SV
286
2872021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
288
289	* install-mk (MK_VERSION): 20211001
290
291	* man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more
292	flexibility
293
2942021-09-13  Simon J Gerraty  <sjg@beast.crufty.net>
295
296	* options.mk (describe-options): print options and their values
297	  and optional description
298
2992021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
300
301	* install-mk (MK_VERSION): 20210911
302
303	* options.mk (show-options): print options and their values
304
3052021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
306
307	* install-mk (MK_VERSION): 20210909
308
309	* lib.mk: apply patch from <daniel@octaforge.org>
310	to fix shared libs on Linux
311
3122021-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
313
314	* install-mk (MK_VERSION): 20210808
315
316	* options.mk: issue warning for WITH_*=no
317
3182021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
319
320	* install-mk (MK_VERSION): 20210616
321
322	* dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find
323	depend files to read, anchor MACHINE at , or end of string
324	to avoid prefix match.
325
3262021-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
327
328	* install-mk (MK_VERSION): 20210504
329
330	* dirdeps.mk: re-implement ALL_MACHINES support to better
331	cater for local complexities, when ONLY_TARGET_SPEC_LIST
332	is not set. local.dirdeps.mk can set
333	DIRDEPS_ALL_MACHINES_FILTER and/or
334	DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get
335	from listing all existing Makefile.depend.*
336
3372021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
338
339	* install-mk (MK_VERSION): 20210420
340
341	* dirdeps.mk: revert previous - not always safe.
342
3432021-03-20  Simon J Gerraty  <sjg@beast.crufty.net>
344
345	* install-mk (MK_VERSION): 20210321
346
347	* dirdeps.mk: when generating dirdeps.cache
348	we only need to hook the initial DIRDEPS to the
349	dirdeps target.  That and any _build_xtra_dirs (like tests which
350	should not be hooked directly to the dependency graph - to avoid
351	cycles)
352
3532021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
354
355	* install-mk (MK_VERSION): 20210130
356
357	* dirdeps.mk: expr 2 - 1 - 1 exits with a bad status
358	  we need to  guard against this in DIRDEP_LOADAVG_REPORT.
359
360	* dirdeps.mk: restore respect for TARGET_MACHINE
361
3622021-01-06  Simon J Gerraty  <sjg@beast.crufty.net>
363
364	* install-mk (MK_VERSION): 20210101
365
366	* dirdeps.mk: first time we are read, just use TARGET_SPEC for
367	_DEP_TARGET_SPEC
368
3692020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
370
371	* sys.mk (MAKE_SHELL): use ${.SHELL:Ush}
372	and use := when setting SHELL
373
3742020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
375
376	* install-mk (MK_VERSION): 20201221
377
378	* dirdeps-options.mk: latest bmake allows only one arg to .undef
379
3802020-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
381
382	* dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS
383	so that any directory can be treated as a target.
384
3852020-11-26  Simon J Gerraty  <sjg@beast.crufty.net>
386
387	* install-mk (MK_VERSION): 20201126
388
389	* own.mk: use .MAKE.{UID,GID} if available.
390
391	* init.mk: suppress _SKIP_BUILD warning if doing -V
392
3932020-11-20  Simon J Gerraty  <sjg@beast.crufty.net>
394
395	* install-mk (MK_VERSION): 20201120
396
397	* init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS
398
399	* dirdeps-targets.mk: fix typo in comment
400
4012020-11-06  Simon J Gerraty  <sjg@beast.crufty.net>
402
403	* install-mk (MK_VERSION): 20201106
404
405	* meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed
406	args to tweak extensions for local deps.
407
4082020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
409
410	* install-mk (MK_VERSION): 20201101
411
412	* dirdeps.mk: most leaf makefiles are not suitable for building
413	dirdeps.cache so if RELDIR is not "." use dirdeps.mk
414
4152020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
416
417	* install-mk (MK_VERSION): 20201028
418
419	* dirdeps.mk: if we don't have :range use equivalent of M_RANGE
420	when building dirdeps.cache for leaf directory use -f dirdeps.mk
421
422	* sys.vars.mk: add M_JOT and M_RANGE
423
4242020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
425
426	* install-mk (MK_VERSION): 20201001
427
428	* meta2deps.{py,sh}: throw an error if we don't see filemon version
429
4302020-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
431
432	* install-mk (MK_VERSION): 20200909
433
434	* dirdeps-cache-update.mk: use cache_update_dirdep as guard target
435
4362020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
437
438	* dirdeps.mk: ensure we cannot confuse a static cache for dynamic
439	(even more rare that use of static cache is playing clever tricks
440	with it)
441
4422020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
443
444	* dirdeps-cache-update.mk: allow
445	MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we
446	actually update STATIC_DIRDEPS_CACHE.
447
448	* stage-install.sh: create dest directory if needed
449	before running install(1)
450
4512020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
452
453	* dirdeps-targets.mk: include Makefile.dirdeps.options
454
455	* dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE
456
4572020-08-09  Simon J Gerraty  <sjg@beast.crufty.net>
458
459	* dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty
460
461	* dirdeps-cache-update.mk: building parallel cache update
462	under the context of dirdeps-cached would be ideal, but
463	is problematic, so it runs as a sibling.
464	Use cache-built target to ensure we wait for it to complete if
465	necessary.
466
4672020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
468
469	* install-mk (MK_VERSION): 20200806
470
471	* dirdeps-options: allow TARGET_SPEC to affect option values.
472	Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_*
473
474	* dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined
475	before looking for STATIC_DIRDEPS_CACHE
476
4772020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
478
479	* host-target.mk: Darwin use MACHINE for HOST_ARCH too
480
481	* dirdeps-options.mk: improve debug output
482
4832020-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
484
485	* dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE
486	for use by dirdeps-cache-update.mk
487
488	* dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE
489	for use by dirdeps-cache-update.mk even if we don't use it.
490
491	* dirdeps-cache-update.mk: we only need worry about the background
492	update case, with the above, the update from DIRDEPS_CACHE is
493	simple.
494
495	* meta2deps.py: R 1234 . is not interesting
496
4972020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
498
499	* sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE
500
501	* dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS
502	allows use of lower case for pseudo options.
503
504	* dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE
505
5062020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
507
508	* dirdeps-targets.mk: Look for Makefile.dirdeps.cache
509	which allows us to have a static cache for expensive targets.
510	Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE
511	to regenerate the dirdeps.cache it is a copy of.
512
5132020-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
514
515	* Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense.
516
5172020-07-16  Simon J Gerraty  <sjg@beast.crufty.net>
518
519	* dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record
520	load averages at intervals during build.
521
5222020-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
523
524	* install-mk (MK_VERSION): 20200715
525
526	* dirdeps.mk: tweak Checking line to make matching Finished
527	lines for post-build analysis easier.
528
529	* meta.autodep.mk: use !defined(WITHOUT_META_STATS)
530
531	* progs.mk: avoid prog.mk outputting multiple Finished lines
532
5332020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
534
535	* dirdeps.mk: further optimize dirdeps.cache
536	generate a DIRDEPS.${.TARGET} list for other purposes
537	and improve the layout.
538
5392020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
540
541	* dirdeps.mk: optimize content of dirdeps.cache
542
5432020-06-28  Simon J Gerraty  <sjg@beast.crufty.net>
544
545	* sys/*.mk: make it easier for local*sys.mk to customize by
546	using ?=
547
5482020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
549
550	* gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
551	it is much safer to guard local depends with a simple check for
552	.MAKE.LEVEL > 0
553
5542020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
555
556	* install-mk (MK_VERSION): 20200610
557
558	* mkopt.sh: this needs posix shell so #!/bin/sh should be ok
559
5602020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
561
562	* install-mk (MK_VERSION): 20200606
563
564	* dirdeps-targets.mk: allow for filtering of .TARGETS
565
566	* meta2deps.py: fix bug in processing 'L'ink and 'M'ove
567	entries - and we don't care about 'W'rite entries.
568	Also ignore absolute paths that do not exist.
569
5702020-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
571
572	* install-mk (MK_VERSION): 20200525
573
574	* init.mk: expand and simplify handling of qualified vars
575	like CPPFLAGS.${.TARGET:T}
576
5772020-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
578
579	* install-mk (MK_VERSION): 20200515
580
581	* dirdeps.mk: set _debug_* earlier and allow passing -d*
582	flags to submake when building DIRDEPS_CACHE
583
5842020-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
585
586	* whats.mk: more easily extensible
587
5882020-05-02  Simon J Gerraty  <sjg@beast.crufty.net>
589
590	* whats.mk: greatly simplify by adding what.c to SRCS
591
5922020-05-01  Simon J Gerraty  <sjg@beast.crufty.net>
593
594	* whats.mk: for libs take care how we add to *OBJS
595
596	* lib.mk: : works better with whats.mk
597
5982020-04-25  Simon J Gerraty  <sjg@beast.crufty.net>
599
600	* install-mk (MK_VERSION): 20200420
601
602	* meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
603	contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
604
6052020-04-16  Simon J Gerraty  <sjg@beast.crufty.net>
606
607	* install-mk (MK_VERSION): 20200416
608
609	* sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
610	  interfere with user env.
611
612	* sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
613
614	* autodep.mk: use MAKE_SHELL.
615
6162019-11-21  Simon J Gerraty  <sjg@beast.crufty.net>
617
618	* gendirdeps.mk: clear .SUFFIXES to avoid a lot of
619	  wasted effort, and unexport _meta_files when no longer needed as
620	  it consumes space we need for command line.
621
6222019-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
623
624	* dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
625	  DIRDEP_USE_PRELUDE at start - facilitates job distribution
626
6272019-10-04  Simon J Gerraty  <sjg@beast.crufty.net>
628
629	* dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
630	defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
631	TARGET_SPEC qualified depend files.
632
6332019-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
634
635	* dirdeps-targets.mk: encapsulate logic for finding top-level
636	  targets to set initial DIRDEPS for DIRDEPS_BUILD
637
6382019-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
639
640	* install-mk (MK_VERSION): 20190911
641
642	* compiler.mk: set COMPILER_TYPE
643
6442019-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
645
646	* install-mk (MK_VERSION): 20190704
647
648	* sys/Darwin.mk: support for Objective-C and clang
649
6502019-05-30  Simon J Gerraty  <sjg@beast.crufty.net>
651
652	* dirdeps.mk: avoid insanely long command line when generating cache
653
6542019-05-23  Simon J Gerraty  <sjg@beast.crufty.net>
655
656	* install-mk (MK_VERSION): 20190505
657
658	* whats.mk: handle corner case SHLIB defined but not LIB
659
6602018-09-19  Simon J Gerraty  <sjg@beast.crufty.net>
661
662	* install-mk (MK_VERSION): 20180919
663
664	* dirdeps-options.mk: .undef cannot handle var that expands to
665	  more than one var.
666
6672018-07-08  Simon J Gerraty  <sjg@beast.crufty.net>
668
669	* meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
670
6712018-06-01  Simon J Gerraty  <sjg@beast.crufty.net>
672
673	* meta.autodep.mk: export META_FILES to avoid command line limit
674	* gendirdeps.mk: if we have lots of .meta files put them in
675	  an @list
676
6772018-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
678
679	* dirdeps-options.mk: use local.dirdeps-options.mk
680	  not local.dirdeps-option.mk
681
6822018-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
683
684	* install-mk (MK_VERSION): 20180420
685	* dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
686	  ie. we are building something.
687
6882018-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
689
690	* FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
691
6922018-04-05  Simon J Gerraty  <sjg@beast.crufty.net>
693
694	* install-mk (MK_VERSION): 20180405
695
696	* ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
697	  if needed.
698
6992018-01-18  Simon J Gerraty  <sjg@beast.crufty.net>
700
701	* install-mk (MK_VERSION): 20180118
702
703	* ldorder.mk: let make compute correct link order
704
7052017-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
706
707	* install-mk (MK_VERSION): 20171212
708
709	* gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
710
7112017-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
712
713	* install-mk (MK_VERSION): 20171111
714
715	* lib.mk: ensure META_NOECHO is set
716
7172017-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
718
719	* Allow for host32 on rare occasions.
720
7212017-10-18  Simon J. Gerraty  <sjg@bad.crufty.net>
722
723	* install-mk (MK_VERSION): 20171018
724
725	* whats.mk: include what_thing in what_uuid to avoid problem
726	  when building multiple apps in the same directory.
727
7282017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
729
730	* install-mk (MK_VERSION): 20170812
731
732	* autoconf.mk: Use CONFIGURE_DEPS so Makefile can
733	  add dependencies for config.recheck and config.gen
734
7352017-06-30  Simon J. Gerraty  <sjg@bad.crufty.net>
736
737	* install-mk (MK_VERSION): 20170630
738
739	* meta.stage.mk: avoid triggering stage_* targets with nothing to do.
740
7412017-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
742
743	* meta2deps.py: take special care of '..'
744
7452017-05-15  Simon J. Gerraty  <sjg@bad.crufty.net>
746
747	* install-mk (MK_VERSION): 20170515
748
749	* dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
750	useful/necessary for a Makefile.depend file to export some knobs.
751	This is complicated when we are doing DIRDEPS_CACHE, so we will
752	handle export of any variables listed in DEP_EXPORT_VARS.
753
7542017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
755
756	* install-mk (MK_VERSION): 20170505
757
758	* meta2deps.py: fix botched indenation.
759
7602017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
761
762	* sys/*.mk: Remove setting of MAKE it is unnecessary and
763	  in many cases wrong (basname rather than full path)
764
765	* scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
766
767	* init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
768
7692017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
770
771	* install-mk (MK_VERSION): 20170501
772
773	* doc.mk: fix typo in DOC_INSTALL_OWN
774
775	* inc.mk: handle INCGROUPS similar to freebsd
776
777	* files.mk: add something for files too
778
779	* add staging logic to lib.mk prog.mk etc.
780
7812017-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
782
783	* install-mk (MK_VERSION): 20170424
784
785	* dirdeps.mk: set NO_DIRDEPS when bootstrapping.
786	  also target of bootstrap-this when sed is needed should be ${_want:T}
787
7882017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
789
790	* install-mk (MK_VERSION): 20170418
791
792	* auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
793	  prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
794
7952017-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
796
797	* install-mk (MK_VERSION): 20170401
798
799	* meta2deps.py: add is_src so we can check if obj dependency
800	  is also a src dependency.
801
8022017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
803
804	* install-mk (MK_VERSION): 20170326
805
806	* meta.stage.mk: do nothing if NO_STAGING is defined.
807
8082017-03-24  Simon J. Gerraty  <sjg@bad.crufty.net>
809
810	* auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
811
8122017-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
813
814	* mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
815
8162017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
817
818	* install-mk (MK_VERSION): 20170301
819
820	* dirdeps.mk (_build_all_dirs): update this outside test for empty
821	  DIRDEPS.
822
823	* meta.stage.mk: allow multiple inclusion to the extent it makes
824	  sense.
825
8262017-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
827
828	* prog.mk (install_links): depends on realinstall
829
8302017-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
831
832	* install-mk (MK_VERSION): 20170212
833
834	* dpadd.mk: avoid applying :T:R twice to DPLIBS entries
835
8362017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
837
838	* install-mk (MK_VERSION): 20170130
839
840	* dirdeps.mk: use :range if we can.
841
842	* sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
843
844	* meta2deps.py: clean paths without using realpath() where possible.
845	  fix sort_unique.
846
8472016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
848
849	* install-mk (MK_VERSION): 20161212
850
851	* meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
852	rather than when we detect pid change.
853
8542016-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
855
856	* install-mk (MK_VERSION): 20161207
857
858	* meta.stage.mk: add stage_as_and_symlink for staging packages.
859	  We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
860	  to use foo.tgz to reference the latest staged version - so we
861	  make foo.tgz a symlink to it.
862	  Using a target to do both operations ensures we stay in sync.
863
8642016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
865
866	* install-mk (MK_VERSION): 20161126
867
868	* dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
869	  so it can add dependencies.
870
8712016-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
872
873	* dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
874	  do that they can influence the result correctly.
875
876	* dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
877
878	* dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
879	  similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
880
8812016-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
882
883	* dirdeps.mk: remove dependence on jot (normal situations anyway).
884	  Before we read another Makefile.depend* set DEP_* vars from
885	  _DEP_TARGET_SPEC in case it uses any of them with :=
886	  When bootstrapping, trim any ,* from extention of chosen _src
887	  Makefile.depend* to get the machine value we subst for.
888
8892016-09-30  Simon J. Gerraty  <sjg@bad.crufty.net>
890
891	* dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
892	  DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
893
894	* sys.mk: extract some bits to sys.{debug,vars}.mk
895	  for easier re-use by others.
896
8972016-09-23  Simon Gerraty  <sjg@sjg-mba13>
898
899	* lib.mk: Use ${PICO} for extension for PIC objects.
900	  default to .pico (like NetBSD) safe on case insensitive filesystem.
901
9022016-08-19  Simon J. Gerraty  <sjg@bad.crufty.net>
903
904	* meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
905
9062016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
907
908	* install-mk (MK_VERSION): 20160815
909
910	* dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
911	consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
912
9132016-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
914
915	* meta.sys.mk (.MAKE.META.IGNORE_PATHS):
916	  in meta mode we can ignore the mtime of makefiles
917
9182016-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
919
920	* install-mk (MK_VERSION): 20160802
921
922	* lib.mk (libinstall): depends on beforinstall
923
924	* prog.mk (proginstall): depends on beforinstall
925	  patch from Lauri Tirkkonen
926
927	* dirdeps.mk (bootstrap): When bootstrapping; creat
928	.MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
929	.MAKE.DEPENDFILE_BOOTSTRAP_SED
930
931	* dirdeps.mk: move some comments to where they make sense.
932
9332016-07-27  Simon J. Gerraty  <sjg@bad.crufty.net>
934
935	* dirdeps.mk (DIRDEPS_CACHE): no dirname.
936
9372016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
938
939	* install-mk (MK_VERSION): 20160602
940	* meta.autodep.mk: when passing META_FILES to gendirdeps.mk
941	  do not apply :T to META_XTRAS
942	  patch from Bryan Drewery at FreeBSD.org.
943
9442016-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
945
946	* install-mk (MK_VERSION): 20160530
947	* meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
948	  make it so.
949
9502016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
951
952	* install-mk (MK_VERSION): 20160512
953
954	* dpadd.mk: always include local.dpadd.mk if it exists
955	  remove some things that better belong in local.dpadd.mk
956	  skip INCLUDES_* for staged libs unless SRC_* defined.
957
958	* own.mk: add INCLUDEDIR
959
9602016-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
961
962	* dirdeps.mk: when doing -f dirdeps.mk if target suppies no
963	  TARGET_MACHINE - :E will be empty or match part of path, use
964	  ${MACHINE}
965
9662016-04-07  Simon J. Gerraty  <sjg@bad.crufty.net>
967
968	* meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
969	  NO_FILEMON_COOKIE
970
971	* dirdeps.mk: move the logic that allows for
972	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
973	  inside the check for !target(_DIRDEP_USE)
974
9752016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
976
977	* Use <> when including local*.mk and others which may exist
978	  elsewhere so that user can better control what they get.
979
980	* meta.autodep.mk (NO_FILEMON_COOKIE):
981	  create a cookie if we ever build dir with nofilemon
982	  so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
983
9842016-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
985
986	* install-mk (MK_VERSION): 20160401
987
988	* meta2deps.py: fix old print statement when debugging.
989
990	* gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
991	  patch from Bryan Drewery
992
9932016-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
994
995	* install-mk (MK_VERSION): 20160317 (St. Pats)
996
997	* warnings.mk: g++ does not like -Wimplicit
998
999	* sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
1000	  pelthora of common suffixes for C++
1001
1002	* lib.mk: use .So for shared objects
1003
10042016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1005
1006	* install-mk (MK_VERSION): 20160315
1007
1008	* meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
1009	  normally only applies to scripts.
1010
1011	* dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
1012	  well as outside it.
1013
10142016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1015
1016	* install-mk (MK_VERSION): 20160310
1017
1018	* dirdeps.mk: use targets rather than a list to track DIRDEPS that
1019	  we have processed; the list gets very inefficient as number of
1020	  DIRDEPS gets large.
1021
1022	* sys.dependfile.mk: fix comment wrt MACHINE
1023
1024	* meta.autodep.mk: ignore staged DPADDs when bootstrapping.
1025	  patch from Bryan Drewery
1026
10272016-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1028
1029	* meta2deps.sh: don't ignore subdirs.
1030	  patch from Bryan Drewery
1031
10322016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1033
1034	* install-mk (MK_VERSION): 20160226
1035
1036	* gendirdeps.mk: mark _DEPENDFILE .NOMETA
1037
10382016-02-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1039
1040	* dirdeps.mk: we shouldn't normally include .depend but if we do
1041	  use .dinclude if we can.
1042
10432016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1044
1045	* install-mk (MK_VERSION): 20160218
1046	* sys.clean-env.mk: with recent change to Var_Subst()
1047	  we cannot use the '$$' trick, but .export-literal does the job
1048	  we need.
1049	* auto.dep.mk: make use .dinclude if we can.
1050
1051
10522016-02-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1053
1054	* dirdeps.mk:
1055	  Add _build_all_dirs such that local.dirdeps.mk can
1056	  add fully qualified dirs to it.
1057	  These will be built normally but the current
1058	  DEP_RELDIR will not depend on then (to avoid cycles).
1059	  This makes it easy to hook things like unit-tests into build.
1060
1061
10622016-01-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1063
1064	* dirdeps.mk: add bootstrap-empty
1065
10662015-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1067
1068	* install-mk (MK_VERSION): 20151212
1069	* auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
1070	  only apply :tA to __objdir when comparing to .OBJDIR
1071
10722015-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1073
1074	* install-mk (MK_VERSION): 20151111
1075
1076	* meta.sys.mk: include sys.dependfile.mk
1077
1078	* sys.mk (OPTIONS_DEFAULT_NO): use options.mk
1079	  to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
1080	  include local.sys.env.mk early
1081	  include local.sys.mk later
1082
1083	* own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
1084
10852015-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1086
1087	* meta.sys.mk (META_COOKIE_TOUCH):
1088	  add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
1089
1090	* meta.stage.mk: stage_libs should ignore SYMLINKS.
1091
10922015-10-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1093
1094	* install-mk (MK_VERSION): 20151022
1095
1096	* sys.mk: BSD/OS does not have 'type' as a shell builtin.
1097
10982015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1099
1100	* install-mk (MK_VERSION): 20151020
1101
1102	* dirdeps.mk: Add logic for
1103	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1104
11052015-10-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1106
1107	* install-mk (MK_VERSION): 20151010
1108
11092015-10-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1110
1111	* meta.stage.mk: use staging: ${STAGE_TARGETS:...
1112	  to have stage_lins run last in non-jobs mode.
1113	  Use .ORDER only for jobs mode.
1114
11152015-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1116
1117	* rst2htm.mk: allow for per target flags etc.
1118
11192015-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1120
1121	* install-mk (MK_VERSION): 20150901
1122
1123	* doc.mk: create dir if needed use DOC_INSTALL_OWN
1124
11252015-06-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1126
1127	* install-mk (MK_VERSION): 20150615
1128
1129	* auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
1130	  Follow make's normal precedence rules.
1131
1132	* gendirdeps.mk: allow customization of the header.
1133	  eg. for FreeBSD:
1134	  GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
1135
1136	* meta.autodep.mk: ignore dirdeps.cache*
1137
1138	* meta.stage.mk: when bootstrapping options it can be handy to
1139	  throw warnings rather than errors for staging conflicts.
1140
1141	* meta.sys.mk: include local.meta.sys.mk for customization
1142
11432015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1144
1145	* install-mk (MK_VERSION): 20150606
1146
1147	* dirdeps.mk: don't rely on manually maintained Makefile.depend
1148	  to set DEP_RELDIR and reset DIRDEPS.
1149	  By setting DEP_RELDIR ourselves we can skip :tA
1150
1151	* gendirdeps.mk: skip setting DEP_RELDIR.
1152
11532015-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1154
1155	* dirdeps.mk: avoid wildcards like make(bootstrap*)
1156
11572015-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1158
1159	* install-mk (MK_VERSION): 20150520
1160
1161	* dirdeps.mk: when we are building dirdeps cache file we *want*
1162	  meta_oodate to look at all the Makefile.depend files, so
1163	  set .MAKE.DEPENDFILE to something that won't match.
1164
1165	* meta.stage.mk: for STAGE_AS_* basename of file may not be unique
1166	  so first use absolute path as key.
1167	  Also skip staging at level 0.
1168
11692015-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1170
1171	* install-mk (MK_VERSION): 20150430
1172
1173	* dirdeps.mk: fix _count_dirdeps for non-cache case.
1174
11752015-04-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1176
1177	* install-mk (MK_VERSION): 20150411
1178	  bump version
1179
1180	* own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
1181	  it is here mainly for documentation purposes, since
1182	  if using auto.obj.mk it is better done via sys.mk
1183
11842015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1185
1186	* install-mk (MK_VERSION): 20150401
1187
1188	* meta2deps.sh: support @list
1189
1190	* meta2deps.py: updates from Juniper
1191	  o add EXCLUDES
1192	  o skip bogus input files.
1193	  o treat 'M' and 'L' as both an 'R' and a 'W'
1194
11952015-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1196
1197	* install-mk (MK_VERSION): 20150303
1198
1199	* dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
1200	  which is built via sub-make so we have a .meta file to tell if
1201	  it is out-of-date.
1202	  The dirdeps-cache contains the same dependency rules that we
1203	  normaly construct on the fly.
1204	  This adds a few seconds overhead when the cache is out of date,
1205	  but for a large target, the savings can be significant (10-20min).
1206
12072014-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1208
1209	* install-mk (MK_VERSION): 20141118
1210
1211	* meta.stage.mk: add stale_staged
1212
1213	* dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
1214	  only useful under very rare conditions such as
1215	  FreeBSD's make universe.
1216
1217	* auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
1218
12192014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1220
1221	* install-mk (MK_VERSION): 20141111
1222
1223	* mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
1224
12252014-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1226
1227	* FILES: include mkopt.sh which allows handling options in shell
1228	  scripts in a manner compatible with options.mk
1229
12302014-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1231
1232	* meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
1233	  for GENDIRDEPS_FILTER to avoid surprises.
1234
12352014-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1236
1237	* dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
1238	  the time it is applied to __depdirs they have.
1239
1240	* dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
1241	  expects patterns like *.${MACHINE}
1242
1243	* cython.mk (pyprefix?): use pyprefix to find python bits
1244	  since prefix might be something else (where we install our
1245	  stuff)
1246
12472014-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1248
1249	* install-mk (MK_VERSION): 20140911
1250
1251	* dirdeps.mk: add bootstrap target to simplify adding support for
1252	  new MACHINE.
1253
12542014-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1255
1256	* gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
1257	  GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
1258	  Makefile.depend files.
1259
12602014-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1261
1262	* install-mk (MK_VERSION): 20140828
1263
1264	* cython.mk: capture logic for building python extension modules
1265	  with Cython.
1266
12672014-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1268
1269	* meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
1270
12712014-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1272
1273	* install-mk (MK_VERSION): 20140801
1274
1275	* dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
1276	identify the autodep.mk variant.
1277
1278	* sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
1279	initial value does not match .MAKE.DEPENDFILE_PREFIX
1280
1281	* meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
1282
12832014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1284
1285	* install-mk (MK_VERSION): 20140522
1286
1287	* lib.mk: use CC to link shlib for linux too
1288	  patch from Brendan MacDonell
1289
12902014-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1291
1292	* meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
1293	  if WITH_META_STATS is defined.
1294
12952014-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1296
1297	* dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
1298	  to supress dirdeps outside of .CURDIR.
1299
13002014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1301
1302	* Fix spelling errors - patch from Pedro Giffuni
1303
13042014-03-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1305
1306	* install-mk (MK_VERSION): 20140314
1307
1308	* dirdeps.mk (beforedirdeps): a handy hook
1309
1310	* dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
1311	  to visit leaf dirs to be intercepted (eg. for distributed
1312	  build).
1313
1314	* dirdeps.mk (__depdirs): ensure // don't sneak in
1315
1316	* gendirdeps.mk (DIRDEPS): ensure // don't sneak in
1317
1318
13192014-02-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1320
1321	* rst2htm.mk (RST2PDF): add support for rst2pdf
1322
13232014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1324
1325	* install-mk (MK_VERSION): bump version
1326	* dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
1327	  available.
1328
13292014-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1330
1331	* options.mk: avoid :U so this isn't bmake dependent
1332
13332014-02-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1334
1335	* options.mk: cleanup and simplify semanitcs
1336	  NO_* dominates all, if both WITH_* and WITHOUT_*
1337	  are defined then result is DOMINATE_* which defaults to "no".
1338	  Ie. WITHOUT_ normally wins.
1339
13402013-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1341
1342	* install-mk (MK_VERSION): bump version
1343	* meta2deps.py: convert to print function for python3 compat.
1344	  we also need to open files with mode 'r' rather than 'rb'
1345	  otherwise we get bytes instead of strings.
1346
13472013-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1348
1349	* install-mk (MK_VERSION): bump version
1350
1351	* dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
1352	  apply the same filtering (M_dep_qual_fixes) when setting _machines
1353	  as _build_dirs.
1354	  Also fix the filtering of Makefile.depend files - for reporting
1355	  what we are looking for (M_dep_qual_fixes can get confused by
1356	  Makefile.depend)
1357	  Add some more debug info.
1358
13592013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1360
1361	* gendirdeps.mk (_objtops): fix typo also
1362	  while processing M2D_OBJROOTS to gather qualdir_list
1363	  qualify $ql with loop iterator to ensure correct results.
1364
13652013-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1366
1367	* install-mk (MK_VERSION): 20130801
1368	* libs.mk: update to match progs.mk
1369
13702013-07-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1371
1372	* install-mk (MK_VERSION): 20130726
1373	  some updates from Juniper and FreeBSD
1374	  o meta2deps.py: indicate file and line number when we hit parse
1375	    errors
1376	    also allow @file to provide huge list of .meta files.
1377	* meta2deps.py: add try_parse() to cleanup the above.
1378
13792013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1380
1381	* install-mk (MK_VERSION): 20130716
1382	* own.mk: add GPROG as an option
1383	* prog.mk: honor MK_GPROF==yes
1384
13852013-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1386
1387	* install-mk (MK_VERSION): 20130505
1388	* gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
1389	  for when $MACHINE isn't enough for objdir distinction.
1390	  Bring meta2deps.sh closer to par with meta2deps.py.
1391
13922013-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1393
1394	* meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
1395	  also if the target 'beforeinstall' exists, make it depend on
1396	  .dirdep (incase it uses STAGE_INSTALL).
1397
13982013-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1399
1400	* install-mk (MK_VERSION): 20130401 ;-)
1401	* meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
1402	  wrapper around install(1).
1403	* options.mk (OPTION_PREFIX): Allow a prefix other than MK_
1404
14052013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1406
1407	* meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
1408	* install-mk (MK_VERSION): bump version
1409
14102013-03-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1411
1412	* install-mk (MK_VERSION): bump version
1413	* gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
1414	  any trailing /., rather apply :tA only when needed.
1415	* gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
1416	* meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
1417	  consistently.
1418	* dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
1419
14202013-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1421
1422	* gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
1423	  it is simpler to just not update when say building for "host"
1424	  (where we know we apply filters to DIRDEPS), and using a
1425	  non-machine qualified dependfile.
1426
14272013-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1428
1429	* dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
1430	  and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
1431	* gendirdeps.mk: ensure _objroot has trailing / if it needs it.
1432	* meta2deps.py: if machine is "host", then also trim
1433	  self.host_target from any OBJROOTS.
1434
1435
14362013-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1437
1438	* gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
1439	  qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
1440	  but _DEPENDFILE does not, compare the new _DEPENDFILE against
1441	  .MAKE.DEPENDFILE_DEFAULT and discard if the same.
1442
14432013-03-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1444
1445	* meta.stage.mk: use STAGE_TARGETS to control .ORDER
1446	  and hook to all: via staging:
1447
14482013-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1449
1450	* sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
1451	  use a separate variable for the default .MAKE.DEPENDFILE value
1452	  so that it can be controlled independently of
1453	  .MAKE.DEPENDFILE_PREFERENCE
1454
1455	* meta.stage.mk: throw error if cp fails etc.
1456	  Stage*() return early if passed no args.
1457	  .ORDER stage_*
1458
14592013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1460
1461	* install-mk (MK_VERSION): bump version
1462	* gendirdeps.mk: handle multiple M2D_OBJROOTS better.
1463
14642013-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1465
1466	* install-mk (MK_VERSION): bump version to 20130210
1467	* import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
1468	  from Juniper.
1469	  o dirdeps.mk now fully supports TARGET_SPEC consisting of more
1470	    than just MACHINE.
1471	  o no longer use DEP_MACHINE from Makefile.depend* so remove it.
1472
14732013-01-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1474
1475	* install-mk (MK_VERSION): bump version to 20130123
1476	* meta.stage.mk: add stage_links (hard links).
1477	  if doing hard links, we add dest to link as well.
1478	  Default the stage dir for [sym]links to STAGE_OBJTOP since
1479	  these are typically specified as absolute paths.
1480	  Add -m "mode" flag to StageFiles and StageAs.
1481
14822012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1483
1484	* install-mk (MK_VERSION): bump version to 20121111
1485	* autoconf.mk: avoid meta mode seeing changed commands for config.status
1486	* meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
1487	  in case we were found via .../mk
1488	* sys.clean-env.mk: move it from examples, we and others use it
1489	  "as is".
1490	* FILES: add srctop.mk and options.mk
1491	* own.mk: convert to using options.mk
1492	  which is modeled after FreeBSD's handling of MK_*
1493	  but more flexible.
1494	  This allows MK_* for boolean knobs to not be confused
1495	  with MK* which can be commands.
1496
1497	* examples/sys.clean-env.mk: add WITH[OUT]_ to
1498	  MAKE_ENV_SAVE_PREFIX_LIST.
1499	  Mention that HOME=/var/empty might be a good idea.
1500
15012012-11-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1502
1503	* sys.dependfile.mk: if not depend file exists, $MACHINE
1504	  specific ones are supported but not the default,
1505	  check if any exist and follow suit.
1506
15072012-11-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1508
1509	* install-mk (MK_VERSION): bump version to 20121106
1510
15112012-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1512
1513	* import latest dirdeps.mk and meta2deps.py from Juniper.
1514	* progs.mk: add MAN and CXXFLAGS to PROG_VARS
1515	  also add PROGS_TARGETS and pass on PROG_CXX if it seems
1516	  appropriate.
1517
15182012-11-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1519
1520	* meta.stage.mk: update CLEANFILES
1521	  remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
1522	* progs.mk: Add LDADD to PROG_VARS
1523
15242012-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1525
1526	* meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
1527	  _STAGED_DIRS so that these can be turned into filters for
1528	  GENDIRDEPS_FILTER.
1529
15302012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1531
1532	* install-mk (MK_VERSION): bump version to 20121010
1533	* meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
1534	target.dirdep matches .dirdep
1535
15362012-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1537
1538	* install-mk (MK_VERSION): bump version to 20120808
1539	* import latest meta2deps.py from Juniper.
1540
15412012-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1542
1543	* install-mk (MK_VERSION): bump version to 20120711
1544	* dep.mk: add explicit dependencies on SRCS after applying
1545	  SRCS_DEP_FILTER
1546	* meta.autodep.mk: add explicit dependencies on SRCS after
1547	  applying SRCS_DEP_FILTER
1548	* meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
1549
15502012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1551
1552	* install-mk (MK_VERSION): bump version to 20120626
1553	* meta.sys.mk: ignore PYTHON if it does not exist
1554	  compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
1555	* meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
1556	  entries ending in .${MACHINE} to decide if qualified _dirdep is
1557	  needed.
1558	* gendirdeps.mk: only produce unqualified deps if no
1559	  .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
1560	* meta.subdir.mk: apply SUBDIRDEPS_FILTER
1561
15622012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1563
1564	* install-mk (MK_VERSION): bump version to 20120420
1565	* add sys.dependfile.mk so we can experiment with
1566	  .MAKE.DEPENDFILE_PREFERENCE
1567	* meta.autodep.mk: _DEPENDFILE is precious!
1568
15692012-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1570
1571	* install-mk (MK_VERSION): bump version to 20120315
1572	* install-new.mk: avoid being interrupted
1573
15742012-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1575
1576	* man.mk: MAN might have multiple values so be careful with exists().
1577
15782012-01-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1579
1580	* install-mk (MK_VERSION): bump version to 20120112
1581	* fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
1582	  as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
1583
15842011-12-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1585
1586	* install-mk (MK_VERSION):  bump version to 20111201
1587	* import dirdeps.mk from Juniper sjg@
1588	  o more consistent handling of DEP_MACHINE, especially when
1589	    dealing with an odd Makefile.depend, when normally using
1590	    Makefile.depend.${MACHINE}
1591
15922011-11-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1593
1594	* install-mk (MK_VERSION): bump version to 20111122
1595	* meta.autodep.mk: add some debug output, be more crisp about
1596	  updating.  Use ${.ALLTARGETS:M*.o} as a clue for .depend
1597
15982011-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1599
1600	* install-mk (MK_VERSION): bump version to 20111111
1601	  it's too cool to miss
1602	* import meta* updates from Juniper sjg@
1603	  o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
1604	    normally using Makefile.depend.${MACHINE}), handy for
1605	    read-only manually maintained dependencies.
1606	  o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
1607	  o gendirdeps.mk if ERROR: from meta2deps.py do not update
1608	    anything.
1609
16102011-10-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1611
1612	* install-new.mk separate the cmp and copy logic to its own function.
1613
16142011-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1615
1616	* install-mk (MK_VERSION): bump version to 20111028
1617	* sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
1618	* subdir.mk: ensure _SUBDIRUSE is provided
1619	* meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
1620	* meta.subdir.mk: always allow for Makefile.depend
1621
16222011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1623
1624	* install-mk (MK_VERSION): bump version to 20111010
1625	  o minor tweak to *dirdeps.mk from Juniper sjg@
1626
16272011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1628
1629	* install-mk (MK_VERSION): bump version to 20111001
1630	  o add meta2deps.py from Juniper sjg@
1631	  o tweak gendirdeps.mk to work with meta2deps.py when not
1632	    cross-building
1633	* autoconf.mk: add autoconf-input as a hook for regenerating
1634	  AUTOCONF_INPUTS (configure).
1635
16362011-08-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1637
1638	* meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
1639	  trigger for updating Makefile.depend*
1640
16412011-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1642
1643	* install-mk (MK_VERSION): bump version to 20110808
1644	* obj.mk: minor cleanup
1645	* auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
1646
16472011-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1648
1649	* auto.obj.mk (.OBJDIR): throw an error if we cannot use the
1650	  specified dir.
1651
16522011-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1653
1654	* meta.autodep.mk: if XMAKE_META_FILE is set
1655	  the makefile uses a foreign make, and so dependencies
1656	  can only be gathered from a clean tree build.
1657
16582011-06-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1659
1660	* install-mk (MK_VERSION): bump version to 20110622
1661	* meta.autodep.mk: improve bootstraping
1662
16632011-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1664
1665	* yacc.mk: handle the corner case of .c being removed
1666	  while .h remains.
1667
16682011-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1669
1670	* yacc.mk: do .y.h and .y.c separately
1671
16722011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1673
1674	* install-mk (MK_VERSION): bump version to 20110606
1675	* don't store SRC_DIRDEPS in Makefile.depend* by default
1676	  not everyone needs it.
1677
16782011-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1679
1680	* install-mk (MK_VERSION): bump version to 20110505
1681	  first release including meta mode makefiles
1682
16832011-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1684
1685	* meta.stage.mk: add STAGE_AS_SETS and stage_as
1686	  for things that need to be staged with different names.
1687
16882011-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1689
1690	* meta.stage.mk: add notion of STAGE_SETS
1691	  so a makefile can stage to multiple dirs
1692
16932011-04-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1694
1695	* rst2htm.mk: convert rst to s5 (slides) or plain html depending
1696	  on target name.
1697
16982011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1699
1700	* install-mk (MK_VERSION): bump version to 20110330
1701
17022011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
1703
1704	* sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
1705	  can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
1706	* sys.mk: re-define M_whence in terms of M_type.
1707	  M_type is useful for checking if something is a builtin.
1708
17092011-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1710
1711	* meta.stage.mk: add stage_symlinks and leverage StageLinks for
1712	  stage_libs
1713
17142011-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1715
1716	* dirdeps.mk: correct value for _depdir_files depends on
1717	  .MAKE.DEPENDFILE
1718	  Add our copyright - just to make it clear we have frobbed this
1719	  quite a bit.
1720	  DEP_MACHINE needs to be set to MACHINE each time, if using only
1721	  Makefile.depend (cf. Makefile.depend.${MACHINE})
1722
1723	* meta.stage.mk: meta mode version of staging
1724
1725	* init.mk, final.mk: include local.*.mk to simplify customization
1726
17272011-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1728
1729	* auto.obj.mk: just because we are doing mk destroy, we should
1730	  still set .OBJDIR correctly if it exists.
1731
1732	* install-mk (mksrc): do not exclude meta.sys.mk
1733
17342011-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1735
1736	* host-target.mk: set/export _HOST_ARCH etc separately,
1737	  catch junk resulting from uname -p, so we can find sys/Linux.mk
1738	  correctly.
1739
17402011-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1741
1742	* meta.sys.mk: throw an error if /dev/filemon is missing and we
1743	  expected to be updating Makefile.depend*
1744
17452011-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1746
1747	* install-mk (MK_VERSION): bump version to 20110214
1748	* meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
1749
17502010-09-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1751
1752	* meta.sys.mk: not valid for older bmake
1753
17542010-09-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1755
1756	* install-mk (MK_VERSION): bump version to 20100919
1757	include dirdeps.mk et al from Juniper Networks,
1758	for meta mode - requires filemon(9).
1759	* sys.mk, subdir.mk: Add hooks for meta mode.
1760	we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
1761	to make turning it on/off simple.
1762
17632010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1764
1765	* install-mk (MK_VERSION): bump version to 20100616
1766	* fix typo in sys.mk
1767
17682010-06-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1769
1770	* install-mk (MK_VERSION): bump version to 20100612
1771	* lib.mk: remove duplicate addition to SOBJS
1772
17732010-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1774
1775	* sys.mk: Add a means of selectively turning on debug flags.
1776	  Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
1777	  will act as if we did make -dv if .CURDIR ends in lib/sjg
1778	  DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
1779	  the start of sys.mk rather than the end.
1780	  This only makes sense for leaf dirs, so we check that
1781	  .MAKE.LEVEL > 0
1782
17832010-06-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1784
1785	* install-mk (MK_VERSION): bump version to 20100608
1786	* sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
1787	* examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
1788	  also make it easier for folk to tweak
1789
17902010-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1791
1792	* install-mk (MK_VERSION): bump version to 20100606
1793	  do not install examples/*
1794	* FILES: add examples/sys.clean-env.mk
1795	* examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
1796	  this requires bmake-20100606 or later to work.
1797
17982010-05-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1799
1800	* sys.mk (M_tA): better simulate the result of :tA if not available.
1801
18022010-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1803
1804	* sys.mk: canonicalize MAKE_VERSION
1805	  old versions reported bmake-<src-date> build-<build-date>
1806	  whereas we only care about <src-date>
1807
18082010-04-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1809
1810	* install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
1811	* lib.mk: we only build the shared lib if SHLIB_FULLVERSION
1812	  is !empty
1813
18142010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1815
1816	* dpadd.mk: use LDADD_* if defined.
1817
18182010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1819
1820	* install-mk (MK_VERSION): bump version to 20100420
1821	* sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
1822	* autoconf.mk allow AUTO_AUTOCONF
1823
18242010-04-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1825
1826	* obj.mk: add objwarn to keep freebsd makefiles happy
1827	* auto.obj.mk: ensure Mkdirs is available.
1828	* FILES: add auto.dep.mk - a simpler version of autodep.mk
1829	* dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
1830	  asked to do that.
1831	  fix/simplify the tests for when to run mkdep.
1832	* auto.dep.mk: add some explanation of how/what we do.
1833	* autodep.mk: skip the .OPTIONAL frobbing of .depend
1834	  bmake's FROM_DEPEND flag makes it redundant.
1835
18362010-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1837
1838	* install-mk (MK_VERSION): bump version to 20100404
1839	* subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
1840	* obj.mk: protect from multiple inclusion even as bsd.obj.mk
1841	Also create a target _SUBDIRUSE so that we can  be used without
1842	subdir.mk
1843
18442010-04-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1845
1846	* dep.mk: use <> when .including so can override.
1847
18482010-01-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1849
1850	* lib.mk (SHLIB_LINKS): ensure a string comparison.
1851
18522010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1853
1854	* install-mk (MK_VERSION): bump version to 20100102
1855	* own.mk: ensure PRINTOBJDIR works
1856	* autoconf.mk: pass on CONFIGURE_ARGS
1857	* init.mk: handle COPTS.${.IMPSRC:T} etc.
1858	* lib.mk: allow sys.mk to control SHLIB_FULLVERSION
1859	  fix handling of symlinks for darwin
1860	* libnames.mk: add DSHLIBEXT for libs which only exist as shared.
1861	* man.mk: suppress chown when not root.
1862	* rst2htm.mk: allow srcs from multiple locations.
1863	* sys.mk: M_whence, stop after 1st line of output.
1864	* sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
1865	* sys/SunOS.mk: we need to export PATH
1866
18672009-12-23  Simon J. Gerraty  <sjg@void.crufty.net>
1868
1869	* install-mk (MK_VERSION): bump version
1870	  include rst2htm.mk
1871
18722009-12-17  Simon J. Gerraty  <sjg@void.crufty.net>
1873
1874	* sys.mk,libnames.mk add .-include <local.*>
1875	  this allows local customization without the need to edit the
1876	  distributed files.
1877
18782009-12-14  Simon J. Gerraty  <sjg@void.crufty.net>
1879
1880	* dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
1881	  older versions already installed.
1882
18832009-12-13  Simon J. Gerraty  <sjg@void.crufty.net>
1884
1885	* stage.mk (.stage-install): generalize lib.mk's .libinstall
1886	* rules.mk rules for generic Makefile.
1887	* inc.mk install for includes.
1888
18892009-12-11  Simon J. Gerraty  <sjg@void.crufty.net>
1890
1891	* sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
1892	  this, so provide it if using native make.
1893
18942009-12-10  Simon J. Gerraty  <sjg@void.crufty.net>
1895
1896	* FILES: move all the platform *.sys.mk files to sys/*.mk
1897	* Rename Generic.sys.mk to sys.mk - we always want it.
1898
18992009-11-17  Simon J. Gerraty  <sjg@void.crufty.net>
1900
1901	* install-mk (MK_VERSION): bump version
1902	* host-target.mk: only export the expensive stuff
1903	* Generic.sys.mk (sys_mk): for SunOS we need to look for
1904	  ${HOST_OS}.${HOST_OSMAJOR} too!
1905
19062009-11-07  Simon J. Gerraty  <sjg@void.crufty.net>
1907
1908	* install-mk (MK_VERSION): bump version
1909	* lib.mk: if sys.mk doesn't give us an lorder, don't use it.
1910	  based on patch from Greg Olszewski.
1911	* Generic.sys.mk: if we have nothing to work with
1912	set LORDER etc only if we can find it.
1913
19142009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
1915
1916	* install-mk (MK_VERSION): bump version
1917	* man.mk: cleanman: remove CLEANMAN if defined.
1918
19192009-09-04  Simon J. Gerraty  <sjg@void.crufty.net>
1920
1921	* SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
1922
19232009-07-17  Simon J. Gerraty  <sjg@void.crufty.net>
1924
1925	* install-mk (MK_VERSION): bump version
1926	include auto.obj.mk
1927
1928
19292009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
1930
1931	* prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
1932
19332008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
1934
1935	* install-mk (MK_VERSION): bump version
1936	man.mk: ensure we generate *.cat1 etc in .
1937
19382008-07-16  Simon J. Gerraty  <sjg@void.crufty.net>
1939
1940	* install-mk (MK_VERSION): bump version
1941	add prlist.mk
1942
19432007-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
1944
1945	* Generic.sys.mk: Allow os specific sys.mk to be in a
1946	subdir of ${.PARSEDIR}
1947
19482007-11-22  Simon J. Gerraty  <sjg@void.crufty.net>
1949
1950	* install-mk (MK_VERSION): bump version
1951	* general cleanup
1952	* dpadd.mk introduce DPMAGIC_LIBS_*
1953
19542007-04-30  Simon J. Gerraty  <sjg@void.crufty.net>
1955
1956	* install-mk (MK_VERSION): bump version
1957
1958	* libs.mk, progs.mk, autodep.mk: allow for per lib/prog
1959	depend files and ensure clean is called for each lib/prog.
1960
19612007-03-27  Simon J. Gerraty  <sjg@void.crufty.net>
1962
1963	* autodep.mk (.depend): delete lines that do not start with
1964	space and do not contain ':'
1965
19662007-02-16  Simon J. Gerraty  <sjg@void.crufty.net>
1967
1968	* autodep.mk (.depend): gcc may wrap lines if pathnames are long
1969	so make sure the transform for .OPTIONAL copes.
1970
19712007-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
1972
1973	* install-mk (MK_VERSION): bump version
1974
1975	* own.mk: make sure RM and LN are defined.
1976
1977	* obj.mk: fix a typo, and objlink target.
1978
19792006-12-30  Simon J. Gerraty  <sjg@void.crufty.net>
1980
1981	* install-mk (MK_VERSION): bump version
1982	* added libs.mk - analogous to progs.mk
1983	  make both of them always inlcude {lib,prog}.mk
1984
19852006-12-28  Simon J. Gerraty  <sjg@void.crufty.net>
1986
1987	* progs.mk: add a means of building multiple apps in one dir.
1988
19892006-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
1990
1991	* install-mk (MK_VERSION): bump version to 20061126
1992
1993	* warnings.mk: detect invalid WARNINGS_SET
1994
1995	* warnings.mk: use ${.TARGET:T:R}.o when looking for target
1996	specific warnings.
1997
1998	* For .cc sources, turn off warnings that g++ vomits on.
1999
20002006-11-08  Simon J. Gerraty  <sjg@void.crufty.net>
2001
2002	* own.mk: if __initialized__ target doesn't exist and we are
2003	FreeBSD we got here directly from sys.mk
2004
20052006-11-06  Simon J. Gerraty  <sjg@void.crufty.net>
2006
2007	* install-mk (MK_VERSION): bump version to 20061106
2008	add scripts.mk
2009
20102006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
2011
2012	* install-mk (MK_VERSION): bump version to 20060318
2013
2014	* autodep.mk: avoid := when modifying OBJS into __dependsrcs
2015
20162006-03-02  Simon J. Gerraty  <sjg@void.crufty.net>
2017
2018	* install-mk (MK_VERSION): bump version to 20060302
2019	* autodep.mk: use -MF et al to help gcc+ccache DTRT.
2020
20212006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
2022
2023	* install-mk (MK_VERSION): bump version to 20060301
2024	* autodep.mk (.depend):
2025	if MAKE_VERSION is newer than  20050530 we can make .END depend on
2026	.depend and make .depend depend on __depsrcs that exist.
2027	* dpadd.mk: add SRC_PATHADD
2028
20292005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
2030
2031	* install-mk (MK_VERSION): bump version to 20051104
2032	* prog.mk: remove all the LIBC?= junk, use
2033	.-include libnames.mk instead (none by default).
2034	also if USE_DPADD_MK is set, include that.
2035
20362005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2037
2038	* install-mk (MK_VERSION): bump version to 20051001
2039	Add UnixWare.sys.mk from Klaus Heinz.
2040
20412005-04-05  Simon J. Gerraty  <sjg@void.crufty.net>
2042
2043	* install-mk: always install *.sys.mk and if need be symlink one
2044	to sys.mk
2045
20462005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2047
2048	* subdir.mk, own.mk: use .MAKE rather than MAKE
2049
20502004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
2051
2052	* own.mk: don't use NetBSD's _SRC_TOP_ it can
2053	cause confusion.  Also don't take just 'mk' as a
2054	srctop indicator.
2055
20562004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
2057
2058	* warnings.mk: overhauled, now very powerful.
2059
20602004-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2061
2062	* Generic.sys.mk: need to use ${.PARSEDIR} with exists().
2063
20642004-02-01  Simon J. Gerraty  <sjg@void.crufty.net>
2065
2066	* install-mk (MK_VERSION): bump version to 20040201
2067	* extract HOST_TARGET stuff to host-target.mk so own.mk and
2068	Generic.sys.mk can share.
2069	* fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
2070
20712003-09-30  Simon J. Gerraty  <sjg@void.crufty.net>
2072
2073	* install-mk (MK_VERSION): 20030930
2074	* rename generic.sys.mk to Generic.sys.mk
2075	so that it does not get installed (unless being used as sys.mk)
2076	* set OS and ROOT_GROUP for those that we know the value.
2077	for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
2078	we don't do it again for each sub-make.
2079
20802003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
2081
2082	* install-mk (MK_VERSION): 20030928
2083	Add some extra *.sys.mk from bootstrap-pkgsrc
2084	some of these likely still need work.
2085	Make everything default to root:wheel ownership,
2086	sys.mk can set ROOT_GROUP accordingly.
2087
20882003-08-07  Simon J. Gerraty  <sjg@void.crufty.net>
2089
2090	* install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
2091	not the portable ones.
2092
20932003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
2094
2095	* install-mk: add ability to use cp -f when updating
2096	destination .mk files.  Also now possible to play games with
2097	FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
2098	into dest - not recommended unless you seriously want to.
2099
21002003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
2101
2102	* own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
2103	for semi-compatability with NetBSD.
2104
21052003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
2106
2107	* install-mk: add a version indicator
2108
21092003-07-22  Simon J. Gerraty  <sjg@void.crufty.net>
2110
2111	* prog.mk: don't try and use ${LIBCRT0} if its /dev/null
2112
2113	* install-mk: Allow FORCE_SYS_MK to come from env
2114
2115
2116
2117