1 2020-07-10 Simon J Gerraty <sjg@beast.crufty.net>
3 * dirdeps.mk: optimize content of dirdeps.cache
5 2020-06-28 Simon J Gerraty <sjg@beast.crufty.net>
7 * sys/*.mk: make it easier for local*sys.mk to customize by
10 2020-06-22 Simon J Gerraty <sjg@beast.crufty.net>
12 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
13 it is much safer to guard local depends with a simple check for
16 2020-06-10 Simon J Gerraty <sjg@beast.crufty.net>
18 * install-mk (MK_VERSION): 20200610
20 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok
22 2020-06-06 Simon J Gerraty <sjg@beast.crufty.net>
24 * install-mk (MK_VERSION): 20200606
26 * dirdeps-targets.mk: allow for filtering of .TARGETS
28 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove
29 entries - and we don't care about 'W'rite entries.
30 Also ignore absolute paths that do not exist.
32 2020-05-25 Simon J Gerraty <sjg@beast.crufty.net>
34 * install-mk (MK_VERSION): 20200525
36 * init.mk: expand and simplify handling of qualified vars
37 like CPPFLAGS.${.TARGET:T}
39 2020-05-15 Simon J Gerraty <sjg@beast.crufty.net>
41 * install-mk (MK_VERSION): 20200515
43 * dirdeps.mk: set _debug_* earlier and allow passing -d*
44 flags to submake when building DIRDEPS_CACHE
46 2020-05-09 Simon J Gerraty <sjg@beast.crufty.net>
48 * whats.mk: more easily extensible
50 2020-05-02 Simon J Gerraty <sjg@beast.crufty.net>
52 * whats.mk: greatly simplify by adding what.c to SRCS
54 2020-05-01 Simon J Gerraty <sjg@beast.crufty.net>
56 * whats.mk: for libs take care how we add to *OBJS
58 * lib.mk: : works better with whats.mk
60 2020-04-25 Simon J Gerraty <sjg@beast.crufty.net>
62 * install-mk (MK_VERSION): 20200420
64 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
65 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
67 2020-04-16 Simon J Gerraty <sjg@beast.crufty.net>
69 * install-mk (MK_VERSION): 20200416
71 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
72 interfere with user env.
74 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
76 * autodep.mk: use MAKE_SHELL.
78 2019-11-21 Simon J Gerraty <sjg@beast.crufty.net>
80 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of
81 wasted effort, and unexport _meta_files when no longer needed as
82 it consumes space we need for command line.
84 2019-11-11 Simon J Gerraty <sjg@beast.crufty.net>
86 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
87 DIRDEP_USE_PRELUDE at start - facilitates job distribution
89 2019-10-04 Simon J Gerraty <sjg@beast.crufty.net>
91 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
92 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
93 TARGET_SPEC qualified depend files.
95 2019-10-02 Simon J Gerraty <sjg@beast.crufty.net>
97 * dirdeps-targets.mk: encapsulate logic for finding top-level
98 targets to set initial DIRDEPS for DIRDEPS_BUILD
100 2019-09-27 Simon J Gerraty <sjg@beast.crufty.net>
102 * install-mk (MK_VERSION): 20190911
104 * compiler.mk: set COMPILER_TYPE
106 2019-07-17 Simon J Gerraty <sjg@beast.crufty.net>
108 * install-mk (MK_VERSION): 20190704
110 * sys/Darwin.mk: support for Objective-C and clang
112 2019-05-30 Simon J Gerraty <sjg@beast.crufty.net>
114 * dirdeps.mk: avoid insanely long command line when generating cache
116 2019-05-23 Simon J Gerraty <sjg@beast.crufty.net>
118 * install-mk (MK_VERSION): 20190505
120 * whats.mk: handle corner case SHLIB defined but not LIB
122 2018-09-19 Simon J Gerraty <sjg@beast.crufty.net>
124 * install-mk (MK_VERSION): 20180919
126 * dirdeps-options.mk: .undef cannot handle var that expands to
129 2018-07-08 Simon J Gerraty <sjg@beast.crufty.net>
131 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
133 2018-06-01 Simon J Gerraty <sjg@beast.crufty.net>
135 * meta.autodep.mk: export META_FILES to avoid command line limit
136 * gendirdeps.mk: if we have lots of .meta files put them in
139 2018-05-28 Simon J Gerraty <sjg@beast.crufty.net>
141 * dirdeps-options.mk: use local.dirdeps-options.mk
142 not local.dirdeps-option.mk
144 2018-04-20 Simon J Gerraty <sjg@beast.crufty.net>
146 * install-mk (MK_VERSION): 20180420
147 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
148 ie. we are building something.
150 2018-04-14 Simon J Gerraty <sjg@beast.crufty.net>
152 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
154 2018-04-05 Simon J Gerraty <sjg@beast.crufty.net>
156 * install-mk (MK_VERSION): 20180405
158 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
161 2018-01-18 Simon J Gerraty <sjg@beast.crufty.net>
163 * install-mk (MK_VERSION): 20180118
165 * ldorder.mk: let make compute correct link order
167 2017-12-12 Simon J Gerraty <sjg@beast.crufty.net>
169 * install-mk (MK_VERSION): 20171212
171 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
173 2017-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
175 * install-mk (MK_VERSION): 20171111
177 * lib.mk: ensure META_NOECHO is set
179 2017-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
181 * Allow for host32 on rare occasions.
183 2017-10-18 Simon J. Gerraty <sjg@bad.crufty.net>
185 * install-mk (MK_VERSION): 20171018
187 * whats.mk: include what_thing in what_uuid to avoid problem
188 when building multiple apps in the same directory.
190 2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
192 * install-mk (MK_VERSION): 20170812
194 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can
195 add dependencies for config.recheck and config.gen
197 2017-06-30 Simon J. Gerraty <sjg@bad.crufty.net>
199 * install-mk (MK_VERSION): 20170630
201 * meta.stage.mk: avoid triggering stage_* targets with nothing to do.
203 2017-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
205 * meta2deps.py: take special care of '..'
207 2017-05-15 Simon J. Gerraty <sjg@bad.crufty.net>
209 * install-mk (MK_VERSION): 20170515
211 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
212 useful/necessary for a Makefile.depend file to export some knobs.
213 This is complicated when we are doing DIRDEPS_CACHE, so we will
214 handle export of any variables listed in DEP_EXPORT_VARS.
216 2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net>
218 * install-mk (MK_VERSION): 20170505
220 * meta2deps.py: fix botched indenation.
222 2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
224 * sys/*.mk: Remove setting of MAKE it is unnecessary and
225 in many cases wrong (basname rather than full path)
227 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
229 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
231 2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
233 * install-mk (MK_VERSION): 20170501
235 * doc.mk: fix typo in DOC_INSTALL_OWN
237 * inc.mk: handle INCGROUPS similar to freebsd
239 * files.mk: add something for files too
241 * add staging logic to lib.mk prog.mk etc.
243 2017-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
245 * install-mk (MK_VERSION): 20170424
247 * dirdeps.mk: set NO_DIRDEPS when bootstrapping.
248 also target of bootstrap-this when sed is needed should be ${_want:T}
250 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
252 * install-mk (MK_VERSION): 20170418
254 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
255 prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
257 2017-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
259 * install-mk (MK_VERSION): 20170401
261 * meta2deps.py: add is_src so we can check if obj dependency
262 is also a src dependency.
264 2017-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
266 * install-mk (MK_VERSION): 20170326
268 * meta.stage.mk: do nothing if NO_STAGING is defined.
270 2017-03-24 Simon J. Gerraty <sjg@bad.crufty.net>
272 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
274 2017-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
276 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
278 2017-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
280 * install-mk (MK_VERSION): 20170301
282 * dirdeps.mk (_build_all_dirs): update this outside test for empty
285 * meta.stage.mk: allow multiple inclusion to the extent it makes
288 2017-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
290 * prog.mk (install_links): depends on realinstall
292 2017-02-12 Simon J. Gerraty <sjg@bad.crufty.net>
294 * install-mk (MK_VERSION): 20170212
296 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries
298 2017-01-30 Simon J. Gerraty <sjg@bad.crufty.net>
300 * install-mk (MK_VERSION): 20170130
302 * dirdeps.mk: use :range if we can.
304 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
306 * meta2deps.py: clean paths without using realpath() where possible.
309 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
311 * install-mk (MK_VERSION): 20161212
313 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
314 rather than when we detect pid change.
316 2016-12-07 Simon J. Gerraty <sjg@bad.crufty.net>
318 * install-mk (MK_VERSION): 20161207
320 * meta.stage.mk: add stage_as_and_symlink for staging packages.
321 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
322 to use foo.tgz to reference the latest staged version - so we
323 make foo.tgz a symlink to it.
324 Using a target to do both operations ensures we stay in sync.
326 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
328 * install-mk (MK_VERSION): 20161126
330 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
331 so it can add dependencies.
333 2016-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
335 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
336 do that they can influence the result correctly.
338 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
340 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
341 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
343 2016-10-05 Simon J. Gerraty <sjg@bad.crufty.net>
345 * dirdeps.mk: remove dependence on jot (normal situations anyway).
346 Before we read another Makefile.depend* set DEP_* vars from
347 _DEP_TARGET_SPEC in case it uses any of them with :=
348 When bootstrapping, trim any ,* from extention of chosen _src
349 Makefile.depend* to get the machine value we subst for.
351 2016-09-30 Simon J. Gerraty <sjg@bad.crufty.net>
353 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
354 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
356 * sys.mk: extract some bits to sys.{debug,vars}.mk
357 for easier re-use by others.
359 2016-09-23 Simon Gerraty <sjg@sjg-mba13>
361 * lib.mk: Use ${PICO} for extension for PIC objects.
362 default to .pico (like NetBSD) safe on case insensitive filesystem.
364 2016-08-19 Simon J. Gerraty <sjg@bad.crufty.net>
366 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
368 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
370 * install-mk (MK_VERSION): 20160815
372 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
373 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
375 2016-08-13 Simon J. Gerraty <sjg@bad.crufty.net>
377 * meta.sys.mk (.MAKE.META.IGNORE_PATHS):
378 in meta mode we can ignore the mtime of makefiles
380 2016-08-02 Simon J. Gerraty <sjg@bad.crufty.net>
382 * install-mk (MK_VERSION): 20160802
384 * lib.mk (libinstall): depends on beforinstall
386 * prog.mk (proginstall): depends on beforinstall
387 patch from Lauri Tirkkonen
389 * dirdeps.mk (bootstrap): When bootstrapping; creat
390 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
391 .MAKE.DEPENDFILE_BOOTSTRAP_SED
393 * dirdeps.mk: move some comments to where they make sense.
395 2016-07-27 Simon J. Gerraty <sjg@bad.crufty.net>
397 * dirdeps.mk (DIRDEPS_CACHE): no dirname.
399 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
401 * install-mk (MK_VERSION): 20160602
402 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk
403 do not apply :T to META_XTRAS
404 patch from Bryan Drewery at FreeBSD.org.
406 2016-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
408 * install-mk (MK_VERSION): 20160530
409 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
412 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
414 * install-mk (MK_VERSION): 20160512
416 * dpadd.mk: always include local.dpadd.mk if it exists
417 remove some things that better belong in local.dpadd.mk
418 skip INCLUDES_* for staged libs unless SRC_* defined.
420 * own.mk: add INCLUDEDIR
422 2016-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
424 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no
425 TARGET_MACHINE - :E will be empty or match part of path, use
428 2016-04-07 Simon J. Gerraty <sjg@bad.crufty.net>
430 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
433 * dirdeps.mk: move the logic that allows for
434 make -f dirdeps.mk some/dir.${TARGET_SPEC}
435 inside the check for !target(_DIRDEP_USE)
437 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
439 * Use <> when including local*.mk and others which may exist
440 elsewhere so that user can better control what they get.
442 * meta.autodep.mk (NO_FILEMON_COOKIE):
443 create a cookie if we ever build dir with nofilemon
444 so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
446 2016-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
448 * install-mk (MK_VERSION): 20160401
450 * meta2deps.py: fix old print statement when debugging.
452 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
453 patch from Bryan Drewery
455 2016-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
457 * install-mk (MK_VERSION): 20160317 (St. Pats)
459 * warnings.mk: g++ does not like -Wimplicit
461 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
462 pelthora of common suffixes for C++
464 * lib.mk: use .So for shared objects
466 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
468 * install-mk (MK_VERSION): 20160315
470 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
471 normally only applies to scripts.
473 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
476 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
478 * install-mk (MK_VERSION): 20160310
480 * dirdeps.mk: use targets rather than a list to track DIRDEPS that
481 we have processed; the list gets very inefficient as number of
484 * sys.dependfile.mk: fix comment wrt MACHINE
486 * meta.autodep.mk: ignore staged DPADDs when bootstrapping.
487 patch from Bryan Drewery
489 2016-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
491 * meta2deps.sh: don't ignore subdirs.
492 patch from Bryan Drewery
494 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
496 * install-mk (MK_VERSION): 20160226
498 * gendirdeps.mk: mark _DEPENDFILE .NOMETA
500 2016-02-20 Simon J. Gerraty <sjg@bad.crufty.net>
502 * dirdeps.mk: we shouldn't normally include .depend but if we do
503 use .dinclude if we can.
505 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
507 * install-mk (MK_VERSION): 20160218
508 * sys.clean-env.mk: with recent change to Var_Subst()
509 we cannot use the '$$' trick, but .export-literal does the job
511 * auto.dep.mk: make use .dinclude if we can.
514 2016-02-05 Simon J. Gerraty <sjg@bad.crufty.net>
517 Add _build_all_dirs such that local.dirdeps.mk can
518 add fully qualified dirs to it.
519 These will be built normally but the current
520 DEP_RELDIR will not depend on then (to avoid cycles).
521 This makes it easy to hook things like unit-tests into build.
524 2016-01-21 Simon J. Gerraty <sjg@bad.crufty.net>
526 * dirdeps.mk: add bootstrap-empty
528 2015-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
530 * install-mk (MK_VERSION): 20151212
531 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
532 only apply :tA to __objdir when comparing to .OBJDIR
534 2015-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
536 * install-mk (MK_VERSION): 20151111
538 * meta.sys.mk: include sys.dependfile.mk
540 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk
541 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
542 include local.sys.env.mk early
543 include local.sys.mk later
545 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
547 2015-11-13 Simon J. Gerraty <sjg@bad.crufty.net>
549 * meta.sys.mk (META_COOKIE_TOUCH):
550 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
552 * meta.stage.mk: stage_libs should ignore SYMLINKS.
554 2015-10-23 Simon J. Gerraty <sjg@bad.crufty.net>
556 * install-mk (MK_VERSION): 20151022
558 * sys.mk: BSD/OS does not have 'type' as a shell builtin.
560 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
562 * install-mk (MK_VERSION): 20151020
564 * dirdeps.mk: Add logic for
565 make -f dirdeps.mk some/dir.${TARGET_SPEC}
567 2015-10-14 Simon J. Gerraty <sjg@bad.crufty.net>
569 * install-mk (MK_VERSION): 20151010
571 2015-10-02 Simon J. Gerraty <sjg@bad.crufty.net>
573 * meta.stage.mk: use staging: ${STAGE_TARGETS:...
574 to have stage_lins run last in non-jobs mode.
575 Use .ORDER only for jobs mode.
577 2015-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
579 * rst2htm.mk: allow for per target flags etc.
581 2015-09-01 Simon J. Gerraty <sjg@bad.crufty.net>
583 * install-mk (MK_VERSION): 20150901
585 * doc.mk: create dir if needed use DOC_INSTALL_OWN
587 2015-06-15 Simon J. Gerraty <sjg@bad.crufty.net>
589 * install-mk (MK_VERSION): 20150615
591 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
592 Follow make's normal precedence rules.
594 * gendirdeps.mk: allow customization of the header.
596 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
598 * meta.autodep.mk: ignore dirdeps.cache*
600 * meta.stage.mk: when bootstrapping options it can be handy to
601 throw warnings rather than errors for staging conflicts.
603 * meta.sys.mk: include local.meta.sys.mk for customization
605 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
607 * install-mk (MK_VERSION): 20150606
609 * dirdeps.mk: don't rely on manually maintained Makefile.depend
610 to set DEP_RELDIR and reset DIRDEPS.
611 By setting DEP_RELDIR ourselves we can skip :tA
613 * gendirdeps.mk: skip setting DEP_RELDIR.
615 2015-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
617 * dirdeps.mk: avoid wildcards like make(bootstrap*)
619 2015-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
621 * install-mk (MK_VERSION): 20150520
623 * dirdeps.mk: when we are building dirdeps cache file we *want*
624 meta_oodate to look at all the Makefile.depend files, so
625 set .MAKE.DEPENDFILE to something that won't match.
627 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique
628 so first use absolute path as key.
629 Also skip staging at level 0.
631 2015-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
633 * install-mk (MK_VERSION): 20150430
635 * dirdeps.mk: fix _count_dirdeps for non-cache case.
637 2015-04-16 Simon J. Gerraty <sjg@bad.crufty.net>
639 * install-mk (MK_VERSION): 20150411
642 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
643 it is here mainly for documentation purposes, since
644 if using auto.obj.mk it is better done via sys.mk
646 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
648 * install-mk (MK_VERSION): 20150401
650 * meta2deps.sh: support @list
652 * meta2deps.py: updates from Juniper
654 o skip bogus input files.
655 o treat 'M' and 'L' as both an 'R' and a 'W'
657 2015-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
659 * install-mk (MK_VERSION): 20150303
661 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
662 which is built via sub-make so we have a .meta file to tell if
664 The dirdeps-cache contains the same dependency rules that we
665 normaly construct on the fly.
666 This adds a few seconds overhead when the cache is out of date,
667 but for a large target, the savings can be significant (10-20min).
669 2014-11-18 Simon J. Gerraty <sjg@bad.crufty.net>
671 * install-mk (MK_VERSION): 20141118
673 * meta.stage.mk: add stale_staged
675 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
676 only useful under very rare conditions such as
677 FreeBSD's make universe.
679 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
681 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
683 * install-mk (MK_VERSION): 20141111
685 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
687 2014-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
689 * FILES: include mkopt.sh which allows handling options in shell
690 scripts in a manner compatible with options.mk
692 2014-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
694 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
695 for GENDIRDEPS_FILTER to avoid surprises.
697 2014-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
699 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
700 the time it is applied to __depdirs they have.
702 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
703 expects patterns like *.${MACHINE}
705 * cython.mk (pyprefix?): use pyprefix to find python bits
706 since prefix might be something else (where we install our
709 2014-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
711 * install-mk (MK_VERSION): 20140911
713 * dirdeps.mk: add bootstrap target to simplify adding support for
716 2014-09-01 Simon J. Gerraty <sjg@bad.crufty.net>
718 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
719 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
720 Makefile.depend files.
722 2014-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
724 * install-mk (MK_VERSION): 20140828
726 * cython.mk: capture logic for building python extension modules
729 2014-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
731 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
733 2014-08-02 Simon J. Gerraty <sjg@bad.crufty.net>
735 * install-mk (MK_VERSION): 20140801
737 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
738 identify the autodep.mk variant.
740 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
741 initial value does not match .MAKE.DEPENDFILE_PREFIX
743 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
745 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
747 * install-mk (MK_VERSION): 20140522
749 * lib.mk: use CC to link shlib for linux too
750 patch from Brendan MacDonell
752 2014-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
754 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
755 if WITH_META_STATS is defined.
757 2014-05-02 Simon J. Gerraty <sjg@bad.crufty.net>
759 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
760 to supress dirdeps outside of .CURDIR.
762 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
764 * Fix spelling errors - patch from Pedro Giffuni
766 2014-03-14 Simon J. Gerraty <sjg@bad.crufty.net>
768 * install-mk (MK_VERSION): 20140314
770 * dirdeps.mk (beforedirdeps): a handy hook
772 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
773 to visit leaf dirs to be intercepted (eg. for distributed
776 * dirdeps.mk (__depdirs): ensure // don't sneak in
778 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in
781 2014-02-21 Simon J. Gerraty <sjg@bad.crufty.net>
783 * rst2htm.mk (RST2PDF): add support for rst2pdf
785 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
787 * install-mk (MK_VERSION): bump version
788 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
791 2014-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
793 * options.mk: avoid :U so this isn't bmake dependent
795 2014-02-09 Simon J. Gerraty <sjg@bad.crufty.net>
797 * options.mk: cleanup and simplify semanitcs
798 NO_* dominates all, if both WITH_* and WITHOUT_*
799 are defined then result is DOMINATE_* which defaults to "no".
800 Ie. WITHOUT_ normally wins.
802 2013-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
804 * install-mk (MK_VERSION): bump version
805 * meta2deps.py: convert to print function for python3 compat.
806 we also need to open files with mode 'r' rather than 'rb'
807 otherwise we get bytes instead of strings.
809 2013-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
811 * install-mk (MK_VERSION): bump version
813 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
814 apply the same filtering (M_dep_qual_fixes) when setting _machines
816 Also fix the filtering of Makefile.depend files - for reporting
817 what we are looking for (M_dep_qual_fixes can get confused by
819 Add some more debug info.
821 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
823 * gendirdeps.mk (_objtops): fix typo also
824 while processing M2D_OBJROOTS to gather qualdir_list
825 qualify $ql with loop iterator to ensure correct results.
827 2013-08-01 Simon J. Gerraty <sjg@bad.crufty.net>
829 * install-mk (MK_VERSION): 20130801
830 * libs.mk: update to match progs.mk
832 2013-07-26 Simon J. Gerraty <sjg@bad.crufty.net>
834 * install-mk (MK_VERSION): 20130726
835 some updates from Juniper and FreeBSD
836 o meta2deps.py: indicate file and line number when we hit parse
838 also allow @file to provide huge list of .meta files.
839 * meta2deps.py: add try_parse() to cleanup the above.
841 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
843 * install-mk (MK_VERSION): 20130716
844 * own.mk: add GPROG as an option
845 * prog.mk: honor MK_GPROF==yes
847 2013-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
849 * install-mk (MK_VERSION): 20130505
850 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
851 for when $MACHINE isn't enough for objdir distinction.
852 Bring meta2deps.sh closer to par with meta2deps.py.
854 2013-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
856 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
857 also if the target 'beforeinstall' exists, make it depend on
858 .dirdep (incase it uses STAGE_INSTALL).
860 2013-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
862 * install-mk (MK_VERSION): 20130401 ;-)
863 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
864 wrapper around install(1).
865 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_
867 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
869 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
870 * install-mk (MK_VERSION): bump version
872 2013-03-21 Simon J. Gerraty <sjg@bad.crufty.net>
874 * install-mk (MK_VERSION): bump version
875 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
876 any trailing /., rather apply :tA only when needed.
877 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
878 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
880 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
882 2013-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
884 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
885 it is simpler to just not update when say building for "host"
886 (where we know we apply filters to DIRDEPS), and using a
887 non-machine qualified dependfile.
889 2013-03-16 Simon J. Gerraty <sjg@bad.crufty.net>
891 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
892 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
893 * gendirdeps.mk: ensure _objroot has trailing / if it needs it.
894 * meta2deps.py: if machine is "host", then also trim
895 self.host_target from any OBJROOTS.
898 2013-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
900 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
901 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
902 but _DEPENDFILE does not, compare the new _DEPENDFILE against
903 .MAKE.DEPENDFILE_DEFAULT and discard if the same.
905 2013-03-08 Simon J. Gerraty <sjg@bad.crufty.net>
907 * meta.stage.mk: use STAGE_TARGETS to control .ORDER
908 and hook to all: via staging:
910 2013-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
912 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
913 use a separate variable for the default .MAKE.DEPENDFILE value
914 so that it can be controlled independently of
915 .MAKE.DEPENDFILE_PREFERENCE
917 * meta.stage.mk: throw error if cp fails etc.
918 Stage*() return early if passed no args.
921 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
923 * install-mk (MK_VERSION): bump version
924 * gendirdeps.mk: handle multiple M2D_OBJROOTS better.
926 2013-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
928 * install-mk (MK_VERSION): bump version to 20130210
929 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
931 o dirdeps.mk now fully supports TARGET_SPEC consisting of more
933 o no longer use DEP_MACHINE from Makefile.depend* so remove it.
935 2013-01-23 Simon J. Gerraty <sjg@bad.crufty.net>
937 * install-mk (MK_VERSION): bump version to 20130123
938 * meta.stage.mk: add stage_links (hard links).
939 if doing hard links, we add dest to link as well.
940 Default the stage dir for [sym]links to STAGE_OBJTOP since
941 these are typically specified as absolute paths.
942 Add -m "mode" flag to StageFiles and StageAs.
944 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
946 * install-mk (MK_VERSION): bump version to 20121111
947 * autoconf.mk: avoid meta mode seeing changed commands for config.status
948 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
949 in case we were found via .../mk
950 * sys.clean-env.mk: move it from examples, we and others use it
952 * FILES: add srctop.mk and options.mk
953 * own.mk: convert to using options.mk
954 which is modeled after FreeBSD's handling of MK_*
956 This allows MK_* for boolean knobs to not be confused
957 with MK* which can be commands.
959 * examples/sys.clean-env.mk: add WITH[OUT]_ to
960 MAKE_ENV_SAVE_PREFIX_LIST.
961 Mention that HOME=/var/empty might be a good idea.
963 2012-11-08 Simon J. Gerraty <sjg@bad.crufty.net>
965 * sys.dependfile.mk: if not depend file exists, $MACHINE
966 specific ones are supported but not the default,
967 check if any exist and follow suit.
969 2012-11-06 Simon J. Gerraty <sjg@bad.crufty.net>
971 * install-mk (MK_VERSION): bump version to 20121106
973 2012-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
975 * import latest dirdeps.mk and meta2deps.py from Juniper.
976 * progs.mk: add MAN and CXXFLAGS to PROG_VARS
977 also add PROGS_TARGETS and pass on PROG_CXX if it seems
980 2012-11-04 Simon J. Gerraty <sjg@bad.crufty.net>
982 * meta.stage.mk: update CLEANFILES
983 remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
984 * progs.mk: Add LDADD to PROG_VARS
986 2012-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
988 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
989 _STAGED_DIRS so that these can be turned into filters for
992 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
994 * install-mk (MK_VERSION): bump version to 20121010
995 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
996 target.dirdep matches .dirdep
998 2012-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1000 * install-mk (MK_VERSION): bump version to 20120808
1001 * import latest meta2deps.py from Juniper.
1003 2012-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
1005 * install-mk (MK_VERSION): bump version to 20120711
1006 * dep.mk: add explicit dependencies on SRCS after applying
1008 * meta.autodep.mk: add explicit dependencies on SRCS after
1009 applying SRCS_DEP_FILTER
1010 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
1012 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
1014 * install-mk (MK_VERSION): bump version to 20120626
1015 * meta.sys.mk: ignore PYTHON if it does not exist
1016 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
1017 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
1018 entries ending in .${MACHINE} to decide if qualified _dirdep is
1020 * gendirdeps.mk: only produce unqualified deps if no
1021 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
1022 * meta.subdir.mk: apply SUBDIRDEPS_FILTER
1024 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1026 * install-mk (MK_VERSION): bump version to 20120420
1027 * add sys.dependfile.mk so we can experiment with
1028 .MAKE.DEPENDFILE_PREFERENCE
1029 * meta.autodep.mk: _DEPENDFILE is precious!
1031 2012-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
1033 * install-mk (MK_VERSION): bump version to 20120315
1034 * install-new.mk: avoid being interrupted
1036 2012-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
1038 * man.mk: MAN might have multiple values so be careful with exists().
1040 2012-01-19 Simon J. Gerraty <sjg@bad.crufty.net>
1042 * install-mk (MK_VERSION): bump version to 20120112
1043 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
1044 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
1046 2011-12-03 Simon J. Gerraty <sjg@bad.crufty.net>
1048 * install-mk (MK_VERSION): bump version to 20111201
1049 * import dirdeps.mk from Juniper sjg@
1050 o more consistent handling of DEP_MACHINE, especially when
1051 dealing with an odd Makefile.depend, when normally using
1052 Makefile.depend.${MACHINE}
1054 2011-11-22 Simon J. Gerraty <sjg@bad.crufty.net>
1056 * install-mk (MK_VERSION): bump version to 20111122
1057 * meta.autodep.mk: add some debug output, be more crisp about
1058 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend
1060 2011-11-13 Simon J. Gerraty <sjg@bad.crufty.net>
1062 * install-mk (MK_VERSION): bump version to 20111111
1063 it's too cool to miss
1064 * import meta* updates from Juniper sjg@
1065 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
1066 normally using Makefile.depend.${MACHINE}), handy for
1067 read-only manually maintained dependencies.
1068 o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
1069 o gendirdeps.mk if ERROR: from meta2deps.py do not update
1072 2011-10-30 Simon J. Gerraty <sjg@bad.crufty.net>
1074 * install-new.mk separate the cmp and copy logic to its own function.
1076 2011-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
1078 * install-mk (MK_VERSION): bump version to 20111028
1079 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
1080 * subdir.mk: ensure _SUBDIRUSE is provided
1081 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
1082 * meta.subdir.mk: always allow for Makefile.depend
1084 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1086 * install-mk (MK_VERSION): bump version to 20111010
1087 o minor tweak to *dirdeps.mk from Juniper sjg@
1089 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
1091 * install-mk (MK_VERSION): bump version to 20111001
1092 o add meta2deps.py from Juniper sjg@
1093 o tweak gendirdeps.mk to work with meta2deps.py when not
1095 * autoconf.mk: add autoconf-input as a hook for regenerating
1096 AUTOCONF_INPUTS (configure).
1098 2011-08-24 Simon J. Gerraty <sjg@bad.crufty.net>
1100 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
1101 trigger for updating Makefile.depend*
1103 2011-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1105 * install-mk (MK_VERSION): bump version to 20110808
1106 * obj.mk: minor cleanup
1107 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
1109 2011-08-01 Simon J. Gerraty <sjg@bad.crufty.net>
1111 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the
1114 2011-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
1116 * meta.autodep.mk: if XMAKE_META_FILE is set
1117 the makefile uses a foreign make, and so dependencies
1118 can only be gathered from a clean tree build.
1120 2011-06-24 Simon J. Gerraty <sjg@bad.crufty.net>
1122 * install-mk (MK_VERSION): bump version to 20110622
1123 * meta.autodep.mk: improve bootstraping
1125 2011-06-10 Simon J. Gerraty <sjg@bad.crufty.net>
1127 * yacc.mk: handle the corner case of .c being removed
1130 2011-06-08 Simon J. Gerraty <sjg@bad.crufty.net>
1132 * yacc.mk: do .y.h and .y.c separately
1134 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1136 * install-mk (MK_VERSION): bump version to 20110606
1137 * don't store SRC_DIRDEPS in Makefile.depend* by default
1138 not everyone needs it.
1140 2011-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
1142 * install-mk (MK_VERSION): bump version to 20110505
1143 first release including meta mode makefiles
1145 2011-05-02 Simon J. Gerraty <sjg@bad.crufty.net>
1147 * meta.stage.mk: add STAGE_AS_SETS and stage_as
1148 for things that need to be staged with different names.
1150 2011-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
1152 * meta.stage.mk: add notion of STAGE_SETS
1153 so a makefile can stage to multiple dirs
1155 2011-04-03 Simon J. Gerraty <sjg@bad.crufty.net>
1157 * rst2htm.mk: convert rst to s5 (slides) or plain html depending
1160 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1162 * install-mk (MK_VERSION): bump version to 20110330
1164 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
1166 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
1167 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
1168 * sys.mk: re-define M_whence in terms of M_type.
1169 M_type is useful for checking if something is a builtin.
1171 2011-03-16 Simon J. Gerraty <sjg@bad.crufty.net>
1173 * meta.stage.mk: add stage_symlinks and leverage StageLinks for
1176 2011-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
1178 * dirdeps.mk: correct value for _depdir_files depends on
1180 Add our copyright - just to make it clear we have frobbed this
1182 DEP_MACHINE needs to be set to MACHINE each time, if using only
1183 Makefile.depend (cf. Makefile.depend.${MACHINE})
1185 * meta.stage.mk: meta mode version of staging
1187 * init.mk, final.mk: include local.*.mk to simplify customization
1189 2011-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
1191 * auto.obj.mk: just because we are doing mk destroy, we should
1192 still set .OBJDIR correctly if it exists.
1194 * install-mk (mksrc): do not exclude meta.sys.mk
1196 2011-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
1198 * host-target.mk: set/export _HOST_ARCH etc separately,
1199 catch junk resulting from uname -p, so we can find sys/Linux.mk
1202 2011-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
1204 * meta.sys.mk: throw an error if /dev/filemon is missing and we
1205 expected to be updating Makefile.depend*
1207 2011-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
1209 * install-mk (MK_VERSION): bump version to 20110214
1210 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
1212 2010-09-25 Simon J. Gerraty <sjg@bad.crufty.net>
1214 * meta.sys.mk: not valid for older bmake
1216 2010-09-24 Simon J. Gerraty <sjg@bad.crufty.net>
1218 * install-mk (MK_VERSION): bump version to 20100919
1219 include dirdeps.mk et al from Juniper Networks,
1220 for meta mode - requires filemon(9).
1221 * sys.mk, subdir.mk: Add hooks for meta mode.
1222 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
1223 to make turning it on/off simple.
1225 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
1227 * install-mk (MK_VERSION): bump version to 20100616
1228 * fix typo in sys.mk
1230 2010-06-12 Simon J. Gerraty <sjg@bad.crufty.net>
1232 * install-mk (MK_VERSION): bump version to 20100612
1233 * lib.mk: remove duplicate addition to SOBJS
1235 2010-06-10 Simon J. Gerraty <sjg@bad.crufty.net>
1237 * sys.mk: Add a means of selectively turning on debug flags.
1238 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
1239 will act as if we did make -dv if .CURDIR ends in lib/sjg
1240 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
1241 the start of sys.mk rather than the end.
1242 This only makes sense for leaf dirs, so we check that
1245 2010-06-09 Simon J. Gerraty <sjg@bad.crufty.net>
1247 * install-mk (MK_VERSION): bump version to 20100608
1248 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
1249 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
1250 also make it easier for folk to tweak
1252 2010-06-08 Simon J. Gerraty <sjg@bad.crufty.net>
1254 * install-mk (MK_VERSION): bump version to 20100606
1255 do not install examples/*
1256 * FILES: add examples/sys.clean-env.mk
1257 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
1258 this requires bmake-20100606 or later to work.
1260 2010-05-13 Simon J. Gerraty <sjg@bad.crufty.net>
1262 * sys.mk (M_tA): better simulate the result of :tA if not available.
1264 2010-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
1266 * sys.mk: canonicalize MAKE_VERSION
1267 old versions reported bmake-<src-date> build-<build-date>
1268 whereas we only care about <src-date>
1270 2010-04-25 Simon J. Gerraty <sjg@bad.crufty.net>
1272 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
1273 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION
1276 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
1278 * dpadd.mk: use LDADD_* if defined.
1280 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
1282 * install-mk (MK_VERSION): bump version to 20100420
1283 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
1284 * autoconf.mk allow AUTO_AUTOCONF
1286 2010-04-19 Simon J. Gerraty <sjg@bad.crufty.net>
1288 * obj.mk: add objwarn to keep freebsd makefiles happy
1289 * auto.obj.mk: ensure Mkdirs is available.
1290 * FILES: add auto.dep.mk - a simpler version of autodep.mk
1291 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
1293 fix/simplify the tests for when to run mkdep.
1294 * auto.dep.mk: add some explanation of how/what we do.
1295 * autodep.mk: skip the .OPTIONAL frobbing of .depend
1296 bmake's FROM_DEPEND flag makes it redundant.
1298 2010-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
1300 * install-mk (MK_VERSION): bump version to 20100404
1301 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
1302 * obj.mk: protect from multiple inclusion even as bsd.obj.mk
1303 Also create a target _SUBDIRUSE so that we can be used without
1306 2010-04-12 Simon J. Gerraty <sjg@bad.crufty.net>
1308 * dep.mk: use <> when .including so can override.
1310 2010-01-11 Simon J. Gerraty <sjg@bad.crufty.net>
1312 * lib.mk (SHLIB_LINKS): ensure a string comparison.
1314 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1316 * install-mk (MK_VERSION): bump version to 20100102
1317 * own.mk: ensure PRINTOBJDIR works
1318 * autoconf.mk: pass on CONFIGURE_ARGS
1319 * init.mk: handle COPTS.${.IMPSRC:T} etc.
1320 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION
1321 fix handling of symlinks for darwin
1322 * libnames.mk: add DSHLIBEXT for libs which only exist as shared.
1323 * man.mk: suppress chown when not root.
1324 * rst2htm.mk: allow srcs from multiple locations.
1325 * sys.mk: M_whence, stop after 1st line of output.
1326 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
1327 * sys/SunOS.mk: we need to export PATH
1329 2009-12-23 Simon J. Gerraty <sjg@void.crufty.net>
1331 * install-mk (MK_VERSION): bump version
1334 2009-12-17 Simon J. Gerraty <sjg@void.crufty.net>
1336 * sys.mk,libnames.mk add .-include <local.*>
1337 this allows local customization without the need to edit the
1340 2009-12-14 Simon J. Gerraty <sjg@void.crufty.net>
1342 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
1343 older versions already installed.
1345 2009-12-13 Simon J. Gerraty <sjg@void.crufty.net>
1347 * stage.mk (.stage-install): generalize lib.mk's .libinstall
1348 * rules.mk rules for generic Makefile.
1349 * inc.mk install for includes.
1351 2009-12-11 Simon J. Gerraty <sjg@void.crufty.net>
1353 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
1354 this, so provide it if using native make.
1356 2009-12-10 Simon J. Gerraty <sjg@void.crufty.net>
1358 * FILES: move all the platform *.sys.mk files to sys/*.mk
1359 * Rename Generic.sys.mk to sys.mk - we always want it.
1361 2009-11-17 Simon J. Gerraty <sjg@void.crufty.net>
1363 * install-mk (MK_VERSION): bump version
1364 * host-target.mk: only export the expensive stuff
1365 * Generic.sys.mk (sys_mk): for SunOS we need to look for
1366 ${HOST_OS}.${HOST_OSMAJOR} too!
1368 2009-11-07 Simon J. Gerraty <sjg@void.crufty.net>
1370 * install-mk (MK_VERSION): bump version
1371 * lib.mk: if sys.mk doesn't give us an lorder, don't use it.
1372 based on patch from Greg Olszewski.
1373 * Generic.sys.mk: if we have nothing to work with
1374 set LORDER etc only if we can find it.
1376 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1378 * install-mk (MK_VERSION): bump version
1379 * man.mk: cleanman: remove CLEANMAN if defined.
1381 2009-09-04 Simon J. Gerraty <sjg@void.crufty.net>
1383 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
1385 2009-07-17 Simon J. Gerraty <sjg@void.crufty.net>
1387 * install-mk (MK_VERSION): bump version
1391 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1393 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
1395 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1397 * install-mk (MK_VERSION): bump version
1398 man.mk: ensure we generate *.cat1 etc in .
1400 2008-07-16 Simon J. Gerraty <sjg@void.crufty.net>
1402 * install-mk (MK_VERSION): bump version
1405 2007-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1407 * Generic.sys.mk: Allow os specific sys.mk to be in a
1408 subdir of ${.PARSEDIR}
1410 2007-11-22 Simon J. Gerraty <sjg@void.crufty.net>
1412 * install-mk (MK_VERSION): bump version
1414 * dpadd.mk introduce DPMAGIC_LIBS_*
1416 2007-04-30 Simon J. Gerraty <sjg@void.crufty.net>
1418 * install-mk (MK_VERSION): bump version
1420 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog
1421 depend files and ensure clean is called for each lib/prog.
1423 2007-03-27 Simon J. Gerraty <sjg@void.crufty.net>
1425 * autodep.mk (.depend): delete lines that do not start with
1426 space and do not contain ':'
1428 2007-02-16 Simon J. Gerraty <sjg@void.crufty.net>
1430 * autodep.mk (.depend): gcc may wrap lines if pathnames are long
1431 so make sure the transform for .OPTIONAL copes.
1433 2007-02-03 Simon J. Gerraty <sjg@void.crufty.net>
1435 * install-mk (MK_VERSION): bump version
1437 * own.mk: make sure RM and LN are defined.
1439 * obj.mk: fix a typo, and objlink target.
1441 2006-12-30 Simon J. Gerraty <sjg@void.crufty.net>
1443 * install-mk (MK_VERSION): bump version
1444 * added libs.mk - analogous to progs.mk
1445 make both of them always inlcude {lib,prog}.mk
1447 2006-12-28 Simon J. Gerraty <sjg@void.crufty.net>
1449 * progs.mk: add a means of building multiple apps in one dir.
1451 2006-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1453 * install-mk (MK_VERSION): bump version to 20061126
1455 * warnings.mk: detect invalid WARNINGS_SET
1457 * warnings.mk: use ${.TARGET:T:R}.o when looking for target
1460 * For .cc sources, turn off warnings that g++ vomits on.
1462 2006-11-08 Simon J. Gerraty <sjg@void.crufty.net>
1464 * own.mk: if __initialized__ target doesn't exist and we are
1465 FreeBSD we got here directly from sys.mk
1467 2006-11-06 Simon J. Gerraty <sjg@void.crufty.net>
1469 * install-mk (MK_VERSION): bump version to 20061106
1472 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1474 * install-mk (MK_VERSION): bump version to 20060318
1476 * autodep.mk: avoid := when modifying OBJS into __dependsrcs
1478 2006-03-02 Simon J. Gerraty <sjg@void.crufty.net>
1480 * install-mk (MK_VERSION): bump version to 20060302
1481 * autodep.mk: use -MF et al to help gcc+ccache DTRT.
1483 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1485 * install-mk (MK_VERSION): bump version to 20060301
1486 * autodep.mk (.depend):
1487 if MAKE_VERSION is newer than 20050530 we can make .END depend on
1488 .depend and make .depend depend on __depsrcs that exist.
1489 * dpadd.mk: add SRC_PATHADD
1491 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1493 * install-mk (MK_VERSION): bump version to 20051104
1494 * prog.mk: remove all the LIBC?= junk, use
1495 .-include libnames.mk instead (none by default).
1496 also if USE_DPADD_MK is set, include that.
1498 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1500 * install-mk (MK_VERSION): bump version to 20051001
1501 Add UnixWare.sys.mk from Klaus Heinz.
1503 2005-04-05 Simon J. Gerraty <sjg@void.crufty.net>
1505 * install-mk: always install *.sys.mk and if need be symlink one
1508 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1510 * subdir.mk, own.mk: use .MAKE rather than MAKE
1512 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1514 * own.mk: don't use NetBSD's _SRC_TOP_ it can
1515 cause confusion. Also don't take just 'mk' as a
1518 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1520 * warnings.mk: overhauled, now very powerful.
1522 2004-02-03 Simon J. Gerraty <sjg@void.crufty.net>
1524 * Generic.sys.mk: need to use ${.PARSEDIR} with exists().
1526 2004-02-01 Simon J. Gerraty <sjg@void.crufty.net>
1528 * install-mk (MK_VERSION): bump version to 20040201
1529 * extract HOST_TARGET stuff to host-target.mk so own.mk and
1530 Generic.sys.mk can share.
1531 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
1533 2003-09-30 Simon J. Gerraty <sjg@void.crufty.net>
1535 * install-mk (MK_VERSION): 20030930
1536 * rename generic.sys.mk to Generic.sys.mk
1537 so that it does not get installed (unless being used as sys.mk)
1538 * set OS and ROOT_GROUP for those that we know the value.
1539 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
1540 we don't do it again for each sub-make.
1542 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1544 * install-mk (MK_VERSION): 20030928
1545 Add some extra *.sys.mk from bootstrap-pkgsrc
1546 some of these likely still need work.
1547 Make everything default to root:wheel ownership,
1548 sys.mk can set ROOT_GROUP accordingly.
1550 2003-08-07 Simon J. Gerraty <sjg@void.crufty.net>
1552 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
1553 not the portable ones.
1555 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1557 * install-mk: add ability to use cp -f when updating
1558 destination .mk files. Also now possible to play games with
1559 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
1560 into dest - not recommended unless you seriously want to.
1562 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1564 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
1565 for semi-compatability with NetBSD.
1567 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1569 * install-mk: add a version indicator
1571 2003-07-22 Simon J. Gerraty <sjg@void.crufty.net>
1573 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null
1575 * install-mk: Allow FORCE_SYS_MK to come from env