1 2015-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
3 * install-mk (MK_VERSION): 20151111
5 * meta.sys.mk: include sys.dependfile.mk
7 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk
8 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
9 include local.sys.env.mk early
10 include local.sys.mk later
12 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
14 2015-11-13 Simon J. Gerraty <sjg@bad.crufty.net>
16 * meta.sys.mk (META_COOKIE_TOUCH):
17 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
19 * meta.stage.mk: stage_libs should ignore SYMLINKS.
21 2015-10-23 Simon J. Gerraty <sjg@bad.crufty.net>
23 * install-mk (MK_VERSION): 20151022
25 * sys.mk: BSD/OS does not have 'type' as a shell builtin.
27 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
29 * install-mk (MK_VERSION): 20151020
31 * dirdeps.mk: Add logic for
32 make -f dirdeps.mk some/dir.${TARGET_SPEC}
34 2015-10-14 Simon J. Gerraty <sjg@bad.crufty.net>
36 * install-mk (MK_VERSION): 20151010
38 2015-10-02 Simon J. Gerraty <sjg@bad.crufty.net>
40 * meta.stage.mk: use staging: ${STAGE_TARGETS:...
41 to have stage_lins run last in non-jobs mode.
42 Use .ORDER only for jobs mode.
44 2015-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
46 * rst2htm.mk: allow for per target flags etc.
48 2015-09-01 Simon J. Gerraty <sjg@bad.crufty.net>
50 * install-mk (MK_VERSION): 20150901
52 * doc.mk: create dir if needed use DOC_INSTALL_OWN
54 2015-06-15 Simon J. Gerraty <sjg@bad.crufty.net>
56 * install-mk (MK_VERSION): 20150615
58 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
59 Follow make's normal precedence rules.
61 * gendirdeps.mk: allow customization of the header.
63 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
65 * meta.autodep.mk: ignore dirdeps.cache*
67 * meta.stage.mk: when bootstrapping options it can be handy to
68 throw warnings rather than errors for staging conflicts.
70 * meta.sys.mk: include local.meta.sys.mk for customization
72 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
74 * install-mk (MK_VERSION): 20150606
76 * dirdeps.mk: don't rely on manually maintained Makefile.depend
77 to set DEP_RELDIR and reset DIRDEPS.
78 By setting DEP_RELDIR ourselves we can skip :tA
80 * gendirdeps.mk: skip setting DEP_RELDIR.
82 2015-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
84 * dirdeps.mk: avoid wildcards like make(bootstrap*)
86 2015-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
88 * install-mk (MK_VERSION): 20150520
90 * dirdeps.mk: when we are building dirdeps cache file we *want*
91 meta_oodate to look at all the Makefile.depend files, so
92 set .MAKE.DEPENDFILE to something that won't match.
94 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique
95 so first use absolute path as key.
96 Also skip staging at level 0.
98 2015-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
100 * install-mk (MK_VERSION): 20150430
102 * dirdeps.mk: fix _count_dirdeps for non-cache case.
104 2015-04-16 Simon J. Gerraty <sjg@bad.crufty.net>
106 * install-mk (MK_VERSION): 20150411
109 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
110 it is here mainly for documentation purposes, since
111 if using auto.obj.mk it is better done via sys.mk
113 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
115 * install-mk (MK_VERSION): 20150401
117 * meta2deps.sh: support @list
119 * meta2deps.py: updates from Juniper
121 o skip bogus input files.
122 o treat 'M' and 'L' as both an 'R' and a 'W'
124 2015-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
126 * install-mk (MK_VERSION): 20150303
128 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
129 which is built via sub-make so we have a .meta file to tell if
131 The dirdeps-cache contains the same dependency rules that we
132 normaly construct on the fly.
133 This adds a few seconds overhead when the cache is out of date,
134 but for a large target, the savings can be significant (10-20min).
136 2014-11-18 Simon J. Gerraty <sjg@bad.crufty.net>
138 * install-mk (MK_VERSION): 20141118
140 * meta.stage.mk: add stale_staged
142 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
143 only useful under very rare conditions such as
144 FreeBSD's make universe.
146 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
148 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
150 * install-mk (MK_VERSION): 20141111
152 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
154 2014-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
156 * FILES: include mkopt.sh which allows handling options in shell
157 scripts in a manner compatible with options.mk
159 2014-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
161 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
162 for GENDIRDEPS_FILTER to avoid surprises.
164 2014-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
166 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
167 the time it is applied to __depdirs they have.
169 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
170 expects patterns like *.${MACHINE}
172 * cython.mk (pyprefix?): use pyprefix to find python bits
173 since prefix might be something else (where we install our
176 2014-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
178 * install-mk (MK_VERSION): 20140911
180 * dirdeps.mk: add bootstrap target to simplify adding support for
183 2014-09-01 Simon J. Gerraty <sjg@bad.crufty.net>
185 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
186 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
187 Makefile.depend files.
189 2014-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
191 * install-mk (MK_VERSION): 20140828
193 * cython.mk: capture logic for building python extension modules
196 2014-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
198 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
200 2014-08-02 Simon J. Gerraty <sjg@bad.crufty.net>
202 * install-mk (MK_VERSION): 20140801
204 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
205 identify the autodep.mk variant.
207 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
208 initial value does not match .MAKE.DEPENDFILE_PREFIX
210 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
212 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
214 * install-mk (MK_VERSION): 20140522
216 * lib.mk: use CC to link shlib for linux too
217 patch from Brendan MacDonell
219 2014-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
221 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
222 if WITH_META_STATS is defined.
224 2014-05-02 Simon J. Gerraty <sjg@bad.crufty.net>
226 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
227 to supress dirdeps outside of .CURDIR.
229 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
231 * Fix spelling errors - patch from Pedro Giffuni
233 2014-03-14 Simon J. Gerraty <sjg@bad.crufty.net>
235 * install-mk (MK_VERSION): 20140314
237 * dirdeps.mk (beforedirdeps): a handy hook
239 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
240 to visit leaf dirs to be intercepted (eg. for distributed
243 * dirdeps.mk (__depdirs): ensure // don't sneak in
245 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in
248 2014-02-21 Simon J. Gerraty <sjg@bad.crufty.net>
250 * rst2htm.mk (RST2PDF): add support for rst2pdf
252 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
254 * install-mk (MK_VERSION): bump version
255 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
258 2014-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
260 * options.mk: avoid :U so this isn't bmake dependent
262 2014-02-09 Simon J. Gerraty <sjg@bad.crufty.net>
264 * options.mk: cleanup and simplify semanitcs
265 NO_* dominates all, if both WITH_* and WITHOUT_*
266 are defined then result is DOMINATE_* which defaults to "no".
267 Ie. WITHOUT_ normally wins.
269 2013-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
271 * install-mk (MK_VERSION): bump version
272 * meta2deps.py: convert to print function for python3 compat.
273 we also need to open files with mode 'r' rather than 'rb'
274 otherwise we get bytes instead of strings.
276 2013-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
278 * install-mk (MK_VERSION): bump version
280 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
281 apply the same filtering (M_dep_qual_fixes) when setting _machines
283 Also fix the filtering of Makefile.depend files - for reporting
284 what we are looking for (M_dep_qual_fixes can get confused by
286 Add some more debug info.
288 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
290 * gendirdeps.mk (_objtops): fix typo also
291 while processing M2D_OBJROOTS to gather qualdir_list
292 qualify $ql with loop iterator to ensure correct results.
294 2013-08-01 Simon J. Gerraty <sjg@bad.crufty.net>
296 * install-mk (MK_VERSION): 20130801
297 * libs.mk: update to match progs.mk
299 2013-07-26 Simon J. Gerraty <sjg@bad.crufty.net>
301 * install-mk (MK_VERSION): 20130726
302 some updates from Juniper and FreeBSD
303 o meta2deps.py: indicate file and line number when we hit parse
305 also allow @file to provide huge list of .meta files.
306 * meta2deps.py: add try_parse() to cleanup the above.
308 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
310 * install-mk (MK_VERSION): 20130716
311 * own.mk: add GPROG as an option
312 * prog.mk: honor MK_GPROF==yes
314 2013-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
316 * install-mk (MK_VERSION): 20130505
317 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
318 for when $MACHINE isn't enough for objdir distinction.
319 Bring meta2deps.sh closer to par with meta2deps.py.
321 2013-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
323 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
324 also if the target 'beforeinstall' exists, make it depend on
325 .dirdep (incase it uses STAGE_INSTALL).
327 2013-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
329 * install-mk (MK_VERSION): 20130401 ;-)
330 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
331 wrapper around install(1).
332 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_
334 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
336 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
337 * install-mk (MK_VERSION): bump version
339 2013-03-21 Simon J. Gerraty <sjg@bad.crufty.net>
341 * install-mk (MK_VERSION): bump version
342 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
343 any trailing /., rather apply :tA only when needed.
344 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
345 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
347 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
349 2013-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
351 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
352 it is simpler to just not update when say building for "host"
353 (where we know we apply filters to DIRDEPS), and using a
354 non-machine qualified dependfile.
356 2013-03-16 Simon J. Gerraty <sjg@bad.crufty.net>
358 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
359 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
360 * gendirdeps.mk: ensure _objroot has trailing / if it needs it.
361 * meta2deps.py: if machine is "host", then also trim
362 self.host_target from any OBJROOTS.
365 2013-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
367 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
368 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
369 but _DEPENDFILE does not, compare the new _DEPENDFILE against
370 .MAKE.DEPENDFILE_DEFAULT and discard if the same.
372 2013-03-08 Simon J. Gerraty <sjg@bad.crufty.net>
374 * meta.stage.mk: use STAGE_TARGETS to control .ORDER
375 and hook to all: via staging:
377 2013-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
379 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
380 use a separate variable for the default .MAKE.DEPENDFILE value
381 so that it can be controlled independently of
382 .MAKE.DEPENDFILE_PREFERENCE
384 * meta.stage.mk: throw error if cp fails etc.
385 Stage*() return early if passed no args.
388 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
390 * install-mk (MK_VERSION): bump version
391 * gendirdeps.mk: handle multiple M2D_OBJROOTS better.
393 2013-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
395 * install-mk (MK_VERSION): bump version to 20130210
396 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
398 o dirdeps.mk now fully supports TARGET_SPEC consisting of more
400 o no longer use DEP_MACHINE from Makefile.depend* so remove it.
402 2013-01-23 Simon J. Gerraty <sjg@bad.crufty.net>
404 * install-mk (MK_VERSION): bump version to 20130123
405 * meta.stage.mk: add stage_links (hard links).
406 if doing hard links, we add dest to link as well.
407 Default the stage dir for [sym]links to STAGE_OBJTOP since
408 these are typically specified as absolute paths.
409 Add -m "mode" flag to StageFiles and StageAs.
411 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
413 * install-mk (MK_VERSION): bump version to 20121111
414 * autoconf.mk: avoid meta mode seeing changed commands for config.status
415 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
416 in case we were found via .../mk
417 * sys.clean-env.mk: move it from examples, we and others use it
419 * FILES: add srctop.mk and options.mk
420 * own.mk: convert to using options.mk
421 which is modeled after FreeBSD's handling of MK_*
423 This allows MK_* for boolean knobs to not be confused
424 with MK* which can be commands.
426 * examples/sys.clean-env.mk: add WITH[OUT]_ to
427 MAKE_ENV_SAVE_PREFIX_LIST.
428 Mention that HOME=/var/empty might be a good idea.
430 2012-11-08 Simon J. Gerraty <sjg@bad.crufty.net>
432 * sys.dependfile.mk: if not depend file exists, $MACHINE
433 specific ones are supported but not the default,
434 check if any exist and follow suit.
436 2012-11-06 Simon J. Gerraty <sjg@bad.crufty.net>
438 * install-mk (MK_VERSION): bump version to 20121106
440 2012-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
442 * import latest dirdeps.mk and meta2deps.py from Juniper.
443 * progs.mk: add MAN and CXXFLAGS to PROG_VARS
444 also add PROGS_TARGETS and pass on PROG_CXX if it seems
447 2012-11-04 Simon J. Gerraty <sjg@bad.crufty.net>
449 * meta.stage.mk: update CLEANFILES
450 remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
451 * progs.mk: Add LDADD to PROG_VARS
453 2012-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
455 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
456 _STAGED_DIRS so that these can be turned into filters for
459 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
461 * install-mk (MK_VERSION): bump version to 20121010
462 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
463 target.dirdep matches .dirdep
465 2012-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
467 * install-mk (MK_VERSION): bump version to 20120808
468 * import latest meta2deps.py from Juniper.
470 2012-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
472 * install-mk (MK_VERSION): bump version to 20120711
473 * dep.mk: add explicit dependencies on SRCS after applying
475 * meta.autodep.mk: add explicit dependencies on SRCS after
476 applying SRCS_DEP_FILTER
477 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
479 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
481 * install-mk (MK_VERSION): bump version to 20120626
482 * meta.sys.mk: ignore PYTHON if it does not exist
483 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
484 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
485 entries ending in .${MACHINE} to decide if qualified _dirdep is
487 * gendirdeps.mk: only produce unqualified deps if no
488 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
489 * meta.subdir.mk: apply SUBDIRDEPS_FILTER
491 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
493 * install-mk (MK_VERSION): bump version to 20120420
494 * add sys.dependfile.mk so we can experiment with
495 .MAKE.DEPENDFILE_PREFERENCE
496 * meta.autodep.mk: _DEPENDFILE is precious!
498 2012-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
500 * install-mk (MK_VERSION): bump version to 20120315
501 * install-new.mk: avoid being interrupted
503 2012-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
505 * man.mk: MAN might have multiple values so be careful with exists().
507 2012-01-19 Simon J. Gerraty <sjg@bad.crufty.net>
509 * install-mk (MK_VERSION): bump version to 20120112
510 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
511 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
513 2011-12-03 Simon J. Gerraty <sjg@bad.crufty.net>
515 * install-mk (MK_VERSION): bump version to 20111201
516 * import dirdeps.mk from Juniper sjg@
517 o more consistent handling of DEP_MACHINE, especially when
518 dealing with an odd Makefile.depend, when normally using
519 Makefile.depend.${MACHINE}
521 2011-11-22 Simon J. Gerraty <sjg@bad.crufty.net>
523 * install-mk (MK_VERSION): bump version to 20111122
524 * meta.autodep.mk: add some debug output, be more crisp about
525 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend
527 2011-11-13 Simon J. Gerraty <sjg@bad.crufty.net>
529 * install-mk (MK_VERSION): bump version to 20111111
530 it's too cool to miss
531 * import meta* updates from Juniper sjg@
532 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
533 normally using Makefile.depend.${MACHINE}), handy for
534 read-only manually maintained dependencies.
535 o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
536 o gendirdeps.mk if ERROR: from meta2deps.py do not update
539 2011-10-30 Simon J. Gerraty <sjg@bad.crufty.net>
541 * install-new.mk separate the cmp and copy logic to its own function.
543 2011-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
545 * install-mk (MK_VERSION): bump version to 20111028
546 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
547 * subdir.mk: ensure _SUBDIRUSE is provided
548 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
549 * meta.subdir.mk: always allow for Makefile.depend
551 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
553 * install-mk (MK_VERSION): bump version to 20111010
554 o minor tweak to *dirdeps.mk from Juniper sjg@
556 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
558 * install-mk (MK_VERSION): bump version to 20111001
559 o add meta2deps.py from Juniper sjg@
560 o tweak gendirdeps.mk to work with meta2deps.py when not
562 * autoconf.mk: add autoconf-input as a hook for regenerating
563 AUTOCONF_INPUTS (configure).
565 2011-08-24 Simon J. Gerraty <sjg@bad.crufty.net>
567 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
568 trigger for updating Makefile.depend*
570 2011-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
572 * install-mk (MK_VERSION): bump version to 20110808
573 * obj.mk: minor cleanup
574 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
576 2011-08-01 Simon J. Gerraty <sjg@bad.crufty.net>
578 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the
581 2011-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
583 * meta.autodep.mk: if XMAKE_META_FILE is set
584 the makefile uses a foreign make, and so dependencies
585 can only be gathered from a clean tree build.
587 2011-06-24 Simon J. Gerraty <sjg@bad.crufty.net>
589 * install-mk (MK_VERSION): bump version to 20110622
590 * meta.autodep.mk: improve bootstraping
592 2011-06-10 Simon J. Gerraty <sjg@bad.crufty.net>
594 * yacc.mk: handle the corner case of .c being removed
597 2011-06-08 Simon J. Gerraty <sjg@bad.crufty.net>
599 * yacc.mk: do .y.h and .y.c separately
601 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
603 * install-mk (MK_VERSION): bump version to 20110606
604 * don't store SRC_DIRDEPS in Makefile.depend* by default
605 not everyone needs it.
607 2011-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
609 * install-mk (MK_VERSION): bump version to 20110505
610 first release including meta mode makefiles
612 2011-05-02 Simon J. Gerraty <sjg@bad.crufty.net>
614 * meta.stage.mk: add STAGE_AS_SETS and stage_as
615 for things that need to be staged with different names.
617 2011-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
619 * meta.stage.mk: add notion of STAGE_SETS
620 so a makefile can stage to multiple dirs
622 2011-04-03 Simon J. Gerraty <sjg@bad.crufty.net>
624 * rst2htm.mk: convert rst to s5 (slides) or plain html depending
627 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
629 * install-mk (MK_VERSION): bump version to 20110330
631 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
633 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
634 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
635 * sys.mk: re-define M_whence in terms of M_type.
636 M_type is useful for checking if something is a builtin.
638 2011-03-16 Simon J. Gerraty <sjg@bad.crufty.net>
640 * meta.stage.mk: add stage_symlinks and leverage StageLinks for
643 2011-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
645 * dirdeps.mk: correct value for _depdir_files depends on
647 Add our copyright - just to make it clear we have frobbed this
649 DEP_MACHINE needs to be set to MACHINE each time, if using only
650 Makefile.depend (cf. Makefile.depend.${MACHINE})
652 * meta.stage.mk: meta mode version of staging
654 * init.mk, final.mk: include local.*.mk to simplify customization
656 2011-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
658 * auto.obj.mk: just because we are doing mk destroy, we should
659 still set .OBJDIR correctly if it exists.
661 * install-mk (mksrc): do not exclude meta.sys.mk
663 2011-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
665 * host-target.mk: set/export _HOST_ARCH etc separately,
666 catch junk resulting from uname -p, so we can find sys/Linux.mk
669 2011-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
671 * meta.sys.mk: throw an error if /dev/filemon is missing and we
672 expected to be updating Makefile.depend*
674 2011-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
676 * install-mk (MK_VERSION): bump version to 20110214
677 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
679 2010-09-25 Simon J. Gerraty <sjg@bad.crufty.net>
681 * meta.sys.mk: not valid for older bmake
683 2010-09-24 Simon J. Gerraty <sjg@bad.crufty.net>
685 * install-mk (MK_VERSION): bump version to 20100919
686 include dirdeps.mk et al from Juniper Networks,
687 for meta mode - requires filemon(9).
688 * sys.mk, subdir.mk: Add hooks for meta mode.
689 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
690 to make turning it on/off simple.
692 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
694 * install-mk (MK_VERSION): bump version to 20100616
697 2010-06-12 Simon J. Gerraty <sjg@bad.crufty.net>
699 * install-mk (MK_VERSION): bump version to 20100612
700 * lib.mk: remove duplicate addition to SOBJS
702 2010-06-10 Simon J. Gerraty <sjg@bad.crufty.net>
704 * sys.mk: Add a means of selectively turning on debug flags.
705 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
706 will act as if we did make -dv if .CURDIR ends in lib/sjg
707 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
708 the start of sys.mk rather than the end.
709 This only makes sense for leaf dirs, so we check that
712 2010-06-09 Simon J. Gerraty <sjg@bad.crufty.net>
714 * install-mk (MK_VERSION): bump version to 20100608
715 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
716 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
717 also make it easier for folk to tweak
719 2010-06-08 Simon J. Gerraty <sjg@bad.crufty.net>
721 * install-mk (MK_VERSION): bump version to 20100606
722 do not install examples/*
723 * FILES: add examples/sys.clean-env.mk
724 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
725 this requires bmake-20100606 or later to work.
727 2010-05-13 Simon J. Gerraty <sjg@bad.crufty.net>
729 * sys.mk (M_tA): better simulate the result of :tA if not available.
731 2010-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
733 * sys.mk: canonicalize MAKE_VERSION
734 old versions reported bmake-<src-date> build-<build-date>
735 whereas we only care about <src-date>
737 2010-04-25 Simon J. Gerraty <sjg@bad.crufty.net>
739 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
740 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION
743 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
745 * dpadd.mk: use LDADD_* if defined.
747 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
749 * install-mk (MK_VERSION): bump version to 20100420
750 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
751 * autoconf.mk allow AUTO_AUTOCONF
753 2010-04-19 Simon J. Gerraty <sjg@bad.crufty.net>
755 * obj.mk: add objwarn to keep freebsd makefiles happy
756 * auto.obj.mk: ensure Mkdirs is available.
757 * FILES: add auto.dep.mk - a simpler version of autodep.mk
758 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
760 fix/simplify the tests for when to run mkdep.
761 * auto.dep.mk: add some explanation of how/what we do.
762 * autodep.mk: skip the .OPTIONAL frobbing of .depend
763 bmake's FROM_DEPEND flag makes it redundant.
765 2010-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
767 * install-mk (MK_VERSION): bump version to 20100404
768 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
769 * obj.mk: protect from multiple inclusion even as bsd.obj.mk
770 Also create a target _SUBDIRUSE so that we can be used without
773 2010-04-12 Simon J. Gerraty <sjg@bad.crufty.net>
775 * dep.mk: use <> when .including so can override.
777 2010-01-11 Simon J. Gerraty <sjg@bad.crufty.net>
779 * lib.mk (SHLIB_LINKS): ensure a string comparison.
781 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
783 * install-mk (MK_VERSION): bump version to 20100102
784 * own.mk: ensure PRINTOBJDIR works
785 * autoconf.mk: pass on CONFIGURE_ARGS
786 * init.mk: handle COPTS.${.IMPSRC:T} etc.
787 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION
788 fix handling of symlinks for darwin
789 * libnames.mk: add DSHLIBEXT for libs which only exist as shared.
790 * man.mk: suppress chown when not root.
791 * rst2htm.mk: allow srcs from multiple locations.
792 * sys.mk: M_whence, stop after 1st line of output.
793 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
794 * sys/SunOS.mk: we need to export PATH
796 2009-12-23 Simon J. Gerraty <sjg@void.crufty.net>
798 * install-mk (MK_VERSION): bump version
801 2009-12-17 Simon J. Gerraty <sjg@void.crufty.net>
803 * sys.mk,libnames.mk add .-include <local.*>
804 this allows local customization without the need to edit the
807 2009-12-14 Simon J. Gerraty <sjg@void.crufty.net>
809 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
810 older versions already installed.
812 2009-12-13 Simon J. Gerraty <sjg@void.crufty.net>
814 * stage.mk (.stage-install): generalize lib.mk's .libinstall
815 * rules.mk rules for generic Makefile.
816 * inc.mk install for includes.
818 2009-12-11 Simon J. Gerraty <sjg@void.crufty.net>
820 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
821 this, so provide it if using native make.
823 2009-12-10 Simon J. Gerraty <sjg@void.crufty.net>
825 * FILES: move all the platform *.sys.mk files to sys/*.mk
826 * Rename Generic.sys.mk to sys.mk - we always want it.
828 2009-11-17 Simon J. Gerraty <sjg@void.crufty.net>
830 * install-mk (MK_VERSION): bump version
831 * host-target.mk: only export the expensive stuff
832 * Generic.sys.mk (sys_mk): for SunOS we need to look for
833 ${HOST_OS}.${HOST_OSMAJOR} too!
835 2009-11-07 Simon J. Gerraty <sjg@void.crufty.net>
837 * install-mk (MK_VERSION): bump version
838 * lib.mk: if sys.mk doesn't give us an lorder, don't use it.
839 based on patch from Greg Olszewski.
840 * Generic.sys.mk: if we have nothing to work with
841 set LORDER etc only if we can find it.
843 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
845 * install-mk (MK_VERSION): bump version
846 * man.mk: cleanman: remove CLEANMAN if defined.
848 2009-09-04 Simon J. Gerraty <sjg@void.crufty.net>
850 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
852 2009-07-17 Simon J. Gerraty <sjg@void.crufty.net>
854 * install-mk (MK_VERSION): bump version
858 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
860 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
862 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
864 * install-mk (MK_VERSION): bump version
865 man.mk: ensure we generate *.cat1 etc in .
867 2008-07-16 Simon J. Gerraty <sjg@void.crufty.net>
869 * install-mk (MK_VERSION): bump version
872 2007-11-25 Simon J. Gerraty <sjg@void.crufty.net>
874 * Generic.sys.mk: Allow os specific sys.mk to be in a
875 subdir of ${.PARSEDIR}
877 2007-11-22 Simon J. Gerraty <sjg@void.crufty.net>
879 * install-mk (MK_VERSION): bump version
881 * dpadd.mk introduce DPMAGIC_LIBS_*
883 2007-04-30 Simon J. Gerraty <sjg@void.crufty.net>
885 * install-mk (MK_VERSION): bump version
887 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog
888 depend files and ensure clean is called for each lib/prog.
890 2007-03-27 Simon J. Gerraty <sjg@void.crufty.net>
892 * autodep.mk (.depend): delete lines that do not start with
893 space and do not contain ':'
895 2007-02-16 Simon J. Gerraty <sjg@void.crufty.net>
897 * autodep.mk (.depend): gcc may wrap lines if pathnames are long
898 so make sure the transform for .OPTIONAL copes.
900 2007-02-03 Simon J. Gerraty <sjg@void.crufty.net>
902 * install-mk (MK_VERSION): bump version
904 * own.mk: make sure RM and LN are defined.
906 * obj.mk: fix a typo, and objlink target.
908 2006-12-30 Simon J. Gerraty <sjg@void.crufty.net>
910 * install-mk (MK_VERSION): bump version
911 * added libs.mk - analogous to progs.mk
912 make both of them always inlcude {lib,prog}.mk
914 2006-12-28 Simon J. Gerraty <sjg@void.crufty.net>
916 * progs.mk: add a means of building multiple apps in one dir.
918 2006-11-26 Simon J. Gerraty <sjg@void.crufty.net>
920 * install-mk (MK_VERSION): bump version to 20061126
922 * warnings.mk: detect invalid WARNINGS_SET
924 * warnings.mk: use ${.TARGET:T:R}.o when looking for target
927 * For .cc sources, turn off warnings that g++ vomits on.
929 2006-11-08 Simon J. Gerraty <sjg@void.crufty.net>
931 * own.mk: if __initialized__ target doesn't exist and we are
932 FreeBSD we got here directly from sys.mk
934 2006-11-06 Simon J. Gerraty <sjg@void.crufty.net>
936 * install-mk (MK_VERSION): bump version to 20061106
939 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
941 * install-mk (MK_VERSION): bump version to 20060318
943 * autodep.mk: avoid := when modifying OBJS into __dependsrcs
945 2006-03-02 Simon J. Gerraty <sjg@void.crufty.net>
947 * install-mk (MK_VERSION): bump version to 20060302
948 * autodep.mk: use -MF et al to help gcc+ccache DTRT.
950 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
952 * install-mk (MK_VERSION): bump version to 20060301
953 * autodep.mk (.depend):
954 if MAKE_VERSION is newer than 20050530 we can make .END depend on
955 .depend and make .depend depend on __depsrcs that exist.
956 * dpadd.mk: add SRC_PATHADD
958 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
960 * install-mk (MK_VERSION): bump version to 20051104
961 * prog.mk: remove all the LIBC?= junk, use
962 .-include libnames.mk instead (none by default).
963 also if USE_DPADD_MK is set, include that.
965 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
967 * install-mk (MK_VERSION): bump version to 20051001
968 Add UnixWare.sys.mk from Klaus Heinz.
970 2005-04-05 Simon J. Gerraty <sjg@void.crufty.net>
972 * install-mk: always install *.sys.mk and if need be symlink one
975 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
977 * subdir.mk, own.mk: use .MAKE rather than MAKE
979 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
981 * own.mk: don't use NetBSD's _SRC_TOP_ it can
982 cause confusion. Also don't take just 'mk' as a
985 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
987 * warnings.mk: overhauled, now very powerful.
989 2004-02-03 Simon J. Gerraty <sjg@void.crufty.net>
991 * Generic.sys.mk: need to use ${.PARSEDIR} with exists().
993 2004-02-01 Simon J. Gerraty <sjg@void.crufty.net>
995 * install-mk (MK_VERSION): bump version to 20040201
996 * extract HOST_TARGET stuff to host-target.mk so own.mk and
997 Generic.sys.mk can share.
998 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
1000 2003-09-30 Simon J. Gerraty <sjg@void.crufty.net>
1002 * install-mk (MK_VERSION): 20030930
1003 * rename generic.sys.mk to Generic.sys.mk
1004 so that it does not get installed (unless being used as sys.mk)
1005 * set OS and ROOT_GROUP for those that we know the value.
1006 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
1007 we don't do it again for each sub-make.
1009 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1011 * install-mk (MK_VERSION): 20030928
1012 Add some extra *.sys.mk from bootstrap-pkgsrc
1013 some of these likely still need work.
1014 Make everything default to root:wheel ownership,
1015 sys.mk can set ROOT_GROUP accordingly.
1017 2003-08-07 Simon J. Gerraty <sjg@void.crufty.net>
1019 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
1020 not the portable ones.
1022 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1024 * install-mk: add ability to use cp -f when updating
1025 destination .mk files. Also now possible to play games with
1026 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
1027 into dest - not recommended unless you seriously want to.
1029 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1031 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
1032 for semi-compatability with NetBSD.
1034 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1036 * install-mk: add a version indicator
1038 2003-07-22 Simon J. Gerraty <sjg@void.crufty.net>
1040 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null
1042 * install-mk: Allow FORCE_SYS_MK to come from env