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