1 2015-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
3 * install-mk (MK_VERSION): 20151212
4 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
5 only apply :tA to __objdir when comparing to .OBJDIR
7 2015-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
9 * install-mk (MK_VERSION): 20151111
11 * meta.sys.mk: include sys.dependfile.mk
13 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk
14 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
15 include local.sys.env.mk early
16 include local.sys.mk later
18 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
20 2015-11-13 Simon J. Gerraty <sjg@bad.crufty.net>
22 * meta.sys.mk (META_COOKIE_TOUCH):
23 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
25 * meta.stage.mk: stage_libs should ignore SYMLINKS.
27 2015-10-23 Simon J. Gerraty <sjg@bad.crufty.net>
29 * install-mk (MK_VERSION): 20151022
31 * sys.mk: BSD/OS does not have 'type' as a shell builtin.
33 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
35 * install-mk (MK_VERSION): 20151020
37 * dirdeps.mk: Add logic for
38 make -f dirdeps.mk some/dir.${TARGET_SPEC}
40 2015-10-14 Simon J. Gerraty <sjg@bad.crufty.net>
42 * install-mk (MK_VERSION): 20151010
44 2015-10-02 Simon J. Gerraty <sjg@bad.crufty.net>
46 * meta.stage.mk: use staging: ${STAGE_TARGETS:...
47 to have stage_lins run last in non-jobs mode.
48 Use .ORDER only for jobs mode.
50 2015-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
52 * rst2htm.mk: allow for per target flags etc.
54 2015-09-01 Simon J. Gerraty <sjg@bad.crufty.net>
56 * install-mk (MK_VERSION): 20150901
58 * doc.mk: create dir if needed use DOC_INSTALL_OWN
60 2015-06-15 Simon J. Gerraty <sjg@bad.crufty.net>
62 * install-mk (MK_VERSION): 20150615
64 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
65 Follow make's normal precedence rules.
67 * gendirdeps.mk: allow customization of the header.
69 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
71 * meta.autodep.mk: ignore dirdeps.cache*
73 * meta.stage.mk: when bootstrapping options it can be handy to
74 throw warnings rather than errors for staging conflicts.
76 * meta.sys.mk: include local.meta.sys.mk for customization
78 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
80 * install-mk (MK_VERSION): 20150606
82 * dirdeps.mk: don't rely on manually maintained Makefile.depend
83 to set DEP_RELDIR and reset DIRDEPS.
84 By setting DEP_RELDIR ourselves we can skip :tA
86 * gendirdeps.mk: skip setting DEP_RELDIR.
88 2015-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
90 * dirdeps.mk: avoid wildcards like make(bootstrap*)
92 2015-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
94 * install-mk (MK_VERSION): 20150520
96 * dirdeps.mk: when we are building dirdeps cache file we *want*
97 meta_oodate to look at all the Makefile.depend files, so
98 set .MAKE.DEPENDFILE to something that won't match.
100 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique
101 so first use absolute path as key.
102 Also skip staging at level 0.
104 2015-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
106 * install-mk (MK_VERSION): 20150430
108 * dirdeps.mk: fix _count_dirdeps for non-cache case.
110 2015-04-16 Simon J. Gerraty <sjg@bad.crufty.net>
112 * install-mk (MK_VERSION): 20150411
115 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
116 it is here mainly for documentation purposes, since
117 if using auto.obj.mk it is better done via sys.mk
119 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
121 * install-mk (MK_VERSION): 20150401
123 * meta2deps.sh: support @list
125 * meta2deps.py: updates from Juniper
127 o skip bogus input files.
128 o treat 'M' and 'L' as both an 'R' and a 'W'
130 2015-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
132 * install-mk (MK_VERSION): 20150303
134 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
135 which is built via sub-make so we have a .meta file to tell if
137 The dirdeps-cache contains the same dependency rules that we
138 normaly construct on the fly.
139 This adds a few seconds overhead when the cache is out of date,
140 but for a large target, the savings can be significant (10-20min).
142 2014-11-18 Simon J. Gerraty <sjg@bad.crufty.net>
144 * install-mk (MK_VERSION): 20141118
146 * meta.stage.mk: add stale_staged
148 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
149 only useful under very rare conditions such as
150 FreeBSD's make universe.
152 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
154 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
156 * install-mk (MK_VERSION): 20141111
158 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
160 2014-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
162 * FILES: include mkopt.sh which allows handling options in shell
163 scripts in a manner compatible with options.mk
165 2014-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
167 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
168 for GENDIRDEPS_FILTER to avoid surprises.
170 2014-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
172 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
173 the time it is applied to __depdirs they have.
175 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
176 expects patterns like *.${MACHINE}
178 * cython.mk (pyprefix?): use pyprefix to find python bits
179 since prefix might be something else (where we install our
182 2014-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
184 * install-mk (MK_VERSION): 20140911
186 * dirdeps.mk: add bootstrap target to simplify adding support for
189 2014-09-01 Simon J. Gerraty <sjg@bad.crufty.net>
191 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
192 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
193 Makefile.depend files.
195 2014-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
197 * install-mk (MK_VERSION): 20140828
199 * cython.mk: capture logic for building python extension modules
202 2014-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
204 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
206 2014-08-02 Simon J. Gerraty <sjg@bad.crufty.net>
208 * install-mk (MK_VERSION): 20140801
210 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
211 identify the autodep.mk variant.
213 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
214 initial value does not match .MAKE.DEPENDFILE_PREFIX
216 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
218 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
220 * install-mk (MK_VERSION): 20140522
222 * lib.mk: use CC to link shlib for linux too
223 patch from Brendan MacDonell
225 2014-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
227 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
228 if WITH_META_STATS is defined.
230 2014-05-02 Simon J. Gerraty <sjg@bad.crufty.net>
232 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
233 to supress dirdeps outside of .CURDIR.
235 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
237 * Fix spelling errors - patch from Pedro Giffuni
239 2014-03-14 Simon J. Gerraty <sjg@bad.crufty.net>
241 * install-mk (MK_VERSION): 20140314
243 * dirdeps.mk (beforedirdeps): a handy hook
245 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
246 to visit leaf dirs to be intercepted (eg. for distributed
249 * dirdeps.mk (__depdirs): ensure // don't sneak in
251 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in
254 2014-02-21 Simon J. Gerraty <sjg@bad.crufty.net>
256 * rst2htm.mk (RST2PDF): add support for rst2pdf
258 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
260 * install-mk (MK_VERSION): bump version
261 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
264 2014-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
266 * options.mk: avoid :U so this isn't bmake dependent
268 2014-02-09 Simon J. Gerraty <sjg@bad.crufty.net>
270 * options.mk: cleanup and simplify semanitcs
271 NO_* dominates all, if both WITH_* and WITHOUT_*
272 are defined then result is DOMINATE_* which defaults to "no".
273 Ie. WITHOUT_ normally wins.
275 2013-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
277 * install-mk (MK_VERSION): bump version
278 * meta2deps.py: convert to print function for python3 compat.
279 we also need to open files with mode 'r' rather than 'rb'
280 otherwise we get bytes instead of strings.
282 2013-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
284 * install-mk (MK_VERSION): bump version
286 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
287 apply the same filtering (M_dep_qual_fixes) when setting _machines
289 Also fix the filtering of Makefile.depend files - for reporting
290 what we are looking for (M_dep_qual_fixes can get confused by
292 Add some more debug info.
294 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
296 * gendirdeps.mk (_objtops): fix typo also
297 while processing M2D_OBJROOTS to gather qualdir_list
298 qualify $ql with loop iterator to ensure correct results.
300 2013-08-01 Simon J. Gerraty <sjg@bad.crufty.net>
302 * install-mk (MK_VERSION): 20130801
303 * libs.mk: update to match progs.mk
305 2013-07-26 Simon J. Gerraty <sjg@bad.crufty.net>
307 * install-mk (MK_VERSION): 20130726
308 some updates from Juniper and FreeBSD
309 o meta2deps.py: indicate file and line number when we hit parse
311 also allow @file to provide huge list of .meta files.
312 * meta2deps.py: add try_parse() to cleanup the above.
314 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
316 * install-mk (MK_VERSION): 20130716
317 * own.mk: add GPROG as an option
318 * prog.mk: honor MK_GPROF==yes
320 2013-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
322 * install-mk (MK_VERSION): 20130505
323 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
324 for when $MACHINE isn't enough for objdir distinction.
325 Bring meta2deps.sh closer to par with meta2deps.py.
327 2013-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
329 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
330 also if the target 'beforeinstall' exists, make it depend on
331 .dirdep (incase it uses STAGE_INSTALL).
333 2013-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
335 * install-mk (MK_VERSION): 20130401 ;-)
336 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
337 wrapper around install(1).
338 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_
340 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
342 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
343 * install-mk (MK_VERSION): bump version
345 2013-03-21 Simon J. Gerraty <sjg@bad.crufty.net>
347 * install-mk (MK_VERSION): bump version
348 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
349 any trailing /., rather apply :tA only when needed.
350 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
351 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
353 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
355 2013-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
357 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
358 it is simpler to just not update when say building for "host"
359 (where we know we apply filters to DIRDEPS), and using a
360 non-machine qualified dependfile.
362 2013-03-16 Simon J. Gerraty <sjg@bad.crufty.net>
364 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
365 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
366 * gendirdeps.mk: ensure _objroot has trailing / if it needs it.
367 * meta2deps.py: if machine is "host", then also trim
368 self.host_target from any OBJROOTS.
371 2013-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
373 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
374 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
375 but _DEPENDFILE does not, compare the new _DEPENDFILE against
376 .MAKE.DEPENDFILE_DEFAULT and discard if the same.
378 2013-03-08 Simon J. Gerraty <sjg@bad.crufty.net>
380 * meta.stage.mk: use STAGE_TARGETS to control .ORDER
381 and hook to all: via staging:
383 2013-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
385 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
386 use a separate variable for the default .MAKE.DEPENDFILE value
387 so that it can be controlled independently of
388 .MAKE.DEPENDFILE_PREFERENCE
390 * meta.stage.mk: throw error if cp fails etc.
391 Stage*() return early if passed no args.
394 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
396 * install-mk (MK_VERSION): bump version
397 * gendirdeps.mk: handle multiple M2D_OBJROOTS better.
399 2013-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
401 * install-mk (MK_VERSION): bump version to 20130210
402 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
404 o dirdeps.mk now fully supports TARGET_SPEC consisting of more
406 o no longer use DEP_MACHINE from Makefile.depend* so remove it.
408 2013-01-23 Simon J. Gerraty <sjg@bad.crufty.net>
410 * install-mk (MK_VERSION): bump version to 20130123
411 * meta.stage.mk: add stage_links (hard links).
412 if doing hard links, we add dest to link as well.
413 Default the stage dir for [sym]links to STAGE_OBJTOP since
414 these are typically specified as absolute paths.
415 Add -m "mode" flag to StageFiles and StageAs.
417 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
419 * install-mk (MK_VERSION): bump version to 20121111
420 * autoconf.mk: avoid meta mode seeing changed commands for config.status
421 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
422 in case we were found via .../mk
423 * sys.clean-env.mk: move it from examples, we and others use it
425 * FILES: add srctop.mk and options.mk
426 * own.mk: convert to using options.mk
427 which is modeled after FreeBSD's handling of MK_*
429 This allows MK_* for boolean knobs to not be confused
430 with MK* which can be commands.
432 * examples/sys.clean-env.mk: add WITH[OUT]_ to
433 MAKE_ENV_SAVE_PREFIX_LIST.
434 Mention that HOME=/var/empty might be a good idea.
436 2012-11-08 Simon J. Gerraty <sjg@bad.crufty.net>
438 * sys.dependfile.mk: if not depend file exists, $MACHINE
439 specific ones are supported but not the default,
440 check if any exist and follow suit.
442 2012-11-06 Simon J. Gerraty <sjg@bad.crufty.net>
444 * install-mk (MK_VERSION): bump version to 20121106
446 2012-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
448 * import latest dirdeps.mk and meta2deps.py from Juniper.
449 * progs.mk: add MAN and CXXFLAGS to PROG_VARS
450 also add PROGS_TARGETS and pass on PROG_CXX if it seems
453 2012-11-04 Simon J. Gerraty <sjg@bad.crufty.net>
455 * meta.stage.mk: update CLEANFILES
456 remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
457 * progs.mk: Add LDADD to PROG_VARS
459 2012-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
461 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
462 _STAGED_DIRS so that these can be turned into filters for
465 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
467 * install-mk (MK_VERSION): bump version to 20121010
468 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
469 target.dirdep matches .dirdep
471 2012-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
473 * install-mk (MK_VERSION): bump version to 20120808
474 * import latest meta2deps.py from Juniper.
476 2012-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
478 * install-mk (MK_VERSION): bump version to 20120711
479 * dep.mk: add explicit dependencies on SRCS after applying
481 * meta.autodep.mk: add explicit dependencies on SRCS after
482 applying SRCS_DEP_FILTER
483 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
485 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
487 * install-mk (MK_VERSION): bump version to 20120626
488 * meta.sys.mk: ignore PYTHON if it does not exist
489 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
490 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
491 entries ending in .${MACHINE} to decide if qualified _dirdep is
493 * gendirdeps.mk: only produce unqualified deps if no
494 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
495 * meta.subdir.mk: apply SUBDIRDEPS_FILTER
497 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
499 * install-mk (MK_VERSION): bump version to 20120420
500 * add sys.dependfile.mk so we can experiment with
501 .MAKE.DEPENDFILE_PREFERENCE
502 * meta.autodep.mk: _DEPENDFILE is precious!
504 2012-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
506 * install-mk (MK_VERSION): bump version to 20120315
507 * install-new.mk: avoid being interrupted
509 2012-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
511 * man.mk: MAN might have multiple values so be careful with exists().
513 2012-01-19 Simon J. Gerraty <sjg@bad.crufty.net>
515 * install-mk (MK_VERSION): bump version to 20120112
516 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
517 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
519 2011-12-03 Simon J. Gerraty <sjg@bad.crufty.net>
521 * install-mk (MK_VERSION): bump version to 20111201
522 * import dirdeps.mk from Juniper sjg@
523 o more consistent handling of DEP_MACHINE, especially when
524 dealing with an odd Makefile.depend, when normally using
525 Makefile.depend.${MACHINE}
527 2011-11-22 Simon J. Gerraty <sjg@bad.crufty.net>
529 * install-mk (MK_VERSION): bump version to 20111122
530 * meta.autodep.mk: add some debug output, be more crisp about
531 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend
533 2011-11-13 Simon J. Gerraty <sjg@bad.crufty.net>
535 * install-mk (MK_VERSION): bump version to 20111111
536 it's too cool to miss
537 * import meta* updates from Juniper sjg@
538 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
539 normally using Makefile.depend.${MACHINE}), handy for
540 read-only manually maintained dependencies.
541 o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
542 o gendirdeps.mk if ERROR: from meta2deps.py do not update
545 2011-10-30 Simon J. Gerraty <sjg@bad.crufty.net>
547 * install-new.mk separate the cmp and copy logic to its own function.
549 2011-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
551 * install-mk (MK_VERSION): bump version to 20111028
552 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
553 * subdir.mk: ensure _SUBDIRUSE is provided
554 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
555 * meta.subdir.mk: always allow for Makefile.depend
557 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
559 * install-mk (MK_VERSION): bump version to 20111010
560 o minor tweak to *dirdeps.mk from Juniper sjg@
562 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
564 * install-mk (MK_VERSION): bump version to 20111001
565 o add meta2deps.py from Juniper sjg@
566 o tweak gendirdeps.mk to work with meta2deps.py when not
568 * autoconf.mk: add autoconf-input as a hook for regenerating
569 AUTOCONF_INPUTS (configure).
571 2011-08-24 Simon J. Gerraty <sjg@bad.crufty.net>
573 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
574 trigger for updating Makefile.depend*
576 2011-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
578 * install-mk (MK_VERSION): bump version to 20110808
579 * obj.mk: minor cleanup
580 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
582 2011-08-01 Simon J. Gerraty <sjg@bad.crufty.net>
584 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the
587 2011-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
589 * meta.autodep.mk: if XMAKE_META_FILE is set
590 the makefile uses a foreign make, and so dependencies
591 can only be gathered from a clean tree build.
593 2011-06-24 Simon J. Gerraty <sjg@bad.crufty.net>
595 * install-mk (MK_VERSION): bump version to 20110622
596 * meta.autodep.mk: improve bootstraping
598 2011-06-10 Simon J. Gerraty <sjg@bad.crufty.net>
600 * yacc.mk: handle the corner case of .c being removed
603 2011-06-08 Simon J. Gerraty <sjg@bad.crufty.net>
605 * yacc.mk: do .y.h and .y.c separately
607 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
609 * install-mk (MK_VERSION): bump version to 20110606
610 * don't store SRC_DIRDEPS in Makefile.depend* by default
611 not everyone needs it.
613 2011-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
615 * install-mk (MK_VERSION): bump version to 20110505
616 first release including meta mode makefiles
618 2011-05-02 Simon J. Gerraty <sjg@bad.crufty.net>
620 * meta.stage.mk: add STAGE_AS_SETS and stage_as
621 for things that need to be staged with different names.
623 2011-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
625 * meta.stage.mk: add notion of STAGE_SETS
626 so a makefile can stage to multiple dirs
628 2011-04-03 Simon J. Gerraty <sjg@bad.crufty.net>
630 * rst2htm.mk: convert rst to s5 (slides) or plain html depending
633 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
635 * install-mk (MK_VERSION): bump version to 20110330
637 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
639 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
640 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
641 * sys.mk: re-define M_whence in terms of M_type.
642 M_type is useful for checking if something is a builtin.
644 2011-03-16 Simon J. Gerraty <sjg@bad.crufty.net>
646 * meta.stage.mk: add stage_symlinks and leverage StageLinks for
649 2011-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
651 * dirdeps.mk: correct value for _depdir_files depends on
653 Add our copyright - just to make it clear we have frobbed this
655 DEP_MACHINE needs to be set to MACHINE each time, if using only
656 Makefile.depend (cf. Makefile.depend.${MACHINE})
658 * meta.stage.mk: meta mode version of staging
660 * init.mk, final.mk: include local.*.mk to simplify customization
662 2011-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
664 * auto.obj.mk: just because we are doing mk destroy, we should
665 still set .OBJDIR correctly if it exists.
667 * install-mk (mksrc): do not exclude meta.sys.mk
669 2011-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
671 * host-target.mk: set/export _HOST_ARCH etc separately,
672 catch junk resulting from uname -p, so we can find sys/Linux.mk
675 2011-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
677 * meta.sys.mk: throw an error if /dev/filemon is missing and we
678 expected to be updating Makefile.depend*
680 2011-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
682 * install-mk (MK_VERSION): bump version to 20110214
683 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
685 2010-09-25 Simon J. Gerraty <sjg@bad.crufty.net>
687 * meta.sys.mk: not valid for older bmake
689 2010-09-24 Simon J. Gerraty <sjg@bad.crufty.net>
691 * install-mk (MK_VERSION): bump version to 20100919
692 include dirdeps.mk et al from Juniper Networks,
693 for meta mode - requires filemon(9).
694 * sys.mk, subdir.mk: Add hooks for meta mode.
695 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
696 to make turning it on/off simple.
698 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
700 * install-mk (MK_VERSION): bump version to 20100616
703 2010-06-12 Simon J. Gerraty <sjg@bad.crufty.net>
705 * install-mk (MK_VERSION): bump version to 20100612
706 * lib.mk: remove duplicate addition to SOBJS
708 2010-06-10 Simon J. Gerraty <sjg@bad.crufty.net>
710 * sys.mk: Add a means of selectively turning on debug flags.
711 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
712 will act as if we did make -dv if .CURDIR ends in lib/sjg
713 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
714 the start of sys.mk rather than the end.
715 This only makes sense for leaf dirs, so we check that
718 2010-06-09 Simon J. Gerraty <sjg@bad.crufty.net>
720 * install-mk (MK_VERSION): bump version to 20100608
721 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
722 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
723 also make it easier for folk to tweak
725 2010-06-08 Simon J. Gerraty <sjg@bad.crufty.net>
727 * install-mk (MK_VERSION): bump version to 20100606
728 do not install examples/*
729 * FILES: add examples/sys.clean-env.mk
730 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
731 this requires bmake-20100606 or later to work.
733 2010-05-13 Simon J. Gerraty <sjg@bad.crufty.net>
735 * sys.mk (M_tA): better simulate the result of :tA if not available.
737 2010-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
739 * sys.mk: canonicalize MAKE_VERSION
740 old versions reported bmake-<src-date> build-<build-date>
741 whereas we only care about <src-date>
743 2010-04-25 Simon J. Gerraty <sjg@bad.crufty.net>
745 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
746 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION
749 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
751 * dpadd.mk: use LDADD_* if defined.
753 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
755 * install-mk (MK_VERSION): bump version to 20100420
756 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
757 * autoconf.mk allow AUTO_AUTOCONF
759 2010-04-19 Simon J. Gerraty <sjg@bad.crufty.net>
761 * obj.mk: add objwarn to keep freebsd makefiles happy
762 * auto.obj.mk: ensure Mkdirs is available.
763 * FILES: add auto.dep.mk - a simpler version of autodep.mk
764 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
766 fix/simplify the tests for when to run mkdep.
767 * auto.dep.mk: add some explanation of how/what we do.
768 * autodep.mk: skip the .OPTIONAL frobbing of .depend
769 bmake's FROM_DEPEND flag makes it redundant.
771 2010-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
773 * install-mk (MK_VERSION): bump version to 20100404
774 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
775 * obj.mk: protect from multiple inclusion even as bsd.obj.mk
776 Also create a target _SUBDIRUSE so that we can be used without
779 2010-04-12 Simon J. Gerraty <sjg@bad.crufty.net>
781 * dep.mk: use <> when .including so can override.
783 2010-01-11 Simon J. Gerraty <sjg@bad.crufty.net>
785 * lib.mk (SHLIB_LINKS): ensure a string comparison.
787 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
789 * install-mk (MK_VERSION): bump version to 20100102
790 * own.mk: ensure PRINTOBJDIR works
791 * autoconf.mk: pass on CONFIGURE_ARGS
792 * init.mk: handle COPTS.${.IMPSRC:T} etc.
793 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION
794 fix handling of symlinks for darwin
795 * libnames.mk: add DSHLIBEXT for libs which only exist as shared.
796 * man.mk: suppress chown when not root.
797 * rst2htm.mk: allow srcs from multiple locations.
798 * sys.mk: M_whence, stop after 1st line of output.
799 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
800 * sys/SunOS.mk: we need to export PATH
802 2009-12-23 Simon J. Gerraty <sjg@void.crufty.net>
804 * install-mk (MK_VERSION): bump version
807 2009-12-17 Simon J. Gerraty <sjg@void.crufty.net>
809 * sys.mk,libnames.mk add .-include <local.*>
810 this allows local customization without the need to edit the
813 2009-12-14 Simon J. Gerraty <sjg@void.crufty.net>
815 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
816 older versions already installed.
818 2009-12-13 Simon J. Gerraty <sjg@void.crufty.net>
820 * stage.mk (.stage-install): generalize lib.mk's .libinstall
821 * rules.mk rules for generic Makefile.
822 * inc.mk install for includes.
824 2009-12-11 Simon J. Gerraty <sjg@void.crufty.net>
826 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
827 this, so provide it if using native make.
829 2009-12-10 Simon J. Gerraty <sjg@void.crufty.net>
831 * FILES: move all the platform *.sys.mk files to sys/*.mk
832 * Rename Generic.sys.mk to sys.mk - we always want it.
834 2009-11-17 Simon J. Gerraty <sjg@void.crufty.net>
836 * install-mk (MK_VERSION): bump version
837 * host-target.mk: only export the expensive stuff
838 * Generic.sys.mk (sys_mk): for SunOS we need to look for
839 ${HOST_OS}.${HOST_OSMAJOR} too!
841 2009-11-07 Simon J. Gerraty <sjg@void.crufty.net>
843 * install-mk (MK_VERSION): bump version
844 * lib.mk: if sys.mk doesn't give us an lorder, don't use it.
845 based on patch from Greg Olszewski.
846 * Generic.sys.mk: if we have nothing to work with
847 set LORDER etc only if we can find it.
849 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
851 * install-mk (MK_VERSION): bump version
852 * man.mk: cleanman: remove CLEANMAN if defined.
854 2009-09-04 Simon J. Gerraty <sjg@void.crufty.net>
856 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
858 2009-07-17 Simon J. Gerraty <sjg@void.crufty.net>
860 * install-mk (MK_VERSION): bump version
864 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
866 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
868 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
870 * install-mk (MK_VERSION): bump version
871 man.mk: ensure we generate *.cat1 etc in .
873 2008-07-16 Simon J. Gerraty <sjg@void.crufty.net>
875 * install-mk (MK_VERSION): bump version
878 2007-11-25 Simon J. Gerraty <sjg@void.crufty.net>
880 * Generic.sys.mk: Allow os specific sys.mk to be in a
881 subdir of ${.PARSEDIR}
883 2007-11-22 Simon J. Gerraty <sjg@void.crufty.net>
885 * install-mk (MK_VERSION): bump version
887 * dpadd.mk introduce DPMAGIC_LIBS_*
889 2007-04-30 Simon J. Gerraty <sjg@void.crufty.net>
891 * install-mk (MK_VERSION): bump version
893 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog
894 depend files and ensure clean is called for each lib/prog.
896 2007-03-27 Simon J. Gerraty <sjg@void.crufty.net>
898 * autodep.mk (.depend): delete lines that do not start with
899 space and do not contain ':'
901 2007-02-16 Simon J. Gerraty <sjg@void.crufty.net>
903 * autodep.mk (.depend): gcc may wrap lines if pathnames are long
904 so make sure the transform for .OPTIONAL copes.
906 2007-02-03 Simon J. Gerraty <sjg@void.crufty.net>
908 * install-mk (MK_VERSION): bump version
910 * own.mk: make sure RM and LN are defined.
912 * obj.mk: fix a typo, and objlink target.
914 2006-12-30 Simon J. Gerraty <sjg@void.crufty.net>
916 * install-mk (MK_VERSION): bump version
917 * added libs.mk - analogous to progs.mk
918 make both of them always inlcude {lib,prog}.mk
920 2006-12-28 Simon J. Gerraty <sjg@void.crufty.net>
922 * progs.mk: add a means of building multiple apps in one dir.
924 2006-11-26 Simon J. Gerraty <sjg@void.crufty.net>
926 * install-mk (MK_VERSION): bump version to 20061126
928 * warnings.mk: detect invalid WARNINGS_SET
930 * warnings.mk: use ${.TARGET:T:R}.o when looking for target
933 * For .cc sources, turn off warnings that g++ vomits on.
935 2006-11-08 Simon J. Gerraty <sjg@void.crufty.net>
937 * own.mk: if __initialized__ target doesn't exist and we are
938 FreeBSD we got here directly from sys.mk
940 2006-11-06 Simon J. Gerraty <sjg@void.crufty.net>
942 * install-mk (MK_VERSION): bump version to 20061106
945 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
947 * install-mk (MK_VERSION): bump version to 20060318
949 * autodep.mk: avoid := when modifying OBJS into __dependsrcs
951 2006-03-02 Simon J. Gerraty <sjg@void.crufty.net>
953 * install-mk (MK_VERSION): bump version to 20060302
954 * autodep.mk: use -MF et al to help gcc+ccache DTRT.
956 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
958 * install-mk (MK_VERSION): bump version to 20060301
959 * autodep.mk (.depend):
960 if MAKE_VERSION is newer than 20050530 we can make .END depend on
961 .depend and make .depend depend on __depsrcs that exist.
962 * dpadd.mk: add SRC_PATHADD
964 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
966 * install-mk (MK_VERSION): bump version to 20051104
967 * prog.mk: remove all the LIBC?= junk, use
968 .-include libnames.mk instead (none by default).
969 also if USE_DPADD_MK is set, include that.
971 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
973 * install-mk (MK_VERSION): bump version to 20051001
974 Add UnixWare.sys.mk from Klaus Heinz.
976 2005-04-05 Simon J. Gerraty <sjg@void.crufty.net>
978 * install-mk: always install *.sys.mk and if need be symlink one
981 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
983 * subdir.mk, own.mk: use .MAKE rather than MAKE
985 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
987 * own.mk: don't use NetBSD's _SRC_TOP_ it can
988 cause confusion. Also don't take just 'mk' as a
991 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
993 * warnings.mk: overhauled, now very powerful.
995 2004-02-03 Simon J. Gerraty <sjg@void.crufty.net>
997 * Generic.sys.mk: need to use ${.PARSEDIR} with exists().
999 2004-02-01 Simon J. Gerraty <sjg@void.crufty.net>
1001 * install-mk (MK_VERSION): bump version to 20040201
1002 * extract HOST_TARGET stuff to host-target.mk so own.mk and
1003 Generic.sys.mk can share.
1004 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
1006 2003-09-30 Simon J. Gerraty <sjg@void.crufty.net>
1008 * install-mk (MK_VERSION): 20030930
1009 * rename generic.sys.mk to Generic.sys.mk
1010 so that it does not get installed (unless being used as sys.mk)
1011 * set OS and ROOT_GROUP for those that we know the value.
1012 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
1013 we don't do it again for each sub-make.
1015 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1017 * install-mk (MK_VERSION): 20030928
1018 Add some extra *.sys.mk from bootstrap-pkgsrc
1019 some of these likely still need work.
1020 Make everything default to root:wheel ownership,
1021 sys.mk can set ROOT_GROUP accordingly.
1023 2003-08-07 Simon J. Gerraty <sjg@void.crufty.net>
1025 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
1026 not the portable ones.
1028 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1030 * install-mk: add ability to use cp -f when updating
1031 destination .mk files. Also now possible to play games with
1032 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
1033 into dest - not recommended unless you seriously want to.
1035 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1037 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
1038 for semi-compatability with NetBSD.
1040 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1042 * install-mk: add a version indicator
1044 2003-07-22 Simon J. Gerraty <sjg@void.crufty.net>
1046 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null
1048 * install-mk: Allow FORCE_SYS_MK to come from env