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