1 2023-04-20 Simon J Gerraty <sjg@beast.crufty.net>
3 * install-mk (MK_VERSION): 20230420
5 * lib.mk: include LDFLAGS and LDADD when linking shared libs
7 * gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc
8 via local.meta.sys.mk rather than local.gendirdeps.mk
9 so DEP_* variables can be set at level 1+ to avoid syntax errors
10 when used in conditionals in manually maintained Makefile.depend
13 * dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines
15 2023-04-18 Simon J Gerraty <sjg@beast.crufty.net>
17 * dirdeps.mk: check we were not included by
18 Makefile.depend.options as the result is bad.
20 2023-04-14 Simon J Gerraty <sjg@beast.crufty.net>
22 * install-mk (MK_VERSION): 20230414
24 * meta.sys.mk: since we have :range we can put the logic for
25 processing TARGET_SPEC from env here.
27 * dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including
28 local.dirdeps-missing.mk, also improve debug output.
30 * dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC
31 we need to use :M*[/.]* same as for when actually setting DIRDEPS
32 from the targets on command line.
34 2023-04-12 Simon J Gerraty <sjg@beast.crufty.net>
38 2023-03-21 Simon J Gerraty <sjg@beast.crufty.net>
40 * install-mk (MK_VERSION): 20230321
42 * meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter
43 STAGE_LIBS for SHLIB_LINKS.
45 * autoconf.mk: add .WAIT after config.status
47 2023-02-17 Simon J Gerraty <sjg@beast.crufty.net>
49 * sys.vars.mk: add M_Index to report the index of a word in a list.
51 2023-02-15 Simon J Gerraty <sjg@beast.crufty.net>
53 * install-mk (MK_VERSION): 20230215
55 * warnings.mk: allow better control of -Werror
56 allow -Wno-error or similar to be added if
57 WARNINGS_SET < WERROR_SET
58 account for COMPILER_TYPE
60 2023-01-29 Simon J Gerraty <sjg@beast.crufty.net>
62 * autoconf.mk: hook config.status to beforebuild.
64 * whats.mk: what*.c is NOTMAIN
66 2023-01-27 Simon J Gerraty <sjg@beast.crufty.net>
68 * install-mk (MK_VERSION): 20230127
69 control umask so directories are created with suitable mode.
71 2023-01-20 Simon J Gerraty <sjg@beast.crufty.net>
73 * install-mk (MK_VERSION): 20230120
75 * sys.vars.mk: add M_On and M_Onr also cleanup to be more
76 consistent wrt testing MAKE_VERSION
78 2023-01-12 Simon J Gerraty <sjg@beast.crufty.net>
80 * install-mk (MK_VERSION): 20230112
82 * meta2deps.{py,sh}: assert if filemon data is truncated
83 we should see the '# Bye bye' record - assert if we do not.
85 2022-09-09 Simon J Gerraty <sjg@beast.crufty.net>
87 * install-mk (MK_VERSION): 20220909
89 * sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings
91 2022-09-06 Simon J Gerraty <sjg@beast.crufty.net>
93 * dirdeps-options.mk: explain the need to use
94 ${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to
97 2022-09-03 Simon J Gerraty <sjg@beast.crufty.net>
99 * install-mk (MK_VERSION): 20220903
101 * M_cmpv handle more than 3 dots and clear leading 0's
103 2022-07-20 Simon J Gerraty <sjg@beast.crufty.net>
105 * install-mk (MK_VERSION): 20220720
107 * prog.mk: handle PROG_CXX for more than just NetBSD
109 2022-06-20 Simon J Gerraty <sjg@beast.crufty.net>
111 * install-mk (MK_VERSION): 20220620
113 * yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER
114 rather than just suffix rules
116 2022-04-23 Simon J Gerraty <sjg@beast.crufty.net>
118 * install-mk (MK_VERSION): 20220422
120 * gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no"
121 do not capture any local depends in Makefile.depend
123 2022-03-25 Simon J Gerraty <sjg@beast.crufty.net>
125 * install-mk (MK_VERSION): 20220323
126 * posix.mk: default rules for .POSIX:
128 2022-03-17 Simon J Gerraty <sjg@beast.crufty.net>
130 * sys/*.mk: remove l from ARFLAGS
132 2022-03-14 Simon J Gerraty <sjg@beast.crufty.net>
134 * install-mk (MK_VERSION): 20220314
136 * dirdeps-options.mk: allow options to be per RELDIR
137 try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed
140 2022-02-14 Simon J Gerraty <sjg@beast.crufty.net>
142 * install-mk (MK_VERSION): 20220214
144 * cc-wrap.mk: fix :@ modifier
146 2022-02-06 Simon J Gerraty <sjg@beast.crufty.net>
148 * install-mk (MK_VERSION): 20220206
150 * cc-wrap.mk: docuement how CCACHE etc might be set for
153 2022-02-05 Simon J Gerraty <sjg@beast.crufty.net>
155 * sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT
157 2022-02-04 Simon J Gerraty <sjg@beast.crufty.net>
159 * install-mk (MK_VERSION): 20220204
161 * host-target.mk: use .MAKE.OS if available
163 2022-02-02 Simon J Gerraty <sjg@beast.crufty.net>
165 * install-mk (MK_VERSION): 20220202
167 * cc-wrap.mk: allow other entries in CC_WRAP_FILTER
168 We add our filter on extensions last, so prior filters
169 can apply to the whole value of .IMPSRC
171 2022-02-01 Simon J Gerraty <sjg@beast.crufty.net>
173 * cc-wrap.mk: take advantage of target local variables to
174 wrap compilers like CC CXX with wrappers like ccache distcc etc
176 2022-01-28 Simon J Gerraty <sjg@beast.crufty.net>
178 * meta2deps: we do not expect any trace data for setid apps
180 2022-01-26 Simon J Gerraty <sjg@beast.crufty.net>
182 * dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed
183 to sub-make using DIRDEPS_CACHE
185 2022-01-07 Simon J Gerraty <sjg@beast.crufty.net>
187 * dirdeps.mk: use _cache_script to minimize the number of shells
188 forked when generating dirdeps.cache
190 2022-01-02 Simon J Gerraty <sjg@beast.crufty.net>
192 * install-mk (MK_VERSION): 20220101
194 * dirdeps.mk: initialize DEP_* and _debug_reldir earlier.
195 If initial DIRDEPS are from command line, create the target
196 _dirdeps_cmdline as an indication.
198 2022-01-01 Simon J Gerraty <sjg@beast.crufty.net>
200 * init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD
201 at top-level only some targets are allowed at level 0,
202 for leaf makefiles only the default (all) target is restricted
204 2021-12-28 Simon J Gerraty <sjg@beast.crufty.net>
206 * install-mk (MK_VERSION): 20211228
208 * meta2deps.py: filemon on Linux is not as reliable as we might
209 like, we do not want to update DIRDEPS if filemon output is
210 incomplete. Track pids that we 'E'xec and make sure we see an
211 e'X'it for each one. Throw an error if we are missing any 'X'
214 2021-12-12 Simon J Gerraty <sjg@beast.crufty.net>
216 * sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes.
218 * meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON
221 * meta.autodep.mk: we can now reference ${.SUFFIXES}
223 * meta2deps.py: derive a list of dirdep extensions from
224 TARGET_SPEC to trim from dirdeps.
226 * dirdeps.mk: flip the computation of qualified vs unqualified
227 dirdeps - it is much simpler to check for unqualified first.
229 2021-12-11 Simon J Gerraty <sjg@beast.crufty.net>
231 * install-mk (MK_VERSION): 20211212
233 * auto.dep.mk: rearrange so that the trivial implementation
234 for recent bmake is more obvious.
236 2021-12-07 Simon J Gerraty <sjg@beast.crufty.net>
238 * install-mk (MK_VERSION): 20211207
240 * Ensure guard targets are .NOTMAIN
242 * meta.sys.mk: check for nofilemon support when we skip level 0
244 * auto.dep.mk: make this usable in meta mode
245 for platforms that cannot use meta.autodep.mk
247 * meta2deps.py: avoid confusion if MACHINE and another
248 TARGET_SPEC_VAR have same value.
250 2021-11-27 Simon J Gerraty <sjg@beast.crufty.net>
252 * dirdeps.mk: when building dirdeps.cache, minimize the amount of
253 data put into env, by stripping ${SRCTOP}/ from each entry.
254 A long sandbox name can double the amount of memory consumed and
255 in extreme cases cause failure.
256 While we are at it, strip ${SRCTOP}/ from a lot of the debug output.
258 2021-11-11 Simon J Gerraty <sjg@beast.crufty.net>
260 * install-mk (MK_VERSION): 20211111
262 * meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail
263 so fallback to cp if necessary.
265 2021-10-30 Simon J Gerraty <sjg@beast.crufty.net>
267 * man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year
270 2021-10-24 Simon J Gerraty <sjg@beast.crufty.net>
272 * meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f}
273 as the symlink (rare)
275 2021-10-16 Simon J Gerraty <sjg@beast.crufty.net>
277 * autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not
278 been read, throw an error after running configure telling user to
281 2021-10-13 Simon J Gerraty <sjg@beast.crufty.net>
283 * install-mk (MK_VERSION): 20211011
285 * Add support for SCO_SV
287 2021-10-01 Simon J Gerraty <sjg@beast.crufty.net>
289 * install-mk (MK_VERSION): 20211001
291 * man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more
294 2021-09-13 Simon J Gerraty <sjg@beast.crufty.net>
296 * options.mk (describe-options): print options and their values
297 and optional description
299 2021-09-11 Simon J Gerraty <sjg@beast.crufty.net>
301 * install-mk (MK_VERSION): 20210911
303 * options.mk (show-options): print options and their values
305 2021-09-08 Simon J Gerraty <sjg@beast.crufty.net>
307 * install-mk (MK_VERSION): 20210909
309 * lib.mk: apply patch from <daniel@octaforge.org>
310 to fix shared libs on Linux
312 2021-08-08 Simon J Gerraty <sjg@beast.crufty.net>
314 * install-mk (MK_VERSION): 20210808
316 * options.mk: issue warning for WITH_*=no
318 2021-06-16 Simon J Gerraty <sjg@beast.crufty.net>
320 * install-mk (MK_VERSION): 20210616
322 * dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find
323 depend files to read, anchor MACHINE at , or end of string
324 to avoid prefix match.
326 2021-05-04 Simon J Gerraty <sjg@beast.crufty.net>
328 * install-mk (MK_VERSION): 20210504
330 * dirdeps.mk: re-implement ALL_MACHINES support to better
331 cater for local complexities, when ONLY_TARGET_SPEC_LIST
332 is not set. local.dirdeps.mk can set
333 DIRDEPS_ALL_MACHINES_FILTER and/or
334 DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get
335 from listing all existing Makefile.depend.*
337 2021-04-20 Simon J Gerraty <sjg@beast.crufty.net>
339 * install-mk (MK_VERSION): 20210420
341 * dirdeps.mk: revert previous - not always safe.
343 2021-03-20 Simon J Gerraty <sjg@beast.crufty.net>
345 * install-mk (MK_VERSION): 20210321
347 * dirdeps.mk: when generating dirdeps.cache
348 we only need to hook the initial DIRDEPS to the
349 dirdeps target. That and any _build_xtra_dirs (like tests which
350 should not be hooked directly to the dependency graph - to avoid
353 2021-01-30 Simon J Gerraty <sjg@beast.crufty.net>
355 * install-mk (MK_VERSION): 20210130
357 * dirdeps.mk: expr 2 - 1 - 1 exits with a bad status
358 we need to guard against this in DIRDEP_LOADAVG_REPORT.
360 * dirdeps.mk: restore respect for TARGET_MACHINE
362 2021-01-06 Simon J Gerraty <sjg@beast.crufty.net>
364 * install-mk (MK_VERSION): 20210101
366 * dirdeps.mk: first time we are read, just use TARGET_SPEC for
369 2020-12-22 Simon J Gerraty <sjg@beast.crufty.net>
371 * sys.mk (MAKE_SHELL): use ${.SHELL:Ush}
372 and use := when setting SHELL
374 2020-12-21 Simon J Gerraty <sjg@beast.crufty.net>
376 * install-mk (MK_VERSION): 20201221
378 * dirdeps-options.mk: latest bmake allows only one arg to .undef
380 2020-12-11 Simon J Gerraty <sjg@beast.crufty.net>
382 * dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS
383 so that any directory can be treated as a target.
385 2020-11-26 Simon J Gerraty <sjg@beast.crufty.net>
387 * install-mk (MK_VERSION): 20201126
389 * own.mk: use .MAKE.{UID,GID} if available.
391 * init.mk: suppress _SKIP_BUILD warning if doing -V
393 2020-11-20 Simon J Gerraty <sjg@beast.crufty.net>
395 * install-mk (MK_VERSION): 20201120
397 * init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS
399 * dirdeps-targets.mk: fix typo in comment
401 2020-11-06 Simon J Gerraty <sjg@beast.crufty.net>
403 * install-mk (MK_VERSION): 20201106
405 * meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed
406 args to tweak extensions for local deps.
408 2020-11-01 Simon J Gerraty <sjg@beast.crufty.net>
410 * install-mk (MK_VERSION): 20201101
412 * dirdeps.mk: most leaf makefiles are not suitable for building
413 dirdeps.cache so if RELDIR is not "." use dirdeps.mk
415 2020-10-28 Simon J Gerraty <sjg@beast.crufty.net>
417 * install-mk (MK_VERSION): 20201028
419 * dirdeps.mk: if we don't have :range use equivalent of M_RANGE
420 when building dirdeps.cache for leaf directory use -f dirdeps.mk
422 * sys.vars.mk: add M_JOT and M_RANGE
424 2020-10-01 Simon J Gerraty <sjg@beast.crufty.net>
426 * install-mk (MK_VERSION): 20201001
428 * meta2deps.{py,sh}: throw an error if we don't see filemon version
430 2020-09-09 Simon J Gerraty <sjg@beast.crufty.net>
432 * install-mk (MK_VERSION): 20200909
434 * dirdeps-cache-update.mk: use cache_update_dirdep as guard target
436 2020-08-26 Simon J Gerraty <sjg@beast.crufty.net>
438 * dirdeps.mk: ensure we cannot confuse a static cache for dynamic
439 (even more rare that use of static cache is playing clever tricks
442 2020-08-16 Simon J Gerraty <sjg@beast.crufty.net>
444 * dirdeps-cache-update.mk: allow
445 MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we
446 actually update STATIC_DIRDEPS_CACHE.
448 * stage-install.sh: create dest directory if needed
449 before running install(1)
451 2020-08-10 Simon J Gerraty <sjg@beast.crufty.net>
453 * dirdeps-targets.mk: include Makefile.dirdeps.options
455 * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE
457 2020-08-09 Simon J Gerraty <sjg@beast.crufty.net>
459 * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty
461 * dirdeps-cache-update.mk: building parallel cache update
462 under the context of dirdeps-cached would be ideal, but
463 is problematic, so it runs as a sibling.
464 Use cache-built target to ensure we wait for it to complete if
467 2020-08-06 Simon J Gerraty <sjg@beast.crufty.net>
469 * install-mk (MK_VERSION): 20200806
471 * dirdeps-options: allow TARGET_SPEC to affect option values.
472 Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_*
474 * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined
475 before looking for STATIC_DIRDEPS_CACHE
477 2020-08-05 Simon J Gerraty <sjg@beast.crufty.net>
479 * host-target.mk: Darwin use MACHINE for HOST_ARCH too
481 * dirdeps-options.mk: improve debug output
483 2020-07-22 Simon J Gerraty <sjg@beast.crufty.net>
485 * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE
486 for use by dirdeps-cache-update.mk
488 * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE
489 for use by dirdeps-cache-update.mk even if we don't use it.
491 * dirdeps-cache-update.mk: we only need worry about the background
492 update case, with the above, the update from DIRDEPS_CACHE is
495 * meta2deps.py: R 1234 . is not interesting
497 2020-07-20 Simon J Gerraty <sjg@beast.crufty.net>
499 * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE
501 * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS
502 allows use of lower case for pseudo options.
504 * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE
506 2020-07-18 Simon J Gerraty <sjg@beast.crufty.net>
508 * dirdeps-targets.mk: Look for Makefile.dirdeps.cache
509 which allows us to have a static cache for expensive targets.
510 Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE
511 to regenerate the dirdeps.cache it is a copy of.
513 2020-07-17 Simon J Gerraty <sjg@beast.crufty.net>
515 * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense.
517 2020-07-16 Simon J Gerraty <sjg@beast.crufty.net>
519 * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record
520 load averages at intervals during build.
522 2020-07-15 Simon J Gerraty <sjg@beast.crufty.net>
524 * install-mk (MK_VERSION): 20200715
526 * dirdeps.mk: tweak Checking line to make matching Finished
527 lines for post-build analysis easier.
529 * meta.autodep.mk: use !defined(WITHOUT_META_STATS)
531 * progs.mk: avoid prog.mk outputting multiple Finished lines
533 2020-07-11 Simon J Gerraty <sjg@beast.crufty.net>
535 * dirdeps.mk: further optimize dirdeps.cache
536 generate a DIRDEPS.${.TARGET} list for other purposes
537 and improve the layout.
539 2020-07-10 Simon J Gerraty <sjg@beast.crufty.net>
541 * dirdeps.mk: optimize content of dirdeps.cache
543 2020-06-28 Simon J Gerraty <sjg@beast.crufty.net>
545 * sys/*.mk: make it easier for local*sys.mk to customize by
548 2020-06-22 Simon J Gerraty <sjg@beast.crufty.net>
550 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0
551 it is much safer to guard local depends with a simple check for
554 2020-06-10 Simon J Gerraty <sjg@beast.crufty.net>
556 * install-mk (MK_VERSION): 20200610
558 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok
560 2020-06-06 Simon J Gerraty <sjg@beast.crufty.net>
562 * install-mk (MK_VERSION): 20200606
564 * dirdeps-targets.mk: allow for filtering of .TARGETS
566 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove
567 entries - and we don't care about 'W'rite entries.
568 Also ignore absolute paths that do not exist.
570 2020-05-25 Simon J Gerraty <sjg@beast.crufty.net>
572 * install-mk (MK_VERSION): 20200525
574 * init.mk: expand and simplify handling of qualified vars
575 like CPPFLAGS.${.TARGET:T}
577 2020-05-15 Simon J Gerraty <sjg@beast.crufty.net>
579 * install-mk (MK_VERSION): 20200515
581 * dirdeps.mk: set _debug_* earlier and allow passing -d*
582 flags to submake when building DIRDEPS_CACHE
584 2020-05-09 Simon J Gerraty <sjg@beast.crufty.net>
586 * whats.mk: more easily extensible
588 2020-05-02 Simon J Gerraty <sjg@beast.crufty.net>
590 * whats.mk: greatly simplify by adding what.c to SRCS
592 2020-05-01 Simon J Gerraty <sjg@beast.crufty.net>
594 * whats.mk: for libs take care how we add to *OBJS
596 * lib.mk: : works better with whats.mk
598 2020-04-25 Simon J Gerraty <sjg@beast.crufty.net>
600 * install-mk (MK_VERSION): 20200420
602 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep
603 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC}
605 2020-04-16 Simon J Gerraty <sjg@beast.crufty.net>
607 * install-mk (MK_VERSION): 20200416
609 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to
610 interfere with user env.
612 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL
614 * autodep.mk: use MAKE_SHELL.
616 2019-11-21 Simon J Gerraty <sjg@beast.crufty.net>
618 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of
619 wasted effort, and unexport _meta_files when no longer needed as
620 it consumes space we need for command line.
622 2019-11-11 Simon J Gerraty <sjg@beast.crufty.net>
624 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add
625 DIRDEP_USE_PRELUDE at start - facilitates job distribution
627 2019-10-04 Simon J Gerraty <sjg@beast.crufty.net>
629 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST
630 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid
631 TARGET_SPEC qualified depend files.
633 2019-10-02 Simon J Gerraty <sjg@beast.crufty.net>
635 * dirdeps-targets.mk: encapsulate logic for finding top-level
636 targets to set initial DIRDEPS for DIRDEPS_BUILD
638 2019-09-27 Simon J Gerraty <sjg@beast.crufty.net>
640 * install-mk (MK_VERSION): 20190911
642 * compiler.mk: set COMPILER_TYPE
644 2019-07-17 Simon J Gerraty <sjg@beast.crufty.net>
646 * install-mk (MK_VERSION): 20190704
648 * sys/Darwin.mk: support for Objective-C and clang
650 2019-05-30 Simon J Gerraty <sjg@beast.crufty.net>
652 * dirdeps.mk: avoid insanely long command line when generating cache
654 2019-05-23 Simon J Gerraty <sjg@beast.crufty.net>
656 * install-mk (MK_VERSION): 20190505
658 * whats.mk: handle corner case SHLIB defined but not LIB
660 2018-09-19 Simon J Gerraty <sjg@beast.crufty.net>
662 * install-mk (MK_VERSION): 20180919
664 * dirdeps-options.mk: .undef cannot handle var that expands to
667 2018-07-08 Simon J Gerraty <sjg@beast.crufty.net>
669 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc.
671 2018-06-01 Simon J Gerraty <sjg@beast.crufty.net>
673 * meta.autodep.mk: export META_FILES to avoid command line limit
674 * gendirdeps.mk: if we have lots of .meta files put them in
677 2018-05-28 Simon J Gerraty <sjg@beast.crufty.net>
679 * dirdeps-options.mk: use local.dirdeps-options.mk
680 not local.dirdeps-option.mk
682 2018-04-20 Simon J Gerraty <sjg@beast.crufty.net>
684 * install-mk (MK_VERSION): 20180420
685 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0
686 ie. we are building something.
688 2018-04-14 Simon J Gerraty <sjg@beast.crufty.net>
690 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS.
692 2018-04-05 Simon J Gerraty <sjg@beast.crufty.net>
694 * install-mk (MK_VERSION): 20180405
696 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER
699 2018-01-18 Simon J Gerraty <sjg@beast.crufty.net>
701 * install-mk (MK_VERSION): 20180118
703 * ldorder.mk: let make compute correct link order
705 2017-12-12 Simon J Gerraty <sjg@beast.crufty.net>
707 * install-mk (MK_VERSION): 20171212
709 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER
711 2017-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
713 * install-mk (MK_VERSION): 20171111
715 * lib.mk: ensure META_NOECHO is set
717 2017-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
719 * Allow for host32 on rare occasions.
721 2017-10-18 Simon J. Gerraty <sjg@bad.crufty.net>
723 * install-mk (MK_VERSION): 20171018
725 * whats.mk: include what_thing in what_uuid to avoid problem
726 when building multiple apps in the same directory.
728 2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
730 * install-mk (MK_VERSION): 20170812
732 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can
733 add dependencies for config.recheck and config.gen
735 2017-06-30 Simon J. Gerraty <sjg@bad.crufty.net>
737 * install-mk (MK_VERSION): 20170630
739 * meta.stage.mk: avoid triggering stage_* targets with nothing to do.
741 2017-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
743 * meta2deps.py: take special care of '..'
745 2017-05-15 Simon J. Gerraty <sjg@bad.crufty.net>
747 * install-mk (MK_VERSION): 20170515
749 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is
750 useful/necessary for a Makefile.depend file to export some knobs.
751 This is complicated when we are doing DIRDEPS_CACHE, so we will
752 handle export of any variables listed in DEP_EXPORT_VARS.
754 2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net>
756 * install-mk (MK_VERSION): 20170505
758 * meta2deps.py: fix botched indenation.
760 2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
762 * sys/*.mk: Remove setting of MAKE it is unnecessary and
763 in many cases wrong (basname rather than full path)
765 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk
767 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc
769 2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
771 * install-mk (MK_VERSION): 20170501
773 * doc.mk: fix typo in DOC_INSTALL_OWN
775 * inc.mk: handle INCGROUPS similar to freebsd
777 * files.mk: add something for files too
779 * add staging logic to lib.mk prog.mk etc.
781 2017-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
783 * install-mk (MK_VERSION): 20170424
785 * dirdeps.mk: set NO_DIRDEPS when bootstrapping.
786 also target of bootstrap-this when sed is needed should be ${_want:T}
788 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
790 * install-mk (MK_VERSION): 20170418
792 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a
793 prefix match for .CURDIR - in which case .CURDIR *is* __objdir.
795 2017-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
797 * install-mk (MK_VERSION): 20170401
799 * meta2deps.py: add is_src so we can check if obj dependency
800 is also a src dependency.
802 2017-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
804 * install-mk (MK_VERSION): 20170326
806 * meta.stage.mk: do nothing if NO_STAGING is defined.
808 2017-03-24 Simon J. Gerraty <sjg@bad.crufty.net>
810 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc.
812 2017-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
814 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_*
816 2017-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
818 * install-mk (MK_VERSION): 20170301
820 * dirdeps.mk (_build_all_dirs): update this outside test for empty
823 * meta.stage.mk: allow multiple inclusion to the extent it makes
826 2017-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
828 * prog.mk (install_links): depends on realinstall
830 2017-02-12 Simon J. Gerraty <sjg@bad.crufty.net>
832 * install-mk (MK_VERSION): 20170212
834 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries
836 2017-01-30 Simon J. Gerraty <sjg@bad.crufty.net>
838 * install-mk (MK_VERSION): 20170130
840 * dirdeps.mk: use :range if we can.
842 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130
844 * meta2deps.py: clean paths without using realpath() where possible.
847 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
849 * install-mk (MK_VERSION): 20161212
851 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir,
852 rather than when we detect pid change.
854 2016-12-07 Simon J. Gerraty <sjg@bad.crufty.net>
856 * install-mk (MK_VERSION): 20161207
858 * meta.stage.mk: add stage_as_and_symlink for staging packages.
859 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able
860 to use foo.tgz to reference the latest staged version - so we
861 make foo.tgz a symlink to it.
862 Using a target to do both operations ensures we stay in sync.
864 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
866 * install-mk (MK_VERSION): 20161126
868 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk
869 so it can add dependencies.
871 2016-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
873 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE
874 do that they can influence the result correctly.
876 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC
878 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST
879 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST
881 2016-10-05 Simon J. Gerraty <sjg@bad.crufty.net>
883 * dirdeps.mk: remove dependence on jot (normal situations anyway).
884 Before we read another Makefile.depend* set DEP_* vars from
885 _DEP_TARGET_SPEC in case it uses any of them with :=
886 When bootstrapping, trim any ,* from extention of chosen _src
887 Makefile.depend* to get the machine value we subst for.
889 2016-09-30 Simon J. Gerraty <sjg@bad.crufty.net>
891 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to
892 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER
894 * sys.mk: extract some bits to sys.{debug,vars}.mk
895 for easier re-use by others.
897 2016-09-23 Simon Gerraty <sjg@sjg-mba13>
899 * lib.mk: Use ${PICO} for extension for PIC objects.
900 default to .pico (like NetBSD) safe on case insensitive filesystem.
902 2016-08-19 Simon J. Gerraty <sjg@bad.crufty.net>
904 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default
906 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
908 * install-mk (MK_VERSION): 20160815
910 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only
911 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date.
913 2016-08-13 Simon J. Gerraty <sjg@bad.crufty.net>
915 * meta.sys.mk (.MAKE.META.IGNORE_PATHS):
916 in meta mode we can ignore the mtime of makefiles
918 2016-08-02 Simon J. Gerraty <sjg@bad.crufty.net>
920 * install-mk (MK_VERSION): 20160802
922 * lib.mk (libinstall): depends on beforinstall
924 * prog.mk (proginstall): depends on beforinstall
925 patch from Lauri Tirkkonen
927 * dirdeps.mk (bootstrap): When bootstrapping; creat
928 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via
929 .MAKE.DEPENDFILE_BOOTSTRAP_SED
931 * dirdeps.mk: move some comments to where they make sense.
933 2016-07-27 Simon J. Gerraty <sjg@bad.crufty.net>
935 * dirdeps.mk (DIRDEPS_CACHE): no dirname.
937 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
939 * install-mk (MK_VERSION): 20160602
940 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk
941 do not apply :T to META_XTRAS
942 patch from Bryan Drewery at FreeBSD.org.
944 2016-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
946 * install-mk (MK_VERSION): 20160530
947 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH
950 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
952 * install-mk (MK_VERSION): 20160512
954 * dpadd.mk: always include local.dpadd.mk if it exists
955 remove some things that better belong in local.dpadd.mk
956 skip INCLUDES_* for staged libs unless SRC_* defined.
958 * own.mk: add INCLUDEDIR
960 2016-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
962 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no
963 TARGET_MACHINE - :E will be empty or match part of path, use
966 2016-04-07 Simon J. Gerraty <sjg@bad.crufty.net>
968 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to
971 * dirdeps.mk: move the logic that allows for
972 make -f dirdeps.mk some/dir.${TARGET_SPEC}
973 inside the check for !target(_DIRDEP_USE)
975 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
977 * Use <> when including local*.mk and others which may exist
978 elsewhere so that user can better control what they get.
980 * meta.autodep.mk (NO_FILEMON_COOKIE):
981 create a cookie if we ever build dir with nofilemon
982 so that UPDATE_DEPENDFILE will be forced to NO until cleaned.
984 2016-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
986 * install-mk (MK_VERSION): 20160401
988 * meta2deps.py: fix old print statement when debugging.
990 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X
991 patch from Bryan Drewery
993 2016-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
995 * install-mk (MK_VERSION): 20160317 (St. Pats)
997 * warnings.mk: g++ does not like -Wimplicit
999 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the
1000 pelthora of common suffixes for C++
1002 * lib.mk: use .So for shared objects
1004 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
1006 * install-mk (MK_VERSION): 20160315
1008 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1)
1009 normally only applies to scripts.
1011 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as
1014 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
1016 * install-mk (MK_VERSION): 20160310
1018 * dirdeps.mk: use targets rather than a list to track DIRDEPS that
1019 we have processed; the list gets very inefficient as number of
1022 * sys.dependfile.mk: fix comment wrt MACHINE
1024 * meta.autodep.mk: ignore staged DPADDs when bootstrapping.
1025 patch from Bryan Drewery
1027 2016-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
1029 * meta2deps.sh: don't ignore subdirs.
1030 patch from Bryan Drewery
1032 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
1034 * install-mk (MK_VERSION): 20160226
1036 * gendirdeps.mk: mark _DEPENDFILE .NOMETA
1038 2016-02-20 Simon J. Gerraty <sjg@bad.crufty.net>
1040 * dirdeps.mk: we shouldn't normally include .depend but if we do
1041 use .dinclude if we can.
1043 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
1045 * install-mk (MK_VERSION): 20160218
1046 * sys.clean-env.mk: with recent change to Var_Subst()
1047 we cannot use the '$$' trick, but .export-literal does the job
1049 * auto.dep.mk: make use .dinclude if we can.
1052 2016-02-05 Simon J. Gerraty <sjg@bad.crufty.net>
1055 Add _build_all_dirs such that local.dirdeps.mk can
1056 add fully qualified dirs to it.
1057 These will be built normally but the current
1058 DEP_RELDIR will not depend on then (to avoid cycles).
1059 This makes it easy to hook things like unit-tests into build.
1062 2016-01-21 Simon J. Gerraty <sjg@bad.crufty.net>
1064 * dirdeps.mk: add bootstrap-empty
1066 2015-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
1068 * install-mk (MK_VERSION): 20151212
1069 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
1070 only apply :tA to __objdir when comparing to .OBJDIR
1072 2015-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
1074 * install-mk (MK_VERSION): 20151111
1076 * meta.sys.mk: include sys.dependfile.mk
1078 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk
1079 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
1080 include local.sys.env.mk early
1081 include local.sys.mk later
1083 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
1085 2015-11-13 Simon J. Gerraty <sjg@bad.crufty.net>
1087 * meta.sys.mk (META_COOKIE_TOUCH):
1088 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
1090 * meta.stage.mk: stage_libs should ignore SYMLINKS.
1092 2015-10-23 Simon J. Gerraty <sjg@bad.crufty.net>
1094 * install-mk (MK_VERSION): 20151022
1096 * sys.mk: BSD/OS does not have 'type' as a shell builtin.
1098 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
1100 * install-mk (MK_VERSION): 20151020
1102 * dirdeps.mk: Add logic for
1103 make -f dirdeps.mk some/dir.${TARGET_SPEC}
1105 2015-10-14 Simon J. Gerraty <sjg@bad.crufty.net>
1107 * install-mk (MK_VERSION): 20151010
1109 2015-10-02 Simon J. Gerraty <sjg@bad.crufty.net>
1111 * meta.stage.mk: use staging: ${STAGE_TARGETS:...
1112 to have stage_lins run last in non-jobs mode.
1113 Use .ORDER only for jobs mode.
1115 2015-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
1117 * rst2htm.mk: allow for per target flags etc.
1119 2015-09-01 Simon J. Gerraty <sjg@bad.crufty.net>
1121 * install-mk (MK_VERSION): 20150901
1123 * doc.mk: create dir if needed use DOC_INSTALL_OWN
1125 2015-06-15 Simon J. Gerraty <sjg@bad.crufty.net>
1127 * install-mk (MK_VERSION): 20150615
1129 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too.
1130 Follow make's normal precedence rules.
1132 * gendirdeps.mk: allow customization of the header.
1134 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}';
1136 * meta.autodep.mk: ignore dirdeps.cache*
1138 * meta.stage.mk: when bootstrapping options it can be handy to
1139 throw warnings rather than errors for staging conflicts.
1141 * meta.sys.mk: include local.meta.sys.mk for customization
1143 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1145 * install-mk (MK_VERSION): 20150606
1147 * dirdeps.mk: don't rely on manually maintained Makefile.depend
1148 to set DEP_RELDIR and reset DIRDEPS.
1149 By setting DEP_RELDIR ourselves we can skip :tA
1151 * gendirdeps.mk: skip setting DEP_RELDIR.
1153 2015-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1155 * dirdeps.mk: avoid wildcards like make(bootstrap*)
1157 2015-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
1159 * install-mk (MK_VERSION): 20150520
1161 * dirdeps.mk: when we are building dirdeps cache file we *want*
1162 meta_oodate to look at all the Makefile.depend files, so
1163 set .MAKE.DEPENDFILE to something that won't match.
1165 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique
1166 so first use absolute path as key.
1167 Also skip staging at level 0.
1169 2015-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
1171 * install-mk (MK_VERSION): 20150430
1173 * dirdeps.mk: fix _count_dirdeps for non-cache case.
1175 2015-04-16 Simon J. Gerraty <sjg@bad.crufty.net>
1177 * install-mk (MK_VERSION): 20150411
1180 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES.
1181 it is here mainly for documentation purposes, since
1182 if using auto.obj.mk it is better done via sys.mk
1184 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
1186 * install-mk (MK_VERSION): 20150401
1188 * meta2deps.sh: support @list
1190 * meta2deps.py: updates from Juniper
1192 o skip bogus input files.
1193 o treat 'M' and 'L' as both an 'R' and a 'W'
1195 2015-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
1197 * install-mk (MK_VERSION): 20150303
1199 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache
1200 which is built via sub-make so we have a .meta file to tell if
1202 The dirdeps-cache contains the same dependency rules that we
1203 normaly construct on the fly.
1204 This adds a few seconds overhead when the cache is out of date,
1205 but for a large target, the savings can be significant (10-20min).
1207 2014-11-18 Simon J. Gerraty <sjg@bad.crufty.net>
1209 * install-mk (MK_VERSION): 20141118
1211 * meta.stage.mk: add stale_staged
1213 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked
1214 only useful under very rare conditions such as
1215 FreeBSD's make universe.
1217 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto
1219 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
1221 * install-mk (MK_VERSION): 20141111
1223 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts
1225 2014-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
1227 * FILES: include mkopt.sh which allows handling options in shell
1228 scripts in a manner compatible with options.mk
1230 2014-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
1232 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used
1233 for GENDIRDEPS_FILTER to avoid surprises.
1235 2014-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1237 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by
1238 the time it is applied to __depdirs they have.
1240 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes
1241 expects patterns like *.${MACHINE}
1243 * cython.mk (pyprefix?): use pyprefix to find python bits
1244 since prefix might be something else (where we install our
1247 2014-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
1249 * install-mk (MK_VERSION): 20140911
1251 * dirdeps.mk: add bootstrap target to simplify adding support for
1254 2014-09-01 Simon J. Gerraty <sjg@bad.crufty.net>
1256 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and
1257 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable
1258 Makefile.depend files.
1260 2014-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
1262 * install-mk (MK_VERSION): 20140828
1264 * cython.mk: capture logic for building python extension modules
1267 2014-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1269 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant
1271 2014-08-02 Simon J. Gerraty <sjg@bad.crufty.net>
1273 * install-mk (MK_VERSION): 20140801
1275 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to
1276 identify the autodep.mk variant.
1278 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its
1279 initial value does not match .MAKE.DEPENDFILE_PREFIX
1281 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS
1283 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
1285 * install-mk (MK_VERSION): 20140522
1287 * lib.mk: use CC to link shlib for linux too
1288 patch from Brendan MacDonell
1290 2014-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1292 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats
1293 if WITH_META_STATS is defined.
1295 2014-05-02 Simon J. Gerraty <sjg@bad.crufty.net>
1297 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS)
1298 to supress dirdeps outside of .CURDIR.
1300 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
1302 * Fix spelling errors - patch from Pedro Giffuni
1304 2014-03-14 Simon J. Gerraty <sjg@bad.crufty.net>
1306 * install-mk (MK_VERSION): 20140314
1308 * dirdeps.mk (beforedirdeps): a handy hook
1310 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run
1311 to visit leaf dirs to be intercepted (eg. for distributed
1314 * dirdeps.mk (__depdirs): ensure // don't sneak in
1316 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in
1319 2014-02-21 Simon J. Gerraty <sjg@bad.crufty.net>
1321 * rst2htm.mk (RST2PDF): add support for rst2pdf
1323 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
1325 * install-mk (MK_VERSION): bump version
1326 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if
1329 2014-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
1331 * options.mk: avoid :U so this isn't bmake dependent
1333 2014-02-09 Simon J. Gerraty <sjg@bad.crufty.net>
1335 * options.mk: cleanup and simplify semanitcs
1336 NO_* dominates all, if both WITH_* and WITHOUT_*
1337 are defined then result is DOMINATE_* which defaults to "no".
1338 Ie. WITHOUT_ normally wins.
1340 2013-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
1342 * install-mk (MK_VERSION): bump version
1343 * meta2deps.py: convert to print function for python3 compat.
1344 we also need to open files with mode 'r' rather than 'rb'
1345 otherwise we get bytes instead of strings.
1347 2013-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1349 * install-mk (MK_VERSION): bump version
1351 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE
1352 apply the same filtering (M_dep_qual_fixes) when setting _machines
1354 Also fix the filtering of Makefile.depend files - for reporting
1355 what we are looking for (M_dep_qual_fixes can get confused by
1357 Add some more debug info.
1359 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
1361 * gendirdeps.mk (_objtops): fix typo also
1362 while processing M2D_OBJROOTS to gather qualdir_list
1363 qualify $ql with loop iterator to ensure correct results.
1365 2013-08-01 Simon J. Gerraty <sjg@bad.crufty.net>
1367 * install-mk (MK_VERSION): 20130801
1368 * libs.mk: update to match progs.mk
1370 2013-07-26 Simon J. Gerraty <sjg@bad.crufty.net>
1372 * install-mk (MK_VERSION): 20130726
1373 some updates from Juniper and FreeBSD
1374 o meta2deps.py: indicate file and line number when we hit parse
1376 also allow @file to provide huge list of .meta files.
1377 * meta2deps.py: add try_parse() to cleanup the above.
1379 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
1381 * install-mk (MK_VERSION): 20130716
1382 * own.mk: add GPROG as an option
1383 * prog.mk: honor MK_GPROF==yes
1385 2013-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
1387 * install-mk (MK_VERSION): 20130505
1388 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC
1389 for when $MACHINE isn't enough for objdir distinction.
1390 Bring meta2deps.sh closer to par with meta2deps.py.
1392 2013-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
1394 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all'
1395 also if the target 'beforeinstall' exists, make it depend on
1396 .dirdep (incase it uses STAGE_INSTALL).
1398 2013-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
1400 * install-mk (MK_VERSION): 20130401 ;-)
1401 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as
1402 wrapper around install(1).
1403 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_
1405 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1407 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized.
1408 * install-mk (MK_VERSION): bump version
1410 2013-03-21 Simon J. Gerraty <sjg@bad.crufty.net>
1412 * install-mk (MK_VERSION): bump version
1413 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose
1414 any trailing /., rather apply :tA only when needed.
1415 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files.
1416 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance
1418 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC.
1420 2013-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
1422 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT
1423 it is simpler to just not update when say building for "host"
1424 (where we know we apply filters to DIRDEPS), and using a
1425 non-machine qualified dependfile.
1427 2013-03-16 Simon J. Gerraty <sjg@bad.crufty.net>
1429 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR
1430 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC
1431 * gendirdeps.mk: ensure _objroot has trailing / if it needs it.
1432 * meta2deps.py: if machine is "host", then also trim
1433 self.host_target from any OBJROOTS.
1436 2013-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
1438 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine
1439 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists
1440 but _DEPENDFILE does not, compare the new _DEPENDFILE against
1441 .MAKE.DEPENDFILE_DEFAULT and discard if the same.
1443 2013-03-08 Simon J. Gerraty <sjg@bad.crufty.net>
1445 * meta.stage.mk: use STAGE_TARGETS to control .ORDER
1446 and hook to all: via staging:
1448 2013-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
1450 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT):
1451 use a separate variable for the default .MAKE.DEPENDFILE value
1452 so that it can be controlled independently of
1453 .MAKE.DEPENDFILE_PREFERENCE
1455 * meta.stage.mk: throw error if cp fails etc.
1456 Stage*() return early if passed no args.
1459 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
1461 * install-mk (MK_VERSION): bump version
1462 * gendirdeps.mk: handle multiple M2D_OBJROOTS better.
1464 2013-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
1466 * install-mk (MK_VERSION): bump version to 20130210
1467 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py
1469 o dirdeps.mk now fully supports TARGET_SPEC consisting of more
1471 o no longer use DEP_MACHINE from Makefile.depend* so remove it.
1473 2013-01-23 Simon J. Gerraty <sjg@bad.crufty.net>
1475 * install-mk (MK_VERSION): bump version to 20130123
1476 * meta.stage.mk: add stage_links (hard links).
1477 if doing hard links, we add dest to link as well.
1478 Default the stage dir for [sym]links to STAGE_OBJTOP since
1479 these are typically specified as absolute paths.
1480 Add -m "mode" flag to StageFiles and StageAs.
1482 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
1484 * install-mk (MK_VERSION): bump version to 20121111
1485 * autoconf.mk: avoid meta mode seeing changed commands for config.status
1486 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps
1487 in case we were found via .../mk
1488 * sys.clean-env.mk: move it from examples, we and others use it
1490 * FILES: add srctop.mk and options.mk
1491 * own.mk: convert to using options.mk
1492 which is modeled after FreeBSD's handling of MK_*
1494 This allows MK_* for boolean knobs to not be confused
1495 with MK* which can be commands.
1497 * examples/sys.clean-env.mk: add WITH[OUT]_ to
1498 MAKE_ENV_SAVE_PREFIX_LIST.
1499 Mention that HOME=/var/empty might be a good idea.
1501 2012-11-08 Simon J. Gerraty <sjg@bad.crufty.net>
1503 * sys.dependfile.mk: if not depend file exists, $MACHINE
1504 specific ones are supported but not the default,
1505 check if any exist and follow suit.
1507 2012-11-06 Simon J. Gerraty <sjg@bad.crufty.net>
1509 * install-mk (MK_VERSION): bump version to 20121106
1511 2012-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
1513 * import latest dirdeps.mk and meta2deps.py from Juniper.
1514 * progs.mk: add MAN and CXXFLAGS to PROG_VARS
1515 also add PROGS_TARGETS and pass on PROG_CXX if it seems
1518 2012-11-04 Simon J. Gerraty <sjg@bad.crufty.net>
1520 * meta.stage.mk: update CLEANFILES
1521 remove redundant cp of .dirdep from STAGE_AS_SCRIPT.
1522 * progs.mk: Add LDADD to PROG_VARS
1524 2012-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
1526 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in
1527 _STAGED_DIRS so that these can be turned into filters for
1530 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1532 * install-mk (MK_VERSION): bump version to 20121010
1533 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing
1534 target.dirdep matches .dirdep
1536 2012-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1538 * install-mk (MK_VERSION): bump version to 20120808
1539 * import latest meta2deps.py from Juniper.
1541 2012-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
1543 * install-mk (MK_VERSION): bump version to 20120711
1544 * dep.mk: add explicit dependencies on SRCS after applying
1546 * meta.autodep.mk: add explicit dependencies on SRCS after
1547 applying SRCS_DEP_FILTER
1548 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed.
1550 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
1552 * install-mk (MK_VERSION): bump version to 20120626
1553 * meta.sys.mk: ignore PYTHON if it does not exist
1554 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable.
1555 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any
1556 entries ending in .${MACHINE} to decide if qualified _dirdep is
1558 * gendirdeps.mk: only produce unqualified deps if no
1559 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
1560 * meta.subdir.mk: apply SUBDIRDEPS_FILTER
1562 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1564 * install-mk (MK_VERSION): bump version to 20120420
1565 * add sys.dependfile.mk so we can experiment with
1566 .MAKE.DEPENDFILE_PREFERENCE
1567 * meta.autodep.mk: _DEPENDFILE is precious!
1569 2012-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
1571 * install-mk (MK_VERSION): bump version to 20120315
1572 * install-new.mk: avoid being interrupted
1574 2012-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
1576 * man.mk: MAN might have multiple values so be careful with exists().
1578 2012-01-19 Simon J. Gerraty <sjg@bad.crufty.net>
1580 * install-mk (MK_VERSION): bump version to 20120112
1581 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled
1582 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}'
1584 2011-12-03 Simon J. Gerraty <sjg@bad.crufty.net>
1586 * install-mk (MK_VERSION): bump version to 20111201
1587 * import dirdeps.mk from Juniper sjg@
1588 o more consistent handling of DEP_MACHINE, especially when
1589 dealing with an odd Makefile.depend, when normally using
1590 Makefile.depend.${MACHINE}
1592 2011-11-22 Simon J. Gerraty <sjg@bad.crufty.net>
1594 * install-mk (MK_VERSION): bump version to 20111122
1595 * meta.autodep.mk: add some debug output, be more crisp about
1596 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend
1598 2011-11-13 Simon J. Gerraty <sjg@bad.crufty.net>
1600 * install-mk (MK_VERSION): bump version to 20111111
1601 it's too cool to miss
1602 * import meta* updates from Juniper sjg@
1603 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are
1604 normally using Makefile.depend.${MACHINE}), handy for
1605 read-only manually maintained dependencies.
1606 o meta2deps.py add a clear 'ERROR:' token if an exception is raised.
1607 o gendirdeps.mk if ERROR: from meta2deps.py do not update
1610 2011-10-30 Simon J. Gerraty <sjg@bad.crufty.net>
1612 * install-new.mk separate the cmp and copy logic to its own function.
1614 2011-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
1616 * install-mk (MK_VERSION): bump version to 20111028
1617 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto
1618 * subdir.mk: ensure _SUBDIRUSE is provided
1619 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk
1620 * meta.subdir.mk: always allow for Makefile.depend
1622 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1624 * install-mk (MK_VERSION): bump version to 20111010
1625 o minor tweak to *dirdeps.mk from Juniper sjg@
1627 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
1629 * install-mk (MK_VERSION): bump version to 20111001
1630 o add meta2deps.py from Juniper sjg@
1631 o tweak gendirdeps.mk to work with meta2deps.py when not
1633 * autoconf.mk: add autoconf-input as a hook for regenerating
1634 AUTOCONF_INPUTS (configure).
1636 2011-08-24 Simon J. Gerraty <sjg@bad.crufty.net>
1638 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful
1639 trigger for updating Makefile.depend*
1641 2011-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1643 * install-mk (MK_VERSION): bump version to 20110808
1644 * obj.mk: minor cleanup
1645 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too.
1647 2011-08-01 Simon J. Gerraty <sjg@bad.crufty.net>
1649 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the
1652 2011-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
1654 * meta.autodep.mk: if XMAKE_META_FILE is set
1655 the makefile uses a foreign make, and so dependencies
1656 can only be gathered from a clean tree build.
1658 2011-06-24 Simon J. Gerraty <sjg@bad.crufty.net>
1660 * install-mk (MK_VERSION): bump version to 20110622
1661 * meta.autodep.mk: improve bootstraping
1663 2011-06-10 Simon J. Gerraty <sjg@bad.crufty.net>
1665 * yacc.mk: handle the corner case of .c being removed
1668 2011-06-08 Simon J. Gerraty <sjg@bad.crufty.net>
1670 * yacc.mk: do .y.h and .y.c separately
1672 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1674 * install-mk (MK_VERSION): bump version to 20110606
1675 * don't store SRC_DIRDEPS in Makefile.depend* by default
1676 not everyone needs it.
1678 2011-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
1680 * install-mk (MK_VERSION): bump version to 20110505
1681 first release including meta mode makefiles
1683 2011-05-02 Simon J. Gerraty <sjg@bad.crufty.net>
1685 * meta.stage.mk: add STAGE_AS_SETS and stage_as
1686 for things that need to be staged with different names.
1688 2011-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
1690 * meta.stage.mk: add notion of STAGE_SETS
1691 so a makefile can stage to multiple dirs
1693 2011-04-03 Simon J. Gerraty <sjg@bad.crufty.net>
1695 * rst2htm.mk: convert rst to s5 (slides) or plain html depending
1698 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1700 * install-mk (MK_VERSION): bump version to 20110330
1702 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
1704 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0
1705 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest.
1706 * sys.mk: re-define M_whence in terms of M_type.
1707 M_type is useful for checking if something is a builtin.
1709 2011-03-16 Simon J. Gerraty <sjg@bad.crufty.net>
1711 * meta.stage.mk: add stage_symlinks and leverage StageLinks for
1714 2011-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
1716 * dirdeps.mk: correct value for _depdir_files depends on
1718 Add our copyright - just to make it clear we have frobbed this
1720 DEP_MACHINE needs to be set to MACHINE each time, if using only
1721 Makefile.depend (cf. Makefile.depend.${MACHINE})
1723 * meta.stage.mk: meta mode version of staging
1725 * init.mk, final.mk: include local.*.mk to simplify customization
1727 2011-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
1729 * auto.obj.mk: just because we are doing mk destroy, we should
1730 still set .OBJDIR correctly if it exists.
1732 * install-mk (mksrc): do not exclude meta.sys.mk
1734 2011-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
1736 * host-target.mk: set/export _HOST_ARCH etc separately,
1737 catch junk resulting from uname -p, so we can find sys/Linux.mk
1740 2011-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
1742 * meta.sys.mk: throw an error if /dev/filemon is missing and we
1743 expected to be updating Makefile.depend*
1745 2011-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
1747 * install-mk (MK_VERSION): bump version to 20110214
1748 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES
1750 2010-09-25 Simon J. Gerraty <sjg@bad.crufty.net>
1752 * meta.sys.mk: not valid for older bmake
1754 2010-09-24 Simon J. Gerraty <sjg@bad.crufty.net>
1756 * install-mk (MK_VERSION): bump version to 20100919
1757 include dirdeps.mk et al from Juniper Networks,
1758 for meta mode - requires filemon(9).
1759 * sys.mk, subdir.mk: Add hooks for meta mode.
1760 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk
1761 to make turning it on/off simple.
1763 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
1765 * install-mk (MK_VERSION): bump version to 20100616
1766 * fix typo in sys.mk
1768 2010-06-12 Simon J. Gerraty <sjg@bad.crufty.net>
1770 * install-mk (MK_VERSION): bump version to 20100612
1771 * lib.mk: remove duplicate addition to SOBJS
1773 2010-06-10 Simon J. Gerraty <sjg@bad.crufty.net>
1775 * sys.mk: Add a means of selectively turning on debug flags.
1776 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg"
1777 will act as if we did make -dv if .CURDIR ends in lib/sjg
1778 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at
1779 the start of sys.mk rather than the end.
1780 This only makes sense for leaf dirs, so we check that
1783 2010-06-09 Simon J. Gerraty <sjg@bad.crufty.net>
1785 * install-mk (MK_VERSION): bump version to 20100608
1786 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al.
1787 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606
1788 also make it easier for folk to tweak
1790 2010-06-08 Simon J. Gerraty <sjg@bad.crufty.net>
1792 * install-mk (MK_VERSION): bump version to 20100606
1793 do not install examples/*
1794 * FILES: add examples/sys.clean-env.mk
1795 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR
1796 this requires bmake-20100606 or later to work.
1798 2010-05-13 Simon J. Gerraty <sjg@bad.crufty.net>
1800 * sys.mk (M_tA): better simulate the result of :tA if not available.
1802 2010-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
1804 * sys.mk: canonicalize MAKE_VERSION
1805 old versions reported bmake-<src-date> build-<build-date>
1806 whereas we only care about <src-date>
1808 2010-04-25 Simon J. Gerraty <sjg@bad.crufty.net>
1810 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored
1811 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION
1814 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
1816 * dpadd.mk: use LDADD_* if defined.
1818 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
1820 * install-mk (MK_VERSION): bump version to 20100420
1821 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy
1822 * autoconf.mk allow AUTO_AUTOCONF
1824 2010-04-19 Simon J. Gerraty <sjg@bad.crufty.net>
1826 * obj.mk: add objwarn to keep freebsd makefiles happy
1827 * auto.obj.mk: ensure Mkdirs is available.
1828 * FILES: add auto.dep.mk - a simpler version of autodep.mk
1829 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if
1831 fix/simplify the tests for when to run mkdep.
1832 * auto.dep.mk: add some explanation of how/what we do.
1833 * autodep.mk: skip the .OPTIONAL frobbing of .depend
1834 bmake's FROM_DEPEND flag makes it redundant.
1836 2010-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
1838 * install-mk (MK_VERSION): bump version to 20100404
1839 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE.
1840 * obj.mk: protect from multiple inclusion even as bsd.obj.mk
1841 Also create a target _SUBDIRUSE so that we can be used without
1844 2010-04-12 Simon J. Gerraty <sjg@bad.crufty.net>
1846 * dep.mk: use <> when .including so can override.
1848 2010-01-11 Simon J. Gerraty <sjg@bad.crufty.net>
1850 * lib.mk (SHLIB_LINKS): ensure a string comparison.
1852 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1854 * install-mk (MK_VERSION): bump version to 20100102
1855 * own.mk: ensure PRINTOBJDIR works
1856 * autoconf.mk: pass on CONFIGURE_ARGS
1857 * init.mk: handle COPTS.${.IMPSRC:T} etc.
1858 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION
1859 fix handling of symlinks for darwin
1860 * libnames.mk: add DSHLIBEXT for libs which only exist as shared.
1861 * man.mk: suppress chown when not root.
1862 * rst2htm.mk: allow srcs from multiple locations.
1863 * sys.mk: M_whence, stop after 1st line of output.
1864 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT
1865 * sys/SunOS.mk: we need to export PATH
1867 2009-12-23 Simon J. Gerraty <sjg@void.crufty.net>
1869 * install-mk (MK_VERSION): bump version
1872 2009-12-17 Simon J. Gerraty <sjg@void.crufty.net>
1874 * sys.mk,libnames.mk add .-include <local.*>
1875 this allows local customization without the need to edit the
1878 2009-12-14 Simon J. Gerraty <sjg@void.crufty.net>
1880 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up
1881 older versions already installed.
1883 2009-12-13 Simon J. Gerraty <sjg@void.crufty.net>
1885 * stage.mk (.stage-install): generalize lib.mk's .libinstall
1886 * rules.mk rules for generic Makefile.
1887 * inc.mk install for includes.
1889 2009-12-11 Simon J. Gerraty <sjg@void.crufty.net>
1891 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check
1892 this, so provide it if using native make.
1894 2009-12-10 Simon J. Gerraty <sjg@void.crufty.net>
1896 * FILES: move all the platform *.sys.mk files to sys/*.mk
1897 * Rename Generic.sys.mk to sys.mk - we always want it.
1899 2009-11-17 Simon J. Gerraty <sjg@void.crufty.net>
1901 * install-mk (MK_VERSION): bump version
1902 * host-target.mk: only export the expensive stuff
1903 * Generic.sys.mk (sys_mk): for SunOS we need to look for
1904 ${HOST_OS}.${HOST_OSMAJOR} too!
1906 2009-11-07 Simon J. Gerraty <sjg@void.crufty.net>
1908 * install-mk (MK_VERSION): bump version
1909 * lib.mk: if sys.mk doesn't give us an lorder, don't use it.
1910 based on patch from Greg Olszewski.
1911 * Generic.sys.mk: if we have nothing to work with
1912 set LORDER etc only if we can find it.
1914 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1916 * install-mk (MK_VERSION): bump version
1917 * man.mk: cleanman: remove CLEANMAN if defined.
1919 2009-09-04 Simon J. Gerraty <sjg@void.crufty.net>
1921 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk
1923 2009-07-17 Simon J. Gerraty <sjg@void.crufty.net>
1925 * install-mk (MK_VERSION): bump version
1929 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1931 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail.
1933 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1935 * install-mk (MK_VERSION): bump version
1936 man.mk: ensure we generate *.cat1 etc in .
1938 2008-07-16 Simon J. Gerraty <sjg@void.crufty.net>
1940 * install-mk (MK_VERSION): bump version
1943 2007-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1945 * Generic.sys.mk: Allow os specific sys.mk to be in a
1946 subdir of ${.PARSEDIR}
1948 2007-11-22 Simon J. Gerraty <sjg@void.crufty.net>
1950 * install-mk (MK_VERSION): bump version
1952 * dpadd.mk introduce DPMAGIC_LIBS_*
1954 2007-04-30 Simon J. Gerraty <sjg@void.crufty.net>
1956 * install-mk (MK_VERSION): bump version
1958 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog
1959 depend files and ensure clean is called for each lib/prog.
1961 2007-03-27 Simon J. Gerraty <sjg@void.crufty.net>
1963 * autodep.mk (.depend): delete lines that do not start with
1964 space and do not contain ':'
1966 2007-02-16 Simon J. Gerraty <sjg@void.crufty.net>
1968 * autodep.mk (.depend): gcc may wrap lines if pathnames are long
1969 so make sure the transform for .OPTIONAL copes.
1971 2007-02-03 Simon J. Gerraty <sjg@void.crufty.net>
1973 * install-mk (MK_VERSION): bump version
1975 * own.mk: make sure RM and LN are defined.
1977 * obj.mk: fix a typo, and objlink target.
1979 2006-12-30 Simon J. Gerraty <sjg@void.crufty.net>
1981 * install-mk (MK_VERSION): bump version
1982 * added libs.mk - analogous to progs.mk
1983 make both of them always inlcude {lib,prog}.mk
1985 2006-12-28 Simon J. Gerraty <sjg@void.crufty.net>
1987 * progs.mk: add a means of building multiple apps in one dir.
1989 2006-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1991 * install-mk (MK_VERSION): bump version to 20061126
1993 * warnings.mk: detect invalid WARNINGS_SET
1995 * warnings.mk: use ${.TARGET:T:R}.o when looking for target
1998 * For .cc sources, turn off warnings that g++ vomits on.
2000 2006-11-08 Simon J. Gerraty <sjg@void.crufty.net>
2002 * own.mk: if __initialized__ target doesn't exist and we are
2003 FreeBSD we got here directly from sys.mk
2005 2006-11-06 Simon J. Gerraty <sjg@void.crufty.net>
2007 * install-mk (MK_VERSION): bump version to 20061106
2010 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
2012 * install-mk (MK_VERSION): bump version to 20060318
2014 * autodep.mk: avoid := when modifying OBJS into __dependsrcs
2016 2006-03-02 Simon J. Gerraty <sjg@void.crufty.net>
2018 * install-mk (MK_VERSION): bump version to 20060302
2019 * autodep.mk: use -MF et al to help gcc+ccache DTRT.
2021 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
2023 * install-mk (MK_VERSION): bump version to 20060301
2024 * autodep.mk (.depend):
2025 if MAKE_VERSION is newer than 20050530 we can make .END depend on
2026 .depend and make .depend depend on __depsrcs that exist.
2027 * dpadd.mk: add SRC_PATHADD
2029 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
2031 * install-mk (MK_VERSION): bump version to 20051104
2032 * prog.mk: remove all the LIBC?= junk, use
2033 .-include libnames.mk instead (none by default).
2034 also if USE_DPADD_MK is set, include that.
2036 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
2038 * install-mk (MK_VERSION): bump version to 20051001
2039 Add UnixWare.sys.mk from Klaus Heinz.
2041 2005-04-05 Simon J. Gerraty <sjg@void.crufty.net>
2043 * install-mk: always install *.sys.mk and if need be symlink one
2046 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
2048 * subdir.mk, own.mk: use .MAKE rather than MAKE
2050 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
2052 * own.mk: don't use NetBSD's _SRC_TOP_ it can
2053 cause confusion. Also don't take just 'mk' as a
2056 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
2058 * warnings.mk: overhauled, now very powerful.
2060 2004-02-03 Simon J. Gerraty <sjg@void.crufty.net>
2062 * Generic.sys.mk: need to use ${.PARSEDIR} with exists().
2064 2004-02-01 Simon J. Gerraty <sjg@void.crufty.net>
2066 * install-mk (MK_VERSION): bump version to 20040201
2067 * extract HOST_TARGET stuff to host-target.mk so own.mk and
2068 Generic.sys.mk can share.
2069 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR.
2071 2003-09-30 Simon J. Gerraty <sjg@void.crufty.net>
2073 * install-mk (MK_VERSION): 20030930
2074 * rename generic.sys.mk to Generic.sys.mk
2075 so that it does not get installed (unless being used as sys.mk)
2076 * set OS and ROOT_GROUP for those that we know the value.
2077 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so
2078 we don't do it again for each sub-make.
2080 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
2082 * install-mk (MK_VERSION): 20030928
2083 Add some extra *.sys.mk from bootstrap-pkgsrc
2084 some of these likely still need work.
2085 Make everything default to root:wheel ownership,
2086 sys.mk can set ROOT_GROUP accordingly.
2088 2003-08-07 Simon J. Gerraty <sjg@void.crufty.net>
2090 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR
2091 not the portable ones.
2093 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
2095 * install-mk: add ability to use cp -f when updating
2096 destination .mk files. Also now possible to play games with
2097 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk
2098 into dest - not recommended unless you seriously want to.
2100 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
2102 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc
2103 for semi-compatability with NetBSD.
2105 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
2107 * install-mk: add a version indicator
2109 2003-07-22 Simon J. Gerraty <sjg@void.crufty.net>
2111 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null
2113 * install-mk: Allow FORCE_SYS_MK to come from env