xref: /freebsd/contrib/bmake/mk/ChangeLog (revision 81ad6265)
12023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* install-mk (MK_VERSION): 20230120
4
5	* sys.vars.mk: add M_On and M_Onr also cleanup to be more
6	consistent wrt testing MAKE_VERSION
7
82023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
9
10	* install-mk (MK_VERSION): 20230112
11
12	* meta2deps.{py,sh}: assert if filemon data is truncated
13	we should see the '# Bye bye' record - assert if we do not.
14
152022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
16
17	* install-mk (MK_VERSION): 20220909
18
19	* sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings
20
212022-09-06  Simon J Gerraty  <sjg@beast.crufty.net>
22
23	* dirdeps-options.mk: explain the need to use
24	${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to
25	${TARGET_SPEC_VAR}
26
272022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
28
29	* install-mk (MK_VERSION): 20220903
30
31	* M_cmpv handle more than 3 dots and clear leading 0's
32
332022-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
34
35	* install-mk (MK_VERSION): 20220720
36
37	* prog.mk: handle PROG_CXX for more than just NetBSD
38
392022-06-20  Simon J Gerraty  <sjg@beast.crufty.net>
40
41	* install-mk (MK_VERSION): 20220620
42
43	* yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER
44	rather than just suffix rules
45
462022-04-23  Simon J Gerraty  <sjg@beast.crufty.net>
47
48	* install-mk (MK_VERSION): 20220422
49
50	* gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no"
51	do not capture any local depends in Makefile.depend
52
532022-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
54
55	* install-mk (MK_VERSION): 20220323
56	* posix.mk: default rules for .POSIX:
57
582022-03-17  Simon J Gerraty  <sjg@beast.crufty.net>
59
60	* sys/*.mk: remove l from ARFLAGS
61
622022-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
63
64	* install-mk (MK_VERSION): 20220314
65
66	* dirdeps-options.mk: allow options to be per RELDIR
67	try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed
68	with ${DEP_RELDIR}.
69
702022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
71
72	* install-mk (MK_VERSION): 20220214
73
74	* cc-wrap.mk: fix :@ modifier
75
762022-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
77
78	* install-mk (MK_VERSION): 20220206
79
80	* cc-wrap.mk: docuement how CCACHE etc might be set for
81	maximum flexibility
82
832022-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
84
85	* sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT
86
872022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
88
89	* install-mk (MK_VERSION): 20220204
90
91	* host-target.mk: use .MAKE.OS if available
92
932022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
94
95	* install-mk (MK_VERSION): 20220202
96
97	* cc-wrap.mk: allow other entries in CC_WRAP_FILTER
98	We add our filter on extensions last, so prior filters
99	can apply to the whole value of .IMPSRC
100
1012022-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
102
103	* cc-wrap.mk: take advantage of target local variables to
104	wrap compilers like CC CXX with wrappers like ccache distcc etc
105
1062022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
107
108	* meta2deps: we do not expect any trace data for setid apps
109
1102022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
111
112	* dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed
113	to sub-make using DIRDEPS_CACHE
114
1152022-01-07  Simon J Gerraty  <sjg@beast.crufty.net>
116
117	* dirdeps.mk: use _cache_script to minimize the number of shells
118	forked when generating dirdeps.cache
119
1202022-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
121
122	* install-mk (MK_VERSION): 20220101
123
124	* dirdeps.mk: initialize DEP_* and _debug_reldir earlier.
125	If initial DIRDEPS are from command line, create the target
126	_dirdeps_cmdline as an indication.
127
1282022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
129
130	* init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD
131	at top-level only some targets are allowed at level 0,
132	for leaf makefiles only the default (all) target is restricted
133
1342021-12-28  Simon J Gerraty  <sjg@beast.crufty.net>
135
136	* install-mk (MK_VERSION): 20211228
137
138	* meta2deps.py: filemon on Linux is not as reliable as we might
139	like, we do not want to update DIRDEPS if filemon output is
140	incomplete.   Track pids that we 'E'xec and make sure we see an
141	e'X'it for each one.  Throw an error if we are missing any 'X'
142	records.
143
1442021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
145
146	* sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes.
147
148	* meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON
149	is something else.
150
151	* meta.autodep.mk: we can now reference ${.SUFFIXES}
152
153	* meta2deps.py: derive a list of dirdep extensions from
154	TARGET_SPEC to trim from dirdeps.
155
156	* dirdeps.mk: flip the computation of qualified vs unqualified
157	dirdeps - it is much simpler to check for unqualified first.
158
1592021-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
160
161	* install-mk (MK_VERSION): 20211212
162
163	* auto.dep.mk: rearrange so that the trivial implementation
164	for recent bmake is more obvious.
165
1662021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
167
168	* install-mk (MK_VERSION): 20211207
169
170	* Ensure guard targets are .NOTMAIN
171
172	* meta.sys.mk: check for nofilemon support when we skip level 0
173
174	* auto.dep.mk: make this usable in meta mode
175	for platforms that cannot use meta.autodep.mk
176
177	* meta2deps.py: avoid confusion if MACHINE and another
178	TARGET_SPEC_VAR have same value.
179
1802021-11-27  Simon J Gerraty  <sjg@beast.crufty.net>
181
182	* dirdeps.mk: when building dirdeps.cache, minimize the amount of
183	data put into env, by stripping ${SRCTOP}/ from each entry.
184	A long sandbox name can double the amount of memory consumed and
185	in extreme cases cause failure.
186	While we are at it, strip ${SRCTOP}/ from a lot of the debug output.
187
1882021-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
189
190	* install-mk (MK_VERSION): 20211111
191
192	* meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail
193	so fallback to cp if necessary.
194
1952021-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
196
197	* man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year
198	old cmt2doc.pl
199
2002021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
201
202	* meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f}
203	as the symlink (rare)
204
2052021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
206
207	* autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not
208	been read, throw an error after running configure telling user to
209	restart.
210
2112021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
212
213	* install-mk (MK_VERSION): 20211011
214
215	* Add support for SCO_SV
216
2172021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
218
219	* install-mk (MK_VERSION): 20211001
220
221	* man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more
222	flexibility
223
2242021-09-13  Simon J Gerraty  <sjg@beast.crufty.net>
225
226	* options.mk (describe-options): print options and their values
227	  and optional description
228
2292021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
230
231	* install-mk (MK_VERSION): 20210911
232
233	* options.mk (show-options): print options and their values
234
2352021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
236
237	* install-mk (MK_VERSION): 20210909
238
239	* lib.mk: apply patch from <daniel@octaforge.org>
240	to fix shared libs on Linux
241
2422021-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
243
244	* install-mk (MK_VERSION): 20210808
245
246	* options.mk: issue warning for WITH_*=no
247
2482021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
249
250	* install-mk (MK_VERSION): 20210616
251
252	* dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find
253	depend files to read, anchor MACHINE at , or end of string
254	to avoid prefix match.
255
2562021-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
257
258	* install-mk (MK_VERSION): 20210504
259
260	* dirdeps.mk: re-implement ALL_MACHINES support to better
261	cater for local complexities, when ONLY_TARGET_SPEC_LIST
262	is not set. local.dirdeps.mk can set
263	DIRDEPS_ALL_MACHINES_FILTER and/or
264	DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get
265	from listing all existing Makefile.depend.*
266
2672021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
268
269	* install-mk (MK_VERSION): 20210420
270
271	* dirdeps.mk: revert previous - not always safe.
272
2732021-03-20  Simon J Gerraty  <sjg@beast.crufty.net>
274
275	* install-mk (MK_VERSION): 20210321
276
277	* dirdeps.mk: when generating dirdeps.cache
278	we only need to hook the initial DIRDEPS to the
279	dirdeps target.  That and any _build_xtra_dirs (like tests which
280	should not be hooked directly to the dependency graph - to avoid
281	cycles)
282
2832021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
284
285	* install-mk (MK_VERSION): 20210130
286
287	* dirdeps.mk: expr 2 - 1 - 1 exits with a bad status
288	  we need to  guard against this in DIRDEP_LOADAVG_REPORT.
289
290	* dirdeps.mk: restore respect for TARGET_MACHINE
291
2922021-01-06  Simon J Gerraty  <sjg@beast.crufty.net>
293
294	* install-mk (MK_VERSION): 20210101
295
296	* dirdeps.mk: first time we are read, just use TARGET_SPEC for
297	_DEP_TARGET_SPEC
298
2992020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
300
301	* sys.mk (MAKE_SHELL): use ${.SHELL:Ush}
302	and use := when setting SHELL
303
3042020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
305
306	* install-mk (MK_VERSION): 20201221
307
308	* dirdeps-options.mk: latest bmake allows only one arg to .undef
309
3102020-12-11  Simon J Gerraty  <sjg@beast.crufty.net>
311
312	* dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS
313	so that any directory can be treated as a target.
314
3152020-11-26  Simon J Gerraty  <sjg@beast.crufty.net>
316
317	* install-mk (MK_VERSION): 20201126
318
319	* own.mk: use .MAKE.{UID,GID} if available.
320
321	* init.mk: suppress _SKIP_BUILD warning if doing -V
322
3232020-11-20  Simon J Gerraty  <sjg@beast.crufty.net>
324
325	* install-mk (MK_VERSION): 20201120
326
327	* init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS
328
329	* dirdeps-targets.mk: fix typo in comment
330
3312020-11-06  Simon J Gerraty  <sjg@beast.crufty.net>
332
333	* install-mk (MK_VERSION): 20201106
334
335	* meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed
336	args to tweak extensions for local deps.
337
3382020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
339
340	* install-mk (MK_VERSION): 20201101
341
342	* dirdeps.mk: most leaf makefiles are not suitable for building
343	dirdeps.cache so if RELDIR is not "." use dirdeps.mk
344
3452020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
346
347	* install-mk (MK_VERSION): 20201028
348
349	* dirdeps.mk: if we don't have :range use equivalent of M_RANGE
350	when building dirdeps.cache for leaf directory use -f dirdeps.mk
351
352	* sys.vars.mk: add M_JOT and M_RANGE
353
3542020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
355
356	* install-mk (MK_VERSION): 20201001
357
358	* meta2deps.{py,sh}: throw an error if we don't see filemon version
359
3602020-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
361
362	* install-mk (MK_VERSION): 20200909
363
364	* dirdeps-cache-update.mk: use cache_update_dirdep as guard target
365
3662020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
367
368	* dirdeps.mk: ensure we cannot confuse a static cache for dynamic
369	(even more rare that use of static cache is playing clever tricks
370	with it)
371
3722020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
373
374	* dirdeps-cache-update.mk: allow
375	MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we
376	actually update STATIC_DIRDEPS_CACHE.
377
378	* stage-install.sh: create dest directory if needed
379	before running install(1)
380
3812020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
382
383	* dirdeps-targets.mk: include Makefile.dirdeps.options
384
385	* dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE
386
3872020-08-09  Simon J Gerraty  <sjg@beast.crufty.net>
388
389	* dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty
390
391	* dirdeps-cache-update.mk: building parallel cache update
392	under the context of dirdeps-cached would be ideal, but
393	is problematic, so it runs as a sibling.
394	Use cache-built target to ensure we wait for it to complete if
395	necessary.
396
3972020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
398
399	* install-mk (MK_VERSION): 20200806
400
401	* dirdeps-options: allow TARGET_SPEC to affect option values.
402	Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_*
403
404	* dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined
405	before looking for STATIC_DIRDEPS_CACHE
406
4072020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
408
409	* host-target.mk: Darwin use MACHINE for HOST_ARCH too
410
411	* dirdeps-options.mk: improve debug output
412
4132020-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
414
415	* dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE
416	for use by dirdeps-cache-update.mk
417
418	* dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE
419	for use by dirdeps-cache-update.mk even if we don't use it.
420
421	* dirdeps-cache-update.mk: we only need worry about the background
422	update case, with the above, the update from DIRDEPS_CACHE is
423	simple.
424
425	* meta2deps.py: R 1234 . is not interesting
426
4272020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
428
429	* sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE
430
431	* dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS
432	allows use of lower case for pseudo options.
433
434	* dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE
435
4362020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
437
438	* dirdeps-targets.mk: Look for Makefile.dirdeps.cache
439	which allows us to have a static cache for expensive targets.
440	Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE
441	to regenerate the dirdeps.cache it is a copy of.
442
4432020-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
444
445	* Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense.
446
4472020-07-16  Simon J Gerraty  <sjg@beast.crufty.net>
448
449	* dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record
450	load averages at intervals during build.
451
4522020-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
453
454	* install-mk (MK_VERSION): 20200715
455
456	* dirdeps.mk: tweak Checking line to make matching Finished
457	lines for post-build analysis easier.
458
459	* meta.autodep.mk: use !defined(WITHOUT_META_STATS)
460
461	* progs.mk: avoid prog.mk outputting multiple Finished lines
462
4632020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
464
465	* dirdeps.mk: further optimize dirdeps.cache
466	generate a DIRDEPS.${.TARGET} list for other purposes
467	and improve the layout.
468
4692020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
470
471	* dirdeps.mk: optimize content of dirdeps.cache
472
4732020-06-28  Simon J Gerraty  <sjg@beast.crufty.net>
474
475	* sys/*.mk: make it easier for local*sys.mk to customize by
476	using ?=
477
4782020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
479
480	* gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
481	it is much safer to guard local depends with a simple check for
482	.MAKE.LEVEL > 0
483
4842020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
485
486	* install-mk (MK_VERSION): 20200610
487
488	* mkopt.sh: this needs posix shell so #!/bin/sh should be ok
489
4902020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
491
492	* install-mk (MK_VERSION): 20200606
493
494	* dirdeps-targets.mk: allow for filtering of .TARGETS
495
496	* meta2deps.py: fix bug in processing 'L'ink and 'M'ove
497	entries - and we don't care about 'W'rite entries.
498	Also ignore absolute paths that do not exist.
499
5002020-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
501
502	* install-mk (MK_VERSION): 20200525
503
504	* init.mk: expand and simplify handling of qualified vars
505	like CPPFLAGS.${.TARGET:T}
506
5072020-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
508
509	* install-mk (MK_VERSION): 20200515
510
511	* dirdeps.mk: set _debug_* earlier and allow passing -d*
512	flags to submake when building DIRDEPS_CACHE
513
5142020-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
515
516	* whats.mk: more easily extensible
517
5182020-05-02  Simon J Gerraty  <sjg@beast.crufty.net>
519
520	* whats.mk: greatly simplify by adding what.c to SRCS
521
5222020-05-01  Simon J Gerraty  <sjg@beast.crufty.net>
523
524	* whats.mk: for libs take care how we add to *OBJS
525
526	* lib.mk: : works better with whats.mk
527
5282020-04-25  Simon J Gerraty  <sjg@beast.crufty.net>
529
530	* install-mk (MK_VERSION): 20200420
531
532	* meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
533	contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
534
5352020-04-16  Simon J Gerraty  <sjg@beast.crufty.net>
536
537	* install-mk (MK_VERSION): 20200416
538
539	* sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
540	  interfere with user env.
541
542	* sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
543
544	* autodep.mk: use MAKE_SHELL.
545
5462019-11-21  Simon J Gerraty  <sjg@beast.crufty.net>
547
548	* gendirdeps.mk: clear .SUFFIXES to avoid a lot of
549	  wasted effort, and unexport _meta_files when no longer needed as
550	  it consumes space we need for command line.
551
5522019-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
553
554	* dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
555	  DIRDEP_USE_PRELUDE at start - facilitates job distribution
556
5572019-10-04  Simon J Gerraty  <sjg@beast.crufty.net>
558
559	* dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
560	defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
561	TARGET_SPEC qualified depend files.
562
5632019-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
564
565	* dirdeps-targets.mk: encapsulate logic for finding top-level
566	  targets to set initial DIRDEPS for DIRDEPS_BUILD
567
5682019-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
569
570	* install-mk (MK_VERSION): 20190911
571
572	* compiler.mk: set COMPILER_TYPE
573
5742019-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
575
576	* install-mk (MK_VERSION): 20190704
577
578	* sys/Darwin.mk: support for Objective-C and clang
579
5802019-05-30  Simon J Gerraty  <sjg@beast.crufty.net>
581
582	* dirdeps.mk: avoid insanely long command line when generating cache
583
5842019-05-23  Simon J Gerraty  <sjg@beast.crufty.net>
585
586	* install-mk (MK_VERSION): 20190505
587
588	* whats.mk: handle corner case SHLIB defined but not LIB
589
5902018-09-19  Simon J Gerraty  <sjg@beast.crufty.net>
591
592	* install-mk (MK_VERSION): 20180919
593
594	* dirdeps-options.mk: .undef cannot handle var that expands to
595	  more than one var.
596
5972018-07-08  Simon J Gerraty  <sjg@beast.crufty.net>
598
599	* meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
600
6012018-06-01  Simon J Gerraty  <sjg@beast.crufty.net>
602
603	* meta.autodep.mk: export META_FILES to avoid command line limit
604	* gendirdeps.mk: if we have lots of .meta files put them in
605	  an @list
606
6072018-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
608
609	* dirdeps-options.mk: use local.dirdeps-options.mk
610	  not local.dirdeps-option.mk
611
6122018-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
613
614	* install-mk (MK_VERSION): 20180420
615	* dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
616	  ie. we are building something.
617
6182018-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
619
620	* FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
621
6222018-04-05  Simon J Gerraty  <sjg@beast.crufty.net>
623
624	* install-mk (MK_VERSION): 20180405
625
626	* ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
627	  if needed.
628
6292018-01-18  Simon J Gerraty  <sjg@beast.crufty.net>
630
631	* install-mk (MK_VERSION): 20180118
632
633	* ldorder.mk: let make compute correct link order
634
6352017-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
636
637	* install-mk (MK_VERSION): 20171212
638
639	* gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
640
6412017-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
642
643	* install-mk (MK_VERSION): 20171111
644
645	* lib.mk: ensure META_NOECHO is set
646
6472017-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
648
649	* Allow for host32 on rare occasions.
650
6512017-10-18  Simon J. Gerraty  <sjg@bad.crufty.net>
652
653	* install-mk (MK_VERSION): 20171018
654
655	* whats.mk: include what_thing in what_uuid to avoid problem
656	  when building multiple apps in the same directory.
657
6582017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
659
660	* install-mk (MK_VERSION): 20170812
661
662	* autoconf.mk: Use CONFIGURE_DEPS so Makefile can
663	  add dependencies for config.recheck and config.gen
664
6652017-06-30  Simon J. Gerraty  <sjg@bad.crufty.net>
666
667	* install-mk (MK_VERSION): 20170630
668
669	* meta.stage.mk: avoid triggering stage_* targets with nothing to do.
670
6712017-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
672
673	* meta2deps.py: take special care of '..'
674
6752017-05-15  Simon J. Gerraty  <sjg@bad.crufty.net>
676
677	* install-mk (MK_VERSION): 20170515
678
679	* dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
680	useful/necessary for a Makefile.depend file to export some knobs.
681	This is complicated when we are doing DIRDEPS_CACHE, so we will
682	handle export of any variables listed in DEP_EXPORT_VARS.
683
6842017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
685
686	* install-mk (MK_VERSION): 20170505
687
688	* meta2deps.py: fix botched indenation.
689
6902017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
691
692	* sys/*.mk: Remove setting of MAKE it is unnecessary and
693	  in many cases wrong (basname rather than full path)
694
695	* scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
696
697	* init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
698
6992017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
700
701	* install-mk (MK_VERSION): 20170501
702
703	* doc.mk: fix typo in DOC_INSTALL_OWN
704
705	* inc.mk: handle INCGROUPS similar to freebsd
706
707	* files.mk: add something for files too
708
709	* add staging logic to lib.mk prog.mk etc.
710
7112017-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
712
713	* install-mk (MK_VERSION): 20170424
714
715	* dirdeps.mk: set NO_DIRDEPS when bootstrapping.
716	  also target of bootstrap-this when sed is needed should be ${_want:T}
717
7182017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
719
720	* install-mk (MK_VERSION): 20170418
721
722	* auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
723	  prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
724
7252017-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
726
727	* install-mk (MK_VERSION): 20170401
728
729	* meta2deps.py: add is_src so we can check if obj dependency
730	  is also a src dependency.
731
7322017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
733
734	* install-mk (MK_VERSION): 20170326
735
736	* meta.stage.mk: do nothing if NO_STAGING is defined.
737
7382017-03-24  Simon J. Gerraty  <sjg@bad.crufty.net>
739
740	* auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
741
7422017-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
743
744	* mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
745
7462017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
747
748	* install-mk (MK_VERSION): 20170301
749
750	* dirdeps.mk (_build_all_dirs): update this outside test for empty
751	  DIRDEPS.
752
753	* meta.stage.mk: allow multiple inclusion to the extent it makes
754	  sense.
755
7562017-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
757
758	* prog.mk (install_links): depends on realinstall
759
7602017-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
761
762	* install-mk (MK_VERSION): 20170212
763
764	* dpadd.mk: avoid applying :T:R twice to DPLIBS entries
765
7662017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
767
768	* install-mk (MK_VERSION): 20170130
769
770	* dirdeps.mk: use :range if we can.
771
772	* sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
773
774	* meta2deps.py: clean paths without using realpath() where possible.
775	  fix sort_unique.
776
7772016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
778
779	* install-mk (MK_VERSION): 20161212
780
781	* meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
782	rather than when we detect pid change.
783
7842016-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
785
786	* install-mk (MK_VERSION): 20161207
787
788	* meta.stage.mk: add stage_as_and_symlink for staging packages.
789	  We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
790	  to use foo.tgz to reference the latest staged version - so we
791	  make foo.tgz a symlink to it.
792	  Using a target to do both operations ensures we stay in sync.
793
7942016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
795
796	* install-mk (MK_VERSION): 20161126
797
798	* dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
799	  so it can add dependencies.
800
8012016-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
802
803	* dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
804	  do that they can influence the result correctly.
805
806	* dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
807
808	* dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
809	  similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
810
8112016-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
812
813	* dirdeps.mk: remove dependence on jot (normal situations anyway).
814	  Before we read another Makefile.depend* set DEP_* vars from
815	  _DEP_TARGET_SPEC in case it uses any of them with :=
816	  When bootstrapping, trim any ,* from extention of chosen _src
817	  Makefile.depend* to get the machine value we subst for.
818
8192016-09-30  Simon J. Gerraty  <sjg@bad.crufty.net>
820
821	* dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
822	  DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
823
824	* sys.mk: extract some bits to sys.{debug,vars}.mk
825	  for easier re-use by others.
826
8272016-09-23  Simon Gerraty  <sjg@sjg-mba13>
828
829	* lib.mk: Use ${PICO} for extension for PIC objects.
830	  default to .pico (like NetBSD) safe on case insensitive filesystem.
831
8322016-08-19  Simon J. Gerraty  <sjg@bad.crufty.net>
833
834	* meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
835
8362016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
837
838	* install-mk (MK_VERSION): 20160815
839
840	* dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
841	consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
842
8432016-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
844
845	* meta.sys.mk (.MAKE.META.IGNORE_PATHS):
846	  in meta mode we can ignore the mtime of makefiles
847
8482016-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
849
850	* install-mk (MK_VERSION): 20160802
851
852	* lib.mk (libinstall): depends on beforinstall
853
854	* prog.mk (proginstall): depends on beforinstall
855	  patch from Lauri Tirkkonen
856
857	* dirdeps.mk (bootstrap): When bootstrapping; creat
858	.MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
859	.MAKE.DEPENDFILE_BOOTSTRAP_SED
860
861	* dirdeps.mk: move some comments to where they make sense.
862
8632016-07-27  Simon J. Gerraty  <sjg@bad.crufty.net>
864
865	* dirdeps.mk (DIRDEPS_CACHE): no dirname.
866
8672016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
868
869	* install-mk (MK_VERSION): 20160602
870	* meta.autodep.mk: when passing META_FILES to gendirdeps.mk
871	  do not apply :T to META_XTRAS
872	  patch from Bryan Drewery at FreeBSD.org.
873
8742016-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
875
876	* install-mk (MK_VERSION): 20160530
877	* meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
878	  make it so.
879
8802016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
881
882	* install-mk (MK_VERSION): 20160512
883
884	* dpadd.mk: always include local.dpadd.mk if it exists
885	  remove some things that better belong in local.dpadd.mk
886	  skip INCLUDES_* for staged libs unless SRC_* defined.
887
888	* own.mk: add INCLUDEDIR
889
8902016-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
891
892	* dirdeps.mk: when doing -f dirdeps.mk if target suppies no
893	  TARGET_MACHINE - :E will be empty or match part of path, use
894	  ${MACHINE}
895
8962016-04-07  Simon J. Gerraty  <sjg@bad.crufty.net>
897
898	* meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
899	  NO_FILEMON_COOKIE
900
901	* dirdeps.mk: move the logic that allows for
902	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
903	  inside the check for !target(_DIRDEP_USE)
904
9052016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
906
907	* Use <> when including local*.mk and others which may exist
908	  elsewhere so that user can better control what they get.
909
910	* meta.autodep.mk (NO_FILEMON_COOKIE):
911	  create a cookie if we ever build dir with nofilemon
912	  so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
913
9142016-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
915
916	* install-mk (MK_VERSION): 20160401
917
918	* meta2deps.py: fix old print statement when debugging.
919
920	* gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
921	  patch from Bryan Drewery
922
9232016-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
924
925	* install-mk (MK_VERSION): 20160317 (St. Pats)
926
927	* warnings.mk: g++ does not like -Wimplicit
928
929	* sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
930	  pelthora of common suffixes for C++
931
932	* lib.mk: use .So for shared objects
933
9342016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
935
936	* install-mk (MK_VERSION): 20160315
937
938	* meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
939	  normally only applies to scripts.
940
941	* dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
942	  well as outside it.
943
9442016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
945
946	* install-mk (MK_VERSION): 20160310
947
948	* dirdeps.mk: use targets rather than a list to track DIRDEPS that
949	  we have processed; the list gets very inefficient as number of
950	  DIRDEPS gets large.
951
952	* sys.dependfile.mk: fix comment wrt MACHINE
953
954	* meta.autodep.mk: ignore staged DPADDs when bootstrapping.
955	  patch from Bryan Drewery
956
9572016-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
958
959	* meta2deps.sh: don't ignore subdirs.
960	  patch from Bryan Drewery
961
9622016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
963
964	* install-mk (MK_VERSION): 20160226
965
966	* gendirdeps.mk: mark _DEPENDFILE .NOMETA
967
9682016-02-20  Simon J. Gerraty  <sjg@bad.crufty.net>
969
970	* dirdeps.mk: we shouldn't normally include .depend but if we do
971	  use .dinclude if we can.
972
9732016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
974
975	* install-mk (MK_VERSION): 20160218
976	* sys.clean-env.mk: with recent change to Var_Subst()
977	  we cannot use the '$$' trick, but .export-literal does the job
978	  we need.
979	* auto.dep.mk: make use .dinclude if we can.
980
981
9822016-02-05  Simon J. Gerraty  <sjg@bad.crufty.net>
983
984	* dirdeps.mk:
985	  Add _build_all_dirs such that local.dirdeps.mk can
986	  add fully qualified dirs to it.
987	  These will be built normally but the current
988	  DEP_RELDIR will not depend on then (to avoid cycles).
989	  This makes it easy to hook things like unit-tests into build.
990
991
9922016-01-21  Simon J. Gerraty  <sjg@bad.crufty.net>
993
994	* dirdeps.mk: add bootstrap-empty
995
9962015-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
997
998	* install-mk (MK_VERSION): 20151212
999	* auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
1000	  only apply :tA to __objdir when comparing to .OBJDIR
1001
10022015-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1003
1004	* install-mk (MK_VERSION): 20151111
1005
1006	* meta.sys.mk: include sys.dependfile.mk
1007
1008	* sys.mk (OPTIONS_DEFAULT_NO): use options.mk
1009	  to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
1010	  include local.sys.env.mk early
1011	  include local.sys.mk later
1012
1013	* own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
1014
10152015-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1016
1017	* meta.sys.mk (META_COOKIE_TOUCH):
1018	  add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
1019
1020	* meta.stage.mk: stage_libs should ignore SYMLINKS.
1021
10222015-10-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1023
1024	* install-mk (MK_VERSION): 20151022
1025
1026	* sys.mk: BSD/OS does not have 'type' as a shell builtin.
1027
10282015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1029
1030	* install-mk (MK_VERSION): 20151020
1031
1032	* dirdeps.mk: Add logic for
1033	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
1034
10352015-10-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1036
1037	* install-mk (MK_VERSION): 20151010
1038
10392015-10-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1040
1041	* meta.stage.mk: use staging: ${STAGE_TARGETS:...
1042	  to have stage_lins run last in non-jobs mode.
1043	  Use .ORDER only for jobs mode.
1044
10452015-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1046
1047	* rst2htm.mk: allow for per target flags etc.
1048
10492015-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1050
1051	* install-mk (MK_VERSION): 20150901
1052
1053	* doc.mk: create dir if needed use DOC_INSTALL_OWN
1054
10552015-06-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1056
1057	* install-mk (MK_VERSION): 20150615
1058
1059	* auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
1060	  Follow make's normal precedence rules.
1061
1062	* gendirdeps.mk: allow customization of the header.
1063	  eg. for FreeBSD:
1064	  GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
1065
1066	* meta.autodep.mk: ignore dirdeps.cache*
1067
1068	* meta.stage.mk: when bootstrapping options it can be handy to
1069	  throw warnings rather than errors for staging conflicts.
1070
1071	* meta.sys.mk: include local.meta.sys.mk for customization
1072
10732015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1074
1075	* install-mk (MK_VERSION): 20150606
1076
1077	* dirdeps.mk: don't rely on manually maintained Makefile.depend
1078	  to set DEP_RELDIR and reset DIRDEPS.
1079	  By setting DEP_RELDIR ourselves we can skip :tA
1080
1081	* gendirdeps.mk: skip setting DEP_RELDIR.
1082
10832015-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1084
1085	* dirdeps.mk: avoid wildcards like make(bootstrap*)
1086
10872015-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1088
1089	* install-mk (MK_VERSION): 20150520
1090
1091	* dirdeps.mk: when we are building dirdeps cache file we *want*
1092	  meta_oodate to look at all the Makefile.depend files, so
1093	  set .MAKE.DEPENDFILE to something that won't match.
1094
1095	* meta.stage.mk: for STAGE_AS_* basename of file may not be unique
1096	  so first use absolute path as key.
1097	  Also skip staging at level 0.
1098
10992015-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1100
1101	* install-mk (MK_VERSION): 20150430
1102
1103	* dirdeps.mk: fix _count_dirdeps for non-cache case.
1104
11052015-04-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1106
1107	* install-mk (MK_VERSION): 20150411
1108	  bump version
1109
1110	* own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
1111	  it is here mainly for documentation purposes, since
1112	  if using auto.obj.mk it is better done via sys.mk
1113
11142015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1115
1116	* install-mk (MK_VERSION): 20150401
1117
1118	* meta2deps.sh: support @list
1119
1120	* meta2deps.py: updates from Juniper
1121	  o add EXCLUDES
1122	  o skip bogus input files.
1123	  o treat 'M' and 'L' as both an 'R' and a 'W'
1124
11252015-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1126
1127	* install-mk (MK_VERSION): 20150303
1128
1129	* dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
1130	  which is built via sub-make so we have a .meta file to tell if
1131	  it is out-of-date.
1132	  The dirdeps-cache contains the same dependency rules that we
1133	  normaly construct on the fly.
1134	  This adds a few seconds overhead when the cache is out of date,
1135	  but for a large target, the savings can be significant (10-20min).
1136
11372014-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1138
1139	* install-mk (MK_VERSION): 20141118
1140
1141	* meta.stage.mk: add stale_staged
1142
1143	* dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
1144	  only useful under very rare conditions such as
1145	  FreeBSD's make universe.
1146
1147	* auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
1148
11492014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1150
1151	* install-mk (MK_VERSION): 20141111
1152
1153	* mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
1154
11552014-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1156
1157	* FILES: include mkopt.sh which allows handling options in shell
1158	  scripts in a manner compatible with options.mk
1159
11602014-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1161
1162	* meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
1163	  for GENDIRDEPS_FILTER to avoid surprises.
1164
11652014-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1166
1167	* dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
1168	  the time it is applied to __depdirs they have.
1169
1170	* dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
1171	  expects patterns like *.${MACHINE}
1172
1173	* cython.mk (pyprefix?): use pyprefix to find python bits
1174	  since prefix might be something else (where we install our
1175	  stuff)
1176
11772014-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1178
1179	* install-mk (MK_VERSION): 20140911
1180
1181	* dirdeps.mk: add bootstrap target to simplify adding support for
1182	  new MACHINE.
1183
11842014-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1185
1186	* gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
1187	  GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
1188	  Makefile.depend files.
1189
11902014-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1191
1192	* install-mk (MK_VERSION): 20140828
1193
1194	* cython.mk: capture logic for building python extension modules
1195	  with Cython.
1196
11972014-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1198
1199	* meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
1200
12012014-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1202
1203	* install-mk (MK_VERSION): 20140801
1204
1205	* dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
1206	identify the autodep.mk variant.
1207
1208	* sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
1209	initial value does not match .MAKE.DEPENDFILE_PREFIX
1210
1211	* meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
1212
12132014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1214
1215	* install-mk (MK_VERSION): 20140522
1216
1217	* lib.mk: use CC to link shlib for linux too
1218	  patch from Brendan MacDonell
1219
12202014-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1221
1222	* meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
1223	  if WITH_META_STATS is defined.
1224
12252014-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1226
1227	* dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
1228	  to supress dirdeps outside of .CURDIR.
1229
12302014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1231
1232	* Fix spelling errors - patch from Pedro Giffuni
1233
12342014-03-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1235
1236	* install-mk (MK_VERSION): 20140314
1237
1238	* dirdeps.mk (beforedirdeps): a handy hook
1239
1240	* dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
1241	  to visit leaf dirs to be intercepted (eg. for distributed
1242	  build).
1243
1244	* dirdeps.mk (__depdirs): ensure // don't sneak in
1245
1246	* gendirdeps.mk (DIRDEPS): ensure // don't sneak in
1247
1248
12492014-02-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1250
1251	* rst2htm.mk (RST2PDF): add support for rst2pdf
1252
12532014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1254
1255	* install-mk (MK_VERSION): bump version
1256	* dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
1257	  available.
1258
12592014-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1260
1261	* options.mk: avoid :U so this isn't bmake dependent
1262
12632014-02-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1264
1265	* options.mk: cleanup and simplify semanitcs
1266	  NO_* dominates all, if both WITH_* and WITHOUT_*
1267	  are defined then result is DOMINATE_* which defaults to "no".
1268	  Ie. WITHOUT_ normally wins.
1269
12702013-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1271
1272	* install-mk (MK_VERSION): bump version
1273	* meta2deps.py: convert to print function for python3 compat.
1274	  we also need to open files with mode 'r' rather than 'rb'
1275	  otherwise we get bytes instead of strings.
1276
12772013-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1278
1279	* install-mk (MK_VERSION): bump version
1280
1281	* dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
1282	  apply the same filtering (M_dep_qual_fixes) when setting _machines
1283	  as _build_dirs.
1284	  Also fix the filtering of Makefile.depend files - for reporting
1285	  what we are looking for (M_dep_qual_fixes can get confused by
1286	  Makefile.depend)
1287	  Add some more debug info.
1288
12892013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1290
1291	* gendirdeps.mk (_objtops): fix typo also
1292	  while processing M2D_OBJROOTS to gather qualdir_list
1293	  qualify $ql with loop iterator to ensure correct results.
1294
12952013-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1296
1297	* install-mk (MK_VERSION): 20130801
1298	* libs.mk: update to match progs.mk
1299
13002013-07-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1301
1302	* install-mk (MK_VERSION): 20130726
1303	  some updates from Juniper and FreeBSD
1304	  o meta2deps.py: indicate file and line number when we hit parse
1305	    errors
1306	    also allow @file to provide huge list of .meta files.
1307	* meta2deps.py: add try_parse() to cleanup the above.
1308
13092013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1310
1311	* install-mk (MK_VERSION): 20130716
1312	* own.mk: add GPROG as an option
1313	* prog.mk: honor MK_GPROF==yes
1314
13152013-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1316
1317	* install-mk (MK_VERSION): 20130505
1318	* gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
1319	  for when $MACHINE isn't enough for objdir distinction.
1320	  Bring meta2deps.sh closer to par with meta2deps.py.
1321
13222013-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1323
1324	* meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
1325	  also if the target 'beforeinstall' exists, make it depend on
1326	  .dirdep (incase it uses STAGE_INSTALL).
1327
13282013-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1329
1330	* install-mk (MK_VERSION): 20130401 ;-)
1331	* meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
1332	  wrapper around install(1).
1333	* options.mk (OPTION_PREFIX): Allow a prefix other than MK_
1334
13352013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1336
1337	* meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
1338	* install-mk (MK_VERSION): bump version
1339
13402013-03-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1341
1342	* install-mk (MK_VERSION): bump version
1343	* gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
1344	  any trailing /., rather apply :tA only when needed.
1345	* gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
1346	* meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
1347	  consistently.
1348	* dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
1349
13502013-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1351
1352	* gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
1353	  it is simpler to just not update when say building for "host"
1354	  (where we know we apply filters to DIRDEPS), and using a
1355	  non-machine qualified dependfile.
1356
13572013-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1358
1359	* dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
1360	  and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
1361	* gendirdeps.mk: ensure _objroot has trailing / if it needs it.
1362	* meta2deps.py: if machine is "host", then also trim
1363	  self.host_target from any OBJROOTS.
1364
1365
13662013-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1367
1368	* gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
1369	  qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
1370	  but _DEPENDFILE does not, compare the new _DEPENDFILE against
1371	  .MAKE.DEPENDFILE_DEFAULT and discard if the same.
1372
13732013-03-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1374
1375	* meta.stage.mk: use STAGE_TARGETS to control .ORDER
1376	  and hook to all: via staging:
1377
13782013-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1379
1380	* sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
1381	  use a separate variable for the default .MAKE.DEPENDFILE value
1382	  so that it can be controlled independently of
1383	  .MAKE.DEPENDFILE_PREFERENCE
1384
1385	* meta.stage.mk: throw error if cp fails etc.
1386	  Stage*() return early if passed no args.
1387	  .ORDER stage_*
1388
13892013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1390
1391	* install-mk (MK_VERSION): bump version
1392	* gendirdeps.mk: handle multiple M2D_OBJROOTS better.
1393
13942013-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1395
1396	* install-mk (MK_VERSION): bump version to 20130210
1397	* import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
1398	  from Juniper.
1399	  o dirdeps.mk now fully supports TARGET_SPEC consisting of more
1400	    than just MACHINE.
1401	  o no longer use DEP_MACHINE from Makefile.depend* so remove it.
1402
14032013-01-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1404
1405	* install-mk (MK_VERSION): bump version to 20130123
1406	* meta.stage.mk: add stage_links (hard links).
1407	  if doing hard links, we add dest to link as well.
1408	  Default the stage dir for [sym]links to STAGE_OBJTOP since
1409	  these are typically specified as absolute paths.
1410	  Add -m "mode" flag to StageFiles and StageAs.
1411
14122012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1413
1414	* install-mk (MK_VERSION): bump version to 20121111
1415	* autoconf.mk: avoid meta mode seeing changed commands for config.status
1416	* meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
1417	  in case we were found via .../mk
1418	* sys.clean-env.mk: move it from examples, we and others use it
1419	  "as is".
1420	* FILES: add srctop.mk and options.mk
1421	* own.mk: convert to using options.mk
1422	  which is modeled after FreeBSD's handling of MK_*
1423	  but more flexible.
1424	  This allows MK_* for boolean knobs to not be confused
1425	  with MK* which can be commands.
1426
1427	* examples/sys.clean-env.mk: add WITH[OUT]_ to
1428	  MAKE_ENV_SAVE_PREFIX_LIST.
1429	  Mention that HOME=/var/empty might be a good idea.
1430
14312012-11-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1432
1433	* sys.dependfile.mk: if not depend file exists, $MACHINE
1434	  specific ones are supported but not the default,
1435	  check if any exist and follow suit.
1436
14372012-11-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1438
1439	* install-mk (MK_VERSION): bump version to 20121106
1440
14412012-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1442
1443	* import latest dirdeps.mk and meta2deps.py from Juniper.
1444	* progs.mk: add MAN and CXXFLAGS to PROG_VARS
1445	  also add PROGS_TARGETS and pass on PROG_CXX if it seems
1446	  appropriate.
1447
14482012-11-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1449
1450	* meta.stage.mk: update CLEANFILES
1451	  remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
1452	* progs.mk: Add LDADD to PROG_VARS
1453
14542012-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1455
1456	* meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
1457	  _STAGED_DIRS so that these can be turned into filters for
1458	  GENDIRDEPS_FILTER.
1459
14602012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1461
1462	* install-mk (MK_VERSION): bump version to 20121010
1463	* meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
1464	target.dirdep matches .dirdep
1465
14662012-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1467
1468	* install-mk (MK_VERSION): bump version to 20120808
1469	* import latest meta2deps.py from Juniper.
1470
14712012-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1472
1473	* install-mk (MK_VERSION): bump version to 20120711
1474	* dep.mk: add explicit dependencies on SRCS after applying
1475	  SRCS_DEP_FILTER
1476	* meta.autodep.mk: add explicit dependencies on SRCS after
1477	  applying SRCS_DEP_FILTER
1478	* meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
1479
14802012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1481
1482	* install-mk (MK_VERSION): bump version to 20120626
1483	* meta.sys.mk: ignore PYTHON if it does not exist
1484	  compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
1485	* meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
1486	  entries ending in .${MACHINE} to decide if qualified _dirdep is
1487	  needed.
1488	* gendirdeps.mk: only produce unqualified deps if no
1489	  .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
1490	* meta.subdir.mk: apply SUBDIRDEPS_FILTER
1491
14922012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1493
1494	* install-mk (MK_VERSION): bump version to 20120420
1495	* add sys.dependfile.mk so we can experiment with
1496	  .MAKE.DEPENDFILE_PREFERENCE
1497	* meta.autodep.mk: _DEPENDFILE is precious!
1498
14992012-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1500
1501	* install-mk (MK_VERSION): bump version to 20120315
1502	* install-new.mk: avoid being interrupted
1503
15042012-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1505
1506	* man.mk: MAN might have multiple values so be careful with exists().
1507
15082012-01-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1509
1510	* install-mk (MK_VERSION): bump version to 20120112
1511	* fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
1512	  as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
1513
15142011-12-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1515
1516	* install-mk (MK_VERSION):  bump version to 20111201
1517	* import dirdeps.mk from Juniper sjg@
1518	  o more consistent handling of DEP_MACHINE, especially when
1519	    dealing with an odd Makefile.depend, when normally using
1520	    Makefile.depend.${MACHINE}
1521
15222011-11-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1523
1524	* install-mk (MK_VERSION): bump version to 20111122
1525	* meta.autodep.mk: add some debug output, be more crisp about
1526	  updating.  Use ${.ALLTARGETS:M*.o} as a clue for .depend
1527
15282011-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1529
1530	* install-mk (MK_VERSION): bump version to 20111111
1531	  it's too cool to miss
1532	* import meta* updates from Juniper sjg@
1533	  o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
1534	    normally using Makefile.depend.${MACHINE}), handy for
1535	    read-only manually maintained dependencies.
1536	  o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
1537	  o gendirdeps.mk if ERROR: from meta2deps.py do not update
1538	    anything.
1539
15402011-10-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1541
1542	* install-new.mk separate the cmp and copy logic to its own function.
1543
15442011-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1545
1546	* install-mk (MK_VERSION): bump version to 20111028
1547	* sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
1548	* subdir.mk: ensure _SUBDIRUSE is provided
1549	* meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
1550	* meta.subdir.mk: always allow for Makefile.depend
1551
15522011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1553
1554	* install-mk (MK_VERSION): bump version to 20111010
1555	  o minor tweak to *dirdeps.mk from Juniper sjg@
1556
15572011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1558
1559	* install-mk (MK_VERSION): bump version to 20111001
1560	  o add meta2deps.py from Juniper sjg@
1561	  o tweak gendirdeps.mk to work with meta2deps.py when not
1562	    cross-building
1563	* autoconf.mk: add autoconf-input as a hook for regenerating
1564	  AUTOCONF_INPUTS (configure).
1565
15662011-08-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1567
1568	* meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
1569	  trigger for updating Makefile.depend*
1570
15712011-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1572
1573	* install-mk (MK_VERSION): bump version to 20110808
1574	* obj.mk: minor cleanup
1575	* auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
1576
15772011-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1578
1579	* auto.obj.mk (.OBJDIR): throw an error if we cannot use the
1580	  specified dir.
1581
15822011-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1583
1584	* meta.autodep.mk: if XMAKE_META_FILE is set
1585	  the makefile uses a foreign make, and so dependencies
1586	  can only be gathered from a clean tree build.
1587
15882011-06-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1589
1590	* install-mk (MK_VERSION): bump version to 20110622
1591	* meta.autodep.mk: improve bootstraping
1592
15932011-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1594
1595	* yacc.mk: handle the corner case of .c being removed
1596	  while .h remains.
1597
15982011-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1599
1600	* yacc.mk: do .y.h and .y.c separately
1601
16022011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1603
1604	* install-mk (MK_VERSION): bump version to 20110606
1605	* don't store SRC_DIRDEPS in Makefile.depend* by default
1606	  not everyone needs it.
1607
16082011-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1609
1610	* install-mk (MK_VERSION): bump version to 20110505
1611	  first release including meta mode makefiles
1612
16132011-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1614
1615	* meta.stage.mk: add STAGE_AS_SETS and stage_as
1616	  for things that need to be staged with different names.
1617
16182011-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1619
1620	* meta.stage.mk: add notion of STAGE_SETS
1621	  so a makefile can stage to multiple dirs
1622
16232011-04-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1624
1625	* rst2htm.mk: convert rst to s5 (slides) or plain html depending
1626	  on target name.
1627
16282011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1629
1630	* install-mk (MK_VERSION): bump version to 20110330
1631
16322011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
1633
1634	* sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
1635	  can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
1636	* sys.mk: re-define M_whence in terms of M_type.
1637	  M_type is useful for checking if something is a builtin.
1638
16392011-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1640
1641	* meta.stage.mk: add stage_symlinks and leverage StageLinks for
1642	  stage_libs
1643
16442011-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1645
1646	* dirdeps.mk: correct value for _depdir_files depends on
1647	  .MAKE.DEPENDFILE
1648	  Add our copyright - just to make it clear we have frobbed this
1649	  quite a bit.
1650	  DEP_MACHINE needs to be set to MACHINE each time, if using only
1651	  Makefile.depend (cf. Makefile.depend.${MACHINE})
1652
1653	* meta.stage.mk: meta mode version of staging
1654
1655	* init.mk, final.mk: include local.*.mk to simplify customization
1656
16572011-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1658
1659	* auto.obj.mk: just because we are doing mk destroy, we should
1660	  still set .OBJDIR correctly if it exists.
1661
1662	* install-mk (mksrc): do not exclude meta.sys.mk
1663
16642011-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1665
1666	* host-target.mk: set/export _HOST_ARCH etc separately,
1667	  catch junk resulting from uname -p, so we can find sys/Linux.mk
1668	  correctly.
1669
16702011-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1671
1672	* meta.sys.mk: throw an error if /dev/filemon is missing and we
1673	  expected to be updating Makefile.depend*
1674
16752011-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1676
1677	* install-mk (MK_VERSION): bump version to 20110214
1678	* meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
1679
16802010-09-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1681
1682	* meta.sys.mk: not valid for older bmake
1683
16842010-09-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1685
1686	* install-mk (MK_VERSION): bump version to 20100919
1687	include dirdeps.mk et al from Juniper Networks,
1688	for meta mode - requires filemon(9).
1689	* sys.mk, subdir.mk: Add hooks for meta mode.
1690	we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
1691	to make turning it on/off simple.
1692
16932010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1694
1695	* install-mk (MK_VERSION): bump version to 20100616
1696	* fix typo in sys.mk
1697
16982010-06-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1699
1700	* install-mk (MK_VERSION): bump version to 20100612
1701	* lib.mk: remove duplicate addition to SOBJS
1702
17032010-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1704
1705	* sys.mk: Add a means of selectively turning on debug flags.
1706	  Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
1707	  will act as if we did make -dv if .CURDIR ends in lib/sjg
1708	  DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
1709	  the start of sys.mk rather than the end.
1710	  This only makes sense for leaf dirs, so we check that
1711	  .MAKE.LEVEL > 0
1712
17132010-06-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1714
1715	* install-mk (MK_VERSION): bump version to 20100608
1716	* sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
1717	* examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
1718	  also make it easier for folk to tweak
1719
17202010-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1721
1722	* install-mk (MK_VERSION): bump version to 20100606
1723	  do not install examples/*
1724	* FILES: add examples/sys.clean-env.mk
1725	* examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
1726	  this requires bmake-20100606 or later to work.
1727
17282010-05-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1729
1730	* sys.mk (M_tA): better simulate the result of :tA if not available.
1731
17322010-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1733
1734	* sys.mk: canonicalize MAKE_VERSION
1735	  old versions reported bmake-<src-date> build-<build-date>
1736	  whereas we only care about <src-date>
1737
17382010-04-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1739
1740	* install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
1741	* lib.mk: we only build the shared lib if SHLIB_FULLVERSION
1742	  is !empty
1743
17442010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1745
1746	* dpadd.mk: use LDADD_* if defined.
1747
17482010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1749
1750	* install-mk (MK_VERSION): bump version to 20100420
1751	* sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
1752	* autoconf.mk allow AUTO_AUTOCONF
1753
17542010-04-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1755
1756	* obj.mk: add objwarn to keep freebsd makefiles happy
1757	* auto.obj.mk: ensure Mkdirs is available.
1758	* FILES: add auto.dep.mk - a simpler version of autodep.mk
1759	* dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
1760	  asked to do that.
1761	  fix/simplify the tests for when to run mkdep.
1762	* auto.dep.mk: add some explanation of how/what we do.
1763	* autodep.mk: skip the .OPTIONAL frobbing of .depend
1764	  bmake's FROM_DEPEND flag makes it redundant.
1765
17662010-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1767
1768	* install-mk (MK_VERSION): bump version to 20100404
1769	* subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
1770	* obj.mk: protect from multiple inclusion even as bsd.obj.mk
1771	Also create a target _SUBDIRUSE so that we can  be used without
1772	subdir.mk
1773
17742010-04-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1775
1776	* dep.mk: use <> when .including so can override.
1777
17782010-01-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1779
1780	* lib.mk (SHLIB_LINKS): ensure a string comparison.
1781
17822010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1783
1784	* install-mk (MK_VERSION): bump version to 20100102
1785	* own.mk: ensure PRINTOBJDIR works
1786	* autoconf.mk: pass on CONFIGURE_ARGS
1787	* init.mk: handle COPTS.${.IMPSRC:T} etc.
1788	* lib.mk: allow sys.mk to control SHLIB_FULLVERSION
1789	  fix handling of symlinks for darwin
1790	* libnames.mk: add DSHLIBEXT for libs which only exist as shared.
1791	* man.mk: suppress chown when not root.
1792	* rst2htm.mk: allow srcs from multiple locations.
1793	* sys.mk: M_whence, stop after 1st line of output.
1794	* sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
1795	* sys/SunOS.mk: we need to export PATH
1796
17972009-12-23  Simon J. Gerraty  <sjg@void.crufty.net>
1798
1799	* install-mk (MK_VERSION): bump version
1800	  include rst2htm.mk
1801
18022009-12-17  Simon J. Gerraty  <sjg@void.crufty.net>
1803
1804	* sys.mk,libnames.mk add .-include <local.*>
1805	  this allows local customization without the need to edit the
1806	  distributed files.
1807
18082009-12-14  Simon J. Gerraty  <sjg@void.crufty.net>
1809
1810	* dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
1811	  older versions already installed.
1812
18132009-12-13  Simon J. Gerraty  <sjg@void.crufty.net>
1814
1815	* stage.mk (.stage-install): generalize lib.mk's .libinstall
1816	* rules.mk rules for generic Makefile.
1817	* inc.mk install for includes.
1818
18192009-12-11  Simon J. Gerraty  <sjg@void.crufty.net>
1820
1821	* sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
1822	  this, so provide it if using native make.
1823
18242009-12-10  Simon J. Gerraty  <sjg@void.crufty.net>
1825
1826	* FILES: move all the platform *.sys.mk files to sys/*.mk
1827	* Rename Generic.sys.mk to sys.mk - we always want it.
1828
18292009-11-17  Simon J. Gerraty  <sjg@void.crufty.net>
1830
1831	* install-mk (MK_VERSION): bump version
1832	* host-target.mk: only export the expensive stuff
1833	* Generic.sys.mk (sys_mk): for SunOS we need to look for
1834	  ${HOST_OS}.${HOST_OSMAJOR} too!
1835
18362009-11-07  Simon J. Gerraty  <sjg@void.crufty.net>
1837
1838	* install-mk (MK_VERSION): bump version
1839	* lib.mk: if sys.mk doesn't give us an lorder, don't use it.
1840	  based on patch from Greg Olszewski.
1841	* Generic.sys.mk: if we have nothing to work with
1842	set LORDER etc only if we can find it.
1843
18442009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
1845
1846	* install-mk (MK_VERSION): bump version
1847	* man.mk: cleanman: remove CLEANMAN if defined.
1848
18492009-09-04  Simon J. Gerraty  <sjg@void.crufty.net>
1850
1851	* SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
1852
18532009-07-17  Simon J. Gerraty  <sjg@void.crufty.net>
1854
1855	* install-mk (MK_VERSION): bump version
1856	include auto.obj.mk
1857
1858
18592009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
1860
1861	* prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
1862
18632008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
1864
1865	* install-mk (MK_VERSION): bump version
1866	man.mk: ensure we generate *.cat1 etc in .
1867
18682008-07-16  Simon J. Gerraty  <sjg@void.crufty.net>
1869
1870	* install-mk (MK_VERSION): bump version
1871	add prlist.mk
1872
18732007-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
1874
1875	* Generic.sys.mk: Allow os specific sys.mk to be in a
1876	subdir of ${.PARSEDIR}
1877
18782007-11-22  Simon J. Gerraty  <sjg@void.crufty.net>
1879
1880	* install-mk (MK_VERSION): bump version
1881	* general cleanup
1882	* dpadd.mk introduce DPMAGIC_LIBS_*
1883
18842007-04-30  Simon J. Gerraty  <sjg@void.crufty.net>
1885
1886	* install-mk (MK_VERSION): bump version
1887
1888	* libs.mk, progs.mk, autodep.mk: allow for per lib/prog
1889	depend files and ensure clean is called for each lib/prog.
1890
18912007-03-27  Simon J. Gerraty  <sjg@void.crufty.net>
1892
1893	* autodep.mk (.depend): delete lines that do not start with
1894	space and do not contain ':'
1895
18962007-02-16  Simon J. Gerraty  <sjg@void.crufty.net>
1897
1898	* autodep.mk (.depend): gcc may wrap lines if pathnames are long
1899	so make sure the transform for .OPTIONAL copes.
1900
19012007-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
1902
1903	* install-mk (MK_VERSION): bump version
1904
1905	* own.mk: make sure RM and LN are defined.
1906
1907	* obj.mk: fix a typo, and objlink target.
1908
19092006-12-30  Simon J. Gerraty  <sjg@void.crufty.net>
1910
1911	* install-mk (MK_VERSION): bump version
1912	* added libs.mk - analogous to progs.mk
1913	  make both of them always inlcude {lib,prog}.mk
1914
19152006-12-28  Simon J. Gerraty  <sjg@void.crufty.net>
1916
1917	* progs.mk: add a means of building multiple apps in one dir.
1918
19192006-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
1920
1921	* install-mk (MK_VERSION): bump version to 20061126
1922
1923	* warnings.mk: detect invalid WARNINGS_SET
1924
1925	* warnings.mk: use ${.TARGET:T:R}.o when looking for target
1926	specific warnings.
1927
1928	* For .cc sources, turn off warnings that g++ vomits on.
1929
19302006-11-08  Simon J. Gerraty  <sjg@void.crufty.net>
1931
1932	* own.mk: if __initialized__ target doesn't exist and we are
1933	FreeBSD we got here directly from sys.mk
1934
19352006-11-06  Simon J. Gerraty  <sjg@void.crufty.net>
1936
1937	* install-mk (MK_VERSION): bump version to 20061106
1938	add scripts.mk
1939
19402006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
1941
1942	* install-mk (MK_VERSION): bump version to 20060318
1943
1944	* autodep.mk: avoid := when modifying OBJS into __dependsrcs
1945
19462006-03-02  Simon J. Gerraty  <sjg@void.crufty.net>
1947
1948	* install-mk (MK_VERSION): bump version to 20060302
1949	* autodep.mk: use -MF et al to help gcc+ccache DTRT.
1950
19512006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
1952
1953	* install-mk (MK_VERSION): bump version to 20060301
1954	* autodep.mk (.depend):
1955	if MAKE_VERSION is newer than  20050530 we can make .END depend on
1956	.depend and make .depend depend on __depsrcs that exist.
1957	* dpadd.mk: add SRC_PATHADD
1958
19592005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1960
1961	* install-mk (MK_VERSION): bump version to 20051104
1962	* prog.mk: remove all the LIBC?= junk, use
1963	.-include libnames.mk instead (none by default).
1964	also if USE_DPADD_MK is set, include that.
1965
19662005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1967
1968	* install-mk (MK_VERSION): bump version to 20051001
1969	Add UnixWare.sys.mk from Klaus Heinz.
1970
19712005-04-05  Simon J. Gerraty  <sjg@void.crufty.net>
1972
1973	* install-mk: always install *.sys.mk and if need be symlink one
1974	to sys.mk
1975
19762005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
1977
1978	* subdir.mk, own.mk: use .MAKE rather than MAKE
1979
19802004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1981
1982	* own.mk: don't use NetBSD's _SRC_TOP_ it can
1983	cause confusion.  Also don't take just 'mk' as a
1984	srctop indicator.
1985
19862004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
1987
1988	* warnings.mk: overhauled, now very powerful.
1989
19902004-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
1991
1992	* Generic.sys.mk: need to use ${.PARSEDIR} with exists().
1993
19942004-02-01  Simon J. Gerraty  <sjg@void.crufty.net>
1995
1996	* install-mk (MK_VERSION): bump version to 20040201
1997	* extract HOST_TARGET stuff to host-target.mk so own.mk and
1998	Generic.sys.mk can share.
1999	* fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
2000
20012003-09-30  Simon J. Gerraty  <sjg@void.crufty.net>
2002
2003	* install-mk (MK_VERSION): 20030930
2004	* rename generic.sys.mk to Generic.sys.mk
2005	so that it does not get installed (unless being used as sys.mk)
2006	* set OS and ROOT_GROUP for those that we know the value.
2007	for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
2008	we don't do it again for each sub-make.
2009
20102003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
2011
2012	* install-mk (MK_VERSION): 20030928
2013	Add some extra *.sys.mk from bootstrap-pkgsrc
2014	some of these likely still need work.
2015	Make everything default to root:wheel ownership,
2016	sys.mk can set ROOT_GROUP accordingly.
2017
20182003-08-07  Simon J. Gerraty  <sjg@void.crufty.net>
2019
2020	* install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
2021	not the portable ones.
2022
20232003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
2024
2025	* install-mk: add ability to use cp -f when updating
2026	destination .mk files.  Also now possible to play games with
2027	FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
2028	into dest - not recommended unless you seriously want to.
2029
20302003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
2031
2032	* own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
2033	for semi-compatability with NetBSD.
2034
20352003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
2036
2037	* install-mk: add a version indicator
2038
20392003-07-22  Simon J. Gerraty  <sjg@void.crufty.net>
2040
2041	* prog.mk: don't try and use ${LIBCRT0} if its /dev/null
2042
2043	* install-mk: Allow FORCE_SYS_MK to come from env
2044
2045
2046
2047