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