]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - mk/ChangeLog
Import bmake-20230414
[FreeBSD/FreeBSD.git] / mk / ChangeLog
1 2023-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
15 2023-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
20 2023-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
34 2023-04-12  Simon J Gerraty  <sjg@beast.crufty.net>
35
36         * Add jobs.mk
37
38 2023-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
47 2023-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
51 2023-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
60 2023-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
66 2023-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
71 2023-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
78 2023-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
85 2022-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
91 2022-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
97 2022-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
103 2022-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
109 2022-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
116 2022-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
123 2022-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
124
125         * install-mk (MK_VERSION): 20220323
126         * posix.mk: default rules for .POSIX:
127
128 2022-03-17  Simon J Gerraty  <sjg@beast.crufty.net>
129
130         * sys/*.mk: remove l from ARFLAGS
131
132 2022-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
140 2022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
141
142         * install-mk (MK_VERSION): 20220214
143
144         * cc-wrap.mk: fix :@ modifier
145
146 2022-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
153 2022-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
157 2022-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
163 2022-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
171 2022-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
176 2022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
177
178         * meta2deps: we do not expect any trace data for setid apps
179
180 2022-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
185 2022-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
190 2022-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
198 2022-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
204 2021-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
214 2021-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
229 2021-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
236 2021-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         
250 2021-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
258 2021-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
265 2021-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
270 2021-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
275 2021-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
281 2021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
282
283         * install-mk (MK_VERSION): 20211011
284
285         * Add support for SCO_SV
286
287 2021-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
294 2021-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
299 2021-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
305 2021-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
312 2021-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
318 2021-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
326 2021-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
337 2021-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
343 2021-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
353 2021-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
362 2021-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
369 2020-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
374 2020-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
380 2020-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
385 2020-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
393 2020-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
401 2020-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
408 2020-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
415 2020-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
424 2020-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
430 2020-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
436 2020-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
442 2020-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
451 2020-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
457 2020-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
467 2020-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
477 2020-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
483 2020-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
497 2020-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
506 2020-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
513 2020-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
514
515         * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense.
516
517 2020-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
522 2020-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
533 2020-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
539 2020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
540
541         * dirdeps.mk: optimize content of dirdeps.cache
542
543 2020-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
548 2020-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
554 2020-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
560 2020-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
570 2020-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
577 2020-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
584 2020-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
585
586         * whats.mk: more easily extensible
587
588 2020-05-02  Simon J Gerraty  <sjg@beast.crufty.net>
589
590         * whats.mk: greatly simplify by adding what.c to SRCS
591
592 2020-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
598 2020-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
605 2020-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
616 2019-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
622 2019-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
627 2019-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
633 2019-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
638 2019-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
639
640         * install-mk (MK_VERSION): 20190911
641
642         * compiler.mk: set COMPILER_TYPE
643
644 2019-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
650 2019-05-30  Simon J Gerraty  <sjg@beast.crufty.net>
651
652         * dirdeps.mk: avoid insanely long command line when generating cache
653
654 2019-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
660 2018-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
667 2018-07-08  Simon J Gerraty  <sjg@beast.crufty.net>
668
669         * meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
670
671 2018-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
677 2018-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
682 2018-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
688 2018-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
689
690         * FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
691
692 2018-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
699 2018-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
705 2017-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
711 2017-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
717 2017-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
718
719         * Allow for host32 on rare occasions.
720
721 2017-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
728 2017-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
735 2017-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
741 2017-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
742
743         * meta2deps.py: take special care of '..'
744
745 2017-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
754 2017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
755
756         * install-mk (MK_VERSION): 20170505
757
758         * meta2deps.py: fix botched indenation.
759
760 2017-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
769 2017-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
781 2017-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
788 2017-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
795 2017-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
802 2017-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
808 2017-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
812 2017-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
813
814         * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
815
816 2017-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
826 2017-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
827
828         * prog.mk (install_links): depends on realinstall
829
830 2017-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
836 2017-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
847 2016-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
854 2016-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
864 2016-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
871 2016-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
881 2016-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
889 2016-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
897 2016-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
902 2016-08-19  Simon J. Gerraty  <sjg@bad.crufty.net>
903
904         * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
905
906 2016-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
913 2016-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
918 2016-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
933 2016-07-27  Simon J. Gerraty  <sjg@bad.crufty.net>
934
935         * dirdeps.mk (DIRDEPS_CACHE): no dirname.
936
937 2016-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
944 2016-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
950 2016-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
960 2016-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
966 2016-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
975 2016-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
984 2016-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
993 2016-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
1004 2016-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
1014 2016-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
1027 2016-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1028
1029         * meta2deps.sh: don't ignore subdirs.
1030           patch from Bryan Drewery
1031
1032 2016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1033
1034         * install-mk (MK_VERSION): 20160226
1035
1036         * gendirdeps.mk: mark _DEPENDFILE .NOMETA
1037
1038 2016-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
1043 2016-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
1052 2016-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
1062 2016-01-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1063
1064         * dirdeps.mk: add bootstrap-empty
1065
1066 2015-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
1072 2015-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
1085 2015-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
1092 2015-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
1098 2015-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
1105 2015-10-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1106
1107         * install-mk (MK_VERSION): 20151010
1108
1109 2015-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
1115 2015-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1116
1117         * rst2htm.mk: allow for per target flags etc.
1118
1119 2015-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
1125 2015-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
1143 2015-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
1153 2015-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1154
1155         * dirdeps.mk: avoid wildcards like make(bootstrap*)
1156
1157 2015-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
1169 2015-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
1175 2015-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
1184 2015-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
1195 2015-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
1207 2014-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
1219 2014-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
1225 2014-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
1230 2014-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
1235 2014-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
1247 2014-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
1254 2014-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
1260 2014-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
1267 2014-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1268
1269         * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
1270
1271 2014-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
1283 2014-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
1290 2014-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
1295 2014-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
1300 2014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1301
1302         * Fix spelling errors - patch from Pedro Giffuni
1303
1304 2014-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
1319 2014-02-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1320
1321         * rst2htm.mk (RST2PDF): add support for rst2pdf
1322
1323 2014-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
1329 2014-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1330
1331         * options.mk: avoid :U so this isn't bmake dependent
1332
1333 2014-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
1340 2013-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
1347 2013-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
1359 2013-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
1365 2013-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
1370 2013-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
1379 2013-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
1385 2013-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
1392 2013-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
1398 2013-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
1405 2013-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
1410 2013-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
1420 2013-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
1427 2013-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
1436 2013-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
1443 2013-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
1448 2013-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
1459 2013-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
1464 2013-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
1473 2013-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
1482 2012-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
1501 2012-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
1507 2012-11-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1508
1509         * install-mk (MK_VERSION): bump version to 20121106
1510
1511 2012-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
1518 2012-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
1524 2012-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
1530 2012-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
1536 2012-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
1541 2012-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
1550 2012-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
1562 2012-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
1569 2012-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
1574 2012-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1575
1576         * man.mk: MAN might have multiple values so be careful with exists().
1577
1578 2012-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
1584 2011-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
1592 2011-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
1598 2011-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
1610 2011-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
1614 2011-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
1622 2011-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
1627 2011-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
1636 2011-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
1641 2011-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
1647 2011-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
1652 2011-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
1658 2011-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
1663 2011-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
1668 2011-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1669
1670         * yacc.mk: do .y.h and .y.c separately
1671
1672 2011-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
1678 2011-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
1683 2011-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
1688 2011-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
1693 2011-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
1698 2011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1699
1700         * install-mk (MK_VERSION): bump version to 20110330
1701
1702 2011-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
1709 2011-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
1714 2011-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
1727 2011-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
1734 2011-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
1740 2011-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
1745 2011-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
1750 2010-09-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1751
1752         * meta.sys.mk: not valid for older bmake
1753
1754 2010-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
1763 2010-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
1768 2010-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
1773 2010-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
1783 2010-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
1790 2010-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
1798 2010-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
1802 2010-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
1808 2010-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
1814 2010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1815
1816         * dpadd.mk: use LDADD_* if defined.
1817
1818 2010-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
1824 2010-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
1836 2010-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
1844 2010-04-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1845
1846         * dep.mk: use <> when .including so can override.
1847
1848 2010-01-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1849
1850         * lib.mk (SHLIB_LINKS): ensure a string comparison.
1851
1852 2010-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
1867 2009-12-23  Simon J. Gerraty  <sjg@void.crufty.net>
1868
1869         * install-mk (MK_VERSION): bump version
1870           include rst2htm.mk
1871
1872 2009-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
1878 2009-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
1883 2009-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
1889 2009-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
1894 2009-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
1899 2009-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
1906 2009-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
1914 2009-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
1919 2009-09-04  Simon J. Gerraty  <sjg@void.crufty.net>
1920
1921         * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
1922
1923 2009-07-17  Simon J. Gerraty  <sjg@void.crufty.net>
1924
1925         * install-mk (MK_VERSION): bump version
1926         include auto.obj.mk
1927
1928
1929 2009-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
1933 2008-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
1938 2008-07-16  Simon J. Gerraty  <sjg@void.crufty.net>
1939
1940         * install-mk (MK_VERSION): bump version
1941         add prlist.mk
1942
1943 2007-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
1948 2007-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
1954 2007-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
1961 2007-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
1966 2007-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
1971 2007-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
1979 2006-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
1985 2006-12-28  Simon J. Gerraty  <sjg@void.crufty.net>
1986
1987         * progs.mk: add a means of building multiple apps in one dir.
1988
1989 2006-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
2000 2006-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
2005 2006-11-06  Simon J. Gerraty  <sjg@void.crufty.net>
2006
2007         * install-mk (MK_VERSION): bump version to 20061106
2008         add scripts.mk
2009
2010 2006-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
2016 2006-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
2021 2006-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
2029 2005-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
2036 2005-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
2041 2005-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
2046 2005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2047
2048         * subdir.mk, own.mk: use .MAKE rather than MAKE
2049
2050 2004-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
2056 2004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
2057
2058         * warnings.mk: overhauled, now very powerful.
2059
2060 2004-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
2061
2062         * Generic.sys.mk: need to use ${.PARSEDIR} with exists().
2063
2064 2004-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
2071 2003-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
2080 2003-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
2088 2003-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
2093 2003-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
2100 2003-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
2105 2003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
2106
2107         * install-mk: add a version indicator
2108
2109 2003-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