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