1 2020-06-28 Simon J Gerraty <sjg@beast.crufty.net>
3 * sys/*.mk: make it easier for local*sys.mk to customize by
6 2020-06-22 Simon J Gerraty <sjg@beast.crufty.net>
8 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
9 it is much safer to guard local depends with a simple check for
12 2020-06-10 Simon J Gerraty <sjg@beast.crufty.net>
14 * install-mk (MK_VERSION): 20200610
16 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok
18 2020-06-06 Simon J Gerraty <sjg@beast.crufty.net>
20 * install-mk (MK_VERSION): 20200606
22 * dirdeps-targets.mk: allow for filtering of .TARGETS
24 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove
25 entries - and we don't care about 'W'rite entries.
26 Also ignore absolute paths that do not exist.
28 2020-05-25 Simon J Gerraty <sjg@beast.crufty.net>
30 * install-mk (MK_VERSION): 20200525
32 * init.mk: expand and simplify handling of qualified vars
33 like CPPFLAGS.${.TARGET:T}
35 2020-05-15 Simon J Gerraty <sjg@beast.crufty.net>
37 * install-mk (MK_VERSION): 20200515
39 * dirdeps.mk: set _debug_* earlier and allow passing -d*
40 flags to submake when building DIRDEPS_CACHE
42 2020-05-09 Simon J Gerraty <sjg@beast.crufty.net>
44 * whats.mk: more easily extensible
46 2020-05-02 Simon J Gerraty <sjg@beast.crufty.net>
48 * whats.mk: greatly simplify by adding what.c to SRCS
50 2020-05-01 Simon J Gerraty <sjg@beast.crufty.net>
52 * whats.mk: for libs take care how we add to *OBJS
54 * lib.mk: : works better with whats.mk
56 2020-04-25 Simon J Gerraty <sjg@beast.crufty.net>
58 * install-mk (MK_VERSION): 20200420
60 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
61 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
63 2020-04-16 Simon J Gerraty <sjg@beast.crufty.net>
65 * install-mk (MK_VERSION): 20200416
67 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
68 interfere with user env.
70 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
72 * autodep.mk: use MAKE_SHELL.
74 2019-11-21 Simon J Gerraty <sjg@beast.crufty.net>
76 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of
77 wasted effort, and unexport _meta_files when no longer needed as
78 it consumes space we need for command line.
80 2019-11-11 Simon J Gerraty <sjg@beast.crufty.net>
82 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
83 DIRDEP_USE_PRELUDE at start - facilitates job distribution
85 2019-10-04 Simon J Gerraty <sjg@beast.crufty.net>
87 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
88 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
89 TARGET_SPEC qualified depend files.
91 2019-10-02 Simon J Gerraty <sjg@beast.crufty.net>
93 * dirdeps-targets.mk: encapsulate logic for finding top-level
94 targets to set initial DIRDEPS for DIRDEPS_BUILD
96 2019-09-27 Simon J Gerraty <sjg@beast.crufty.net>
98 * install-mk (MK_VERSION): 20190911
100 * compiler.mk: set COMPILER_TYPE
102 2019-07-17 Simon J Gerraty <sjg@beast.crufty.net>
104 * install-mk (MK_VERSION): 20190704
106 * sys/Darwin.mk: support for Objective-C and clang
108 2019-05-30 Simon J Gerraty <sjg@beast.crufty.net>
110 * dirdeps.mk: avoid insanely long command line when generating cache
112 2019-05-23 Simon J Gerraty <sjg@beast.crufty.net>
114 * install-mk (MK_VERSION): 20190505
116 * whats.mk: handle corner case SHLIB defined but not LIB
118 2018-09-19 Simon J Gerraty <sjg@beast.crufty.net>
120 * install-mk (MK_VERSION): 20180919
122 * dirdeps-options.mk: .undef cannot handle var that expands to
125 2018-07-08 Simon J Gerraty <sjg@beast.crufty.net>
127 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
129 2018-06-01 Simon J Gerraty <sjg@beast.crufty.net>
131 * meta.autodep.mk: export META_FILES to avoid command line limit
132 * gendirdeps.mk: if we have lots of .meta files put them in
135 2018-05-28 Simon J Gerraty <sjg@beast.crufty.net>
137 * dirdeps-options.mk: use local.dirdeps-options.mk
138 not local.dirdeps-option.mk
140 2018-04-20 Simon J Gerraty <sjg@beast.crufty.net>
142 * install-mk (MK_VERSION): 20180420
143 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
144 ie. we are building something.
146 2018-04-14 Simon J Gerraty <sjg@beast.crufty.net>
148 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
150 2018-04-05 Simon J Gerraty <sjg@beast.crufty.net>
152 * install-mk (MK_VERSION): 20180405
154 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
157 2018-01-18 Simon J Gerraty <sjg@beast.crufty.net>
159 * install-mk (MK_VERSION): 20180118
161 * ldorder.mk: let make compute correct link order
163 2017-12-12 Simon J Gerraty <sjg@beast.crufty.net>
165 * install-mk (MK_VERSION): 20171212
167 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
169 2017-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
171 * install-mk (MK_VERSION): 20171111
173 * lib.mk: ensure META_NOECHO is set
175 2017-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
177 * Allow for host32 on rare occasions.
179 2017-10-18 Simon J. Gerraty <sjg@bad.crufty.net>
181 * install-mk (MK_VERSION): 20171018
183 * whats.mk: include what_thing in what_uuid to avoid problem
184 when building multiple apps in the same directory.
186 2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
188 * install-mk (MK_VERSION): 20170812
190 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can
191 add dependencies for config.recheck and config.gen
193 2017-06-30 Simon J. Gerraty <sjg@bad.crufty.net>
195 * install-mk (MK_VERSION): 20170630
197 * meta.stage.mk: avoid triggering stage_* targets with nothing to do.
199 2017-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
201 * meta2deps.py: take special care of '..'
203 2017-05-15 Simon J. Gerraty <sjg@bad.crufty.net>
205 * install-mk (MK_VERSION): 20170515
207 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
208 useful/necessary for a Makefile.depend file to export some knobs.
209 This is complicated when we are doing DIRDEPS_CACHE, so we will
210 handle export of any variables listed in DEP_EXPORT_VARS.
212 2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net>
214 * install-mk (MK_VERSION): 20170505
216 * meta2deps.py: fix botched indenation.
218 2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
220 * sys/*.mk: Remove setting of MAKE it is unnecessary and
221 in many cases wrong (basname rather than full path)
223 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
225 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
227 2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
229 * install-mk (MK_VERSION): 20170501
231 * doc.mk: fix typo in DOC_INSTALL_OWN
233 * inc.mk: handle INCGROUPS similar to freebsd
235 * files.mk: add something for files too
237 * add staging logic to lib.mk prog.mk etc.
239 2017-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
241 * install-mk (MK_VERSION): 20170424
243 * dirdeps.mk: set NO_DIRDEPS when bootstrapping.
244 also target of bootstrap-this when sed is needed should be ${_want:T}
246 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
248 * install-mk (MK_VERSION): 20170418
250 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
251 prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
253 2017-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
255 * install-mk (MK_VERSION): 20170401
257 * meta2deps.py: add is_src so we can check if obj dependency
258 is also a src dependency.
260 2017-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
262 * install-mk (MK_VERSION): 20170326
264 * meta.stage.mk: do nothing if NO_STAGING is defined.
266 2017-03-24 Simon J. Gerraty <sjg@bad.crufty.net>
268 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
270 2017-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
272 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
274 2017-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
276 * install-mk (MK_VERSION): 20170301
278 * dirdeps.mk (_build_all_dirs): update this outside test for empty
281 * meta.stage.mk: allow multiple inclusion to the extent it makes
284 2017-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
286 * prog.mk (install_links): depends on realinstall
288 2017-02-12 Simon J. Gerraty <sjg@bad.crufty.net>
290 * install-mk (MK_VERSION): 20170212
292 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries
294 2017-01-30 Simon J. Gerraty <sjg@bad.crufty.net>
296 * install-mk (MK_VERSION): 20170130
298 * dirdeps.mk: use :range if we can.
300 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
302 * meta2deps.py: clean paths without using realpath() where possible.
305 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
307 * install-mk (MK_VERSION): 20161212
309 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
310 rather than when we detect pid change.
312 2016-12-07 Simon J. Gerraty <sjg@bad.crufty.net>
314 * install-mk (MK_VERSION): 20161207
316 * meta.stage.mk: add stage_as_and_symlink for staging packages.
317 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
318 to use foo.tgz to reference the latest staged version - so we
319 make foo.tgz a symlink to it.
320 Using a target to do both operations ensures we stay in sync.
322 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
324 * install-mk (MK_VERSION): 20161126
326 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
327 so it can add dependencies.
329 2016-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
331 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
332 do that they can influence the result correctly.
334 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
336 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
337 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
339 2016-10-05 Simon J. Gerraty <sjg@bad.crufty.net>
341 * dirdeps.mk: remove dependence on jot (normal situations anyway).
342 Before we read another Makefile.depend* set DEP_* vars from
343 _DEP_TARGET_SPEC in case it uses any of them with :=
344 When bootstrapping, trim any ,* from extention of chosen _src
345 Makefile.depend* to get the machine value we subst for.
347 2016-09-30 Simon J. Gerraty <sjg@bad.crufty.net>
349 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
350 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
352 * sys.mk: extract some bits to sys.{debug,vars}.mk
353 for easier re-use by others.
355 2016-09-23 Simon Gerraty <sjg@sjg-mba13>
357 * lib.mk: Use ${PICO} for extension for PIC objects.
358 default to .pico (like NetBSD) safe on case insensitive filesystem.
360 2016-08-19 Simon J. Gerraty <sjg@bad.crufty.net>
362 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
364 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
366 * install-mk (MK_VERSION): 20160815
368 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
369 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
371 2016-08-13 Simon J. Gerraty <sjg@bad.crufty.net>
373 * meta.sys.mk (.MAKE.META.IGNORE_PATHS):
374 in meta mode we can ignore the mtime of makefiles
376 2016-08-02 Simon J. Gerraty <sjg@bad.crufty.net>
378 * install-mk (MK_VERSION): 20160802
380 * lib.mk (libinstall): depends on beforinstall
382 * prog.mk (proginstall): depends on beforinstall
383 patch from Lauri Tirkkonen
385 * dirdeps.mk (bootstrap): When bootstrapping; creat
386 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
387 .MAKE.DEPENDFILE_BOOTSTRAP_SED
389 * dirdeps.mk: move some comments to where they make sense.
391 2016-07-27 Simon J. Gerraty <sjg@bad.crufty.net>
393 * dirdeps.mk (DIRDEPS_CACHE): no dirname.
395 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
397 * install-mk (MK_VERSION): 20160602
398 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk
399 do not apply :T to META_XTRAS
400 patch from Bryan Drewery at FreeBSD.org.
402 2016-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
404 * install-mk (MK_VERSION): 20160530
405 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
408 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
410 * install-mk (MK_VERSION): 20160512
412 * dpadd.mk: always include local.dpadd.mk if it exists
413 remove some things that better belong in local.dpadd.mk
414 skip INCLUDES_* for staged libs unless SRC_* defined.
416 * own.mk: add INCLUDEDIR
418 2016-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
420 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no
421 TARGET_MACHINE - :E will be empty or match part of path, use
424 2016-04-07 Simon J. Gerraty <sjg@bad.crufty.net>
426 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
429 * dirdeps.mk: move the logic that allows for
430 make -f dirdeps.mk some/dir.${TARGET_SPEC}
431 inside the check for !target(_DIRDEP_USE)
433 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
435 * Use <> when including local*.mk and others which may exist
436 elsewhere so that user can better control what they get.
438 * meta.autodep.mk (NO_FILEMON_COOKIE):
439 create a cookie if we ever build dir with nofilemon
440 so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
442 2016-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
444 * install-mk (MK_VERSION): 20160401
446 * meta2deps.py: fix old print statement when debugging.
448 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
449 patch from Bryan Drewery
451 2016-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
453 * install-mk (MK_VERSION): 20160317 (St. Pats)
455 * warnings.mk: g++ does not like -Wimplicit
457 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
458 pelthora of common suffixes for C++
460 * lib.mk: use .So for shared objects
462 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
464 * install-mk (MK_VERSION): 20160315
466 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
467 normally only applies to scripts.
469 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
472 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
474 * install-mk (MK_VERSION): 20160310
476 * dirdeps.mk: use targets rather than a list to track DIRDEPS that
477 we have processed; the list gets very inefficient as number of
480 * sys.dependfile.mk: fix comment wrt MACHINE
482 * meta.autodep.mk: ignore staged DPADDs when bootstrapping.
483 patch from Bryan Drewery
485 2016-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
487 * meta2deps.sh: don't ignore subdirs.
488 patch from Bryan Drewery
490 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
492 * install-mk (MK_VERSION): 20160226
494 * gendirdeps.mk: mark _DEPENDFILE .NOMETA
496 2016-02-20 Simon J. Gerraty <sjg@bad.crufty.net>
498 * dirdeps.mk: we shouldn't normally include .depend but if we do
499 use .dinclude if we can.
501 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
503 * install-mk (MK_VERSION): 20160218
504 * sys.clean-env.mk: with recent change to Var_Subst()
505 we cannot use the '$$' trick, but .export-literal does the job
507 * auto.dep.mk: make use .dinclude if we can.
510 2016-02-05 Simon J. Gerraty <sjg@bad.crufty.net>
513 Add _build_all_dirs such that local.dirdeps.mk can
514 add fully qualified dirs to it.
515 These will be built normally but the current
516 DEP_RELDIR will not depend on then (to avoid cycles).
517 This makes it easy to hook things like unit-tests into build.
520 2016-01-21 Simon J. Gerraty <sjg@bad.crufty.net>
522 * dirdeps.mk: add bootstrap-empty
524 2015-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
526 * install-mk (MK_VERSION): 20151212
527 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
528 only apply :tA to __objdir when comparing to .OBJDIR
530 2015-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
532 * install-mk (MK_VERSION): 20151111
534 * meta.sys.mk: include sys.dependfile.mk
536 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk
537 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
538 include local.sys.env.mk early
539 include local.sys.mk later
541 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
543 2015-11-13 Simon J. Gerraty <sjg@bad.crufty.net>
545 * meta.sys.mk (META_COOKIE_TOUCH):
546 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
548 * meta.stage.mk: stage_libs should ignore SYMLINKS.
550 2015-10-23 Simon J. Gerraty <sjg@bad.crufty.net>
552 * install-mk (MK_VERSION): 20151022
554 * sys.mk: BSD/OS does not have 'type' as a shell builtin.
556 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
558 * install-mk (MK_VERSION): 20151020
560 * dirdeps.mk: Add logic for
561 make -f dirdeps.mk some/dir.${TARGET_SPEC}
563 2015-10-14 Simon J. Gerraty <sjg@bad.crufty.net>
565 * install-mk (MK_VERSION): 20151010
567 2015-10-02 Simon J. Gerraty <sjg@bad.crufty.net>
569 * meta.stage.mk: use staging: ${STAGE_TARGETS:...
570 to have stage_lins run last in non-jobs mode.
571 Use .ORDER only for jobs mode.
573 2015-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
575 * rst2htm.mk: allow for per target flags etc.
577 2015-09-01 Simon J. Gerraty <sjg@bad.crufty.net>
579 * install-mk (MK_VERSION): 20150901
581 * doc.mk: create dir if needed use DOC_INSTALL_OWN
583 2015-06-15 Simon J. Gerraty <sjg@bad.crufty.net>
585 * install-mk (MK_VERSION): 20150615
587 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
588 Follow make's normal precedence rules.
590 * gendirdeps.mk: allow customization of the header.
592 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
594 * meta.autodep.mk: ignore dirdeps.cache*
596 * meta.stage.mk: when bootstrapping options it can be handy to
597 throw warnings rather than errors for staging conflicts.
599 * meta.sys.mk: include local.meta.sys.mk for customization
601 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
603 * install-mk (MK_VERSION): 20150606
605 * dirdeps.mk: don't rely on manually maintained Makefile.depend
606 to set DEP_RELDIR and reset DIRDEPS.
607 By setting DEP_RELDIR ourselves we can skip :tA
609 * gendirdeps.mk: skip setting DEP_RELDIR.
611 2015-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
613 * dirdeps.mk: avoid wildcards like make(bootstrap*)
615 2015-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
617 * install-mk (MK_VERSION): 20150520
619 * dirdeps.mk: when we are building dirdeps cache file we *want*
620 meta_oodate to look at all the Makefile.depend files, so
621 set .MAKE.DEPENDFILE to something that won't match.
623 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique
624 so first use absolute path as key.
625 Also skip staging at level 0.
627 2015-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
629 * install-mk (MK_VERSION): 20150430
631 * dirdeps.mk: fix _count_dirdeps for non-cache case.
633 2015-04-16 Simon J. Gerraty <sjg@bad.crufty.net>
635 * install-mk (MK_VERSION): 20150411
638 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
639 it is here mainly for documentation purposes, since
640 if using auto.obj.mk it is better done via sys.mk
642 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
644 * install-mk (MK_VERSION): 20150401
646 * meta2deps.sh: support @list
648 * meta2deps.py: updates from Juniper
650 o skip bogus input files.
651 o treat 'M' and 'L' as both an 'R' and a 'W'
653 2015-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
655 * install-mk (MK_VERSION): 20150303
657 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
658 which is built via sub-make so we have a .meta file to tell if
660 The dirdeps-cache contains the same dependency rules that we
661 normaly construct on the fly.
662 This adds a few seconds overhead when the cache is out of date,
663 but for a large target, the savings can be significant (10-20min).
665 2014-11-18 Simon J. Gerraty <sjg@bad.crufty.net>
667 * install-mk (MK_VERSION): 20141118
669 * meta.stage.mk: add stale_staged
671 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
672 only useful under very rare conditions such as
673 FreeBSD's make universe.
675 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
677 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
679 * install-mk (MK_VERSION): 20141111
681 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
683 2014-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
685 * FILES: include mkopt.sh which allows handling options in shell
686 scripts in a manner compatible with options.mk
688 2014-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
690 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
691 for GENDIRDEPS_FILTER to avoid surprises.
693 2014-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
695 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
696 the time it is applied to __depdirs they have.
698 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
699 expects patterns like *.${MACHINE}
701 * cython.mk (pyprefix?): use pyprefix to find python bits
702 since prefix might be something else (where we install our
705 2014-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
707 * install-mk (MK_VERSION): 20140911
709 * dirdeps.mk: add bootstrap target to simplify adding support for
712 2014-09-01 Simon J. Gerraty <sjg@bad.crufty.net>
714 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
715 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
716 Makefile.depend files.
718 2014-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
720 * install-mk (MK_VERSION): 20140828
722 * cython.mk: capture logic for building python extension modules
725 2014-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
727 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
729 2014-08-02 Simon J. Gerraty <sjg@bad.crufty.net>
731 * install-mk (MK_VERSION): 20140801
733 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
734 identify the autodep.mk variant.
736 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
737 initial value does not match .MAKE.DEPENDFILE_PREFIX
739 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
741 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
743 * install-mk (MK_VERSION): 20140522
745 * lib.mk: use CC to link shlib for linux too
746 patch from Brendan MacDonell
748 2014-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
750 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
751 if WITH_META_STATS is defined.
753 2014-05-02 Simon J. Gerraty <sjg@bad.crufty.net>
755 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
756 to supress dirdeps outside of .CURDIR.
758 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
760 * Fix spelling errors - patch from Pedro Giffuni
762 2014-03-14 Simon J. Gerraty <sjg@bad.crufty.net>
764 * install-mk (MK_VERSION): 20140314
766 * dirdeps.mk (beforedirdeps): a handy hook
768 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
769 to visit leaf dirs to be intercepted (eg. for distributed
772 * dirdeps.mk (__depdirs): ensure // don't sneak in
774 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in
777 2014-02-21 Simon J. Gerraty <sjg@bad.crufty.net>
779 * rst2htm.mk (RST2PDF): add support for rst2pdf
781 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
783 * install-mk (MK_VERSION): bump version
784 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
787 2014-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
789 * options.mk: avoid :U so this isn't bmake dependent
791 2014-02-09 Simon J. Gerraty <sjg@bad.crufty.net>
793 * options.mk: cleanup and simplify semanitcs
794 NO_* dominates all, if both WITH_* and WITHOUT_*
795 are defined then result is DOMINATE_* which defaults to "no".
796 Ie. WITHOUT_ normally wins.
798 2013-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
800 * install-mk (MK_VERSION): bump version
801 * meta2deps.py: convert to print function for python3 compat.
802 we also need to open files with mode 'r' rather than 'rb'
803 otherwise we get bytes instead of strings.
805 2013-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
807 * install-mk (MK_VERSION): bump version
809 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
810 apply the same filtering (M_dep_qual_fixes) when setting _machines
812 Also fix the filtering of Makefile.depend files - for reporting
813 what we are looking for (M_dep_qual_fixes can get confused by
815 Add some more debug info.
817 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
819 * gendirdeps.mk (_objtops): fix typo also
820 while processing M2D_OBJROOTS to gather qualdir_list
821 qualify $ql with loop iterator to ensure correct results.
823 2013-08-01 Simon J. Gerraty <sjg@bad.crufty.net>
825 * install-mk (MK_VERSION): 20130801
826 * libs.mk: update to match progs.mk
828 2013-07-26 Simon J. Gerraty <sjg@bad.crufty.net>
830 * install-mk (MK_VERSION): 20130726
831 some updates from Juniper and FreeBSD
832 o meta2deps.py: indicate file and line number when we hit parse
834 also allow @file to provide huge list of .meta files.
835 * meta2deps.py: add try_parse() to cleanup the above.
837 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
839 * install-mk (MK_VERSION): 20130716
840 * own.mk: add GPROG as an option
841 * prog.mk: honor MK_GPROF==yes
843 2013-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
845 * install-mk (MK_VERSION): 20130505
846 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
847 for when $MACHINE isn't enough for objdir distinction.
848 Bring meta2deps.sh closer to par with meta2deps.py.
850 2013-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
852 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
853 also if the target 'beforeinstall' exists, make it depend on
854 .dirdep (incase it uses STAGE_INSTALL).
856 2013-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
858 * install-mk (MK_VERSION): 20130401 ;-)
859 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
860 wrapper around install(1).
861 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_
863 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
865 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
866 * install-mk (MK_VERSION): bump version
868 2013-03-21 Simon J. Gerraty <sjg@bad.crufty.net>
870 * install-mk (MK_VERSION): bump version
871 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
872 any trailing /., rather apply :tA only when needed.
873 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
874 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
876 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
878 2013-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
880 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
881 it is simpler to just not update when say building for "host"
882 (where we know we apply filters to DIRDEPS), and using a
883 non-machine qualified dependfile.
885 2013-03-16 Simon J. Gerraty <sjg@bad.crufty.net>
887 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
888 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
889 * gendirdeps.mk: ensure _objroot has trailing / if it needs it.
890 * meta2deps.py: if machine is "host", then also trim
891 self.host_target from any OBJROOTS.
894 2013-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
896 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
897 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
898 but _DEPENDFILE does not, compare the new _DEPENDFILE against
899 .MAKE.DEPENDFILE_DEFAULT and discard if the same.
901 2013-03-08 Simon J. Gerraty <sjg@bad.crufty.net>
903 * meta.stage.mk: use STAGE_TARGETS to control .ORDER
904 and hook to all: via staging:
906 2013-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
908 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
909 use a separate variable for the default .MAKE.DEPENDFILE value
910 so that it can be controlled independently of
911 .MAKE.DEPENDFILE_PREFERENCE
913 * meta.stage.mk: throw error if cp fails etc.
914 Stage*() return early if passed no args.
917 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
919 * install-mk (MK_VERSION): bump version
920 * gendirdeps.mk: handle multiple M2D_OBJROOTS better.
922 2013-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
924 * install-mk (MK_VERSION): bump version to 20130210
925 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
927 o dirdeps.mk now fully supports TARGET_SPEC consisting of more
929 o no longer use DEP_MACHINE from Makefile.depend* so remove it.
931 2013-01-23 Simon J. Gerraty <sjg@bad.crufty.net>
933 * install-mk (MK_VERSION): bump version to 20130123
934 * meta.stage.mk: add stage_links (hard links).
935 if doing hard links, we add dest to link as well.
936 Default the stage dir for [sym]links to STAGE_OBJTOP since
937 these are typically specified as absolute paths.
938 Add -m "mode" flag to StageFiles and StageAs.
940 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
942 * install-mk (MK_VERSION): bump version to 20121111
943 * autoconf.mk: avoid meta mode seeing changed commands for config.status
944 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
945 in case we were found via .../mk
946 * sys.clean-env.mk: move it from examples, we and others use it
948 * FILES: add srctop.mk and options.mk
949 * own.mk: convert to using options.mk
950 which is modeled after FreeBSD's handling of MK_*
952 This allows MK_* for boolean knobs to not be confused
953 with MK* which can be commands.
955 * examples/sys.clean-env.mk: add WITH[OUT]_ to
956 MAKE_ENV_SAVE_PREFIX_LIST.
957 Mention that HOME=/var/empty might be a good idea.
959 2012-11-08 Simon J. Gerraty <sjg@bad.crufty.net>
961 * sys.dependfile.mk: if not depend file exists, $MACHINE
962 specific ones are supported but not the default,
963 check if any exist and follow suit.
965 2012-11-06 Simon J. Gerraty <sjg@bad.crufty.net>
967 * install-mk (MK_VERSION): bump version to 20121106
969 2012-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
971 * import latest dirdeps.mk and meta2deps.py from Juniper.
972 * progs.mk: add MAN and CXXFLAGS to PROG_VARS
973 also add PROGS_TARGETS and pass on PROG_CXX if it seems
976 2012-11-04 Simon J. Gerraty <sjg@bad.crufty.net>
978 * meta.stage.mk: update CLEANFILES
979 remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
980 * progs.mk: Add LDADD to PROG_VARS
982 2012-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
984 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
985 _STAGED_DIRS so that these can be turned into filters for
988 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
990 * install-mk (MK_VERSION): bump version to 20121010
991 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
992 target.dirdep matches .dirdep
994 2012-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
996 * install-mk (MK_VERSION): bump version to 20120808
997 * import latest meta2deps.py from Juniper.
999 2012-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
1001 * install-mk (MK_VERSION): bump version to 20120711
1002 * dep.mk: add explicit dependencies on SRCS after applying
1004 * meta.autodep.mk: add explicit dependencies on SRCS after
1005 applying SRCS_DEP_FILTER
1006 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
1008 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
1010 * install-mk (MK_VERSION): bump version to 20120626
1011 * meta.sys.mk: ignore PYTHON if it does not exist
1012 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
1013 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
1014 entries ending in .${MACHINE} to decide if qualified _dirdep is
1016 * gendirdeps.mk: only produce unqualified deps if no
1017 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
1018 * meta.subdir.mk: apply SUBDIRDEPS_FILTER
1020 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1022 * install-mk (MK_VERSION): bump version to 20120420
1023 * add sys.dependfile.mk so we can experiment with
1024 .MAKE.DEPENDFILE_PREFERENCE
1025 * meta.autodep.mk: _DEPENDFILE is precious!
1027 2012-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
1029 * install-mk (MK_VERSION): bump version to 20120315
1030 * install-new.mk: avoid being interrupted
1032 2012-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
1034 * man.mk: MAN might have multiple values so be careful with exists().
1036 2012-01-19 Simon J. Gerraty <sjg@bad.crufty.net>
1038 * install-mk (MK_VERSION): bump version to 20120112
1039 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
1040 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
1042 2011-12-03 Simon J. Gerraty <sjg@bad.crufty.net>
1044 * install-mk (MK_VERSION): bump version to 20111201
1045 * import dirdeps.mk from Juniper sjg@
1046 o more consistent handling of DEP_MACHINE, especially when
1047 dealing with an odd Makefile.depend, when normally using
1048 Makefile.depend.${MACHINE}
1050 2011-11-22 Simon J. Gerraty <sjg@bad.crufty.net>
1052 * install-mk (MK_VERSION): bump version to 20111122
1053 * meta.autodep.mk: add some debug output, be more crisp about
1054 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend
1056 2011-11-13 Simon J. Gerraty <sjg@bad.crufty.net>
1058 * install-mk (MK_VERSION): bump version to 20111111
1059 it's too cool to miss
1060 * import meta* updates from Juniper sjg@
1061 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
1062 normally using Makefile.depend.${MACHINE}), handy for
1063 read-only manually maintained dependencies.
1064 o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
1065 o gendirdeps.mk if ERROR: from meta2deps.py do not update
1068 2011-10-30 Simon J. Gerraty <sjg@bad.crufty.net>
1070 * install-new.mk separate the cmp and copy logic to its own function.
1072 2011-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
1074 * install-mk (MK_VERSION): bump version to 20111028
1075 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
1076 * subdir.mk: ensure _SUBDIRUSE is provided
1077 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
1078 * meta.subdir.mk: always allow for Makefile.depend
1080 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1082 * install-mk (MK_VERSION): bump version to 20111010
1083 o minor tweak to *dirdeps.mk from Juniper sjg@
1085 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
1087 * install-mk (MK_VERSION): bump version to 20111001
1088 o add meta2deps.py from Juniper sjg@
1089 o tweak gendirdeps.mk to work with meta2deps.py when not
1091 * autoconf.mk: add autoconf-input as a hook for regenerating
1092 AUTOCONF_INPUTS (configure).
1094 2011-08-24 Simon J. Gerraty <sjg@bad.crufty.net>
1096 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
1097 trigger for updating Makefile.depend*
1099 2011-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1101 * install-mk (MK_VERSION): bump version to 20110808
1102 * obj.mk: minor cleanup
1103 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
1105 2011-08-01 Simon J. Gerraty <sjg@bad.crufty.net>
1107 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the
1110 2011-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
1112 * meta.autodep.mk: if XMAKE_META_FILE is set
1113 the makefile uses a foreign make, and so dependencies
1114 can only be gathered from a clean tree build.
1116 2011-06-24 Simon J. Gerraty <sjg@bad.crufty.net>
1118 * install-mk (MK_VERSION): bump version to 20110622
1119 * meta.autodep.mk: improve bootstraping
1121 2011-06-10 Simon J. Gerraty <sjg@bad.crufty.net>
1123 * yacc.mk: handle the corner case of .c being removed
1126 2011-06-08 Simon J. Gerraty <sjg@bad.crufty.net>
1128 * yacc.mk: do .y.h and .y.c separately
1130 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1132 * install-mk (MK_VERSION): bump version to 20110606
1133 * don't store SRC_DIRDEPS in Makefile.depend* by default
1134 not everyone needs it.
1136 2011-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
1138 * install-mk (MK_VERSION): bump version to 20110505
1139 first release including meta mode makefiles
1141 2011-05-02 Simon J. Gerraty <sjg@bad.crufty.net>
1143 * meta.stage.mk: add STAGE_AS_SETS and stage_as
1144 for things that need to be staged with different names.
1146 2011-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
1148 * meta.stage.mk: add notion of STAGE_SETS
1149 so a makefile can stage to multiple dirs
1151 2011-04-03 Simon J. Gerraty <sjg@bad.crufty.net>
1153 * rst2htm.mk: convert rst to s5 (slides) or plain html depending
1156 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1158 * install-mk (MK_VERSION): bump version to 20110330
1160 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
1162 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
1163 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
1164 * sys.mk: re-define M_whence in terms of M_type.
1165 M_type is useful for checking if something is a builtin.
1167 2011-03-16 Simon J. Gerraty <sjg@bad.crufty.net>
1169 * meta.stage.mk: add stage_symlinks and leverage StageLinks for
1172 2011-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
1174 * dirdeps.mk: correct value for _depdir_files depends on
1176 Add our copyright - just to make it clear we have frobbed this
1178 DEP_MACHINE needs to be set to MACHINE each time, if using only
1179 Makefile.depend (cf. Makefile.depend.${MACHINE})
1181 * meta.stage.mk: meta mode version of staging
1183 * init.mk, final.mk: include local.*.mk to simplify customization
1185 2011-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
1187 * auto.obj.mk: just because we are doing mk destroy, we should
1188 still set .OBJDIR correctly if it exists.
1190 * install-mk (mksrc): do not exclude meta.sys.mk
1192 2011-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
1194 * host-target.mk: set/export _HOST_ARCH etc separately,
1195 catch junk resulting from uname -p, so we can find sys/Linux.mk
1198 2011-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
1200 * meta.sys.mk: throw an error if /dev/filemon is missing and we
1201 expected to be updating Makefile.depend*
1203 2011-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
1205 * install-mk (MK_VERSION): bump version to 20110214
1206 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
1208 2010-09-25 Simon J. Gerraty <sjg@bad.crufty.net>
1210 * meta.sys.mk: not valid for older bmake
1212 2010-09-24 Simon J. Gerraty <sjg@bad.crufty.net>
1214 * install-mk (MK_VERSION): bump version to 20100919
1215 include dirdeps.mk et al from Juniper Networks,
1216 for meta mode - requires filemon(9).
1217 * sys.mk, subdir.mk: Add hooks for meta mode.
1218 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
1219 to make turning it on/off simple.
1221 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
1223 * install-mk (MK_VERSION): bump version to 20100616
1224 * fix typo in sys.mk
1226 2010-06-12 Simon J. Gerraty <sjg@bad.crufty.net>
1228 * install-mk (MK_VERSION): bump version to 20100612
1229 * lib.mk: remove duplicate addition to SOBJS
1231 2010-06-10 Simon J. Gerraty <sjg@bad.crufty.net>
1233 * sys.mk: Add a means of selectively turning on debug flags.
1234 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
1235 will act as if we did make -dv if .CURDIR ends in lib/sjg
1236 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
1237 the start of sys.mk rather than the end.
1238 This only makes sense for leaf dirs, so we check that
1241 2010-06-09 Simon J. Gerraty <sjg@bad.crufty.net>
1243 * install-mk (MK_VERSION): bump version to 20100608
1244 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
1245 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
1246 also make it easier for folk to tweak
1248 2010-06-08 Simon J. Gerraty <sjg@bad.crufty.net>
1250 * install-mk (MK_VERSION): bump version to 20100606
1251 do not install examples/*
1252 * FILES: add examples/sys.clean-env.mk
1253 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
1254 this requires bmake-20100606 or later to work.
1256 2010-05-13 Simon J. Gerraty <sjg@bad.crufty.net>
1258 * sys.mk (M_tA): better simulate the result of :tA if not available.
1260 2010-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
1262 * sys.mk: canonicalize MAKE_VERSION
1263 old versions reported bmake-<src-date> build-<build-date>
1264 whereas we only care about <src-date>
1266 2010-04-25 Simon J. Gerraty <sjg@bad.crufty.net>
1268 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
1269 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION
1272 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
1274 * dpadd.mk: use LDADD_* if defined.
1276 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
1278 * install-mk (MK_VERSION): bump version to 20100420
1279 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
1280 * autoconf.mk allow AUTO_AUTOCONF
1282 2010-04-19 Simon J. Gerraty <sjg@bad.crufty.net>
1284 * obj.mk: add objwarn to keep freebsd makefiles happy
1285 * auto.obj.mk: ensure Mkdirs is available.
1286 * FILES: add auto.dep.mk - a simpler version of autodep.mk
1287 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
1289 fix/simplify the tests for when to run mkdep.
1290 * auto.dep.mk: add some explanation of how/what we do.
1291 * autodep.mk: skip the .OPTIONAL frobbing of .depend
1292 bmake's FROM_DEPEND flag makes it redundant.
1294 2010-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
1296 * install-mk (MK_VERSION): bump version to 20100404
1297 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
1298 * obj.mk: protect from multiple inclusion even as bsd.obj.mk
1299 Also create a target _SUBDIRUSE so that we can be used without
1302 2010-04-12 Simon J. Gerraty <sjg@bad.crufty.net>
1304 * dep.mk: use <> when .including so can override.
1306 2010-01-11 Simon J. Gerraty <sjg@bad.crufty.net>
1308 * lib.mk (SHLIB_LINKS): ensure a string comparison.
1310 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1312 * install-mk (MK_VERSION): bump version to 20100102
1313 * own.mk: ensure PRINTOBJDIR works
1314 * autoconf.mk: pass on CONFIGURE_ARGS
1315 * init.mk: handle COPTS.${.IMPSRC:T} etc.
1316 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION
1317 fix handling of symlinks for darwin
1318 * libnames.mk: add DSHLIBEXT for libs which only exist as shared.
1319 * man.mk: suppress chown when not root.
1320 * rst2htm.mk: allow srcs from multiple locations.
1321 * sys.mk: M_whence, stop after 1st line of output.
1322 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
1323 * sys/SunOS.mk: we need to export PATH
1325 2009-12-23 Simon J. Gerraty <sjg@void.crufty.net>
1327 * install-mk (MK_VERSION): bump version
1330 2009-12-17 Simon J. Gerraty <sjg@void.crufty.net>
1332 * sys.mk,libnames.mk add .-include <local.*>
1333 this allows local customization without the need to edit the
1336 2009-12-14 Simon J. Gerraty <sjg@void.crufty.net>
1338 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
1339 older versions already installed.
1341 2009-12-13 Simon J. Gerraty <sjg@void.crufty.net>
1343 * stage.mk (.stage-install): generalize lib.mk's .libinstall
1344 * rules.mk rules for generic Makefile.
1345 * inc.mk install for includes.
1347 2009-12-11 Simon J. Gerraty <sjg@void.crufty.net>
1349 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
1350 this, so provide it if using native make.
1352 2009-12-10 Simon J. Gerraty <sjg@void.crufty.net>
1354 * FILES: move all the platform *.sys.mk files to sys/*.mk
1355 * Rename Generic.sys.mk to sys.mk - we always want it.
1357 2009-11-17 Simon J. Gerraty <sjg@void.crufty.net>
1359 * install-mk (MK_VERSION): bump version
1360 * host-target.mk: only export the expensive stuff
1361 * Generic.sys.mk (sys_mk): for SunOS we need to look for
1362 ${HOST_OS}.${HOST_OSMAJOR} too!
1364 2009-11-07 Simon J. Gerraty <sjg@void.crufty.net>
1366 * install-mk (MK_VERSION): bump version
1367 * lib.mk: if sys.mk doesn't give us an lorder, don't use it.
1368 based on patch from Greg Olszewski.
1369 * Generic.sys.mk: if we have nothing to work with
1370 set LORDER etc only if we can find it.
1372 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1374 * install-mk (MK_VERSION): bump version
1375 * man.mk: cleanman: remove CLEANMAN if defined.
1377 2009-09-04 Simon J. Gerraty <sjg@void.crufty.net>
1379 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
1381 2009-07-17 Simon J. Gerraty <sjg@void.crufty.net>
1383 * install-mk (MK_VERSION): bump version
1387 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1389 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
1391 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1393 * install-mk (MK_VERSION): bump version
1394 man.mk: ensure we generate *.cat1 etc in .
1396 2008-07-16 Simon J. Gerraty <sjg@void.crufty.net>
1398 * install-mk (MK_VERSION): bump version
1401 2007-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1403 * Generic.sys.mk: Allow os specific sys.mk to be in a
1404 subdir of ${.PARSEDIR}
1406 2007-11-22 Simon J. Gerraty <sjg@void.crufty.net>
1408 * install-mk (MK_VERSION): bump version
1410 * dpadd.mk introduce DPMAGIC_LIBS_*
1412 2007-04-30 Simon J. Gerraty <sjg@void.crufty.net>
1414 * install-mk (MK_VERSION): bump version
1416 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog
1417 depend files and ensure clean is called for each lib/prog.
1419 2007-03-27 Simon J. Gerraty <sjg@void.crufty.net>
1421 * autodep.mk (.depend): delete lines that do not start with
1422 space and do not contain ':'
1424 2007-02-16 Simon J. Gerraty <sjg@void.crufty.net>
1426 * autodep.mk (.depend): gcc may wrap lines if pathnames are long
1427 so make sure the transform for .OPTIONAL copes.
1429 2007-02-03 Simon J. Gerraty <sjg@void.crufty.net>
1431 * install-mk (MK_VERSION): bump version
1433 * own.mk: make sure RM and LN are defined.
1435 * obj.mk: fix a typo, and objlink target.
1437 2006-12-30 Simon J. Gerraty <sjg@void.crufty.net>
1439 * install-mk (MK_VERSION): bump version
1440 * added libs.mk - analogous to progs.mk
1441 make both of them always inlcude {lib,prog}.mk
1443 2006-12-28 Simon J. Gerraty <sjg@void.crufty.net>
1445 * progs.mk: add a means of building multiple apps in one dir.
1447 2006-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1449 * install-mk (MK_VERSION): bump version to 20061126
1451 * warnings.mk: detect invalid WARNINGS_SET
1453 * warnings.mk: use ${.TARGET:T:R}.o when looking for target
1456 * For .cc sources, turn off warnings that g++ vomits on.
1458 2006-11-08 Simon J. Gerraty <sjg@void.crufty.net>
1460 * own.mk: if __initialized__ target doesn't exist and we are
1461 FreeBSD we got here directly from sys.mk
1463 2006-11-06 Simon J. Gerraty <sjg@void.crufty.net>
1465 * install-mk (MK_VERSION): bump version to 20061106
1468 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1470 * install-mk (MK_VERSION): bump version to 20060318
1472 * autodep.mk: avoid := when modifying OBJS into __dependsrcs
1474 2006-03-02 Simon J. Gerraty <sjg@void.crufty.net>
1476 * install-mk (MK_VERSION): bump version to 20060302
1477 * autodep.mk: use -MF et al to help gcc+ccache DTRT.
1479 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1481 * install-mk (MK_VERSION): bump version to 20060301
1482 * autodep.mk (.depend):
1483 if MAKE_VERSION is newer than 20050530 we can make .END depend on
1484 .depend and make .depend depend on __depsrcs that exist.
1485 * dpadd.mk: add SRC_PATHADD
1487 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1489 * install-mk (MK_VERSION): bump version to 20051104
1490 * prog.mk: remove all the LIBC?= junk, use
1491 .-include libnames.mk instead (none by default).
1492 also if USE_DPADD_MK is set, include that.
1494 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1496 * install-mk (MK_VERSION): bump version to 20051001
1497 Add UnixWare.sys.mk from Klaus Heinz.
1499 2005-04-05 Simon J. Gerraty <sjg@void.crufty.net>
1501 * install-mk: always install *.sys.mk and if need be symlink one
1504 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1506 * subdir.mk, own.mk: use .MAKE rather than MAKE
1508 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1510 * own.mk: don't use NetBSD's _SRC_TOP_ it can
1511 cause confusion. Also don't take just 'mk' as a
1514 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1516 * warnings.mk: overhauled, now very powerful.
1518 2004-02-03 Simon J. Gerraty <sjg@void.crufty.net>
1520 * Generic.sys.mk: need to use ${.PARSEDIR} with exists().
1522 2004-02-01 Simon J. Gerraty <sjg@void.crufty.net>
1524 * install-mk (MK_VERSION): bump version to 20040201
1525 * extract HOST_TARGET stuff to host-target.mk so own.mk and
1526 Generic.sys.mk can share.
1527 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
1529 2003-09-30 Simon J. Gerraty <sjg@void.crufty.net>
1531 * install-mk (MK_VERSION): 20030930
1532 * rename generic.sys.mk to Generic.sys.mk
1533 so that it does not get installed (unless being used as sys.mk)
1534 * set OS and ROOT_GROUP for those that we know the value.
1535 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
1536 we don't do it again for each sub-make.
1538 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1540 * install-mk (MK_VERSION): 20030928
1541 Add some extra *.sys.mk from bootstrap-pkgsrc
1542 some of these likely still need work.
1543 Make everything default to root:wheel ownership,
1544 sys.mk can set ROOT_GROUP accordingly.
1546 2003-08-07 Simon J. Gerraty <sjg@void.crufty.net>
1548 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
1549 not the portable ones.
1551 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1553 * install-mk: add ability to use cp -f when updating
1554 destination .mk files. Also now possible to play games with
1555 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
1556 into dest - not recommended unless you seriously want to.
1558 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1560 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
1561 for semi-compatability with NetBSD.
1563 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1565 * install-mk: add a version indicator
1567 2003-07-22 Simon J. Gerraty <sjg@void.crufty.net>
1569 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null
1571 * install-mk: Allow FORCE_SYS_MK to come from env