1 2020-11-01 Simon J Gerraty <sjg@beast.crufty.net>
3 * install-mk (MK_VERSION): 20201101
5 * dirdeps.mk: most leaf makefiles are not suitable for building
6 dirdeps.cache so if RELDIR is not "." use dirdeps.mk
8 2020-10-28 Simon J Gerraty <sjg@beast.crufty.net>
10 * install-mk (MK_VERSION): 20201028
12 * dirdeps.mk: if we don't have :range use equivalent of M_RANGE
13 when building dirdeps.cache for leaf directory use -f dirdeps.mk
15 * sys.vars.mk: add M_JOT and M_RANGE
17 2020-10-01 Simon J Gerraty <sjg@beast.crufty.net>
19 * install-mk (MK_VERSION): 20201001
21 * meta2deps.{py,sh}: throw an error if we don't see filemon version
23 2020-09-09 Simon J Gerraty <sjg@beast.crufty.net>
25 * install-mk (MK_VERSION): 20200909
27 * dirdeps-cache-update.mk: use cache_update_dirdep as guard target
29 2020-08-26 Simon J Gerraty <sjg@beast.crufty.net>
31 * dirdeps.mk: ensure we cannot confuse a static cache for dynamic
32 (even more rare that use of static cache is playing clever tricks
35 2020-08-16 Simon J Gerraty <sjg@beast.crufty.net>
37 * dirdeps-cache-update.mk: allow
38 MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we
39 actually update STATIC_DIRDEPS_CACHE.
41 * stage-install.sh: create dest directory if needed
42 before running install(1)
44 2020-08-10 Simon J Gerraty <sjg@beast.crufty.net>
46 * dirdeps-targets.mk: include Makefile.dirdeps.options
48 * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE
50 2020-08-09 Simon J Gerraty <sjg@beast.crufty.net>
52 * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty
54 * dirdeps-cache-update.mk: building parallel cache update
55 under the context of dirdeps-cached would be ideal, but
56 is problematic, so it runs as a sibling.
57 Use cache-built target to ensure we wait for it to complete if
60 2020-08-06 Simon J Gerraty <sjg@beast.crufty.net>
62 * install-mk (MK_VERSION): 20200806
64 * dirdeps-options: allow TARGET_SPEC to affect option values.
65 Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_*
67 * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined
68 before looking for STATIC_DIRDEPS_CACHE
70 2020-08-05 Simon J Gerraty <sjg@beast.crufty.net>
72 * host-target.mk: Darwin use MACHINE for HOST_ARCH too
74 * dirdeps-options.mk: improve debug output
76 2020-07-22 Simon J Gerraty <sjg@beast.crufty.net>
78 * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE
79 for use by dirdeps-cache-update.mk
81 * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE
82 for use by dirdeps-cache-update.mk even if we don't use it.
84 * dirdeps-cache-update.mk: we only need worry about the background
85 update case, with the above, the update from DIRDEPS_CACHE is
88 * meta2deps.py: R 1234 . is not interesting
90 2020-07-20 Simon J Gerraty <sjg@beast.crufty.net>
92 * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE
94 * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS
95 allows use of lower case for pseudo options.
97 * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE
99 2020-07-18 Simon J Gerraty <sjg@beast.crufty.net>
101 * dirdeps-targets.mk: Look for Makefile.dirdeps.cache
102 which allows us to have a static cache for expensive targets.
103 Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE
104 to regenerate the dirdeps.cache it is a copy of.
106 2020-07-17 Simon J Gerraty <sjg@beast.crufty.net>
108 * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense.
110 2020-07-16 Simon J Gerraty <sjg@beast.crufty.net>
112 * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record
113 load averages at intervals during build.
115 2020-07-15 Simon J Gerraty <sjg@beast.crufty.net>
117 * install-mk (MK_VERSION): 20200715
119 * dirdeps.mk: tweak Checking line to make matching Finished
120 lines for post-build analysis easier.
122 * meta.autodep.mk: use !defined(WITHOUT_META_STATS)
124 * progs.mk: avoid prog.mk outputting multiple Finished lines
126 2020-07-11 Simon J Gerraty <sjg@beast.crufty.net>
128 * dirdeps.mk: further optimize dirdeps.cache
129 generate a DIRDEPS.${.TARGET} list for other purposes
130 and improve the layout.
132 2020-07-10 Simon J Gerraty <sjg@beast.crufty.net>
134 * dirdeps.mk: optimize content of dirdeps.cache
136 2020-06-28 Simon J Gerraty <sjg@beast.crufty.net>
138 * sys/*.mk: make it easier for local*sys.mk to customize by
141 2020-06-22 Simon J Gerraty <sjg@beast.crufty.net>
143 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
144 it is much safer to guard local depends with a simple check for
147 2020-06-10 Simon J Gerraty <sjg@beast.crufty.net>
149 * install-mk (MK_VERSION): 20200610
151 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok
153 2020-06-06 Simon J Gerraty <sjg@beast.crufty.net>
155 * install-mk (MK_VERSION): 20200606
157 * dirdeps-targets.mk: allow for filtering of .TARGETS
159 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove
160 entries - and we don't care about 'W'rite entries.
161 Also ignore absolute paths that do not exist.
163 2020-05-25 Simon J Gerraty <sjg@beast.crufty.net>
165 * install-mk (MK_VERSION): 20200525
167 * init.mk: expand and simplify handling of qualified vars
168 like CPPFLAGS.${.TARGET:T}
170 2020-05-15 Simon J Gerraty <sjg@beast.crufty.net>
172 * install-mk (MK_VERSION): 20200515
174 * dirdeps.mk: set _debug_* earlier and allow passing -d*
175 flags to submake when building DIRDEPS_CACHE
177 2020-05-09 Simon J Gerraty <sjg@beast.crufty.net>
179 * whats.mk: more easily extensible
181 2020-05-02 Simon J Gerraty <sjg@beast.crufty.net>
183 * whats.mk: greatly simplify by adding what.c to SRCS
185 2020-05-01 Simon J Gerraty <sjg@beast.crufty.net>
187 * whats.mk: for libs take care how we add to *OBJS
189 * lib.mk: : works better with whats.mk
191 2020-04-25 Simon J Gerraty <sjg@beast.crufty.net>
193 * install-mk (MK_VERSION): 20200420
195 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
196 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
198 2020-04-16 Simon J Gerraty <sjg@beast.crufty.net>
200 * install-mk (MK_VERSION): 20200416
202 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
203 interfere with user env.
205 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
207 * autodep.mk: use MAKE_SHELL.
209 2019-11-21 Simon J Gerraty <sjg@beast.crufty.net>
211 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of
212 wasted effort, and unexport _meta_files when no longer needed as
213 it consumes space we need for command line.
215 2019-11-11 Simon J Gerraty <sjg@beast.crufty.net>
217 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
218 DIRDEP_USE_PRELUDE at start - facilitates job distribution
220 2019-10-04 Simon J Gerraty <sjg@beast.crufty.net>
222 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
223 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
224 TARGET_SPEC qualified depend files.
226 2019-10-02 Simon J Gerraty <sjg@beast.crufty.net>
228 * dirdeps-targets.mk: encapsulate logic for finding top-level
229 targets to set initial DIRDEPS for DIRDEPS_BUILD
231 2019-09-27 Simon J Gerraty <sjg@beast.crufty.net>
233 * install-mk (MK_VERSION): 20190911
235 * compiler.mk: set COMPILER_TYPE
237 2019-07-17 Simon J Gerraty <sjg@beast.crufty.net>
239 * install-mk (MK_VERSION): 20190704
241 * sys/Darwin.mk: support for Objective-C and clang
243 2019-05-30 Simon J Gerraty <sjg@beast.crufty.net>
245 * dirdeps.mk: avoid insanely long command line when generating cache
247 2019-05-23 Simon J Gerraty <sjg@beast.crufty.net>
249 * install-mk (MK_VERSION): 20190505
251 * whats.mk: handle corner case SHLIB defined but not LIB
253 2018-09-19 Simon J Gerraty <sjg@beast.crufty.net>
255 * install-mk (MK_VERSION): 20180919
257 * dirdeps-options.mk: .undef cannot handle var that expands to
260 2018-07-08 Simon J Gerraty <sjg@beast.crufty.net>
262 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
264 2018-06-01 Simon J Gerraty <sjg@beast.crufty.net>
266 * meta.autodep.mk: export META_FILES to avoid command line limit
267 * gendirdeps.mk: if we have lots of .meta files put them in
270 2018-05-28 Simon J Gerraty <sjg@beast.crufty.net>
272 * dirdeps-options.mk: use local.dirdeps-options.mk
273 not local.dirdeps-option.mk
275 2018-04-20 Simon J Gerraty <sjg@beast.crufty.net>
277 * install-mk (MK_VERSION): 20180420
278 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
279 ie. we are building something.
281 2018-04-14 Simon J Gerraty <sjg@beast.crufty.net>
283 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
285 2018-04-05 Simon J Gerraty <sjg@beast.crufty.net>
287 * install-mk (MK_VERSION): 20180405
289 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
292 2018-01-18 Simon J Gerraty <sjg@beast.crufty.net>
294 * install-mk (MK_VERSION): 20180118
296 * ldorder.mk: let make compute correct link order
298 2017-12-12 Simon J Gerraty <sjg@beast.crufty.net>
300 * install-mk (MK_VERSION): 20171212
302 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
304 2017-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
306 * install-mk (MK_VERSION): 20171111
308 * lib.mk: ensure META_NOECHO is set
310 2017-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
312 * Allow for host32 on rare occasions.
314 2017-10-18 Simon J. Gerraty <sjg@bad.crufty.net>
316 * install-mk (MK_VERSION): 20171018
318 * whats.mk: include what_thing in what_uuid to avoid problem
319 when building multiple apps in the same directory.
321 2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
323 * install-mk (MK_VERSION): 20170812
325 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can
326 add dependencies for config.recheck and config.gen
328 2017-06-30 Simon J. Gerraty <sjg@bad.crufty.net>
330 * install-mk (MK_VERSION): 20170630
332 * meta.stage.mk: avoid triggering stage_* targets with nothing to do.
334 2017-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
336 * meta2deps.py: take special care of '..'
338 2017-05-15 Simon J. Gerraty <sjg@bad.crufty.net>
340 * install-mk (MK_VERSION): 20170515
342 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
343 useful/necessary for a Makefile.depend file to export some knobs.
344 This is complicated when we are doing DIRDEPS_CACHE, so we will
345 handle export of any variables listed in DEP_EXPORT_VARS.
347 2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net>
349 * install-mk (MK_VERSION): 20170505
351 * meta2deps.py: fix botched indenation.
353 2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
355 * sys/*.mk: Remove setting of MAKE it is unnecessary and
356 in many cases wrong (basname rather than full path)
358 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
360 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
362 2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
364 * install-mk (MK_VERSION): 20170501
366 * doc.mk: fix typo in DOC_INSTALL_OWN
368 * inc.mk: handle INCGROUPS similar to freebsd
370 * files.mk: add something for files too
372 * add staging logic to lib.mk prog.mk etc.
374 2017-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
376 * install-mk (MK_VERSION): 20170424
378 * dirdeps.mk: set NO_DIRDEPS when bootstrapping.
379 also target of bootstrap-this when sed is needed should be ${_want:T}
381 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
383 * install-mk (MK_VERSION): 20170418
385 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
386 prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
388 2017-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
390 * install-mk (MK_VERSION): 20170401
392 * meta2deps.py: add is_src so we can check if obj dependency
393 is also a src dependency.
395 2017-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
397 * install-mk (MK_VERSION): 20170326
399 * meta.stage.mk: do nothing if NO_STAGING is defined.
401 2017-03-24 Simon J. Gerraty <sjg@bad.crufty.net>
403 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
405 2017-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
407 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
409 2017-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
411 * install-mk (MK_VERSION): 20170301
413 * dirdeps.mk (_build_all_dirs): update this outside test for empty
416 * meta.stage.mk: allow multiple inclusion to the extent it makes
419 2017-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
421 * prog.mk (install_links): depends on realinstall
423 2017-02-12 Simon J. Gerraty <sjg@bad.crufty.net>
425 * install-mk (MK_VERSION): 20170212
427 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries
429 2017-01-30 Simon J. Gerraty <sjg@bad.crufty.net>
431 * install-mk (MK_VERSION): 20170130
433 * dirdeps.mk: use :range if we can.
435 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
437 * meta2deps.py: clean paths without using realpath() where possible.
440 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
442 * install-mk (MK_VERSION): 20161212
444 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
445 rather than when we detect pid change.
447 2016-12-07 Simon J. Gerraty <sjg@bad.crufty.net>
449 * install-mk (MK_VERSION): 20161207
451 * meta.stage.mk: add stage_as_and_symlink for staging packages.
452 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
453 to use foo.tgz to reference the latest staged version - so we
454 make foo.tgz a symlink to it.
455 Using a target to do both operations ensures we stay in sync.
457 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
459 * install-mk (MK_VERSION): 20161126
461 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
462 so it can add dependencies.
464 2016-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
466 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
467 do that they can influence the result correctly.
469 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
471 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
472 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
474 2016-10-05 Simon J. Gerraty <sjg@bad.crufty.net>
476 * dirdeps.mk: remove dependence on jot (normal situations anyway).
477 Before we read another Makefile.depend* set DEP_* vars from
478 _DEP_TARGET_SPEC in case it uses any of them with :=
479 When bootstrapping, trim any ,* from extention of chosen _src
480 Makefile.depend* to get the machine value we subst for.
482 2016-09-30 Simon J. Gerraty <sjg@bad.crufty.net>
484 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
485 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
487 * sys.mk: extract some bits to sys.{debug,vars}.mk
488 for easier re-use by others.
490 2016-09-23 Simon Gerraty <sjg@sjg-mba13>
492 * lib.mk: Use ${PICO} for extension for PIC objects.
493 default to .pico (like NetBSD) safe on case insensitive filesystem.
495 2016-08-19 Simon J. Gerraty <sjg@bad.crufty.net>
497 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
499 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
501 * install-mk (MK_VERSION): 20160815
503 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
504 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
506 2016-08-13 Simon J. Gerraty <sjg@bad.crufty.net>
508 * meta.sys.mk (.MAKE.META.IGNORE_PATHS):
509 in meta mode we can ignore the mtime of makefiles
511 2016-08-02 Simon J. Gerraty <sjg@bad.crufty.net>
513 * install-mk (MK_VERSION): 20160802
515 * lib.mk (libinstall): depends on beforinstall
517 * prog.mk (proginstall): depends on beforinstall
518 patch from Lauri Tirkkonen
520 * dirdeps.mk (bootstrap): When bootstrapping; creat
521 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
522 .MAKE.DEPENDFILE_BOOTSTRAP_SED
524 * dirdeps.mk: move some comments to where they make sense.
526 2016-07-27 Simon J. Gerraty <sjg@bad.crufty.net>
528 * dirdeps.mk (DIRDEPS_CACHE): no dirname.
530 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
532 * install-mk (MK_VERSION): 20160602
533 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk
534 do not apply :T to META_XTRAS
535 patch from Bryan Drewery at FreeBSD.org.
537 2016-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
539 * install-mk (MK_VERSION): 20160530
540 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
543 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
545 * install-mk (MK_VERSION): 20160512
547 * dpadd.mk: always include local.dpadd.mk if it exists
548 remove some things that better belong in local.dpadd.mk
549 skip INCLUDES_* for staged libs unless SRC_* defined.
551 * own.mk: add INCLUDEDIR
553 2016-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
555 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no
556 TARGET_MACHINE - :E will be empty or match part of path, use
559 2016-04-07 Simon J. Gerraty <sjg@bad.crufty.net>
561 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
564 * dirdeps.mk: move the logic that allows for
565 make -f dirdeps.mk some/dir.${TARGET_SPEC}
566 inside the check for !target(_DIRDEP_USE)
568 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
570 * Use <> when including local*.mk and others which may exist
571 elsewhere so that user can better control what they get.
573 * meta.autodep.mk (NO_FILEMON_COOKIE):
574 create a cookie if we ever build dir with nofilemon
575 so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
577 2016-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
579 * install-mk (MK_VERSION): 20160401
581 * meta2deps.py: fix old print statement when debugging.
583 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
584 patch from Bryan Drewery
586 2016-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
588 * install-mk (MK_VERSION): 20160317 (St. Pats)
590 * warnings.mk: g++ does not like -Wimplicit
592 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
593 pelthora of common suffixes for C++
595 * lib.mk: use .So for shared objects
597 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
599 * install-mk (MK_VERSION): 20160315
601 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
602 normally only applies to scripts.
604 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
607 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
609 * install-mk (MK_VERSION): 20160310
611 * dirdeps.mk: use targets rather than a list to track DIRDEPS that
612 we have processed; the list gets very inefficient as number of
615 * sys.dependfile.mk: fix comment wrt MACHINE
617 * meta.autodep.mk: ignore staged DPADDs when bootstrapping.
618 patch from Bryan Drewery
620 2016-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
622 * meta2deps.sh: don't ignore subdirs.
623 patch from Bryan Drewery
625 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
627 * install-mk (MK_VERSION): 20160226
629 * gendirdeps.mk: mark _DEPENDFILE .NOMETA
631 2016-02-20 Simon J. Gerraty <sjg@bad.crufty.net>
633 * dirdeps.mk: we shouldn't normally include .depend but if we do
634 use .dinclude if we can.
636 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
638 * install-mk (MK_VERSION): 20160218
639 * sys.clean-env.mk: with recent change to Var_Subst()
640 we cannot use the '$$' trick, but .export-literal does the job
642 * auto.dep.mk: make use .dinclude if we can.
645 2016-02-05 Simon J. Gerraty <sjg@bad.crufty.net>
648 Add _build_all_dirs such that local.dirdeps.mk can
649 add fully qualified dirs to it.
650 These will be built normally but the current
651 DEP_RELDIR will not depend on then (to avoid cycles).
652 This makes it easy to hook things like unit-tests into build.
655 2016-01-21 Simon J. Gerraty <sjg@bad.crufty.net>
657 * dirdeps.mk: add bootstrap-empty
659 2015-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
661 * install-mk (MK_VERSION): 20151212
662 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
663 only apply :tA to __objdir when comparing to .OBJDIR
665 2015-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
667 * install-mk (MK_VERSION): 20151111
669 * meta.sys.mk: include sys.dependfile.mk
671 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk
672 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
673 include local.sys.env.mk early
674 include local.sys.mk later
676 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
678 2015-11-13 Simon J. Gerraty <sjg@bad.crufty.net>
680 * meta.sys.mk (META_COOKIE_TOUCH):
681 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
683 * meta.stage.mk: stage_libs should ignore SYMLINKS.
685 2015-10-23 Simon J. Gerraty <sjg@bad.crufty.net>
687 * install-mk (MK_VERSION): 20151022
689 * sys.mk: BSD/OS does not have 'type' as a shell builtin.
691 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
693 * install-mk (MK_VERSION): 20151020
695 * dirdeps.mk: Add logic for
696 make -f dirdeps.mk some/dir.${TARGET_SPEC}
698 2015-10-14 Simon J. Gerraty <sjg@bad.crufty.net>
700 * install-mk (MK_VERSION): 20151010
702 2015-10-02 Simon J. Gerraty <sjg@bad.crufty.net>
704 * meta.stage.mk: use staging: ${STAGE_TARGETS:...
705 to have stage_lins run last in non-jobs mode.
706 Use .ORDER only for jobs mode.
708 2015-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
710 * rst2htm.mk: allow for per target flags etc.
712 2015-09-01 Simon J. Gerraty <sjg@bad.crufty.net>
714 * install-mk (MK_VERSION): 20150901
716 * doc.mk: create dir if needed use DOC_INSTALL_OWN
718 2015-06-15 Simon J. Gerraty <sjg@bad.crufty.net>
720 * install-mk (MK_VERSION): 20150615
722 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
723 Follow make's normal precedence rules.
725 * gendirdeps.mk: allow customization of the header.
727 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
729 * meta.autodep.mk: ignore dirdeps.cache*
731 * meta.stage.mk: when bootstrapping options it can be handy to
732 throw warnings rather than errors for staging conflicts.
734 * meta.sys.mk: include local.meta.sys.mk for customization
736 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
738 * install-mk (MK_VERSION): 20150606
740 * dirdeps.mk: don't rely on manually maintained Makefile.depend
741 to set DEP_RELDIR and reset DIRDEPS.
742 By setting DEP_RELDIR ourselves we can skip :tA
744 * gendirdeps.mk: skip setting DEP_RELDIR.
746 2015-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
748 * dirdeps.mk: avoid wildcards like make(bootstrap*)
750 2015-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
752 * install-mk (MK_VERSION): 20150520
754 * dirdeps.mk: when we are building dirdeps cache file we *want*
755 meta_oodate to look at all the Makefile.depend files, so
756 set .MAKE.DEPENDFILE to something that won't match.
758 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique
759 so first use absolute path as key.
760 Also skip staging at level 0.
762 2015-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
764 * install-mk (MK_VERSION): 20150430
766 * dirdeps.mk: fix _count_dirdeps for non-cache case.
768 2015-04-16 Simon J. Gerraty <sjg@bad.crufty.net>
770 * install-mk (MK_VERSION): 20150411
773 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
774 it is here mainly for documentation purposes, since
775 if using auto.obj.mk it is better done via sys.mk
777 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
779 * install-mk (MK_VERSION): 20150401
781 * meta2deps.sh: support @list
783 * meta2deps.py: updates from Juniper
785 o skip bogus input files.
786 o treat 'M' and 'L' as both an 'R' and a 'W'
788 2015-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
790 * install-mk (MK_VERSION): 20150303
792 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
793 which is built via sub-make so we have a .meta file to tell if
795 The dirdeps-cache contains the same dependency rules that we
796 normaly construct on the fly.
797 This adds a few seconds overhead when the cache is out of date,
798 but for a large target, the savings can be significant (10-20min).
800 2014-11-18 Simon J. Gerraty <sjg@bad.crufty.net>
802 * install-mk (MK_VERSION): 20141118
804 * meta.stage.mk: add stale_staged
806 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
807 only useful under very rare conditions such as
808 FreeBSD's make universe.
810 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
812 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
814 * install-mk (MK_VERSION): 20141111
816 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
818 2014-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
820 * FILES: include mkopt.sh which allows handling options in shell
821 scripts in a manner compatible with options.mk
823 2014-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
825 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
826 for GENDIRDEPS_FILTER to avoid surprises.
828 2014-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
830 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
831 the time it is applied to __depdirs they have.
833 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
834 expects patterns like *.${MACHINE}
836 * cython.mk (pyprefix?): use pyprefix to find python bits
837 since prefix might be something else (where we install our
840 2014-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
842 * install-mk (MK_VERSION): 20140911
844 * dirdeps.mk: add bootstrap target to simplify adding support for
847 2014-09-01 Simon J. Gerraty <sjg@bad.crufty.net>
849 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
850 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
851 Makefile.depend files.
853 2014-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
855 * install-mk (MK_VERSION): 20140828
857 * cython.mk: capture logic for building python extension modules
860 2014-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
862 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
864 2014-08-02 Simon J. Gerraty <sjg@bad.crufty.net>
866 * install-mk (MK_VERSION): 20140801
868 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
869 identify the autodep.mk variant.
871 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
872 initial value does not match .MAKE.DEPENDFILE_PREFIX
874 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
876 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
878 * install-mk (MK_VERSION): 20140522
880 * lib.mk: use CC to link shlib for linux too
881 patch from Brendan MacDonell
883 2014-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
885 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
886 if WITH_META_STATS is defined.
888 2014-05-02 Simon J. Gerraty <sjg@bad.crufty.net>
890 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
891 to supress dirdeps outside of .CURDIR.
893 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
895 * Fix spelling errors - patch from Pedro Giffuni
897 2014-03-14 Simon J. Gerraty <sjg@bad.crufty.net>
899 * install-mk (MK_VERSION): 20140314
901 * dirdeps.mk (beforedirdeps): a handy hook
903 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
904 to visit leaf dirs to be intercepted (eg. for distributed
907 * dirdeps.mk (__depdirs): ensure // don't sneak in
909 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in
912 2014-02-21 Simon J. Gerraty <sjg@bad.crufty.net>
914 * rst2htm.mk (RST2PDF): add support for rst2pdf
916 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
918 * install-mk (MK_VERSION): bump version
919 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
922 2014-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
924 * options.mk: avoid :U so this isn't bmake dependent
926 2014-02-09 Simon J. Gerraty <sjg@bad.crufty.net>
928 * options.mk: cleanup and simplify semanitcs
929 NO_* dominates all, if both WITH_* and WITHOUT_*
930 are defined then result is DOMINATE_* which defaults to "no".
931 Ie. WITHOUT_ normally wins.
933 2013-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
935 * install-mk (MK_VERSION): bump version
936 * meta2deps.py: convert to print function for python3 compat.
937 we also need to open files with mode 'r' rather than 'rb'
938 otherwise we get bytes instead of strings.
940 2013-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
942 * install-mk (MK_VERSION): bump version
944 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
945 apply the same filtering (M_dep_qual_fixes) when setting _machines
947 Also fix the filtering of Makefile.depend files - for reporting
948 what we are looking for (M_dep_qual_fixes can get confused by
950 Add some more debug info.
952 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
954 * gendirdeps.mk (_objtops): fix typo also
955 while processing M2D_OBJROOTS to gather qualdir_list
956 qualify $ql with loop iterator to ensure correct results.
958 2013-08-01 Simon J. Gerraty <sjg@bad.crufty.net>
960 * install-mk (MK_VERSION): 20130801
961 * libs.mk: update to match progs.mk
963 2013-07-26 Simon J. Gerraty <sjg@bad.crufty.net>
965 * install-mk (MK_VERSION): 20130726
966 some updates from Juniper and FreeBSD
967 o meta2deps.py: indicate file and line number when we hit parse
969 also allow @file to provide huge list of .meta files.
970 * meta2deps.py: add try_parse() to cleanup the above.
972 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
974 * install-mk (MK_VERSION): 20130716
975 * own.mk: add GPROG as an option
976 * prog.mk: honor MK_GPROF==yes
978 2013-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
980 * install-mk (MK_VERSION): 20130505
981 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
982 for when $MACHINE isn't enough for objdir distinction.
983 Bring meta2deps.sh closer to par with meta2deps.py.
985 2013-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
987 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
988 also if the target 'beforeinstall' exists, make it depend on
989 .dirdep (incase it uses STAGE_INSTALL).
991 2013-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
993 * install-mk (MK_VERSION): 20130401 ;-)
994 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
995 wrapper around install(1).
996 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_
998 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1000 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
1001 * install-mk (MK_VERSION): bump version
1003 2013-03-21 Simon J. Gerraty <sjg@bad.crufty.net>
1005 * install-mk (MK_VERSION): bump version
1006 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
1007 any trailing /., rather apply :tA only when needed.
1008 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
1009 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
1011 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
1013 2013-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
1015 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
1016 it is simpler to just not update when say building for "host"
1017 (where we know we apply filters to DIRDEPS), and using a
1018 non-machine qualified dependfile.
1020 2013-03-16 Simon J. Gerraty <sjg@bad.crufty.net>
1022 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
1023 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
1024 * gendirdeps.mk: ensure _objroot has trailing / if it needs it.
1025 * meta2deps.py: if machine is "host", then also trim
1026 self.host_target from any OBJROOTS.
1029 2013-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
1031 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
1032 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
1033 but _DEPENDFILE does not, compare the new _DEPENDFILE against
1034 .MAKE.DEPENDFILE_DEFAULT and discard if the same.
1036 2013-03-08 Simon J. Gerraty <sjg@bad.crufty.net>
1038 * meta.stage.mk: use STAGE_TARGETS to control .ORDER
1039 and hook to all: via staging:
1041 2013-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
1043 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
1044 use a separate variable for the default .MAKE.DEPENDFILE value
1045 so that it can be controlled independently of
1046 .MAKE.DEPENDFILE_PREFERENCE
1048 * meta.stage.mk: throw error if cp fails etc.
1049 Stage*() return early if passed no args.
1052 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
1054 * install-mk (MK_VERSION): bump version
1055 * gendirdeps.mk: handle multiple M2D_OBJROOTS better.
1057 2013-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
1059 * install-mk (MK_VERSION): bump version to 20130210
1060 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
1062 o dirdeps.mk now fully supports TARGET_SPEC consisting of more
1064 o no longer use DEP_MACHINE from Makefile.depend* so remove it.
1066 2013-01-23 Simon J. Gerraty <sjg@bad.crufty.net>
1068 * install-mk (MK_VERSION): bump version to 20130123
1069 * meta.stage.mk: add stage_links (hard links).
1070 if doing hard links, we add dest to link as well.
1071 Default the stage dir for [sym]links to STAGE_OBJTOP since
1072 these are typically specified as absolute paths.
1073 Add -m "mode" flag to StageFiles and StageAs.
1075 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
1077 * install-mk (MK_VERSION): bump version to 20121111
1078 * autoconf.mk: avoid meta mode seeing changed commands for config.status
1079 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
1080 in case we were found via .../mk
1081 * sys.clean-env.mk: move it from examples, we and others use it
1083 * FILES: add srctop.mk and options.mk
1084 * own.mk: convert to using options.mk
1085 which is modeled after FreeBSD's handling of MK_*
1087 This allows MK_* for boolean knobs to not be confused
1088 with MK* which can be commands.
1090 * examples/sys.clean-env.mk: add WITH[OUT]_ to
1091 MAKE_ENV_SAVE_PREFIX_LIST.
1092 Mention that HOME=/var/empty might be a good idea.
1094 2012-11-08 Simon J. Gerraty <sjg@bad.crufty.net>
1096 * sys.dependfile.mk: if not depend file exists, $MACHINE
1097 specific ones are supported but not the default,
1098 check if any exist and follow suit.
1100 2012-11-06 Simon J. Gerraty <sjg@bad.crufty.net>
1102 * install-mk (MK_VERSION): bump version to 20121106
1104 2012-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
1106 * import latest dirdeps.mk and meta2deps.py from Juniper.
1107 * progs.mk: add MAN and CXXFLAGS to PROG_VARS
1108 also add PROGS_TARGETS and pass on PROG_CXX if it seems
1111 2012-11-04 Simon J. Gerraty <sjg@bad.crufty.net>
1113 * meta.stage.mk: update CLEANFILES
1114 remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
1115 * progs.mk: Add LDADD to PROG_VARS
1117 2012-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
1119 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
1120 _STAGED_DIRS so that these can be turned into filters for
1123 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1125 * install-mk (MK_VERSION): bump version to 20121010
1126 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
1127 target.dirdep matches .dirdep
1129 2012-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1131 * install-mk (MK_VERSION): bump version to 20120808
1132 * import latest meta2deps.py from Juniper.
1134 2012-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
1136 * install-mk (MK_VERSION): bump version to 20120711
1137 * dep.mk: add explicit dependencies on SRCS after applying
1139 * meta.autodep.mk: add explicit dependencies on SRCS after
1140 applying SRCS_DEP_FILTER
1141 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
1143 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
1145 * install-mk (MK_VERSION): bump version to 20120626
1146 * meta.sys.mk: ignore PYTHON if it does not exist
1147 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
1148 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
1149 entries ending in .${MACHINE} to decide if qualified _dirdep is
1151 * gendirdeps.mk: only produce unqualified deps if no
1152 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
1153 * meta.subdir.mk: apply SUBDIRDEPS_FILTER
1155 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1157 * install-mk (MK_VERSION): bump version to 20120420
1158 * add sys.dependfile.mk so we can experiment with
1159 .MAKE.DEPENDFILE_PREFERENCE
1160 * meta.autodep.mk: _DEPENDFILE is precious!
1162 2012-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
1164 * install-mk (MK_VERSION): bump version to 20120315
1165 * install-new.mk: avoid being interrupted
1167 2012-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
1169 * man.mk: MAN might have multiple values so be careful with exists().
1171 2012-01-19 Simon J. Gerraty <sjg@bad.crufty.net>
1173 * install-mk (MK_VERSION): bump version to 20120112
1174 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
1175 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
1177 2011-12-03 Simon J. Gerraty <sjg@bad.crufty.net>
1179 * install-mk (MK_VERSION): bump version to 20111201
1180 * import dirdeps.mk from Juniper sjg@
1181 o more consistent handling of DEP_MACHINE, especially when
1182 dealing with an odd Makefile.depend, when normally using
1183 Makefile.depend.${MACHINE}
1185 2011-11-22 Simon J. Gerraty <sjg@bad.crufty.net>
1187 * install-mk (MK_VERSION): bump version to 20111122
1188 * meta.autodep.mk: add some debug output, be more crisp about
1189 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend
1191 2011-11-13 Simon J. Gerraty <sjg@bad.crufty.net>
1193 * install-mk (MK_VERSION): bump version to 20111111
1194 it's too cool to miss
1195 * import meta* updates from Juniper sjg@
1196 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
1197 normally using Makefile.depend.${MACHINE}), handy for
1198 read-only manually maintained dependencies.
1199 o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
1200 o gendirdeps.mk if ERROR: from meta2deps.py do not update
1203 2011-10-30 Simon J. Gerraty <sjg@bad.crufty.net>
1205 * install-new.mk separate the cmp and copy logic to its own function.
1207 2011-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
1209 * install-mk (MK_VERSION): bump version to 20111028
1210 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
1211 * subdir.mk: ensure _SUBDIRUSE is provided
1212 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
1213 * meta.subdir.mk: always allow for Makefile.depend
1215 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1217 * install-mk (MK_VERSION): bump version to 20111010
1218 o minor tweak to *dirdeps.mk from Juniper sjg@
1220 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
1222 * install-mk (MK_VERSION): bump version to 20111001
1223 o add meta2deps.py from Juniper sjg@
1224 o tweak gendirdeps.mk to work with meta2deps.py when not
1226 * autoconf.mk: add autoconf-input as a hook for regenerating
1227 AUTOCONF_INPUTS (configure).
1229 2011-08-24 Simon J. Gerraty <sjg@bad.crufty.net>
1231 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
1232 trigger for updating Makefile.depend*
1234 2011-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1236 * install-mk (MK_VERSION): bump version to 20110808
1237 * obj.mk: minor cleanup
1238 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
1240 2011-08-01 Simon J. Gerraty <sjg@bad.crufty.net>
1242 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the
1245 2011-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
1247 * meta.autodep.mk: if XMAKE_META_FILE is set
1248 the makefile uses a foreign make, and so dependencies
1249 can only be gathered from a clean tree build.
1251 2011-06-24 Simon J. Gerraty <sjg@bad.crufty.net>
1253 * install-mk (MK_VERSION): bump version to 20110622
1254 * meta.autodep.mk: improve bootstraping
1256 2011-06-10 Simon J. Gerraty <sjg@bad.crufty.net>
1258 * yacc.mk: handle the corner case of .c being removed
1261 2011-06-08 Simon J. Gerraty <sjg@bad.crufty.net>
1263 * yacc.mk: do .y.h and .y.c separately
1265 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1267 * install-mk (MK_VERSION): bump version to 20110606
1268 * don't store SRC_DIRDEPS in Makefile.depend* by default
1269 not everyone needs it.
1271 2011-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
1273 * install-mk (MK_VERSION): bump version to 20110505
1274 first release including meta mode makefiles
1276 2011-05-02 Simon J. Gerraty <sjg@bad.crufty.net>
1278 * meta.stage.mk: add STAGE_AS_SETS and stage_as
1279 for things that need to be staged with different names.
1281 2011-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
1283 * meta.stage.mk: add notion of STAGE_SETS
1284 so a makefile can stage to multiple dirs
1286 2011-04-03 Simon J. Gerraty <sjg@bad.crufty.net>
1288 * rst2htm.mk: convert rst to s5 (slides) or plain html depending
1291 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1293 * install-mk (MK_VERSION): bump version to 20110330
1295 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
1297 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
1298 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
1299 * sys.mk: re-define M_whence in terms of M_type.
1300 M_type is useful for checking if something is a builtin.
1302 2011-03-16 Simon J. Gerraty <sjg@bad.crufty.net>
1304 * meta.stage.mk: add stage_symlinks and leverage StageLinks for
1307 2011-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
1309 * dirdeps.mk: correct value for _depdir_files depends on
1311 Add our copyright - just to make it clear we have frobbed this
1313 DEP_MACHINE needs to be set to MACHINE each time, if using only
1314 Makefile.depend (cf. Makefile.depend.${MACHINE})
1316 * meta.stage.mk: meta mode version of staging
1318 * init.mk, final.mk: include local.*.mk to simplify customization
1320 2011-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
1322 * auto.obj.mk: just because we are doing mk destroy, we should
1323 still set .OBJDIR correctly if it exists.
1325 * install-mk (mksrc): do not exclude meta.sys.mk
1327 2011-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
1329 * host-target.mk: set/export _HOST_ARCH etc separately,
1330 catch junk resulting from uname -p, so we can find sys/Linux.mk
1333 2011-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
1335 * meta.sys.mk: throw an error if /dev/filemon is missing and we
1336 expected to be updating Makefile.depend*
1338 2011-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
1340 * install-mk (MK_VERSION): bump version to 20110214
1341 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
1343 2010-09-25 Simon J. Gerraty <sjg@bad.crufty.net>
1345 * meta.sys.mk: not valid for older bmake
1347 2010-09-24 Simon J. Gerraty <sjg@bad.crufty.net>
1349 * install-mk (MK_VERSION): bump version to 20100919
1350 include dirdeps.mk et al from Juniper Networks,
1351 for meta mode - requires filemon(9).
1352 * sys.mk, subdir.mk: Add hooks for meta mode.
1353 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
1354 to make turning it on/off simple.
1356 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
1358 * install-mk (MK_VERSION): bump version to 20100616
1359 * fix typo in sys.mk
1361 2010-06-12 Simon J. Gerraty <sjg@bad.crufty.net>
1363 * install-mk (MK_VERSION): bump version to 20100612
1364 * lib.mk: remove duplicate addition to SOBJS
1366 2010-06-10 Simon J. Gerraty <sjg@bad.crufty.net>
1368 * sys.mk: Add a means of selectively turning on debug flags.
1369 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
1370 will act as if we did make -dv if .CURDIR ends in lib/sjg
1371 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
1372 the start of sys.mk rather than the end.
1373 This only makes sense for leaf dirs, so we check that
1376 2010-06-09 Simon J. Gerraty <sjg@bad.crufty.net>
1378 * install-mk (MK_VERSION): bump version to 20100608
1379 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
1380 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
1381 also make it easier for folk to tweak
1383 2010-06-08 Simon J. Gerraty <sjg@bad.crufty.net>
1385 * install-mk (MK_VERSION): bump version to 20100606
1386 do not install examples/*
1387 * FILES: add examples/sys.clean-env.mk
1388 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
1389 this requires bmake-20100606 or later to work.
1391 2010-05-13 Simon J. Gerraty <sjg@bad.crufty.net>
1393 * sys.mk (M_tA): better simulate the result of :tA if not available.
1395 2010-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
1397 * sys.mk: canonicalize MAKE_VERSION
1398 old versions reported bmake-<src-date> build-<build-date>
1399 whereas we only care about <src-date>
1401 2010-04-25 Simon J. Gerraty <sjg@bad.crufty.net>
1403 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
1404 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION
1407 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
1409 * dpadd.mk: use LDADD_* if defined.
1411 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
1413 * install-mk (MK_VERSION): bump version to 20100420
1414 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
1415 * autoconf.mk allow AUTO_AUTOCONF
1417 2010-04-19 Simon J. Gerraty <sjg@bad.crufty.net>
1419 * obj.mk: add objwarn to keep freebsd makefiles happy
1420 * auto.obj.mk: ensure Mkdirs is available.
1421 * FILES: add auto.dep.mk - a simpler version of autodep.mk
1422 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
1424 fix/simplify the tests for when to run mkdep.
1425 * auto.dep.mk: add some explanation of how/what we do.
1426 * autodep.mk: skip the .OPTIONAL frobbing of .depend
1427 bmake's FROM_DEPEND flag makes it redundant.
1429 2010-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
1431 * install-mk (MK_VERSION): bump version to 20100404
1432 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
1433 * obj.mk: protect from multiple inclusion even as bsd.obj.mk
1434 Also create a target _SUBDIRUSE so that we can be used without
1437 2010-04-12 Simon J. Gerraty <sjg@bad.crufty.net>
1439 * dep.mk: use <> when .including so can override.
1441 2010-01-11 Simon J. Gerraty <sjg@bad.crufty.net>
1443 * lib.mk (SHLIB_LINKS): ensure a string comparison.
1445 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1447 * install-mk (MK_VERSION): bump version to 20100102
1448 * own.mk: ensure PRINTOBJDIR works
1449 * autoconf.mk: pass on CONFIGURE_ARGS
1450 * init.mk: handle COPTS.${.IMPSRC:T} etc.
1451 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION
1452 fix handling of symlinks for darwin
1453 * libnames.mk: add DSHLIBEXT for libs which only exist as shared.
1454 * man.mk: suppress chown when not root.
1455 * rst2htm.mk: allow srcs from multiple locations.
1456 * sys.mk: M_whence, stop after 1st line of output.
1457 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
1458 * sys/SunOS.mk: we need to export PATH
1460 2009-12-23 Simon J. Gerraty <sjg@void.crufty.net>
1462 * install-mk (MK_VERSION): bump version
1465 2009-12-17 Simon J. Gerraty <sjg@void.crufty.net>
1467 * sys.mk,libnames.mk add .-include <local.*>
1468 this allows local customization without the need to edit the
1471 2009-12-14 Simon J. Gerraty <sjg@void.crufty.net>
1473 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
1474 older versions already installed.
1476 2009-12-13 Simon J. Gerraty <sjg@void.crufty.net>
1478 * stage.mk (.stage-install): generalize lib.mk's .libinstall
1479 * rules.mk rules for generic Makefile.
1480 * inc.mk install for includes.
1482 2009-12-11 Simon J. Gerraty <sjg@void.crufty.net>
1484 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
1485 this, so provide it if using native make.
1487 2009-12-10 Simon J. Gerraty <sjg@void.crufty.net>
1489 * FILES: move all the platform *.sys.mk files to sys/*.mk
1490 * Rename Generic.sys.mk to sys.mk - we always want it.
1492 2009-11-17 Simon J. Gerraty <sjg@void.crufty.net>
1494 * install-mk (MK_VERSION): bump version
1495 * host-target.mk: only export the expensive stuff
1496 * Generic.sys.mk (sys_mk): for SunOS we need to look for
1497 ${HOST_OS}.${HOST_OSMAJOR} too!
1499 2009-11-07 Simon J. Gerraty <sjg@void.crufty.net>
1501 * install-mk (MK_VERSION): bump version
1502 * lib.mk: if sys.mk doesn't give us an lorder, don't use it.
1503 based on patch from Greg Olszewski.
1504 * Generic.sys.mk: if we have nothing to work with
1505 set LORDER etc only if we can find it.
1507 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1509 * install-mk (MK_VERSION): bump version
1510 * man.mk: cleanman: remove CLEANMAN if defined.
1512 2009-09-04 Simon J. Gerraty <sjg@void.crufty.net>
1514 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
1516 2009-07-17 Simon J. Gerraty <sjg@void.crufty.net>
1518 * install-mk (MK_VERSION): bump version
1522 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1524 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
1526 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1528 * install-mk (MK_VERSION): bump version
1529 man.mk: ensure we generate *.cat1 etc in .
1531 2008-07-16 Simon J. Gerraty <sjg@void.crufty.net>
1533 * install-mk (MK_VERSION): bump version
1536 2007-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1538 * Generic.sys.mk: Allow os specific sys.mk to be in a
1539 subdir of ${.PARSEDIR}
1541 2007-11-22 Simon J. Gerraty <sjg@void.crufty.net>
1543 * install-mk (MK_VERSION): bump version
1545 * dpadd.mk introduce DPMAGIC_LIBS_*
1547 2007-04-30 Simon J. Gerraty <sjg@void.crufty.net>
1549 * install-mk (MK_VERSION): bump version
1551 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog
1552 depend files and ensure clean is called for each lib/prog.
1554 2007-03-27 Simon J. Gerraty <sjg@void.crufty.net>
1556 * autodep.mk (.depend): delete lines that do not start with
1557 space and do not contain ':'
1559 2007-02-16 Simon J. Gerraty <sjg@void.crufty.net>
1561 * autodep.mk (.depend): gcc may wrap lines if pathnames are long
1562 so make sure the transform for .OPTIONAL copes.
1564 2007-02-03 Simon J. Gerraty <sjg@void.crufty.net>
1566 * install-mk (MK_VERSION): bump version
1568 * own.mk: make sure RM and LN are defined.
1570 * obj.mk: fix a typo, and objlink target.
1572 2006-12-30 Simon J. Gerraty <sjg@void.crufty.net>
1574 * install-mk (MK_VERSION): bump version
1575 * added libs.mk - analogous to progs.mk
1576 make both of them always inlcude {lib,prog}.mk
1578 2006-12-28 Simon J. Gerraty <sjg@void.crufty.net>
1580 * progs.mk: add a means of building multiple apps in one dir.
1582 2006-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1584 * install-mk (MK_VERSION): bump version to 20061126
1586 * warnings.mk: detect invalid WARNINGS_SET
1588 * warnings.mk: use ${.TARGET:T:R}.o when looking for target
1591 * For .cc sources, turn off warnings that g++ vomits on.
1593 2006-11-08 Simon J. Gerraty <sjg@void.crufty.net>
1595 * own.mk: if __initialized__ target doesn't exist and we are
1596 FreeBSD we got here directly from sys.mk
1598 2006-11-06 Simon J. Gerraty <sjg@void.crufty.net>
1600 * install-mk (MK_VERSION): bump version to 20061106
1603 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1605 * install-mk (MK_VERSION): bump version to 20060318
1607 * autodep.mk: avoid := when modifying OBJS into __dependsrcs
1609 2006-03-02 Simon J. Gerraty <sjg@void.crufty.net>
1611 * install-mk (MK_VERSION): bump version to 20060302
1612 * autodep.mk: use -MF et al to help gcc+ccache DTRT.
1614 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1616 * install-mk (MK_VERSION): bump version to 20060301
1617 * autodep.mk (.depend):
1618 if MAKE_VERSION is newer than 20050530 we can make .END depend on
1619 .depend and make .depend depend on __depsrcs that exist.
1620 * dpadd.mk: add SRC_PATHADD
1622 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1624 * install-mk (MK_VERSION): bump version to 20051104
1625 * prog.mk: remove all the LIBC?= junk, use
1626 .-include libnames.mk instead (none by default).
1627 also if USE_DPADD_MK is set, include that.
1629 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1631 * install-mk (MK_VERSION): bump version to 20051001
1632 Add UnixWare.sys.mk from Klaus Heinz.
1634 2005-04-05 Simon J. Gerraty <sjg@void.crufty.net>
1636 * install-mk: always install *.sys.mk and if need be symlink one
1639 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1641 * subdir.mk, own.mk: use .MAKE rather than MAKE
1643 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1645 * own.mk: don't use NetBSD's _SRC_TOP_ it can
1646 cause confusion. Also don't take just 'mk' as a
1649 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1651 * warnings.mk: overhauled, now very powerful.
1653 2004-02-03 Simon J. Gerraty <sjg@void.crufty.net>
1655 * Generic.sys.mk: need to use ${.PARSEDIR} with exists().
1657 2004-02-01 Simon J. Gerraty <sjg@void.crufty.net>
1659 * install-mk (MK_VERSION): bump version to 20040201
1660 * extract HOST_TARGET stuff to host-target.mk so own.mk and
1661 Generic.sys.mk can share.
1662 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
1664 2003-09-30 Simon J. Gerraty <sjg@void.crufty.net>
1666 * install-mk (MK_VERSION): 20030930
1667 * rename generic.sys.mk to Generic.sys.mk
1668 so that it does not get installed (unless being used as sys.mk)
1669 * set OS and ROOT_GROUP for those that we know the value.
1670 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
1671 we don't do it again for each sub-make.
1673 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1675 * install-mk (MK_VERSION): 20030928
1676 Add some extra *.sys.mk from bootstrap-pkgsrc
1677 some of these likely still need work.
1678 Make everything default to root:wheel ownership,
1679 sys.mk can set ROOT_GROUP accordingly.
1681 2003-08-07 Simon J. Gerraty <sjg@void.crufty.net>
1683 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
1684 not the portable ones.
1686 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1688 * install-mk: add ability to use cp -f when updating
1689 destination .mk files. Also now possible to play games with
1690 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
1691 into dest - not recommended unless you seriously want to.
1693 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1695 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
1696 for semi-compatability with NetBSD.
1698 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1700 * install-mk: add a version indicator
1702 2003-07-22 Simon J. Gerraty <sjg@void.crufty.net>
1704 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null
1706 * install-mk: Allow FORCE_SYS_MK to come from env