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