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