xref: /freebsd/contrib/bmake/mk/ChangeLog (revision 079171874c9bf263b69e3af10784ad2bcd1fe699)
12016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2
3	* install-mk (MK_VERSION): 20160315
4
5	* meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
6	  normally only applies to scripts.
7
8	* dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
9	  well as outside it.
10
112016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
12
13	* install-mk (MK_VERSION): 20160310
14
15	* dirdeps.mk: use targets rather than a list to track DIRDEPS that
16	  we have processed; the list gets very inefficient as number of
17	  DIRDEPS gets large.
18
19	* sys.dependfile.mk: fix comment wrt MACHINE
20
21	* meta.autodep.mk: ignore staged DPADDs when bootstrapping.
22	  patch from Bryan Drewery
23
242016-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
25
26	* meta2deps.sh: don't ignore subdirs.
27	  patch from Bryan Drewery
28
292016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
30
31	* install-mk (MK_VERSION): 20160226
32
33	* gendirdeps.mk: mark _DEPENDFILE .NOMETA
34
352016-02-20  Simon J. Gerraty  <sjg@bad.crufty.net>
36
37	* dirdeps.mk: we shouldn't normally include .depend but if we do
38	  use .dinclude if we can.
39
402016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
41
42	* install-mk (MK_VERSION): 20160218
43	* sys.clean-env.mk: with recent change to Var_Subst()
44	  we cannot use the '$$' trick, but .export-literal does the job
45	  we need.
46	* auto.dep.mk: make use .dinclude if we can.
47
48
492016-02-05  Simon J. Gerraty  <sjg@bad.crufty.net>
50
51	* dirdeps.mk:
52	  Add _build_all_dirs such that local.dirdeps.mk can
53	  add fully qualified dirs to it.
54	  These will be built normally but the current
55	  DEP_RELDIR will not depend on then (to avoid cycles).
56	  This makes it easy to hook things like unit-tests into build.
57
58
592016-01-21  Simon J. Gerraty  <sjg@bad.crufty.net>
60
61	* dirdeps.mk: add bootstrap-empty
62
632015-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
64
65	* install-mk (MK_VERSION): 20151212
66	* auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
67	  only apply :tA to __objdir when comparing to .OBJDIR
68
692015-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
70
71	* install-mk (MK_VERSION): 20151111
72
73	* meta.sys.mk: include sys.dependfile.mk
74
75	* sys.mk (OPTIONS_DEFAULT_NO): use options.mk
76	  to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
77	  include local.sys.env.mk early
78	  include local.sys.mk later
79
80	* own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
81
822015-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
83
84	* meta.sys.mk (META_COOKIE_TOUCH):
85	  add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
86
87	* meta.stage.mk: stage_libs should ignore SYMLINKS.
88
892015-10-23  Simon J. Gerraty  <sjg@bad.crufty.net>
90
91	* install-mk (MK_VERSION): 20151022
92
93	* sys.mk: BSD/OS does not have 'type' as a shell builtin.
94
952015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
96
97	* install-mk (MK_VERSION): 20151020
98
99	* dirdeps.mk: Add logic for
100	  make -f dirdeps.mk some/dir.${TARGET_SPEC}
101
1022015-10-14  Simon J. Gerraty  <sjg@bad.crufty.net>
103
104	* install-mk (MK_VERSION): 20151010
105
1062015-10-02  Simon J. Gerraty  <sjg@bad.crufty.net>
107
108	* meta.stage.mk: use staging: ${STAGE_TARGETS:...
109	  to have stage_lins run last in non-jobs mode.
110	  Use .ORDER only for jobs mode.
111
1122015-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
113
114	* rst2htm.mk: allow for per target flags etc.
115
1162015-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
117
118	* install-mk (MK_VERSION): 20150901
119
120	* doc.mk: create dir if needed use DOC_INSTALL_OWN
121
1222015-06-15  Simon J. Gerraty  <sjg@bad.crufty.net>
123
124	* install-mk (MK_VERSION): 20150615
125
126	* auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
127	  Follow make's normal precedence rules.
128
129	* gendirdeps.mk: allow customization of the header.
130	  eg. for FreeBSD:
131	  GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
132
133	* meta.autodep.mk: ignore dirdeps.cache*
134
135	* meta.stage.mk: when bootstrapping options it can be handy to
136	  throw warnings rather than errors for staging conflicts.
137
138	* meta.sys.mk: include local.meta.sys.mk for customization
139
1402015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
141
142	* install-mk (MK_VERSION): 20150606
143
144	* dirdeps.mk: don't rely on manually maintained Makefile.depend
145	  to set DEP_RELDIR and reset DIRDEPS.
146	  By setting DEP_RELDIR ourselves we can skip :tA
147
148	* gendirdeps.mk: skip setting DEP_RELDIR.
149
1502015-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
151
152	* dirdeps.mk: avoid wildcards like make(bootstrap*)
153
1542015-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
155
156	* install-mk (MK_VERSION): 20150520
157
158	* dirdeps.mk: when we are building dirdeps cache file we *want*
159	  meta_oodate to look at all the Makefile.depend files, so
160	  set .MAKE.DEPENDFILE to something that won't match.
161
162	* meta.stage.mk: for STAGE_AS_* basename of file may not be unique
163	  so first use absolute path as key.
164	  Also skip staging at level 0.
165
1662015-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
167
168	* install-mk (MK_VERSION): 20150430
169
170	* dirdeps.mk: fix _count_dirdeps for non-cache case.
171
1722015-04-16  Simon J. Gerraty  <sjg@bad.crufty.net>
173
174	* install-mk (MK_VERSION): 20150411
175	  bump version
176
177	* own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
178	  it is here mainly for documentation purposes, since
179	  if using auto.obj.mk it is better done via sys.mk
180
1812015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
182
183	* install-mk (MK_VERSION): 20150401
184
185	* meta2deps.sh: support @list
186
187	* meta2deps.py: updates from Juniper
188	  o add EXCLUDES
189	  o skip bogus input files.
190	  o treat 'M' and 'L' as both an 'R' and a 'W'
191
1922015-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
193
194	* install-mk (MK_VERSION): 20150303
195
196	* dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
197	  which is built via sub-make so we have a .meta file to tell if
198	  it is out-of-date.
199	  The dirdeps-cache contains the same dependency rules that we
200	  normaly construct on the fly.
201	  This adds a few seconds overhead when the cache is out of date,
202	  but for a large target, the savings can be significant (10-20min).
203
2042014-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
205
206	* install-mk (MK_VERSION): 20141118
207
208	* meta.stage.mk: add stale_staged
209
210	* dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
211	  only useful under very rare conditions such as
212	  FreeBSD's make universe.
213
214	* auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
215
2162014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
217
218	* install-mk (MK_VERSION): 20141111
219
220	* mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
221
2222014-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
223
224	* FILES: include mkopt.sh which allows handling options in shell
225	  scripts in a manner compatible with options.mk
226
2272014-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
228
229	* meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
230	  for GENDIRDEPS_FILTER to avoid surprises.
231
2322014-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
233
234	* dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
235	  the time it is applied to __depdirs they have.
236
237	* dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
238	  expects patterns like *.${MACHINE}
239
240	* cython.mk (pyprefix?): use pyprefix to find python bits
241	  since prefix might be something else (where we install our
242	  stuff)
243
2442014-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
245
246	* install-mk (MK_VERSION): 20140911
247
248	* dirdeps.mk: add bootstrap target to simplify adding support for
249	  new MACHINE.
250
2512014-09-01  Simon J. Gerraty  <sjg@bad.crufty.net>
252
253	* gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
254	  GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
255	  Makefile.depend files.
256
2572014-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
258
259	* install-mk (MK_VERSION): 20140828
260
261	* cython.mk: capture logic for building python extension modules
262	  with Cython.
263
2642014-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
265
266	* meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
267
2682014-08-02  Simon J. Gerraty  <sjg@bad.crufty.net>
269
270	* install-mk (MK_VERSION): 20140801
271
272	* dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
273	identify the autodep.mk variant.
274
275	* sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
276	initial value does not match .MAKE.DEPENDFILE_PREFIX
277
278	* meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
279
2802014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
281
282	* install-mk (MK_VERSION): 20140522
283
284	* lib.mk: use CC to link shlib for linux too
285	  patch from Brendan MacDonell
286
2872014-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
288
289	* meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
290	  if WITH_META_STATS is defined.
291
2922014-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
293
294	* dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
295	  to supress dirdeps outside of .CURDIR.
296
2972014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
298
299	* Fix spelling errors - patch from Pedro Giffuni
300
3012014-03-14  Simon J. Gerraty  <sjg@bad.crufty.net>
302
303	* install-mk (MK_VERSION): 20140314
304
305	* dirdeps.mk (beforedirdeps): a handy hook
306
307	* dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
308	  to visit leaf dirs to be intercepted (eg. for distributed
309	  build).
310
311	* dirdeps.mk (__depdirs): ensure // don't sneak in
312
313	* gendirdeps.mk (DIRDEPS): ensure // don't sneak in
314
315
3162014-02-21  Simon J. Gerraty  <sjg@bad.crufty.net>
317
318	* rst2htm.mk (RST2PDF): add support for rst2pdf
319
3202014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
321
322	* install-mk (MK_VERSION): bump version
323	* dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
324	  available.
325
3262014-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
327
328	* options.mk: avoid :U so this isn't bmake dependent
329
3302014-02-09  Simon J. Gerraty  <sjg@bad.crufty.net>
331
332	* options.mk: cleanup and simplify semanitcs
333	  NO_* dominates all, if both WITH_* and WITHOUT_*
334	  are defined then result is DOMINATE_* which defaults to "no".
335	  Ie. WITHOUT_ normally wins.
336
3372013-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
338
339	* install-mk (MK_VERSION): bump version
340	* meta2deps.py: convert to print function for python3 compat.
341	  we also need to open files with mode 'r' rather than 'rb'
342	  otherwise we get bytes instead of strings.
343
3442013-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
345
346	* install-mk (MK_VERSION): bump version
347
348	* dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
349	  apply the same filtering (M_dep_qual_fixes) when setting _machines
350	  as _build_dirs.
351	  Also fix the filtering of Makefile.depend files - for reporting
352	  what we are looking for (M_dep_qual_fixes can get confused by
353	  Makefile.depend)
354	  Add some more debug info.
355
3562013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
357
358	* gendirdeps.mk (_objtops): fix typo also
359	  while processing M2D_OBJROOTS to gather qualdir_list
360	  qualify $ql with loop iterator to ensure correct results.
361
3622013-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
363
364	* install-mk (MK_VERSION): 20130801
365	* libs.mk: update to match progs.mk
366
3672013-07-26  Simon J. Gerraty  <sjg@bad.crufty.net>
368
369	* install-mk (MK_VERSION): 20130726
370	  some updates from Juniper and FreeBSD
371	  o meta2deps.py: indicate file and line number when we hit parse
372	    errors
373	    also allow @file to provide huge list of .meta files.
374	* meta2deps.py: add try_parse() to cleanup the above.
375
3762013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
377
378	* install-mk (MK_VERSION): 20130716
379	* own.mk: add GPROG as an option
380	* prog.mk: honor MK_GPROF==yes
381
3822013-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
383
384	* install-mk (MK_VERSION): 20130505
385	* gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
386	  for when $MACHINE isn't enough for objdir distinction.
387	  Bring meta2deps.sh closer to par with meta2deps.py.
388
3892013-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
390
391	* meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
392	  also if the target 'beforeinstall' exists, make it depend on
393	  .dirdep (incase it uses STAGE_INSTALL).
394
3952013-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
396
397	* install-mk (MK_VERSION): 20130401 ;-)
398	* meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
399	  wrapper around install(1).
400	* options.mk (OPTION_PREFIX): Allow a prefix other than MK_
401
4022013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
403
404	* meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
405	* install-mk (MK_VERSION): bump version
406
4072013-03-21  Simon J. Gerraty  <sjg@bad.crufty.net>
408
409	* install-mk (MK_VERSION): bump version
410	* gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
411	  any trailing /., rather apply :tA only when needed.
412	* gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
413	* meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
414	  consistently.
415	* dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
416
4172013-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
418
419	* gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
420	  it is simpler to just not update when say building for "host"
421	  (where we know we apply filters to DIRDEPS), and using a
422	  non-machine qualified dependfile.
423
4242013-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
425
426	* dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
427	  and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
428	* gendirdeps.mk: ensure _objroot has trailing / if it needs it.
429	* meta2deps.py: if machine is "host", then also trim
430	  self.host_target from any OBJROOTS.
431
432
4332013-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
434
435	* gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
436	  qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
437	  but _DEPENDFILE does not, compare the new _DEPENDFILE against
438	  .MAKE.DEPENDFILE_DEFAULT and discard if the same.
439
4402013-03-08  Simon J. Gerraty  <sjg@bad.crufty.net>
441
442	* meta.stage.mk: use STAGE_TARGETS to control .ORDER
443	  and hook to all: via staging:
444
4452013-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
446
447	* sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
448	  use a separate variable for the default .MAKE.DEPENDFILE value
449	  so that it can be controlled independently of
450	  .MAKE.DEPENDFILE_PREFERENCE
451
452	* meta.stage.mk: throw error if cp fails etc.
453	  Stage*() return early if passed no args.
454	  .ORDER stage_*
455
4562013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
457
458	* install-mk (MK_VERSION): bump version
459	* gendirdeps.mk: handle multiple M2D_OBJROOTS better.
460
4612013-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
462
463	* install-mk (MK_VERSION): bump version to 20130210
464	* import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
465	  from Juniper.
466	  o dirdeps.mk now fully supports TARGET_SPEC consisting of more
467	    than just MACHINE.
468	  o no longer use DEP_MACHINE from Makefile.depend* so remove it.
469
4702013-01-23  Simon J. Gerraty  <sjg@bad.crufty.net>
471
472	* install-mk (MK_VERSION): bump version to 20130123
473	* meta.stage.mk: add stage_links (hard links).
474	  if doing hard links, we add dest to link as well.
475	  Default the stage dir for [sym]links to STAGE_OBJTOP since
476	  these are typically specified as absolute paths.
477	  Add -m "mode" flag to StageFiles and StageAs.
478
4792012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
480
481	* install-mk (MK_VERSION): bump version to 20121111
482	* autoconf.mk: avoid meta mode seeing changed commands for config.status
483	* meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
484	  in case we were found via .../mk
485	* sys.clean-env.mk: move it from examples, we and others use it
486	  "as is".
487	* FILES: add srctop.mk and options.mk
488	* own.mk: convert to using options.mk
489	  which is modeled after FreeBSD's handling of MK_*
490	  but more flexible.
491	  This allows MK_* for boolean knobs to not be confused
492	  with MK* which can be commands.
493
494	* examples/sys.clean-env.mk: add WITH[OUT]_ to
495	  MAKE_ENV_SAVE_PREFIX_LIST.
496	  Mention that HOME=/var/empty might be a good idea.
497
4982012-11-08  Simon J. Gerraty  <sjg@bad.crufty.net>
499
500	* sys.dependfile.mk: if not depend file exists, $MACHINE
501	  specific ones are supported but not the default,
502	  check if any exist and follow suit.
503
5042012-11-06  Simon J. Gerraty  <sjg@bad.crufty.net>
505
506	* install-mk (MK_VERSION): bump version to 20121106
507
5082012-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
509
510	* import latest dirdeps.mk and meta2deps.py from Juniper.
511	* progs.mk: add MAN and CXXFLAGS to PROG_VARS
512	  also add PROGS_TARGETS and pass on PROG_CXX if it seems
513	  appropriate.
514
5152012-11-04  Simon J. Gerraty  <sjg@bad.crufty.net>
516
517	* meta.stage.mk: update CLEANFILES
518	  remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
519	* progs.mk: Add LDADD to PROG_VARS
520
5212012-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
522
523	* meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
524	  _STAGED_DIRS so that these can be turned into filters for
525	  GENDIRDEPS_FILTER.
526
5272012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
528
529	* install-mk (MK_VERSION): bump version to 20121010
530	* meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
531	target.dirdep matches .dirdep
532
5332012-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
534
535	* install-mk (MK_VERSION): bump version to 20120808
536	* import latest meta2deps.py from Juniper.
537
5382012-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
539
540	* install-mk (MK_VERSION): bump version to 20120711
541	* dep.mk: add explicit dependencies on SRCS after applying
542	  SRCS_DEP_FILTER
543	* meta.autodep.mk: add explicit dependencies on SRCS after
544	  applying SRCS_DEP_FILTER
545	* meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
546
5472012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
548
549	* install-mk (MK_VERSION): bump version to 20120626
550	* meta.sys.mk: ignore PYTHON if it does not exist
551	  compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
552	* meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
553	  entries ending in .${MACHINE} to decide if qualified _dirdep is
554	  needed.
555	* gendirdeps.mk: only produce unqualified deps if no
556	  .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
557	* meta.subdir.mk: apply SUBDIRDEPS_FILTER
558
5592012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
560
561	* install-mk (MK_VERSION): bump version to 20120420
562	* add sys.dependfile.mk so we can experiment with
563	  .MAKE.DEPENDFILE_PREFERENCE
564	* meta.autodep.mk: _DEPENDFILE is precious!
565
5662012-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
567
568	* install-mk (MK_VERSION): bump version to 20120315
569	* install-new.mk: avoid being interrupted
570
5712012-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
572
573	* man.mk: MAN might have multiple values so be careful with exists().
574
5752012-01-19  Simon J. Gerraty  <sjg@bad.crufty.net>
576
577	* install-mk (MK_VERSION): bump version to 20120112
578	* fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
579	  as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
580
5812011-12-03  Simon J. Gerraty  <sjg@bad.crufty.net>
582
583	* install-mk (MK_VERSION):  bump version to 20111201
584	* import dirdeps.mk from Juniper sjg@
585	  o more consistent handling of DEP_MACHINE, especially when
586	    dealing with an odd Makefile.depend, when normally using
587	    Makefile.depend.${MACHINE}
588
5892011-11-22  Simon J. Gerraty  <sjg@bad.crufty.net>
590
591	* install-mk (MK_VERSION): bump version to 20111122
592	* meta.autodep.mk: add some debug output, be more crisp about
593	  updating.  Use ${.ALLTARGETS:M*.o} as a clue for .depend
594
5952011-11-13  Simon J. Gerraty  <sjg@bad.crufty.net>
596
597	* install-mk (MK_VERSION): bump version to 20111111
598	  it's too cool to miss
599	* import meta* updates from Juniper sjg@
600	  o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
601	    normally using Makefile.depend.${MACHINE}), handy for
602	    read-only manually maintained dependencies.
603	  o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
604	  o gendirdeps.mk if ERROR: from meta2deps.py do not update
605	    anything.
606
6072011-10-30  Simon J. Gerraty  <sjg@bad.crufty.net>
608
609	* install-new.mk separate the cmp and copy logic to its own function.
610
6112011-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
612
613	* install-mk (MK_VERSION): bump version to 20111028
614	* sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
615	* subdir.mk: ensure _SUBDIRUSE is provided
616	* meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
617	* meta.subdir.mk: always allow for Makefile.depend
618
6192011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
620
621	* install-mk (MK_VERSION): bump version to 20111010
622	  o minor tweak to *dirdeps.mk from Juniper sjg@
623
6242011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
625
626	* install-mk (MK_VERSION): bump version to 20111001
627	  o add meta2deps.py from Juniper sjg@
628	  o tweak gendirdeps.mk to work with meta2deps.py when not
629	    cross-building
630	* autoconf.mk: add autoconf-input as a hook for regenerating
631	  AUTOCONF_INPUTS (configure).
632
6332011-08-24  Simon J. Gerraty  <sjg@bad.crufty.net>
634
635	* meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
636	  trigger for updating Makefile.depend*
637
6382011-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
639
640	* install-mk (MK_VERSION): bump version to 20110808
641	* obj.mk: minor cleanup
642	* auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
643
6442011-08-01  Simon J. Gerraty  <sjg@bad.crufty.net>
645
646	* auto.obj.mk (.OBJDIR): throw an error if we cannot use the
647	  specified dir.
648
6492011-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
650
651	* meta.autodep.mk: if XMAKE_META_FILE is set
652	  the makefile uses a foreign make, and so dependencies
653	  can only be gathered from a clean tree build.
654
6552011-06-24  Simon J. Gerraty  <sjg@bad.crufty.net>
656
657	* install-mk (MK_VERSION): bump version to 20110622
658	* meta.autodep.mk: improve bootstraping
659
6602011-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
661
662	* yacc.mk: handle the corner case of .c being removed
663	  while .h remains.
664
6652011-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
666
667	* yacc.mk: do .y.h and .y.c separately
668
6692011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
670
671	* install-mk (MK_VERSION): bump version to 20110606
672	* don't store SRC_DIRDEPS in Makefile.depend* by default
673	  not everyone needs it.
674
6752011-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
676
677	* install-mk (MK_VERSION): bump version to 20110505
678	  first release including meta mode makefiles
679
6802011-05-02  Simon J. Gerraty  <sjg@bad.crufty.net>
681
682	* meta.stage.mk: add STAGE_AS_SETS and stage_as
683	  for things that need to be staged with different names.
684
6852011-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
686
687	* meta.stage.mk: add notion of STAGE_SETS
688	  so a makefile can stage to multiple dirs
689
6902011-04-03  Simon J. Gerraty  <sjg@bad.crufty.net>
691
692	* rst2htm.mk: convert rst to s5 (slides) or plain html depending
693	  on target name.
694
6952011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
696
697	* install-mk (MK_VERSION): bump version to 20110330
698
6992011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
700
701	* sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
702	  can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
703	* sys.mk: re-define M_whence in terms of M_type.
704	  M_type is useful for checking if something is a builtin.
705
7062011-03-16  Simon J. Gerraty  <sjg@bad.crufty.net>
707
708	* meta.stage.mk: add stage_symlinks and leverage StageLinks for
709	  stage_libs
710
7112011-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
712
713	* dirdeps.mk: correct value for _depdir_files depends on
714	  .MAKE.DEPENDFILE
715	  Add our copyright - just to make it clear we have frobbed this
716	  quite a bit.
717	  DEP_MACHINE needs to be set to MACHINE each time, if using only
718	  Makefile.depend (cf. Makefile.depend.${MACHINE})
719
720	* meta.stage.mk: meta mode version of staging
721
722	* init.mk, final.mk: include local.*.mk to simplify customization
723
7242011-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
725
726	* auto.obj.mk: just because we are doing mk destroy, we should
727	  still set .OBJDIR correctly if it exists.
728
729	* install-mk (mksrc): do not exclude meta.sys.mk
730
7312011-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
732
733	* host-target.mk: set/export _HOST_ARCH etc separately,
734	  catch junk resulting from uname -p, so we can find sys/Linux.mk
735	  correctly.
736
7372011-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
738
739	* meta.sys.mk: throw an error if /dev/filemon is missing and we
740	  expected to be updating Makefile.depend*
741
7422011-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
743
744	* install-mk (MK_VERSION): bump version to 20110214
745	* meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
746
7472010-09-25  Simon J. Gerraty  <sjg@bad.crufty.net>
748
749	* meta.sys.mk: not valid for older bmake
750
7512010-09-24  Simon J. Gerraty  <sjg@bad.crufty.net>
752
753	* install-mk (MK_VERSION): bump version to 20100919
754	include dirdeps.mk et al from Juniper Networks,
755	for meta mode - requires filemon(9).
756	* sys.mk, subdir.mk: Add hooks for meta mode.
757	we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
758	to make turning it on/off simple.
759
7602010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
761
762	* install-mk (MK_VERSION): bump version to 20100616
763	* fix typo in sys.mk
764
7652010-06-12  Simon J. Gerraty  <sjg@bad.crufty.net>
766
767	* install-mk (MK_VERSION): bump version to 20100612
768	* lib.mk: remove duplicate addition to SOBJS
769
7702010-06-10  Simon J. Gerraty  <sjg@bad.crufty.net>
771
772	* sys.mk: Add a means of selectively turning on debug flags.
773	  Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
774	  will act as if we did make -dv if .CURDIR ends in lib/sjg
775	  DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
776	  the start of sys.mk rather than the end.
777	  This only makes sense for leaf dirs, so we check that
778	  .MAKE.LEVEL > 0
779
7802010-06-09  Simon J. Gerraty  <sjg@bad.crufty.net>
781
782	* install-mk (MK_VERSION): bump version to 20100608
783	* sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
784	* examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
785	  also make it easier for folk to tweak
786
7872010-06-08  Simon J. Gerraty  <sjg@bad.crufty.net>
788
789	* install-mk (MK_VERSION): bump version to 20100606
790	  do not install examples/*
791	* FILES: add examples/sys.clean-env.mk
792	* examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
793	  this requires bmake-20100606 or later to work.
794
7952010-05-13  Simon J. Gerraty  <sjg@bad.crufty.net>
796
797	* sys.mk (M_tA): better simulate the result of :tA if not available.
798
7992010-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
800
801	* sys.mk: canonicalize MAKE_VERSION
802	  old versions reported bmake-<src-date> build-<build-date>
803	  whereas we only care about <src-date>
804
8052010-04-25  Simon J. Gerraty  <sjg@bad.crufty.net>
806
807	* install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
808	* lib.mk: we only build the shared lib if SHLIB_FULLVERSION
809	  is !empty
810
8112010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
812
813	* dpadd.mk: use LDADD_* if defined.
814
8152010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
816
817	* install-mk (MK_VERSION): bump version to 20100420
818	* sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
819	* autoconf.mk allow AUTO_AUTOCONF
820
8212010-04-19  Simon J. Gerraty  <sjg@bad.crufty.net>
822
823	* obj.mk: add objwarn to keep freebsd makefiles happy
824	* auto.obj.mk: ensure Mkdirs is available.
825	* FILES: add auto.dep.mk - a simpler version of autodep.mk
826	* dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
827	  asked to do that.
828	  fix/simplify the tests for when to run mkdep.
829	* auto.dep.mk: add some explanation of how/what we do.
830	* autodep.mk: skip the .OPTIONAL frobbing of .depend
831	  bmake's FROM_DEPEND flag makes it redundant.
832
8332010-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
834
835	* install-mk (MK_VERSION): bump version to 20100404
836	* subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
837	* obj.mk: protect from multiple inclusion even as bsd.obj.mk
838	Also create a target _SUBDIRUSE so that we can  be used without
839	subdir.mk
840
8412010-04-12  Simon J. Gerraty  <sjg@bad.crufty.net>
842
843	* dep.mk: use <> when .including so can override.
844
8452010-01-11  Simon J. Gerraty  <sjg@bad.crufty.net>
846
847	* lib.mk (SHLIB_LINKS): ensure a string comparison.
848
8492010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
850
851	* install-mk (MK_VERSION): bump version to 20100102
852	* own.mk: ensure PRINTOBJDIR works
853	* autoconf.mk: pass on CONFIGURE_ARGS
854	* init.mk: handle COPTS.${.IMPSRC:T} etc.
855	* lib.mk: allow sys.mk to control SHLIB_FULLVERSION
856	  fix handling of symlinks for darwin
857	* libnames.mk: add DSHLIBEXT for libs which only exist as shared.
858	* man.mk: suppress chown when not root.
859	* rst2htm.mk: allow srcs from multiple locations.
860	* sys.mk: M_whence, stop after 1st line of output.
861	* sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
862	* sys/SunOS.mk: we need to export PATH
863
8642009-12-23  Simon J. Gerraty  <sjg@void.crufty.net>
865
866	* install-mk (MK_VERSION): bump version
867	  include rst2htm.mk
868
8692009-12-17  Simon J. Gerraty  <sjg@void.crufty.net>
870
871	* sys.mk,libnames.mk add .-include <local.*>
872	  this allows local customization without the need to edit the
873	  distributed files.
874
8752009-12-14  Simon J. Gerraty  <sjg@void.crufty.net>
876
877	* dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
878	  older versions already installed.
879
8802009-12-13  Simon J. Gerraty  <sjg@void.crufty.net>
881
882	* stage.mk (.stage-install): generalize lib.mk's .libinstall
883	* rules.mk rules for generic Makefile.
884	* inc.mk install for includes.
885
8862009-12-11  Simon J. Gerraty  <sjg@void.crufty.net>
887
888	* sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
889	  this, so provide it if using native make.
890
8912009-12-10  Simon J. Gerraty  <sjg@void.crufty.net>
892
893	* FILES: move all the platform *.sys.mk files to sys/*.mk
894	* Rename Generic.sys.mk to sys.mk - we always want it.
895
8962009-11-17  Simon J. Gerraty  <sjg@void.crufty.net>
897
898	* install-mk (MK_VERSION): bump version
899	* host-target.mk: only export the expensive stuff
900	* Generic.sys.mk (sys_mk): for SunOS we need to look for
901	  ${HOST_OS}.${HOST_OSMAJOR} too!
902
9032009-11-07  Simon J. Gerraty  <sjg@void.crufty.net>
904
905	* install-mk (MK_VERSION): bump version
906	* lib.mk: if sys.mk doesn't give us an lorder, don't use it.
907	  based on patch from Greg Olszewski.
908	* Generic.sys.mk: if we have nothing to work with
909	set LORDER etc only if we can find it.
910
9112009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
912
913	* install-mk (MK_VERSION): bump version
914	* man.mk: cleanman: remove CLEANMAN if defined.
915
9162009-09-04  Simon J. Gerraty  <sjg@void.crufty.net>
917
918	* SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
919
9202009-07-17  Simon J. Gerraty  <sjg@void.crufty.net>
921
922	* install-mk (MK_VERSION): bump version
923	include auto.obj.mk
924
925
9262009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
927
928	* prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
929
9302008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
931
932	* install-mk (MK_VERSION): bump version
933	man.mk: ensure we generate *.cat1 etc in .
934
9352008-07-16  Simon J. Gerraty  <sjg@void.crufty.net>
936
937	* install-mk (MK_VERSION): bump version
938	add prlist.mk
939
9402007-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
941
942	* Generic.sys.mk: Allow os specific sys.mk to be in a
943	subdir of ${.PARSEDIR}
944
9452007-11-22  Simon J. Gerraty  <sjg@void.crufty.net>
946
947	* install-mk (MK_VERSION): bump version
948	* general cleanup
949	* dpadd.mk introduce DPMAGIC_LIBS_*
950
9512007-04-30  Simon J. Gerraty  <sjg@void.crufty.net>
952
953	* install-mk (MK_VERSION): bump version
954
955	* libs.mk, progs.mk, autodep.mk: allow for per lib/prog
956	depend files and ensure clean is called for each lib/prog.
957
9582007-03-27  Simon J. Gerraty  <sjg@void.crufty.net>
959
960	* autodep.mk (.depend): delete lines that do not start with
961	space and do not contain ':'
962
9632007-02-16  Simon J. Gerraty  <sjg@void.crufty.net>
964
965	* autodep.mk (.depend): gcc may wrap lines if pathnames are long
966	so make sure the transform for .OPTIONAL copes.
967
9682007-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
969
970	* install-mk (MK_VERSION): bump version
971
972	* own.mk: make sure RM and LN are defined.
973
974	* obj.mk: fix a typo, and objlink target.
975
9762006-12-30  Simon J. Gerraty  <sjg@void.crufty.net>
977
978	* install-mk (MK_VERSION): bump version
979	* added libs.mk - analogous to progs.mk
980	  make both of them always inlcude {lib,prog}.mk
981
9822006-12-28  Simon J. Gerraty  <sjg@void.crufty.net>
983
984	* progs.mk: add a means of building multiple apps in one dir.
985
9862006-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
987
988	* install-mk (MK_VERSION): bump version to 20061126
989
990	* warnings.mk: detect invalid WARNINGS_SET
991
992	* warnings.mk: use ${.TARGET:T:R}.o when looking for target
993	specific warnings.
994
995	* For .cc sources, turn off warnings that g++ vomits on.
996
9972006-11-08  Simon J. Gerraty  <sjg@void.crufty.net>
998
999	* own.mk: if __initialized__ target doesn't exist and we are
1000	FreeBSD we got here directly from sys.mk
1001
10022006-11-06  Simon J. Gerraty  <sjg@void.crufty.net>
1003
1004	* install-mk (MK_VERSION): bump version to 20061106
1005	add scripts.mk
1006
10072006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
1008
1009	* install-mk (MK_VERSION): bump version to 20060318
1010
1011	* autodep.mk: avoid := when modifying OBJS into __dependsrcs
1012
10132006-03-02  Simon J. Gerraty  <sjg@void.crufty.net>
1014
1015	* install-mk (MK_VERSION): bump version to 20060302
1016	* autodep.mk: use -MF et al to help gcc+ccache DTRT.
1017
10182006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
1019
1020	* install-mk (MK_VERSION): bump version to 20060301
1021	* autodep.mk (.depend):
1022	if MAKE_VERSION is newer than  20050530 we can make .END depend on
1023	.depend and make .depend depend on __depsrcs that exist.
1024	* dpadd.mk: add SRC_PATHADD
1025
10262005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1027
1028	* install-mk (MK_VERSION): bump version to 20051104
1029	* prog.mk: remove all the LIBC?= junk, use
1030	.-include libnames.mk instead (none by default).
1031	also if USE_DPADD_MK is set, include that.
1032
10332005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1034
1035	* install-mk (MK_VERSION): bump version to 20051001
1036	Add UnixWare.sys.mk from Klaus Heinz.
1037
10382005-04-05  Simon J. Gerraty  <sjg@void.crufty.net>
1039
1040	* install-mk: always install *.sys.mk and if need be symlink one
1041	to sys.mk
1042
10432005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
1044
1045	* subdir.mk, own.mk: use .MAKE rather than MAKE
1046
10472004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1048
1049	* own.mk: don't use NetBSD's _SRC_TOP_ it can
1050	cause confusion.  Also don't take just 'mk' as a
1051	srctop indicator.
1052
10532004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
1054
1055	* warnings.mk: overhauled, now very powerful.
1056
10572004-02-03  Simon J. Gerraty  <sjg@void.crufty.net>
1058
1059	* Generic.sys.mk: need to use ${.PARSEDIR} with exists().
1060
10612004-02-01  Simon J. Gerraty  <sjg@void.crufty.net>
1062
1063	* install-mk (MK_VERSION): bump version to 20040201
1064	* extract HOST_TARGET stuff to host-target.mk so own.mk and
1065	Generic.sys.mk can share.
1066	* fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
1067
10682003-09-30  Simon J. Gerraty  <sjg@void.crufty.net>
1069
1070	* install-mk (MK_VERSION): 20030930
1071	* rename generic.sys.mk to Generic.sys.mk
1072	so that it does not get installed (unless being used as sys.mk)
1073	* set OS and ROOT_GROUP for those that we know the value.
1074	for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
1075	we don't do it again for each sub-make.
1076
10772003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
1078
1079	* install-mk (MK_VERSION): 20030928
1080	Add some extra *.sys.mk from bootstrap-pkgsrc
1081	some of these likely still need work.
1082	Make everything default to root:wheel ownership,
1083	sys.mk can set ROOT_GROUP accordingly.
1084
10852003-08-07  Simon J. Gerraty  <sjg@void.crufty.net>
1086
1087	* install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
1088	not the portable ones.
1089
10902003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
1091
1092	* install-mk: add ability to use cp -f when updating
1093	destination .mk files.  Also now possible to play games with
1094	FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
1095	into dest - not recommended unless you seriously want to.
1096
10972003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1098
1099	* own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
1100	for semi-compatability with NetBSD.
1101
11022003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
1103
1104	* install-mk: add a version indicator
1105
11062003-07-22  Simon J. Gerraty  <sjg@void.crufty.net>
1107
1108	* prog.mk: don't try and use ${LIBCRT0} if its /dev/null
1109
1110	* install-mk: Allow FORCE_SYS_MK to come from env
1111
1112
1113
1114