]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/bmake/mk/ChangeLog
Update to bmake-20200902
[FreeBSD/FreeBSD.git] / contrib / bmake / mk / ChangeLog
1 2020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
2
3         * dirdeps.mk: ensure we cannot confuse a static cache for dynamic
4         (even more rare that use of static cache is playing clever tricks
5         with it)
6
7 2020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
8
9         * dirdeps-cache-update.mk: allow
10         MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we
11         actually update STATIC_DIRDEPS_CACHE.
12
13         * stage-install.sh: create dest directory if needed
14         before running install(1)
15
16 2020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
17
18         * dirdeps-targets.mk: include Makefile.dirdeps.options
19
20         * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE
21
22 2020-08-09  Simon J Gerraty  <sjg@beast.crufty.net>
23
24         * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty
25
26         * dirdeps-cache-update.mk: building parallel cache update
27         under the context of dirdeps-cached would be ideal, but
28         is problematic, so it runs as a sibling.
29         Use cache-built target to ensure we wait for it to complete if
30         necessary.
31
32 2020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
33
34         * install-mk (MK_VERSION): 20200806
35
36         * dirdeps-options: allow TARGET_SPEC to affect option values.
37         Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_*
38
39         * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined
40         before looking for STATIC_DIRDEPS_CACHE
41
42 2020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
43
44         * host-target.mk: Darwin use MACHINE for HOST_ARCH too
45
46         * dirdeps-options.mk: improve debug output
47
48 2020-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
49
50         * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE
51         for use by dirdeps-cache-update.mk
52
53         * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE
54         for use by dirdeps-cache-update.mk even if we don't use it.
55
56         * dirdeps-cache-update.mk: we only need worry about the background
57         update case, with the above, the update from DIRDEPS_CACHE is
58         simple.
59
60         * meta2deps.py: R 1234 . is not interesting
61
62 2020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
63
64         * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE
65
66         * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS
67         allows use of lower case for pseudo options.
68
69         * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE
70
71 2020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
72
73         * dirdeps-targets.mk: Look for Makefile.dirdeps.cache
74         which allows us to have a static cache for expensive targets.
75         Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE
76         to regenerate the dirdeps.cache it is a copy of.
77
78 2020-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
79
80         * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense.
81
82 2020-07-16  Simon J Gerraty  <sjg@beast.crufty.net>
83
84         * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record
85         load averages at intervals during build.
86
87 2020-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
88
89         * install-mk (MK_VERSION): 20200715
90
91         * dirdeps.mk: tweak Checking line to make matching Finished
92         lines for post-build analysis easier.
93
94         * meta.autodep.mk: use !defined(WITHOUT_META_STATS)
95
96         * progs.mk: avoid prog.mk outputting multiple Finished lines
97
98 2020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
99
100         * dirdeps.mk: further optimize dirdeps.cache
101         generate a DIRDEPS.${.TARGET} list for other purposes
102         and improve the layout.
103
104 2020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
105
106         * dirdeps.mk: optimize content of dirdeps.cache
107
108 2020-06-28  Simon J Gerraty  <sjg@beast.crufty.net>
109
110         * sys/*.mk: make it easier for local*sys.mk to customize by
111         using ?=
112
113 2020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
114
115         * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
116         it is much safer to guard local depends with a simple check for
117         .MAKE.LEVEL > 0
118
119 2020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
120
121         * install-mk (MK_VERSION): 20200610
122
123         * mkopt.sh: this needs posix shell so #!/bin/sh should be ok
124
125 2020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
126
127         * install-mk (MK_VERSION): 20200606
128
129         * dirdeps-targets.mk: allow for filtering of .TARGETS
130
131         * meta2deps.py: fix bug in processing 'L'ink and 'M'ove
132         entries - and we don't care about 'W'rite entries.
133         Also ignore absolute paths that do not exist.
134
135 2020-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
136
137         * install-mk (MK_VERSION): 20200525
138
139         * init.mk: expand and simplify handling of qualified vars
140         like CPPFLAGS.${.TARGET:T}
141
142 2020-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
143
144         * install-mk (MK_VERSION): 20200515
145
146         * dirdeps.mk: set _debug_* earlier and allow passing -d*
147         flags to submake when building DIRDEPS_CACHE
148
149 2020-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
150
151         * whats.mk: more easily extensible
152
153 2020-05-02  Simon J Gerraty  <sjg@beast.crufty.net>
154
155         * whats.mk: greatly simplify by adding what.c to SRCS
156
157 2020-05-01  Simon J Gerraty  <sjg@beast.crufty.net>
158
159         * whats.mk: for libs take care how we add to *OBJS
160
161         * lib.mk: : works better with whats.mk
162
163 2020-04-25  Simon J Gerraty  <sjg@beast.crufty.net>
164
165         * install-mk (MK_VERSION): 20200420
166
167         * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
168         contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
169
170 2020-04-16  Simon J Gerraty  <sjg@beast.crufty.net>
171
172         * install-mk (MK_VERSION): 20200416
173
174         * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
175           interfere with user env.
176
177         * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
178
179         * autodep.mk: use MAKE_SHELL.
180
181 2019-11-21  Simon J Gerraty  <sjg@beast.crufty.net>
182
183         * gendirdeps.mk: clear .SUFFIXES to avoid a lot of
184           wasted effort, and unexport _meta_files when no longer needed as
185           it consumes space we need for command line.
186
187 2019-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
188
189         * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
190           DIRDEP_USE_PRELUDE at start - facilitates job distribution
191
192 2019-10-04  Simon J Gerraty  <sjg@beast.crufty.net>
193
194         * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
195         defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
196         TARGET_SPEC qualified depend files.
197
198 2019-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
199
200         * dirdeps-targets.mk: encapsulate logic for finding top-level
201           targets to set initial DIRDEPS for DIRDEPS_BUILD
202
203 2019-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
204
205         * install-mk (MK_VERSION): 20190911
206
207         * compiler.mk: set COMPILER_TYPE
208
209 2019-07-17  Simon J Gerraty  <sjg@beast.crufty.net>
210
211         * install-mk (MK_VERSION): 20190704
212
213         * sys/Darwin.mk: support for Objective-C and clang
214
215 2019-05-30  Simon J Gerraty  <sjg@beast.crufty.net>
216
217         * dirdeps.mk: avoid insanely long command line when generating cache
218
219 2019-05-23  Simon J Gerraty  <sjg@beast.crufty.net>
220
221         * install-mk (MK_VERSION): 20190505
222
223         * whats.mk: handle corner case SHLIB defined but not LIB
224
225 2018-09-19  Simon J Gerraty  <sjg@beast.crufty.net>
226
227         * install-mk (MK_VERSION): 20180919
228
229         * dirdeps-options.mk: .undef cannot handle var that expands to
230           more than one var.
231
232 2018-07-08  Simon J Gerraty  <sjg@beast.crufty.net>
233
234         * meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
235
236 2018-06-01  Simon J Gerraty  <sjg@beast.crufty.net>
237
238         * meta.autodep.mk: export META_FILES to avoid command line limit
239         * gendirdeps.mk: if we have lots of .meta files put them in
240           an @list
241
242 2018-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
243
244         * dirdeps-options.mk: use local.dirdeps-options.mk
245           not local.dirdeps-option.mk
246
247 2018-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
248
249         * install-mk (MK_VERSION): 20180420
250         * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
251           ie. we are building something.
252
253 2018-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
254
255         * FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
256
257 2018-04-05  Simon J Gerraty  <sjg@beast.crufty.net>
258
259         * install-mk (MK_VERSION): 20180405
260
261         * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
262           if needed.
263
264 2018-01-18  Simon J Gerraty  <sjg@beast.crufty.net>
265
266         * install-mk (MK_VERSION): 20180118
267
268         * ldorder.mk: let make compute correct link order
269
270 2017-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
271
272         * install-mk (MK_VERSION): 20171212
273
274         * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
275
276 2017-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
277
278         * install-mk (MK_VERSION): 20171111
279
280         * lib.mk: ensure META_NOECHO is set
281
282 2017-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
283
284         * Allow for host32 on rare occasions.
285
286 2017-10-18  Simon J. Gerraty  <sjg@bad.crufty.net>
287
288         * install-mk (MK_VERSION): 20171018
289
290         * whats.mk: include what_thing in what_uuid to avoid problem
291           when building multiple apps in the same directory.
292
293 2017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
294
295         * install-mk (MK_VERSION): 20170812
296
297         * autoconf.mk: Use CONFIGURE_DEPS so Makefile can
298           add dependencies for config.recheck and config.gen
299
300 2017-06-30  Simon J. Gerraty  <sjg@bad.crufty.net>
301
302         * install-mk (MK_VERSION): 20170630
303
304         * meta.stage.mk: avoid triggering stage_* targets with nothing to do.
305
306 2017-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
307
308         * meta2deps.py: take special care of '..'
309
310 2017-05-15  Simon J. Gerraty  <sjg@bad.crufty.net>
311
312         * install-mk (MK_VERSION): 20170515
313
314         * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
315         useful/necessary for a Makefile.depend file to export some knobs.
316         This is complicated when we are doing DIRDEPS_CACHE, so we will
317         handle export of any variables listed in DEP_EXPORT_VARS.
318
319 2017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
320
321         * install-mk (MK_VERSION): 20170505
322
323         * meta2deps.py: fix botched indenation.
324
325 2017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
326
327         * sys/*.mk: Remove setting of MAKE it is unnecessary and
328           in many cases wrong (basname rather than full path)
329
330         * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
331
332         * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
333
334 2017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
335
336         * install-mk (MK_VERSION): 20170501
337
338         * doc.mk: fix typo in DOC_INSTALL_OWN
339
340         * inc.mk: handle INCGROUPS similar to freebsd
341
342         * files.mk: add something for files too
343
344         * add staging logic to lib.mk prog.mk etc.
345
346 2017-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
347
348         * install-mk (MK_VERSION): 20170424
349
350         * dirdeps.mk: set NO_DIRDEPS when bootstrapping.
351           also target of bootstrap-this when sed is needed should be ${_want:T}
352
353 2017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
354
355         * install-mk (MK_VERSION): 20170418
356
357         * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
358           prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
359
360 2017-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
361
362         * install-mk (MK_VERSION): 20170401
363
364         * meta2deps.py: add is_src so we can check if obj dependency
365           is also a src dependency.
366
367 2017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
368
369         * install-mk (MK_VERSION): 20170326
370
371         * meta.stage.mk: do nothing if NO_STAGING is defined.
372
373 2017-03-24  Simon J. Gerraty  <sjg@bad.crufty.net>
374
375         * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
376
377 2017-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
378
379         * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
380
381 2017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
382
383         * install-mk (MK_VERSION): 20170301
384
385         * dirdeps.mk (_build_all_dirs): update this outside test for empty
386           DIRDEPS.
387
388         * meta.stage.mk: allow multiple inclusion to the extent it makes
389           sense.
390
391 2017-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
392
393         * prog.mk (install_links): depends on realinstall
394
395 2017-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
396
397         * install-mk (MK_VERSION): 20170212
398
399         * dpadd.mk: avoid applying :T:R twice to DPLIBS entries
400
401 2017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
402
403         * install-mk (MK_VERSION): 20170130
404
405         * dirdeps.mk: use :range if we can.
406
407         * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
408
409         * meta2deps.py: clean paths without using realpath() where possible.
410           fix sort_unique.
411
412 2016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
413
414         * install-mk (MK_VERSION): 20161212
415
416         * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
417         rather than when we detect pid change.
418
419 2016-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
420
421         * install-mk (MK_VERSION): 20161207
422
423         * meta.stage.mk: add stage_as_and_symlink for staging packages.
424           We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
425           to use foo.tgz to reference the latest staged version - so we
426           make foo.tgz a symlink to it.
427           Using a target to do both operations ensures we stay in sync.
428
429 2016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
430
431         * install-mk (MK_VERSION): 20161126
432
433         * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
434           so it can add dependencies.
435
436 2016-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
437
438         * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
439           do that they can influence the result correctly.
440
441         * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
442
443         * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
444           similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
445
446 2016-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
447
448         * dirdeps.mk: remove dependence on jot (normal situations anyway).
449           Before we read another Makefile.depend* set DEP_* vars from
450           _DEP_TARGET_SPEC in case it uses any of them with :=
451           When bootstrapping, trim any ,* from extention of chosen _src
452           Makefile.depend* to get the machine value we subst for.
453
454 2016-09-30  Simon J. Gerraty  <sjg@bad.crufty.net>
455
456         * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
457           DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
458
459         * sys.mk: extract some bits to sys.{debug,vars}.mk
460           for easier re-use by others.
461
462 2016-09-23  Simon Gerraty  <sjg@sjg-mba13>
463
464         * lib.mk: Use ${PICO} for extension for PIC objects.
465           default to .pico (like NetBSD) safe on case insensitive filesystem.
466
467 2016-08-19  Simon J. Gerraty  <sjg@bad.crufty.net>
468
469         * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
470
471 2016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
472
473         * install-mk (MK_VERSION): 20160815
474
475         * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
476         consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
477
478 2016-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
479
480         * meta.sys.mk (.MAKE.META.IGNORE_PATHS):
481           in meta mode we can ignore the mtime of makefiles
482
483 2016-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
484
485         * install-mk (MK_VERSION): 20160802
486
487         * lib.mk (libinstall): depends on beforinstall
488
489         * prog.mk (proginstall): depends on beforinstall
490           patch from Lauri Tirkkonen
491
492         * dirdeps.mk (bootstrap): When bootstrapping; creat
493         .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
494         .MAKE.DEPENDFILE_BOOTSTRAP_SED
495
496         * dirdeps.mk: move some comments to where they make sense.
497
498 2016-07-27  Simon J. Gerraty  <sjg@bad.crufty.net>
499
500         * dirdeps.mk (DIRDEPS_CACHE): no dirname.
501
502 2016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
503
504         * install-mk (MK_VERSION): 20160602
505         * meta.autodep.mk: when passing META_FILES to gendirdeps.mk
506           do not apply :T to META_XTRAS
507           patch from Bryan Drewery at FreeBSD.org.
508
509 2016-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
510
511         * install-mk (MK_VERSION): 20160530
512         * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
513           make it so.
514
515 2016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
516
517         * install-mk (MK_VERSION): 20160512
518
519         * dpadd.mk: always include local.dpadd.mk if it exists
520           remove some things that better belong in local.dpadd.mk
521           skip INCLUDES_* for staged libs unless SRC_* defined.
522
523         * own.mk: add INCLUDEDIR
524
525 2016-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
526
527         * dirdeps.mk: when doing -f dirdeps.mk if target suppies no
528           TARGET_MACHINE - :E will be empty or match part of path, use
529           ${MACHINE}
530
531 2016-04-07  Simon J. Gerraty  <sjg@bad.crufty.net>
532
533         * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
534           NO_FILEMON_COOKIE
535
536         * dirdeps.mk: move the logic that allows for
537           make -f dirdeps.mk some/dir.${TARGET_SPEC}
538           inside the check for !target(_DIRDEP_USE)
539
540 2016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
541
542         * Use <> when including local*.mk and others which may exist
543           elsewhere so that user can better control what they get.
544
545         * meta.autodep.mk (NO_FILEMON_COOKIE):
546           create a cookie if we ever build dir with nofilemon
547           so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
548
549 2016-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
550
551         * install-mk (MK_VERSION): 20160401
552
553         * meta2deps.py: fix old print statement when debugging.
554
555         * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
556           patch from Bryan Drewery
557
558 2016-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
559
560         * install-mk (MK_VERSION): 20160317 (St. Pats)
561
562         * warnings.mk: g++ does not like -Wimplicit
563
564         * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
565           pelthora of common suffixes for C++
566
567         * lib.mk: use .So for shared objects
568
569 2016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
570
571         * install-mk (MK_VERSION): 20160315
572
573         * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
574           normally only applies to scripts.
575
576         * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
577           well as outside it.
578
579 2016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
580
581         * install-mk (MK_VERSION): 20160310
582
583         * dirdeps.mk: use targets rather than a list to track DIRDEPS that
584           we have processed; the list gets very inefficient as number of
585           DIRDEPS gets large.
586
587         * sys.dependfile.mk: fix comment wrt MACHINE
588
589         * meta.autodep.mk: ignore staged DPADDs when bootstrapping.
590           patch from Bryan Drewery
591
592 2016-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
593
594         * meta2deps.sh: don't ignore subdirs.
595           patch from Bryan Drewery
596
597 2016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
598
599         * install-mk (MK_VERSION): 20160226
600
601         * gendirdeps.mk: mark _DEPENDFILE .NOMETA
602
603 2016-02-20  Simon J. Gerraty  <sjg@bad.crufty.net>
604
605         * dirdeps.mk: we shouldn't normally include .depend but if we do
606           use .dinclude if we can.
607
608 2016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
609
610         * install-mk (MK_VERSION): 20160218
611         * sys.clean-env.mk: with recent change to Var_Subst()
612           we cannot use the '$$' trick, but .export-literal does the job
613           we need.
614         * auto.dep.mk: make use .dinclude if we can.
615
616
617 2016-02-05  Simon J. Gerraty  <sjg@bad.crufty.net>
618
619         * dirdeps.mk:
620           Add _build_all_dirs such that local.dirdeps.mk can
621           add fully qualified dirs to it.
622           These will be built normally but the current
623           DEP_RELDIR will not depend on then (to avoid cycles).
624           This makes it easy to hook things like unit-tests into build.
625
626
627 2016-01-21  Simon J. Gerraty  <sjg@bad.crufty.net>
628
629         * dirdeps.mk: add bootstrap-empty
630
631 2015-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
632
633         * install-mk (MK_VERSION): 20151212
634         * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
635           only apply :tA to __objdir when comparing to .OBJDIR
636
637 2015-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
638
639         * install-mk (MK_VERSION): 20151111
640
641         * meta.sys.mk: include sys.dependfile.mk
642
643         * sys.mk (OPTIONS_DEFAULT_NO): use options.mk
644           to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
645           include local.sys.env.mk early
646           include local.sys.mk later
647
648         * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
649
650 2015-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
651
652         * meta.sys.mk (META_COOKIE_TOUCH):
653           add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
654
655         * meta.stage.mk: stage_libs should ignore SYMLINKS.
656
657 2015-10-23  Simon J. Gerraty  <sjg@bad.crufty.net>
658
659         * install-mk (MK_VERSION): 20151022
660
661         * sys.mk: BSD/OS does not have 'type' as a shell builtin.
662
663 2015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
664
665         * install-mk (MK_VERSION): 20151020
666
667         * dirdeps.mk: Add logic for
668           make -f dirdeps.mk some/dir.${TARGET_SPEC}
669
670 2015-10-14  Simon J. Gerraty  <sjg@bad.crufty.net>
671
672         * install-mk (MK_VERSION): 20151010
673
674 2015-10-02  Simon J. Gerraty  <sjg@bad.crufty.net>
675
676         * meta.stage.mk: use staging: ${STAGE_TARGETS:...
677           to have stage_lins run last in non-jobs mode.
678           Use .ORDER only for jobs mode.
679
680 2015-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
681
682         * rst2htm.mk: allow for per target flags etc.
683
684 2015-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
685
686         * install-mk (MK_VERSION): 20150901
687
688         * doc.mk: create dir if needed use DOC_INSTALL_OWN
689
690 2015-06-15  Simon J. Gerraty  <sjg@bad.crufty.net>
691
692         * install-mk (MK_VERSION): 20150615
693
694         * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
695           Follow make's normal precedence rules.
696
697         * gendirdeps.mk: allow customization of the header.
698           eg. for FreeBSD:
699           GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
700
701         * meta.autodep.mk: ignore dirdeps.cache*
702
703         * meta.stage.mk: when bootstrapping options it can be handy to
704           throw warnings rather than errors for staging conflicts.
705
706         * meta.sys.mk: include local.meta.sys.mk for customization
707
708 2015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
709
710         * install-mk (MK_VERSION): 20150606
711
712         * dirdeps.mk: don't rely on manually maintained Makefile.depend
713           to set DEP_RELDIR and reset DIRDEPS.
714           By setting DEP_RELDIR ourselves we can skip :tA
715
716         * gendirdeps.mk: skip setting DEP_RELDIR.
717
718 2015-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
719
720         * dirdeps.mk: avoid wildcards like make(bootstrap*)
721
722 2015-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
723
724         * install-mk (MK_VERSION): 20150520
725
726         * dirdeps.mk: when we are building dirdeps cache file we *want*
727           meta_oodate to look at all the Makefile.depend files, so
728           set .MAKE.DEPENDFILE to something that won't match.
729
730         * meta.stage.mk: for STAGE_AS_* basename of file may not be unique
731           so first use absolute path as key.
732           Also skip staging at level 0.
733
734 2015-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
735
736         * install-mk (MK_VERSION): 20150430
737
738         * dirdeps.mk: fix _count_dirdeps for non-cache case.
739
740 2015-04-16  Simon J. Gerraty  <sjg@bad.crufty.net>
741
742         * install-mk (MK_VERSION): 20150411
743           bump version
744
745         * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
746           it is here mainly for documentation purposes, since
747           if using auto.obj.mk it is better done via sys.mk
748
749 2015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
750
751         * install-mk (MK_VERSION): 20150401
752
753         * meta2deps.sh: support @list
754
755         * meta2deps.py: updates from Juniper
756           o add EXCLUDES
757           o skip bogus input files.
758           o treat 'M' and 'L' as both an 'R' and a 'W'
759
760 2015-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
761
762         * install-mk (MK_VERSION): 20150303
763
764         * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
765           which is built via sub-make so we have a .meta file to tell if
766           it is out-of-date.
767           The dirdeps-cache contains the same dependency rules that we
768           normaly construct on the fly.
769           This adds a few seconds overhead when the cache is out of date,
770           but for a large target, the savings can be significant (10-20min).
771
772 2014-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
773
774         * install-mk (MK_VERSION): 20141118
775
776         * meta.stage.mk: add stale_staged
777
778         * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
779           only useful under very rare conditions such as
780           FreeBSD's make universe.
781
782         * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
783
784 2014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
785
786         * install-mk (MK_VERSION): 20141111
787
788         * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
789
790 2014-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
791
792         * FILES: include mkopt.sh which allows handling options in shell
793           scripts in a manner compatible with options.mk
794
795 2014-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
796
797         * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
798           for GENDIRDEPS_FILTER to avoid surprises.
799
800 2014-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
801
802         * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
803           the time it is applied to __depdirs they have.
804
805         * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
806           expects patterns like *.${MACHINE}
807
808         * cython.mk (pyprefix?): use pyprefix to find python bits
809           since prefix might be something else (where we install our
810           stuff)
811
812 2014-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
813
814         * install-mk (MK_VERSION): 20140911
815
816         * dirdeps.mk: add bootstrap target to simplify adding support for
817           new MACHINE.
818
819 2014-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
820
821         * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
822           GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
823           Makefile.depend files.
824
825 2014-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
826
827         * install-mk (MK_VERSION): 20140828
828
829         * cython.mk: capture logic for building python extension modules
830           with Cython.
831
832 2014-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
833
834         * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
835
836 2014-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
837
838         * install-mk (MK_VERSION): 20140801
839
840         * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
841         identify the autodep.mk variant.
842
843         * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
844         initial value does not match .MAKE.DEPENDFILE_PREFIX
845
846         * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
847
848 2014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
849
850         * install-mk (MK_VERSION): 20140522
851
852         * lib.mk: use CC to link shlib for linux too
853           patch from Brendan MacDonell
854
855 2014-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
856
857         * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
858           if WITH_META_STATS is defined.
859
860 2014-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
861
862         * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
863           to supress dirdeps outside of .CURDIR.
864
865 2014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
866
867         * Fix spelling errors - patch from Pedro Giffuni
868
869 2014-03-14  Simon J. Gerraty  <sjg@bad.crufty.net>
870
871         * install-mk (MK_VERSION): 20140314
872
873         * dirdeps.mk (beforedirdeps): a handy hook
874
875         * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
876           to visit leaf dirs to be intercepted (eg. for distributed
877           build).
878
879         * dirdeps.mk (__depdirs): ensure // don't sneak in
880
881         * gendirdeps.mk (DIRDEPS): ensure // don't sneak in
882
883
884 2014-02-21  Simon J. Gerraty  <sjg@bad.crufty.net>
885
886         * rst2htm.mk (RST2PDF): add support for rst2pdf
887
888 2014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
889
890         * install-mk (MK_VERSION): bump version
891         * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
892           available.
893
894 2014-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
895
896         * options.mk: avoid :U so this isn't bmake dependent
897
898 2014-02-09  Simon J. Gerraty  <sjg@bad.crufty.net>
899
900         * options.mk: cleanup and simplify semanitcs
901           NO_* dominates all, if both WITH_* and WITHOUT_*
902           are defined then result is DOMINATE_* which defaults to "no".
903           Ie. WITHOUT_ normally wins.
904
905 2013-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
906
907         * install-mk (MK_VERSION): bump version
908         * meta2deps.py: convert to print function for python3 compat.
909           we also need to open files with mode 'r' rather than 'rb'
910           otherwise we get bytes instead of strings.
911
912 2013-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
913
914         * install-mk (MK_VERSION): bump version
915
916         * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
917           apply the same filtering (M_dep_qual_fixes) when setting _machines
918           as _build_dirs.
919           Also fix the filtering of Makefile.depend files - for reporting
920           what we are looking for (M_dep_qual_fixes can get confused by
921           Makefile.depend)
922           Add some more debug info.
923
924 2013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
925
926         * gendirdeps.mk (_objtops): fix typo also
927           while processing M2D_OBJROOTS to gather qualdir_list
928           qualify $ql with loop iterator to ensure correct results.
929
930 2013-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
931
932         * install-mk (MK_VERSION): 20130801
933         * libs.mk: update to match progs.mk
934
935 2013-07-26  Simon J. Gerraty  <sjg@bad.crufty.net>
936
937         * install-mk (MK_VERSION): 20130726
938           some updates from Juniper and FreeBSD
939           o meta2deps.py: indicate file and line number when we hit parse
940             errors
941             also allow @file to provide huge list of .meta files.
942         * meta2deps.py: add try_parse() to cleanup the above.
943
944 2013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
945
946         * install-mk (MK_VERSION): 20130716
947         * own.mk: add GPROG as an option
948         * prog.mk: honor MK_GPROF==yes
949
950 2013-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
951
952         * install-mk (MK_VERSION): 20130505
953         * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
954           for when $MACHINE isn't enough for objdir distinction.
955           Bring meta2deps.sh closer to par with meta2deps.py.
956
957 2013-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
958
959         * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
960           also if the target 'beforeinstall' exists, make it depend on
961           .dirdep (incase it uses STAGE_INSTALL).
962
963 2013-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
964
965         * install-mk (MK_VERSION): 20130401 ;-)
966         * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
967           wrapper around install(1).
968         * options.mk (OPTION_PREFIX): Allow a prefix other than MK_
969
970 2013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
971
972         * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
973         * install-mk (MK_VERSION): bump version
974
975 2013-03-21  Simon J. Gerraty  <sjg@bad.crufty.net>
976
977         * install-mk (MK_VERSION): bump version
978         * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
979           any trailing /., rather apply :tA only when needed.
980         * gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
981         * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
982           consistently.
983         * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
984
985 2013-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
986
987         * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
988           it is simpler to just not update when say building for "host"
989           (where we know we apply filters to DIRDEPS), and using a
990           non-machine qualified dependfile.
991
992 2013-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
993
994         * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
995           and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
996         * gendirdeps.mk: ensure _objroot has trailing / if it needs it.
997         * meta2deps.py: if machine is "host", then also trim
998           self.host_target from any OBJROOTS.
999
1000
1001 2013-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1002
1003         * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
1004           qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
1005           but _DEPENDFILE does not, compare the new _DEPENDFILE against
1006           .MAKE.DEPENDFILE_DEFAULT and discard if the same.
1007
1008 2013-03-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1009
1010         * meta.stage.mk: use STAGE_TARGETS to control .ORDER
1011           and hook to all: via staging:
1012
1013 2013-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1014
1015         * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
1016           use a separate variable for the default .MAKE.DEPENDFILE value
1017           so that it can be controlled independently of
1018           .MAKE.DEPENDFILE_PREFERENCE
1019
1020         * meta.stage.mk: throw error if cp fails etc.
1021           Stage*() return early if passed no args.
1022           .ORDER stage_*
1023
1024 2013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1025
1026         * install-mk (MK_VERSION): bump version
1027         * gendirdeps.mk: handle multiple M2D_OBJROOTS better.
1028
1029 2013-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1030
1031         * install-mk (MK_VERSION): bump version to 20130210
1032         * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
1033           from Juniper.
1034           o dirdeps.mk now fully supports TARGET_SPEC consisting of more
1035             than just MACHINE.
1036           o no longer use DEP_MACHINE from Makefile.depend* so remove it.
1037
1038 2013-01-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1039
1040         * install-mk (MK_VERSION): bump version to 20130123
1041         * meta.stage.mk: add stage_links (hard links).
1042           if doing hard links, we add dest to link as well.
1043           Default the stage dir for [sym]links to STAGE_OBJTOP since
1044           these are typically specified as absolute paths.
1045           Add -m "mode" flag to StageFiles and StageAs.
1046
1047 2012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1048
1049         * install-mk (MK_VERSION): bump version to 20121111
1050         * autoconf.mk: avoid meta mode seeing changed commands for config.status
1051         * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
1052           in case we were found via .../mk
1053         * sys.clean-env.mk: move it from examples, we and others use it
1054           "as is".
1055         * FILES: add srctop.mk and options.mk
1056         * own.mk: convert to using options.mk
1057           which is modeled after FreeBSD's handling of MK_*
1058           but more flexible.
1059           This allows MK_* for boolean knobs to not be confused
1060           with MK* which can be commands.
1061
1062         * examples/sys.clean-env.mk: add WITH[OUT]_ to
1063           MAKE_ENV_SAVE_PREFIX_LIST.
1064           Mention that HOME=/var/empty might be a good idea.
1065
1066 2012-11-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1067
1068         * sys.dependfile.mk: if not depend file exists, $MACHINE
1069           specific ones are supported but not the default,
1070           check if any exist and follow suit.
1071
1072 2012-11-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1073
1074         * install-mk (MK_VERSION): bump version to 20121106
1075
1076 2012-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1077
1078         * import latest dirdeps.mk and meta2deps.py from Juniper.
1079         * progs.mk: add MAN and CXXFLAGS to PROG_VARS
1080           also add PROGS_TARGETS and pass on PROG_CXX if it seems
1081           appropriate.
1082
1083 2012-11-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1084
1085         * meta.stage.mk: update CLEANFILES
1086           remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
1087         * progs.mk: Add LDADD to PROG_VARS
1088
1089 2012-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1090
1091         * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
1092           _STAGED_DIRS so that these can be turned into filters for
1093           GENDIRDEPS_FILTER.
1094
1095 2012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1096
1097         * install-mk (MK_VERSION): bump version to 20121010
1098         * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
1099         target.dirdep matches .dirdep
1100
1101 2012-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1102
1103         * install-mk (MK_VERSION): bump version to 20120808
1104         * import latest meta2deps.py from Juniper.
1105
1106 2012-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1107
1108         * install-mk (MK_VERSION): bump version to 20120711
1109         * dep.mk: add explicit dependencies on SRCS after applying
1110           SRCS_DEP_FILTER
1111         * meta.autodep.mk: add explicit dependencies on SRCS after
1112           applying SRCS_DEP_FILTER
1113         * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
1114
1115 2012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1116
1117         * install-mk (MK_VERSION): bump version to 20120626
1118         * meta.sys.mk: ignore PYTHON if it does not exist
1119           compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
1120         * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
1121           entries ending in .${MACHINE} to decide if qualified _dirdep is
1122           needed.
1123         * gendirdeps.mk: only produce unqualified deps if no
1124           .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
1125         * meta.subdir.mk: apply SUBDIRDEPS_FILTER
1126
1127 2012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1128
1129         * install-mk (MK_VERSION): bump version to 20120420
1130         * add sys.dependfile.mk so we can experiment with
1131           .MAKE.DEPENDFILE_PREFERENCE
1132         * meta.autodep.mk: _DEPENDFILE is precious!
1133
1134 2012-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1135
1136         * install-mk (MK_VERSION): bump version to 20120315
1137         * install-new.mk: avoid being interrupted
1138
1139 2012-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1140
1141         * man.mk: MAN might have multiple values so be careful with exists().
1142
1143 2012-01-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1144
1145         * install-mk (MK_VERSION): bump version to 20120112
1146         * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
1147           as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
1148
1149 2011-12-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1150
1151         * install-mk (MK_VERSION):  bump version to 20111201
1152         * import dirdeps.mk from Juniper sjg@
1153           o more consistent handling of DEP_MACHINE, especially when
1154             dealing with an odd Makefile.depend, when normally using
1155             Makefile.depend.${MACHINE}
1156
1157 2011-11-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1158
1159         * install-mk (MK_VERSION): bump version to 20111122
1160         * meta.autodep.mk: add some debug output, be more crisp about
1161           updating.  Use ${.ALLTARGETS:M*.o} as a clue for .depend
1162
1163 2011-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1164
1165         * install-mk (MK_VERSION): bump version to 20111111
1166           it's too cool to miss
1167         * import meta* updates from Juniper sjg@
1168           o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
1169             normally using Makefile.depend.${MACHINE}), handy for
1170             read-only manually maintained dependencies.
1171           o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
1172           o gendirdeps.mk if ERROR: from meta2deps.py do not update
1173             anything.
1174
1175 2011-10-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1176
1177         * install-new.mk separate the cmp and copy logic to its own function.
1178
1179 2011-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1180
1181         * install-mk (MK_VERSION): bump version to 20111028
1182         * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
1183         * subdir.mk: ensure _SUBDIRUSE is provided
1184         * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
1185         * meta.subdir.mk: always allow for Makefile.depend
1186
1187 2011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1188
1189         * install-mk (MK_VERSION): bump version to 20111010
1190           o minor tweak to *dirdeps.mk from Juniper sjg@
1191
1192 2011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1193
1194         * install-mk (MK_VERSION): bump version to 20111001
1195           o add meta2deps.py from Juniper sjg@
1196           o tweak gendirdeps.mk to work with meta2deps.py when not
1197             cross-building
1198         * autoconf.mk: add autoconf-input as a hook for regenerating
1199           AUTOCONF_INPUTS (configure).
1200
1201 2011-08-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1202
1203         * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
1204           trigger for updating Makefile.depend*
1205
1206 2011-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1207
1208         * install-mk (MK_VERSION): bump version to 20110808
1209         * obj.mk: minor cleanup
1210         * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
1211
1212 2011-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1213
1214         * auto.obj.mk (.OBJDIR): throw an error if we cannot use the
1215           specified dir.
1216
1217 2011-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1218
1219         * meta.autodep.mk: if XMAKE_META_FILE is set
1220           the makefile uses a foreign make, and so dependencies
1221           can only be gathered from a clean tree build.
1222
1223 2011-06-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1224
1225         * install-mk (MK_VERSION): bump version to 20110622
1226         * meta.autodep.mk: improve bootstraping
1227
1228 2011-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1229
1230         * yacc.mk: handle the corner case of .c being removed
1231           while .h remains.
1232
1233 2011-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1234
1235         * yacc.mk: do .y.h and .y.c separately
1236
1237 2011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1238
1239         * install-mk (MK_VERSION): bump version to 20110606
1240         * don't store SRC_DIRDEPS in Makefile.depend* by default
1241           not everyone needs it.
1242
1243 2011-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1244
1245         * install-mk (MK_VERSION): bump version to 20110505
1246           first release including meta mode makefiles
1247
1248 2011-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1249
1250         * meta.stage.mk: add STAGE_AS_SETS and stage_as
1251           for things that need to be staged with different names.
1252
1253 2011-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1254
1255         * meta.stage.mk: add notion of STAGE_SETS
1256           so a makefile can stage to multiple dirs
1257
1258 2011-04-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1259
1260         * rst2htm.mk: convert rst to s5 (slides) or plain html depending
1261           on target name.
1262
1263 2011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1264
1265         * install-mk (MK_VERSION): bump version to 20110330
1266
1267 2011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
1268
1269         * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
1270           can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
1271         * sys.mk: re-define M_whence in terms of M_type.
1272           M_type is useful for checking if something is a builtin.
1273
1274 2011-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1275
1276         * meta.stage.mk: add stage_symlinks and leverage StageLinks for
1277           stage_libs
1278
1279 2011-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1280
1281         * dirdeps.mk: correct value for _depdir_files depends on
1282           .MAKE.DEPENDFILE
1283           Add our copyright - just to make it clear we have frobbed this
1284           quite a bit.
1285           DEP_MACHINE needs to be set to MACHINE each time, if using only
1286           Makefile.depend (cf. Makefile.depend.${MACHINE})
1287
1288         * meta.stage.mk: meta mode version of staging
1289
1290         * init.mk, final.mk: include local.*.mk to simplify customization
1291
1292 2011-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1293
1294         * auto.obj.mk: just because we are doing mk destroy, we should
1295           still set .OBJDIR correctly if it exists.
1296
1297         * install-mk (mksrc): do not exclude meta.sys.mk
1298
1299 2011-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1300
1301         * host-target.mk: set/export _HOST_ARCH etc separately,
1302           catch junk resulting from uname -p, so we can find sys/Linux.mk
1303           correctly.
1304
1305 2011-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1306
1307         * meta.sys.mk: throw an error if /dev/filemon is missing and we
1308           expected to be updating Makefile.depend*
1309
1310 2011-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1311
1312         * install-mk (MK_VERSION): bump version to 20110214
1313         * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
1314
1315 2010-09-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1316
1317         * meta.sys.mk: not valid for older bmake
1318
1319 2010-09-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1320
1321         * install-mk (MK_VERSION): bump version to 20100919
1322         include dirdeps.mk et al from Juniper Networks,
1323         for meta mode - requires filemon(9).
1324         * sys.mk, subdir.mk: Add hooks for meta mode.
1325         we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
1326         to make turning it on/off simple.
1327
1328 2010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1329
1330         * install-mk (MK_VERSION): bump version to 20100616
1331         * fix typo in sys.mk
1332
1333 2010-06-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1334
1335         * install-mk (MK_VERSION): bump version to 20100612
1336         * lib.mk: remove duplicate addition to SOBJS
1337
1338 2010-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1339
1340         * sys.mk: Add a means of selectively turning on debug flags.
1341           Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
1342           will act as if we did make -dv if .CURDIR ends in lib/sjg
1343           DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
1344           the start of sys.mk rather than the end.
1345           This only makes sense for leaf dirs, so we check that
1346           .MAKE.LEVEL > 0
1347
1348 2010-06-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1349
1350         * install-mk (MK_VERSION): bump version to 20100608
1351         * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
1352         * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
1353           also make it easier for folk to tweak
1354
1355 2010-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1356
1357         * install-mk (MK_VERSION): bump version to 20100606
1358           do not install examples/*
1359         * FILES: add examples/sys.clean-env.mk
1360         * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
1361           this requires bmake-20100606 or later to work.
1362
1363 2010-05-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1364
1365         * sys.mk (M_tA): better simulate the result of :tA if not available.
1366
1367 2010-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1368
1369         * sys.mk: canonicalize MAKE_VERSION
1370           old versions reported bmake-<src-date> build-<build-date>
1371           whereas we only care about <src-date>
1372
1373 2010-04-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1374
1375         * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
1376         * lib.mk: we only build the shared lib if SHLIB_FULLVERSION
1377           is !empty
1378
1379 2010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1380
1381         * dpadd.mk: use LDADD_* if defined.
1382
1383 2010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1384
1385         * install-mk (MK_VERSION): bump version to 20100420
1386         * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
1387         * autoconf.mk allow AUTO_AUTOCONF
1388
1389 2010-04-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1390
1391         * obj.mk: add objwarn to keep freebsd makefiles happy
1392         * auto.obj.mk: ensure Mkdirs is available.
1393         * FILES: add auto.dep.mk - a simpler version of autodep.mk
1394         * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
1395           asked to do that.
1396           fix/simplify the tests for when to run mkdep.
1397         * auto.dep.mk: add some explanation of how/what we do.
1398         * autodep.mk: skip the .OPTIONAL frobbing of .depend
1399           bmake's FROM_DEPEND flag makes it redundant.
1400
1401 2010-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1402
1403         * install-mk (MK_VERSION): bump version to 20100404
1404         * subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
1405         * obj.mk: protect from multiple inclusion even as bsd.obj.mk
1406         Also create a target _SUBDIRUSE so that we can  be used without
1407         subdir.mk
1408
1409 2010-04-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1410
1411         * dep.mk: use <> when .including so can override.
1412
1413 2010-01-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1414
1415         * lib.mk (SHLIB_LINKS): ensure a string comparison.
1416
1417 2010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1418
1419         * install-mk (MK_VERSION): bump version to 20100102
1420         * own.mk: ensure PRINTOBJDIR works
1421         * autoconf.mk: pass on CONFIGURE_ARGS
1422         * init.mk: handle COPTS.${.IMPSRC:T} etc.
1423         * lib.mk: allow sys.mk to control SHLIB_FULLVERSION
1424           fix handling of symlinks for darwin
1425         * libnames.mk: add DSHLIBEXT for libs which only exist as shared.
1426         * man.mk: suppress chown when not root.
1427         * rst2htm.mk: allow srcs from multiple locations.
1428         * sys.mk: M_whence, stop after 1st line of output.
1429         * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
1430         * sys/SunOS.mk: we need to export PATH
1431
1432 2009-12-23  Simon J. Gerraty  <sjg@void.crufty.net>
1433
1434         * install-mk (MK_VERSION): bump version
1435           include rst2htm.mk
1436
1437 2009-12-17  Simon J. Gerraty  <sjg@void.crufty.net>
1438
1439         * sys.mk,libnames.mk add .-include <local.*>
1440           this allows local customization without the need to edit the
1441           distributed files.
1442
1443 2009-12-14  Simon J. Gerraty  <sjg@void.crufty.net>
1444
1445         * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
1446           older versions already installed.
1447
1448 2009-12-13  Simon J. Gerraty  <sjg@void.crufty.net>
1449
1450         * stage.mk (.stage-install): generalize lib.mk's .libinstall
1451         * rules.mk rules for generic Makefile.
1452         * inc.mk install for includes.
1453
1454 2009-12-11  Simon J. Gerraty  <sjg@void.crufty.net>
1455
1456         * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
1457           this, so provide it if using native make.
1458
1459 2009-12-10  Simon J. Gerraty  <sjg@void.crufty.net>
1460
1461         * FILES: move all the platform *.sys.mk files to sys/*.mk
1462         * Rename Generic.sys.mk to sys.mk - we always want it.
1463
1464 2009-11-17  Simon J. Gerraty  <sjg@void.crufty.net>
1465
1466         * install-mk (MK_VERSION): bump version
1467         * host-target.mk: only export the expensive stuff
1468         * Generic.sys.mk (sys_mk): for SunOS we need to look for
1469           ${HOST_OS}.${HOST_OSMAJOR} too!
1470
1471 2009-11-07  Simon J. Gerraty  <sjg@void.crufty.net>
1472
1473         * install-mk (MK_VERSION): bump version
1474         * lib.mk: if sys.mk doesn't give us an lorder, don't use it.
1475           based on patch from Greg Olszewski.
1476         * Generic.sys.mk: if we have nothing to work with
1477         set LORDER etc only if we can find it.
1478
1479 2009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
1480
1481         * install-mk (MK_VERSION): bump version
1482         * man.mk: cleanman: remove CLEANMAN if defined.
1483
1484 2009-09-04  Simon J. Gerraty  <sjg@void.crufty.net>
1485
1486         * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
1487
1488 2009-07-17  Simon J. Gerraty  <sjg@void.crufty.net>
1489
1490         * install-mk (MK_VERSION): bump version
1491         include auto.obj.mk
1492
1493
1494 2009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
1495
1496         * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
1497
1498 2008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
1499
1500         * install-mk (MK_VERSION): bump version
1501         man.mk: ensure we generate *.cat1 etc in .
1502
1503 2008-07-16  Simon J. Gerraty  <sjg@void.crufty.net>
1504
1505         * install-mk (MK_VERSION): bump version
1506         add prlist.mk
1507
1508 2007-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
1509
1510         * Generic.sys.mk: Allow os specific sys.mk to be in a
1511         subdir of ${.PARSEDIR}
1512
1513 2007-11-22  Simon J. Gerraty  <sjg@void.crufty.net>
1514
1515         * install-mk (MK_VERSION): bump version
1516         * general cleanup
1517         * dpadd.mk introduce DPMAGIC_LIBS_*
1518
1519 2007-04-30  Simon J. Gerraty  <sjg@void.crufty.net>
1520
1521         * install-mk (MK_VERSION): bump version
1522
1523         * libs.mk, progs.mk, autodep.mk: allow for per lib/prog
1524         depend files and ensure clean is called for each lib/prog.
1525
1526 2007-03-27  Simon J. Gerraty  <sjg@void.crufty.net>
1527
1528         * autodep.mk (.depend): delete lines that do not start with
1529         space and do not contain ':'
1530
1531 2007-02-16  Simon J. Gerraty  <sjg@void.crufty.net>
1532
1533         * autodep.mk (.depend): gcc may wrap lines if pathnames are long
1534         so make sure the transform for .OPTIONAL copes.
1535
1536 2007-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
1537
1538         * install-mk (MK_VERSION): bump version
1539
1540         * own.mk: make sure RM and LN are defined.
1541
1542         * obj.mk: fix a typo, and objlink target.
1543
1544 2006-12-30  Simon J. Gerraty  <sjg@void.crufty.net>
1545
1546         * install-mk (MK_VERSION): bump version
1547         * added libs.mk - analogous to progs.mk
1548           make both of them always inlcude {lib,prog}.mk
1549
1550 2006-12-28  Simon J. Gerraty  <sjg@void.crufty.net>
1551
1552         * progs.mk: add a means of building multiple apps in one dir.
1553
1554 2006-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
1555
1556         * install-mk (MK_VERSION): bump version to 20061126
1557
1558         * warnings.mk: detect invalid WARNINGS_SET
1559
1560         * warnings.mk: use ${.TARGET:T:R}.o when looking for target
1561         specific warnings.
1562
1563         * For .cc sources, turn off warnings that g++ vomits on.
1564
1565 2006-11-08  Simon J. Gerraty  <sjg@void.crufty.net>
1566
1567         * own.mk: if __initialized__ target doesn't exist and we are
1568         FreeBSD we got here directly from sys.mk
1569
1570 2006-11-06  Simon J. Gerraty  <sjg@void.crufty.net>
1571
1572         * install-mk (MK_VERSION): bump version to 20061106
1573         add scripts.mk
1574
1575 2006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
1576
1577         * install-mk (MK_VERSION): bump version to 20060318
1578
1579         * autodep.mk: avoid := when modifying OBJS into __dependsrcs
1580
1581 2006-03-02  Simon J. Gerraty  <sjg@void.crufty.net>
1582
1583         * install-mk (MK_VERSION): bump version to 20060302
1584         * autodep.mk: use -MF et al to help gcc+ccache DTRT.
1585
1586 2006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
1587
1588         * install-mk (MK_VERSION): bump version to 20060301
1589         * autodep.mk (.depend):
1590         if MAKE_VERSION is newer than  20050530 we can make .END depend on
1591         .depend and make .depend depend on __depsrcs that exist.
1592         * dpadd.mk: add SRC_PATHADD
1593
1594 2005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1595
1596         * install-mk (MK_VERSION): bump version to 20051104
1597         * prog.mk: remove all the LIBC?= junk, use
1598         .-include libnames.mk instead (none by default).
1599         also if USE_DPADD_MK is set, include that.
1600
1601 2005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1602
1603         * install-mk (MK_VERSION): bump version to 20051001
1604         Add UnixWare.sys.mk from Klaus Heinz.
1605
1606 2005-04-05  Simon J. Gerraty  <sjg@void.crufty.net>
1607
1608         * install-mk: always install *.sys.mk and if need be symlink one
1609         to sys.mk
1610
1611 2005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
1612
1613         * subdir.mk, own.mk: use .MAKE rather than MAKE
1614
1615 2004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1616
1617         * own.mk: don't use NetBSD's _SRC_TOP_ it can
1618         cause confusion.  Also don't take just 'mk' as a
1619         srctop indicator.
1620
1621 2004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
1622
1623         * warnings.mk: overhauled, now very powerful.
1624
1625 2004-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
1626
1627         * Generic.sys.mk: need to use ${.PARSEDIR} with exists().
1628
1629 2004-02-01  Simon J. Gerraty  <sjg@void.crufty.net>
1630
1631         * install-mk (MK_VERSION): bump version to 20040201
1632         * extract HOST_TARGET stuff to host-target.mk so own.mk and
1633         Generic.sys.mk can share.
1634         * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
1635
1636 2003-09-30  Simon J. Gerraty  <sjg@void.crufty.net>
1637
1638         * install-mk (MK_VERSION): 20030930
1639         * rename generic.sys.mk to Generic.sys.mk
1640         so that it does not get installed (unless being used as sys.mk)
1641         * set OS and ROOT_GROUP for those that we know the value.
1642         for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
1643         we don't do it again for each sub-make.
1644
1645 2003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
1646
1647         * install-mk (MK_VERSION): 20030928
1648         Add some extra *.sys.mk from bootstrap-pkgsrc
1649         some of these likely still need work.
1650         Make everything default to root:wheel ownership,
1651         sys.mk can set ROOT_GROUP accordingly.
1652
1653 2003-08-07  Simon J. Gerraty  <sjg@void.crufty.net>
1654
1655         * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
1656         not the portable ones.
1657
1658 2003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
1659
1660         * install-mk: add ability to use cp -f when updating
1661         destination .mk files.  Also now possible to play games with
1662         FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
1663         into dest - not recommended unless you seriously want to.
1664
1665 2003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1666
1667         * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
1668         for semi-compatability with NetBSD.
1669
1670 2003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
1671
1672         * install-mk: add a version indicator
1673
1674 2003-07-22  Simon J. Gerraty  <sjg@void.crufty.net>
1675
1676         * prog.mk: don't try and use ${LIBCRT0} if its /dev/null
1677
1678         * install-mk: Allow FORCE_SYS_MK to come from env
1679
1680
1681