12023-05-10 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no" 4 suppress processing of .depend 5 62023-05-09 Simon J Gerraty <sjg@beast.crufty.net> 7 8 * dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP 9 10 * meta.sys.mk sys.dirdeps.mk: 11 originally DIRDEPS_BUILD and META_MODE were the same thing, 12 but META_MODE is useful by itself. 13 Move things from meta.sys.mk which actually pertain to 14 DIRDEPS_BUILD to sys.dirdeps.mk 15 162023-05-04 Simon J Gerraty <sjg@beast.crufty.net> 17 18 * install-mk (MK_VERSION): 20230504 May the Forth be with you 19 20 * dirdeps.mk: as with meta.sys.mk we treat "host" as special. 21 DEP_TARGET_SPEC is just ${DEP_MACHINE} 22 23 * meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at 24 level > 0 since these are often refered to in Makefile.depend* 25 262023-04-26 Simon J Gerraty <sjg@beast.crufty.net> 27 28 * jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and 29 anything in ${JOB_LOG_START} 30 31 * jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}} 32 or a scripts subdir before searching $PATH. 33 34 * FILES: include newlog.sh for jobs.mk 35 362023-04-20 Simon J Gerraty <sjg@beast.crufty.net> 37 38 * install-mk (MK_VERSION): 20230420 39 40 * lib.mk: include LDFLAGS and LDADD when linking shared libs 41 42 * gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc 43 via local.meta.sys.mk rather than local.gendirdeps.mk 44 so DEP_* variables can be set at level 1+ to avoid syntax errors 45 when used in conditionals in manually maintained Makefile.depend 46 files. 47 48 * dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines 49 502023-04-18 Simon J Gerraty <sjg@beast.crufty.net> 51 52 * dirdeps.mk: check we were not included by 53 Makefile.depend.options as the result is bad. 54 552023-04-14 Simon J Gerraty <sjg@beast.crufty.net> 56 57 * install-mk (MK_VERSION): 20230414 58 59 * meta.sys.mk: since we have :range we can put the logic for 60 processing TARGET_SPEC from env here. 61 62 * dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including 63 local.dirdeps-missing.mk, also improve debug output. 64 65 * dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC 66 we need to use :M*[/.]* same as for when actually setting DIRDEPS 67 from the targets on command line. 68 692023-04-12 Simon J Gerraty <sjg@beast.crufty.net> 70 71 * Add jobs.mk 72 732023-03-21 Simon J Gerraty <sjg@beast.crufty.net> 74 75 * install-mk (MK_VERSION): 20230321 76 77 * meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter 78 STAGE_LIBS for SHLIB_LINKS. 79 80 * autoconf.mk: add .WAIT after config.status 81 822023-02-17 Simon J Gerraty <sjg@beast.crufty.net> 83 84 * sys.vars.mk: add M_Index to report the index of a word in a list. 85 862023-02-15 Simon J Gerraty <sjg@beast.crufty.net> 87 88 * install-mk (MK_VERSION): 20230215 89 90 * warnings.mk: allow better control of -Werror 91 allow -Wno-error or similar to be added if 92 WARNINGS_SET < WERROR_SET 93 account for COMPILER_TYPE 94 952023-01-29 Simon J Gerraty <sjg@beast.crufty.net> 96 97 * autoconf.mk: hook config.status to beforebuild. 98 99 * whats.mk: what*.c is NOTMAIN 100 1012023-01-27 Simon J Gerraty <sjg@beast.crufty.net> 102 103 * install-mk (MK_VERSION): 20230127 104 control umask so directories are created with suitable mode. 105 1062023-01-20 Simon J Gerraty <sjg@beast.crufty.net> 107 108 * install-mk (MK_VERSION): 20230120 109 110 * sys.vars.mk: add M_On and M_Onr also cleanup to be more 111 consistent wrt testing MAKE_VERSION 112 1132023-01-12 Simon J Gerraty <sjg@beast.crufty.net> 114 115 * install-mk (MK_VERSION): 20230112 116 117 * meta2deps.{py,sh}: assert if filemon data is truncated 118 we should see the '# Bye bye' record - assert if we do not. 119 1202022-09-09 Simon J Gerraty <sjg@beast.crufty.net> 121 122 * install-mk (MK_VERSION): 20220909 123 124 * sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings 125 1262022-09-06 Simon J Gerraty <sjg@beast.crufty.net> 127 128 * dirdeps-options.mk: explain the need to use 129 ${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to 130 ${TARGET_SPEC_VAR} 131 1322022-09-03 Simon J Gerraty <sjg@beast.crufty.net> 133 134 * install-mk (MK_VERSION): 20220903 135 136 * M_cmpv handle more than 3 dots and clear leading 0's 137 1382022-07-20 Simon J Gerraty <sjg@beast.crufty.net> 139 140 * install-mk (MK_VERSION): 20220720 141 142 * prog.mk: handle PROG_CXX for more than just NetBSD 143 1442022-06-20 Simon J Gerraty <sjg@beast.crufty.net> 145 146 * install-mk (MK_VERSION): 20220620 147 148 * yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER 149 rather than just suffix rules 150 1512022-04-23 Simon J Gerraty <sjg@beast.crufty.net> 152 153 * install-mk (MK_VERSION): 20220422 154 155 * gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no" 156 do not capture any local depends in Makefile.depend 157 1582022-03-25 Simon J Gerraty <sjg@beast.crufty.net> 159 160 * install-mk (MK_VERSION): 20220323 161 * posix.mk: default rules for .POSIX: 162 1632022-03-17 Simon J Gerraty <sjg@beast.crufty.net> 164 165 * sys/*.mk: remove l from ARFLAGS 166 1672022-03-14 Simon J Gerraty <sjg@beast.crufty.net> 168 169 * install-mk (MK_VERSION): 20220314 170 171 * dirdeps-options.mk: allow options to be per RELDIR 172 try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed 173 with ${DEP_RELDIR}. 174 1752022-02-14 Simon J Gerraty <sjg@beast.crufty.net> 176 177 * install-mk (MK_VERSION): 20220214 178 179 * cc-wrap.mk: fix :@ modifier 180 1812022-02-06 Simon J Gerraty <sjg@beast.crufty.net> 182 183 * install-mk (MK_VERSION): 20220206 184 185 * cc-wrap.mk: docuement how CCACHE etc might be set for 186 maximum flexibility 187 1882022-02-05 Simon J Gerraty <sjg@beast.crufty.net> 189 190 * sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT 191 1922022-02-04 Simon J Gerraty <sjg@beast.crufty.net> 193 194 * install-mk (MK_VERSION): 20220204 195 196 * host-target.mk: use .MAKE.OS if available 197 1982022-02-02 Simon J Gerraty <sjg@beast.crufty.net> 199 200 * install-mk (MK_VERSION): 20220202 201 202 * cc-wrap.mk: allow other entries in CC_WRAP_FILTER 203 We add our filter on extensions last, so prior filters 204 can apply to the whole value of .IMPSRC 205 2062022-02-01 Simon J Gerraty <sjg@beast.crufty.net> 207 208 * cc-wrap.mk: take advantage of target local variables to 209 wrap compilers like CC CXX with wrappers like ccache distcc etc 210 2112022-01-28 Simon J Gerraty <sjg@beast.crufty.net> 212 213 * meta2deps: we do not expect any trace data for setid apps 214 2152022-01-26 Simon J Gerraty <sjg@beast.crufty.net> 216 217 * dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed 218 to sub-make using DIRDEPS_CACHE 219 2202022-01-07 Simon J Gerraty <sjg@beast.crufty.net> 221 222 * dirdeps.mk: use _cache_script to minimize the number of shells 223 forked when generating dirdeps.cache 224 2252022-01-02 Simon J Gerraty <sjg@beast.crufty.net> 226 227 * install-mk (MK_VERSION): 20220101 228 229 * dirdeps.mk: initialize DEP_* and _debug_reldir earlier. 230 If initial DIRDEPS are from command line, create the target 231 _dirdeps_cmdline as an indication. 232 2332022-01-01 Simon J Gerraty <sjg@beast.crufty.net> 234 235 * init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD 236 at top-level only some targets are allowed at level 0, 237 for leaf makefiles only the default (all) target is restricted 238 2392021-12-28 Simon J Gerraty <sjg@beast.crufty.net> 240 241 * install-mk (MK_VERSION): 20211228 242 243 * meta2deps.py: filemon on Linux is not as reliable as we might 244 like, we do not want to update DIRDEPS if filemon output is 245 incomplete. Track pids that we 'E'xec and make sure we see an 246 e'X'it for each one. Throw an error if we are missing any 'X' 247 records. 248 2492021-12-12 Simon J Gerraty <sjg@beast.crufty.net> 250 251 * sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes. 252 253 * meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON 254 is something else. 255 256 * meta.autodep.mk: we can now reference ${.SUFFIXES} 257 258 * meta2deps.py: derive a list of dirdep extensions from 259 TARGET_SPEC to trim from dirdeps. 260 261 * dirdeps.mk: flip the computation of qualified vs unqualified 262 dirdeps - it is much simpler to check for unqualified first. 263 2642021-12-11 Simon J Gerraty <sjg@beast.crufty.net> 265 266 * install-mk (MK_VERSION): 20211212 267 268 * auto.dep.mk: rearrange so that the trivial implementation 269 for recent bmake is more obvious. 270 2712021-12-07 Simon J Gerraty <sjg@beast.crufty.net> 272 273 * install-mk (MK_VERSION): 20211207 274 275 * Ensure guard targets are .NOTMAIN 276 277 * meta.sys.mk: check for nofilemon support when we skip level 0 278 279 * auto.dep.mk: make this usable in meta mode 280 for platforms that cannot use meta.autodep.mk 281 282 * meta2deps.py: avoid confusion if MACHINE and another 283 TARGET_SPEC_VAR have same value. 284 2852021-11-27 Simon J Gerraty <sjg@beast.crufty.net> 286 287 * dirdeps.mk: when building dirdeps.cache, minimize the amount of 288 data put into env, by stripping ${SRCTOP}/ from each entry. 289 A long sandbox name can double the amount of memory consumed and 290 in extreme cases cause failure. 291 While we are at it, strip ${SRCTOP}/ from a lot of the debug output. 292 2932021-11-11 Simon J Gerraty <sjg@beast.crufty.net> 294 295 * install-mk (MK_VERSION): 20211111 296 297 * meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail 298 so fallback to cp if necessary. 299 3002021-10-30 Simon J Gerraty <sjg@beast.crufty.net> 301 302 * man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year 303 old cmt2doc.pl 304 3052021-10-24 Simon J Gerraty <sjg@beast.crufty.net> 306 307 * meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f} 308 as the symlink (rare) 309 3102021-10-16 Simon J Gerraty <sjg@beast.crufty.net> 311 312 * autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not 313 been read, throw an error after running configure telling user to 314 restart. 315 3162021-10-13 Simon J Gerraty <sjg@beast.crufty.net> 317 318 * install-mk (MK_VERSION): 20211011 319 320 * Add support for SCO_SV 321 3222021-10-01 Simon J Gerraty <sjg@beast.crufty.net> 323 324 * install-mk (MK_VERSION): 20211001 325 326 * man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more 327 flexibility 328 3292021-09-13 Simon J Gerraty <sjg@beast.crufty.net> 330 331 * options.mk (describe-options): print options and their values 332 and optional description 333 3342021-09-11 Simon J Gerraty <sjg@beast.crufty.net> 335 336 * install-mk (MK_VERSION): 20210911 337 338 * options.mk (show-options): print options and their values 339 3402021-09-08 Simon J Gerraty <sjg@beast.crufty.net> 341 342 * install-mk (MK_VERSION): 20210909 343 344 * lib.mk: apply patch from <daniel@octaforge.org> 345 to fix shared libs on Linux 346 3472021-08-08 Simon J Gerraty <sjg@beast.crufty.net> 348 349 * install-mk (MK_VERSION): 20210808 350 351 * options.mk: issue warning for WITH_*=no 352 3532021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 354 355 * install-mk (MK_VERSION): 20210616 356 357 * dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find 358 depend files to read, anchor MACHINE at , or end of string 359 to avoid prefix match. 360 3612021-05-04 Simon J Gerraty <sjg@beast.crufty.net> 362 363 * install-mk (MK_VERSION): 20210504 364 365 * dirdeps.mk: re-implement ALL_MACHINES support to better 366 cater for local complexities, when ONLY_TARGET_SPEC_LIST 367 is not set. local.dirdeps.mk can set 368 DIRDEPS_ALL_MACHINES_FILTER and/or 369 DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get 370 from listing all existing Makefile.depend.* 371 3722021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 373 374 * install-mk (MK_VERSION): 20210420 375 376 * dirdeps.mk: revert previous - not always safe. 377 3782021-03-20 Simon J Gerraty <sjg@beast.crufty.net> 379 380 * install-mk (MK_VERSION): 20210321 381 382 * dirdeps.mk: when generating dirdeps.cache 383 we only need to hook the initial DIRDEPS to the 384 dirdeps target. That and any _build_xtra_dirs (like tests which 385 should not be hooked directly to the dependency graph - to avoid 386 cycles) 387 3882021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 389 390 * install-mk (MK_VERSION): 20210130 391 392 * dirdeps.mk: expr 2 - 1 - 1 exits with a bad status 393 we need to guard against this in DIRDEP_LOADAVG_REPORT. 394 395 * dirdeps.mk: restore respect for TARGET_MACHINE 396 3972021-01-06 Simon J Gerraty <sjg@beast.crufty.net> 398 399 * install-mk (MK_VERSION): 20210101 400 401 * dirdeps.mk: first time we are read, just use TARGET_SPEC for 402 _DEP_TARGET_SPEC 403 4042020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 405 406 * sys.mk (MAKE_SHELL): use ${.SHELL:Ush} 407 and use := when setting SHELL 408 4092020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 410 411 * install-mk (MK_VERSION): 20201221 412 413 * dirdeps-options.mk: latest bmake allows only one arg to .undef 414 4152020-12-11 Simon J Gerraty <sjg@beast.crufty.net> 416 417 * dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS 418 so that any directory can be treated as a target. 419 4202020-11-26 Simon J Gerraty <sjg@beast.crufty.net> 421 422 * install-mk (MK_VERSION): 20201126 423 424 * own.mk: use .MAKE.{UID,GID} if available. 425 426 * init.mk: suppress _SKIP_BUILD warning if doing -V 427 4282020-11-20 Simon J Gerraty <sjg@beast.crufty.net> 429 430 * install-mk (MK_VERSION): 20201120 431 432 * init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS 433 434 * dirdeps-targets.mk: fix typo in comment 435 4362020-11-06 Simon J Gerraty <sjg@beast.crufty.net> 437 438 * install-mk (MK_VERSION): 20201106 439 440 * meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed 441 args to tweak extensions for local deps. 442 4432020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 444 445 * install-mk (MK_VERSION): 20201101 446 447 * dirdeps.mk: most leaf makefiles are not suitable for building 448 dirdeps.cache so if RELDIR is not "." use dirdeps.mk 449 4502020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 451 452 * install-mk (MK_VERSION): 20201028 453 454 * dirdeps.mk: if we don't have :range use equivalent of M_RANGE 455 when building dirdeps.cache for leaf directory use -f dirdeps.mk 456 457 * sys.vars.mk: add M_JOT and M_RANGE 458 4592020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 460 461 * install-mk (MK_VERSION): 20201001 462 463 * meta2deps.{py,sh}: throw an error if we don't see filemon version 464 4652020-09-09 Simon J Gerraty <sjg@beast.crufty.net> 466 467 * install-mk (MK_VERSION): 20200909 468 469 * dirdeps-cache-update.mk: use cache_update_dirdep as guard target 470 4712020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 472 473 * dirdeps.mk: ensure we cannot confuse a static cache for dynamic 474 (even more rare that use of static cache is playing clever tricks 475 with it) 476 4772020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 478 479 * dirdeps-cache-update.mk: allow 480 MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we 481 actually update STATIC_DIRDEPS_CACHE. 482 483 * stage-install.sh: create dest directory if needed 484 before running install(1) 485 4862020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 487 488 * dirdeps-targets.mk: include Makefile.dirdeps.options 489 490 * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE 491 4922020-08-09 Simon J Gerraty <sjg@beast.crufty.net> 493 494 * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty 495 496 * dirdeps-cache-update.mk: building parallel cache update 497 under the context of dirdeps-cached would be ideal, but 498 is problematic, so it runs as a sibling. 499 Use cache-built target to ensure we wait for it to complete if 500 necessary. 501 5022020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 503 504 * install-mk (MK_VERSION): 20200806 505 506 * dirdeps-options: allow TARGET_SPEC to affect option values. 507 Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_* 508 509 * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined 510 before looking for STATIC_DIRDEPS_CACHE 511 5122020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 513 514 * host-target.mk: Darwin use MACHINE for HOST_ARCH too 515 516 * dirdeps-options.mk: improve debug output 517 5182020-07-22 Simon J Gerraty <sjg@beast.crufty.net> 519 520 * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE 521 for use by dirdeps-cache-update.mk 522 523 * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE 524 for use by dirdeps-cache-update.mk even if we don't use it. 525 526 * dirdeps-cache-update.mk: we only need worry about the background 527 update case, with the above, the update from DIRDEPS_CACHE is 528 simple. 529 530 * meta2deps.py: R 1234 . is not interesting 531 5322020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 533 534 * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE 535 536 * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS 537 allows use of lower case for pseudo options. 538 539 * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE 540 5412020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 542 543 * dirdeps-targets.mk: Look for Makefile.dirdeps.cache 544 which allows us to have a static cache for expensive targets. 545 Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE 546 to regenerate the dirdeps.cache it is a copy of. 547 5482020-07-17 Simon J Gerraty <sjg@beast.crufty.net> 549 550 * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense. 551 5522020-07-16 Simon J Gerraty <sjg@beast.crufty.net> 553 554 * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record 555 load averages at intervals during build. 556 5572020-07-15 Simon J Gerraty <sjg@beast.crufty.net> 558 559 * install-mk (MK_VERSION): 20200715 560 561 * dirdeps.mk: tweak Checking line to make matching Finished 562 lines for post-build analysis easier. 563 564 * meta.autodep.mk: use !defined(WITHOUT_META_STATS) 565 566 * progs.mk: avoid prog.mk outputting multiple Finished lines 567 5682020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 569 570 * dirdeps.mk: further optimize dirdeps.cache 571 generate a DIRDEPS.${.TARGET} list for other purposes 572 and improve the layout. 573 5742020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 575 576 * dirdeps.mk: optimize content of dirdeps.cache 577 5782020-06-28 Simon J Gerraty <sjg@beast.crufty.net> 579 580 * sys/*.mk: make it easier for local*sys.mk to customize by 581 using ?= 582 5832020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 584 585 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0 586 it is much safer to guard local depends with a simple check for 587 .MAKE.LEVEL > 0 588 5892020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 590 591 * install-mk (MK_VERSION): 20200610 592 593 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok 594 5952020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 596 597 * install-mk (MK_VERSION): 20200606 598 599 * dirdeps-targets.mk: allow for filtering of .TARGETS 600 601 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove 602 entries - and we don't care about 'W'rite entries. 603 Also ignore absolute paths that do not exist. 604 6052020-05-25 Simon J Gerraty <sjg@beast.crufty.net> 606 607 * install-mk (MK_VERSION): 20200525 608 609 * init.mk: expand and simplify handling of qualified vars 610 like CPPFLAGS.${.TARGET:T} 611 6122020-05-15 Simon J Gerraty <sjg@beast.crufty.net> 613 614 * install-mk (MK_VERSION): 20200515 615 616 * dirdeps.mk: set _debug_* earlier and allow passing -d* 617 flags to submake when building DIRDEPS_CACHE 618 6192020-05-09 Simon J Gerraty <sjg@beast.crufty.net> 620 621 * whats.mk: more easily extensible 622 6232020-05-02 Simon J Gerraty <sjg@beast.crufty.net> 624 625 * whats.mk: greatly simplify by adding what.c to SRCS 626 6272020-05-01 Simon J Gerraty <sjg@beast.crufty.net> 628 629 * whats.mk: for libs take care how we add to *OBJS 630 631 * lib.mk: : works better with whats.mk 632 6332020-04-25 Simon J Gerraty <sjg@beast.crufty.net> 634 635 * install-mk (MK_VERSION): 20200420 636 637 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep 638 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC} 639 6402020-04-16 Simon J Gerraty <sjg@beast.crufty.net> 641 642 * install-mk (MK_VERSION): 20200416 643 644 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to 645 interfere with user env. 646 647 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL 648 649 * autodep.mk: use MAKE_SHELL. 650 6512019-11-21 Simon J Gerraty <sjg@beast.crufty.net> 652 653 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of 654 wasted effort, and unexport _meta_files when no longer needed as 655 it consumes space we need for command line. 656 6572019-11-11 Simon J Gerraty <sjg@beast.crufty.net> 658 659 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add 660 DIRDEP_USE_PRELUDE at start - facilitates job distribution 661 6622019-10-04 Simon J Gerraty <sjg@beast.crufty.net> 663 664 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST 665 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid 666 TARGET_SPEC qualified depend files. 667 6682019-10-02 Simon J Gerraty <sjg@beast.crufty.net> 669 670 * dirdeps-targets.mk: encapsulate logic for finding top-level 671 targets to set initial DIRDEPS for DIRDEPS_BUILD 672 6732019-09-27 Simon J Gerraty <sjg@beast.crufty.net> 674 675 * install-mk (MK_VERSION): 20190911 676 677 * compiler.mk: set COMPILER_TYPE 678 6792019-07-17 Simon J Gerraty <sjg@beast.crufty.net> 680 681 * install-mk (MK_VERSION): 20190704 682 683 * sys/Darwin.mk: support for Objective-C and clang 684 6852019-05-30 Simon J Gerraty <sjg@beast.crufty.net> 686 687 * dirdeps.mk: avoid insanely long command line when generating cache 688 6892019-05-23 Simon J Gerraty <sjg@beast.crufty.net> 690 691 * install-mk (MK_VERSION): 20190505 692 693 * whats.mk: handle corner case SHLIB defined but not LIB 694 6952018-09-19 Simon J Gerraty <sjg@beast.crufty.net> 696 697 * install-mk (MK_VERSION): 20180919 698 699 * dirdeps-options.mk: .undef cannot handle var that expands to 700 more than one var. 701 7022018-07-08 Simon J Gerraty <sjg@beast.crufty.net> 703 704 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc. 705 7062018-06-01 Simon J Gerraty <sjg@beast.crufty.net> 707 708 * meta.autodep.mk: export META_FILES to avoid command line limit 709 * gendirdeps.mk: if we have lots of .meta files put them in 710 an @list 711 7122018-05-28 Simon J Gerraty <sjg@beast.crufty.net> 713 714 * dirdeps-options.mk: use local.dirdeps-options.mk 715 not local.dirdeps-option.mk 716 7172018-04-20 Simon J Gerraty <sjg@beast.crufty.net> 718 719 * install-mk (MK_VERSION): 20180420 720 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0 721 ie. we are building something. 722 7232018-04-14 Simon J Gerraty <sjg@beast.crufty.net> 724 725 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS. 726 7272018-04-05 Simon J Gerraty <sjg@beast.crufty.net> 728 729 * install-mk (MK_VERSION): 20180405 730 731 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER 732 if needed. 733 7342018-01-18 Simon J Gerraty <sjg@beast.crufty.net> 735 736 * install-mk (MK_VERSION): 20180118 737 738 * ldorder.mk: let make compute correct link order 739 7402017-12-12 Simon J Gerraty <sjg@beast.crufty.net> 741 742 * install-mk (MK_VERSION): 20171212 743 744 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER 745 7462017-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 747 748 * install-mk (MK_VERSION): 20171111 749 750 * lib.mk: ensure META_NOECHO is set 751 7522017-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 753 754 * Allow for host32 on rare occasions. 755 7562017-10-18 Simon J. Gerraty <sjg@bad.crufty.net> 757 758 * install-mk (MK_VERSION): 20171018 759 760 * whats.mk: include what_thing in what_uuid to avoid problem 761 when building multiple apps in the same directory. 762 7632017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 764 765 * install-mk (MK_VERSION): 20170812 766 767 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can 768 add dependencies for config.recheck and config.gen 769 7702017-06-30 Simon J. Gerraty <sjg@bad.crufty.net> 771 772 * install-mk (MK_VERSION): 20170630 773 774 * meta.stage.mk: avoid triggering stage_* targets with nothing to do. 775 7762017-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 777 778 * meta2deps.py: take special care of '..' 779 7802017-05-15 Simon J. Gerraty <sjg@bad.crufty.net> 781 782 * install-mk (MK_VERSION): 20170515 783 784 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is 785 useful/necessary for a Makefile.depend file to export some knobs. 786 This is complicated when we are doing DIRDEPS_CACHE, so we will 787 handle export of any variables listed in DEP_EXPORT_VARS. 788 7892017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 790 791 * install-mk (MK_VERSION): 20170505 792 793 * meta2deps.py: fix botched indenation. 794 7952017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 796 797 * sys/*.mk: Remove setting of MAKE it is unnecessary and 798 in many cases wrong (basname rather than full path) 799 800 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk 801 802 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc 803 8042017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 805 806 * install-mk (MK_VERSION): 20170501 807 808 * doc.mk: fix typo in DOC_INSTALL_OWN 809 810 * inc.mk: handle INCGROUPS similar to freebsd 811 812 * files.mk: add something for files too 813 814 * add staging logic to lib.mk prog.mk etc. 815 8162017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 817 818 * install-mk (MK_VERSION): 20170424 819 820 * dirdeps.mk: set NO_DIRDEPS when bootstrapping. 821 also target of bootstrap-this when sed is needed should be ${_want:T} 822 8232017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 824 825 * install-mk (MK_VERSION): 20170418 826 827 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a 828 prefix match for .CURDIR - in which case .CURDIR *is* __objdir. 829 8302017-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 831 832 * install-mk (MK_VERSION): 20170401 833 834 * meta2deps.py: add is_src so we can check if obj dependency 835 is also a src dependency. 836 8372017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 838 839 * install-mk (MK_VERSION): 20170326 840 841 * meta.stage.mk: do nothing if NO_STAGING is defined. 842 8432017-03-24 Simon J. Gerraty <sjg@bad.crufty.net> 844 845 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc. 846 8472017-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 848 849 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_* 850 8512017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 852 853 * install-mk (MK_VERSION): 20170301 854 855 * dirdeps.mk (_build_all_dirs): update this outside test for empty 856 DIRDEPS. 857 858 * meta.stage.mk: allow multiple inclusion to the extent it makes 859 sense. 860 8612017-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 862 863 * prog.mk (install_links): depends on realinstall 864 8652017-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 866 867 * install-mk (MK_VERSION): 20170212 868 869 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries 870 8712017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 872 873 * install-mk (MK_VERSION): 20170130 874 875 * dirdeps.mk: use :range if we can. 876 877 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130 878 879 * meta2deps.py: clean paths without using realpath() where possible. 880 fix sort_unique. 881 8822016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 883 884 * install-mk (MK_VERSION): 20161212 885 886 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, 887 rather than when we detect pid change. 888 8892016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 890 891 * install-mk (MK_VERSION): 20161207 892 893 * meta.stage.mk: add stage_as_and_symlink for staging packages. 894 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able 895 to use foo.tgz to reference the latest staged version - so we 896 make foo.tgz a symlink to it. 897 Using a target to do both operations ensures we stay in sync. 898 8992016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 900 901 * install-mk (MK_VERSION): 20161126 902 903 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk 904 so it can add dependencies. 905 9062016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 907 908 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE 909 do that they can influence the result correctly. 910 911 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC 912 913 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST 914 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 915 9162016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 917 918 * dirdeps.mk: remove dependence on jot (normal situations anyway). 919 Before we read another Makefile.depend* set DEP_* vars from 920 _DEP_TARGET_SPEC in case it uses any of them with := 921 When bootstrapping, trim any ,* from extention of chosen _src 922 Makefile.depend* to get the machine value we subst for. 923 9242016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> 925 926 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to 927 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER 928 929 * sys.mk: extract some bits to sys.{debug,vars}.mk 930 for easier re-use by others. 931 9322016-09-23 Simon Gerraty <sjg@sjg-mba13> 933 934 * lib.mk: Use ${PICO} for extension for PIC objects. 935 default to .pico (like NetBSD) safe on case insensitive filesystem. 936 9372016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> 938 939 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default 940 9412016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 942 943 * install-mk (MK_VERSION): 20160815 944 945 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only 946 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date. 947 9482016-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 949 950 * meta.sys.mk (.MAKE.META.IGNORE_PATHS): 951 in meta mode we can ignore the mtime of makefiles 952 9532016-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 954 955 * install-mk (MK_VERSION): 20160802 956 957 * lib.mk (libinstall): depends on beforinstall 958 959 * prog.mk (proginstall): depends on beforinstall 960 patch from Lauri Tirkkonen 961 962 * dirdeps.mk (bootstrap): When bootstrapping; creat 963 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via 964 .MAKE.DEPENDFILE_BOOTSTRAP_SED 965 966 * dirdeps.mk: move some comments to where they make sense. 967 9682016-07-27 Simon J. Gerraty <sjg@bad.crufty.net> 969 970 * dirdeps.mk (DIRDEPS_CACHE): no dirname. 971 9722016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 973 974 * install-mk (MK_VERSION): 20160602 975 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk 976 do not apply :T to META_XTRAS 977 patch from Bryan Drewery at FreeBSD.org. 978 9792016-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 980 981 * install-mk (MK_VERSION): 20160530 982 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH 983 make it so. 984 9852016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 986 987 * install-mk (MK_VERSION): 20160512 988 989 * dpadd.mk: always include local.dpadd.mk if it exists 990 remove some things that better belong in local.dpadd.mk 991 skip INCLUDES_* for staged libs unless SRC_* defined. 992 993 * own.mk: add INCLUDEDIR 994 9952016-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 996 997 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no 998 TARGET_MACHINE - :E will be empty or match part of path, use 999 ${MACHINE} 1000 10012016-04-07 Simon J. Gerraty <sjg@bad.crufty.net> 1002 1003 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to 1004 NO_FILEMON_COOKIE 1005 1006 * dirdeps.mk: move the logic that allows for 1007 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1008 inside the check for !target(_DIRDEP_USE) 1009 10102016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 1011 1012 * Use <> when including local*.mk and others which may exist 1013 elsewhere so that user can better control what they get. 1014 1015 * meta.autodep.mk (NO_FILEMON_COOKIE): 1016 create a cookie if we ever build dir with nofilemon 1017 so that UPDATE_DEPENDFILE will be forced to NO until cleaned. 1018 10192016-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1020 1021 * install-mk (MK_VERSION): 20160401 1022 1023 * meta2deps.py: fix old print statement when debugging. 1024 1025 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X 1026 patch from Bryan Drewery 1027 10282016-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 1029 1030 * install-mk (MK_VERSION): 20160317 (St. Pats) 1031 1032 * warnings.mk: g++ does not like -Wimplicit 1033 1034 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the 1035 pelthora of common suffixes for C++ 1036 1037 * lib.mk: use .So for shared objects 1038 10392016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1040 1041 * install-mk (MK_VERSION): 20160315 1042 1043 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 1044 normally only applies to scripts. 1045 1046 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 1047 well as outside it. 1048 10492016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1050 1051 * install-mk (MK_VERSION): 20160310 1052 1053 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 1054 we have processed; the list gets very inefficient as number of 1055 DIRDEPS gets large. 1056 1057 * sys.dependfile.mk: fix comment wrt MACHINE 1058 1059 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 1060 patch from Bryan Drewery 1061 10622016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 1063 1064 * meta2deps.sh: don't ignore subdirs. 1065 patch from Bryan Drewery 1066 10672016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1068 1069 * install-mk (MK_VERSION): 20160226 1070 1071 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 1072 10732016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 1074 1075 * dirdeps.mk: we shouldn't normally include .depend but if we do 1076 use .dinclude if we can. 1077 10782016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1079 1080 * install-mk (MK_VERSION): 20160218 1081 * sys.clean-env.mk: with recent change to Var_Subst() 1082 we cannot use the '$$' trick, but .export-literal does the job 1083 we need. 1084 * auto.dep.mk: make use .dinclude if we can. 1085 1086 10872016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 1088 1089 * dirdeps.mk: 1090 Add _build_all_dirs such that local.dirdeps.mk can 1091 add fully qualified dirs to it. 1092 These will be built normally but the current 1093 DEP_RELDIR will not depend on then (to avoid cycles). 1094 This makes it easy to hook things like unit-tests into build. 1095 1096 10972016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 1098 1099 * dirdeps.mk: add bootstrap-empty 1100 11012015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1102 1103 * install-mk (MK_VERSION): 20151212 1104 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 1105 only apply :tA to __objdir when comparing to .OBJDIR 1106 11072015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1108 1109 * install-mk (MK_VERSION): 20151111 1110 1111 * meta.sys.mk: include sys.dependfile.mk 1112 1113 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 1114 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 1115 include local.sys.env.mk early 1116 include local.sys.mk later 1117 1118 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 1119 11202015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1121 1122 * meta.sys.mk (META_COOKIE_TOUCH): 1123 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 1124 1125 * meta.stage.mk: stage_libs should ignore SYMLINKS. 1126 11272015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 1128 1129 * install-mk (MK_VERSION): 20151022 1130 1131 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 1132 11332015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1134 1135 * install-mk (MK_VERSION): 20151020 1136 1137 * dirdeps.mk: Add logic for 1138 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1139 11402015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 1141 1142 * install-mk (MK_VERSION): 20151010 1143 11442015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 1145 1146 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 1147 to have stage_lins run last in non-jobs mode. 1148 Use .ORDER only for jobs mode. 1149 11502015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1151 1152 * rst2htm.mk: allow for per target flags etc. 1153 11542015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1155 1156 * install-mk (MK_VERSION): 20150901 1157 1158 * doc.mk: create dir if needed use DOC_INSTALL_OWN 1159 11602015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 1161 1162 * install-mk (MK_VERSION): 20150615 1163 1164 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 1165 Follow make's normal precedence rules. 1166 1167 * gendirdeps.mk: allow customization of the header. 1168 eg. for FreeBSD: 1169 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 1170 1171 * meta.autodep.mk: ignore dirdeps.cache* 1172 1173 * meta.stage.mk: when bootstrapping options it can be handy to 1174 throw warnings rather than errors for staging conflicts. 1175 1176 * meta.sys.mk: include local.meta.sys.mk for customization 1177 11782015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1179 1180 * install-mk (MK_VERSION): 20150606 1181 1182 * dirdeps.mk: don't rely on manually maintained Makefile.depend 1183 to set DEP_RELDIR and reset DIRDEPS. 1184 By setting DEP_RELDIR ourselves we can skip :tA 1185 1186 * gendirdeps.mk: skip setting DEP_RELDIR. 1187 11882015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1189 1190 * dirdeps.mk: avoid wildcards like make(bootstrap*) 1191 11922015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1193 1194 * install-mk (MK_VERSION): 20150520 1195 1196 * dirdeps.mk: when we are building dirdeps cache file we *want* 1197 meta_oodate to look at all the Makefile.depend files, so 1198 set .MAKE.DEPENDFILE to something that won't match. 1199 1200 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 1201 so first use absolute path as key. 1202 Also skip staging at level 0. 1203 12042015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1205 1206 * install-mk (MK_VERSION): 20150430 1207 1208 * dirdeps.mk: fix _count_dirdeps for non-cache case. 1209 12102015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 1211 1212 * install-mk (MK_VERSION): 20150411 1213 bump version 1214 1215 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 1216 it is here mainly for documentation purposes, since 1217 if using auto.obj.mk it is better done via sys.mk 1218 12192015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1220 1221 * install-mk (MK_VERSION): 20150401 1222 1223 * meta2deps.sh: support @list 1224 1225 * meta2deps.py: updates from Juniper 1226 o add EXCLUDES 1227 o skip bogus input files. 1228 o treat 'M' and 'L' as both an 'R' and a 'W' 1229 12302015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1231 1232 * install-mk (MK_VERSION): 20150303 1233 1234 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 1235 which is built via sub-make so we have a .meta file to tell if 1236 it is out-of-date. 1237 The dirdeps-cache contains the same dependency rules that we 1238 normaly construct on the fly. 1239 This adds a few seconds overhead when the cache is out of date, 1240 but for a large target, the savings can be significant (10-20min). 1241 12422014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 1243 1244 * install-mk (MK_VERSION): 20141118 1245 1246 * meta.stage.mk: add stale_staged 1247 1248 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 1249 only useful under very rare conditions such as 1250 FreeBSD's make universe. 1251 1252 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 1253 12542014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1255 1256 * install-mk (MK_VERSION): 20141111 1257 1258 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 1259 12602014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1261 1262 * FILES: include mkopt.sh which allows handling options in shell 1263 scripts in a manner compatible with options.mk 1264 12652014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1266 1267 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 1268 for GENDIRDEPS_FILTER to avoid surprises. 1269 12702014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1271 1272 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 1273 the time it is applied to __depdirs they have. 1274 1275 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 1276 expects patterns like *.${MACHINE} 1277 1278 * cython.mk (pyprefix?): use pyprefix to find python bits 1279 since prefix might be something else (where we install our 1280 stuff) 1281 12822014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1283 1284 * install-mk (MK_VERSION): 20140911 1285 1286 * dirdeps.mk: add bootstrap target to simplify adding support for 1287 new MACHINE. 1288 12892014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1290 1291 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 1292 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 1293 Makefile.depend files. 1294 12952014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1296 1297 * install-mk (MK_VERSION): 20140828 1298 1299 * cython.mk: capture logic for building python extension modules 1300 with Cython. 1301 13022014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1303 1304 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 1305 13062014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1307 1308 * install-mk (MK_VERSION): 20140801 1309 1310 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 1311 identify the autodep.mk variant. 1312 1313 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 1314 initial value does not match .MAKE.DEPENDFILE_PREFIX 1315 1316 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 1317 13182014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1319 1320 * install-mk (MK_VERSION): 20140522 1321 1322 * lib.mk: use CC to link shlib for linux too 1323 patch from Brendan MacDonell 1324 13252014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1326 1327 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 1328 if WITH_META_STATS is defined. 1329 13302014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1331 1332 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 1333 to supress dirdeps outside of .CURDIR. 1334 13352014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1336 1337 * Fix spelling errors - patch from Pedro Giffuni 1338 13392014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 1340 1341 * install-mk (MK_VERSION): 20140314 1342 1343 * dirdeps.mk (beforedirdeps): a handy hook 1344 1345 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 1346 to visit leaf dirs to be intercepted (eg. for distributed 1347 build). 1348 1349 * dirdeps.mk (__depdirs): ensure // don't sneak in 1350 1351 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 1352 1353 13542014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 1355 1356 * rst2htm.mk (RST2PDF): add support for rst2pdf 1357 13582014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1359 1360 * install-mk (MK_VERSION): bump version 1361 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 1362 available. 1363 13642014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1365 1366 * options.mk: avoid :U so this isn't bmake dependent 1367 13682014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 1369 1370 * options.mk: cleanup and simplify semanitcs 1371 NO_* dominates all, if both WITH_* and WITHOUT_* 1372 are defined then result is DOMINATE_* which defaults to "no". 1373 Ie. WITHOUT_ normally wins. 1374 13752013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1376 1377 * install-mk (MK_VERSION): bump version 1378 * meta2deps.py: convert to print function for python3 compat. 1379 we also need to open files with mode 'r' rather than 'rb' 1380 otherwise we get bytes instead of strings. 1381 13822013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1383 1384 * install-mk (MK_VERSION): bump version 1385 1386 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 1387 apply the same filtering (M_dep_qual_fixes) when setting _machines 1388 as _build_dirs. 1389 Also fix the filtering of Makefile.depend files - for reporting 1390 what we are looking for (M_dep_qual_fixes can get confused by 1391 Makefile.depend) 1392 Add some more debug info. 1393 13942013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1395 1396 * gendirdeps.mk (_objtops): fix typo also 1397 while processing M2D_OBJROOTS to gather qualdir_list 1398 qualify $ql with loop iterator to ensure correct results. 1399 14002013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1401 1402 * install-mk (MK_VERSION): 20130801 1403 * libs.mk: update to match progs.mk 1404 14052013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 1406 1407 * install-mk (MK_VERSION): 20130726 1408 some updates from Juniper and FreeBSD 1409 o meta2deps.py: indicate file and line number when we hit parse 1410 errors 1411 also allow @file to provide huge list of .meta files. 1412 * meta2deps.py: add try_parse() to cleanup the above. 1413 14142013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1415 1416 * install-mk (MK_VERSION): 20130716 1417 * own.mk: add GPROG as an option 1418 * prog.mk: honor MK_GPROF==yes 1419 14202013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1421 1422 * install-mk (MK_VERSION): 20130505 1423 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 1424 for when $MACHINE isn't enough for objdir distinction. 1425 Bring meta2deps.sh closer to par with meta2deps.py. 1426 14272013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1428 1429 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 1430 also if the target 'beforeinstall' exists, make it depend on 1431 .dirdep (incase it uses STAGE_INSTALL). 1432 14332013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1434 1435 * install-mk (MK_VERSION): 20130401 ;-) 1436 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 1437 wrapper around install(1). 1438 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 1439 14402013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1441 1442 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 1443 * install-mk (MK_VERSION): bump version 1444 14452013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 1446 1447 * install-mk (MK_VERSION): bump version 1448 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 1449 any trailing /., rather apply :tA only when needed. 1450 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 1451 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 1452 consistently. 1453 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 1454 14552013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1456 1457 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 1458 it is simpler to just not update when say building for "host" 1459 (where we know we apply filters to DIRDEPS), and using a 1460 non-machine qualified dependfile. 1461 14622013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1463 1464 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 1465 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 1466 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 1467 * meta2deps.py: if machine is "host", then also trim 1468 self.host_target from any OBJROOTS. 1469 1470 14712013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1472 1473 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 1474 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 1475 but _DEPENDFILE does not, compare the new _DEPENDFILE against 1476 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 1477 14782013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 1479 1480 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 1481 and hook to all: via staging: 1482 14832013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1484 1485 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 1486 use a separate variable for the default .MAKE.DEPENDFILE value 1487 so that it can be controlled independently of 1488 .MAKE.DEPENDFILE_PREFERENCE 1489 1490 * meta.stage.mk: throw error if cp fails etc. 1491 Stage*() return early if passed no args. 1492 .ORDER stage_* 1493 14942013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1495 1496 * install-mk (MK_VERSION): bump version 1497 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 1498 14992013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1500 1501 * install-mk (MK_VERSION): bump version to 20130210 1502 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 1503 from Juniper. 1504 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 1505 than just MACHINE. 1506 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 1507 15082013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 1509 1510 * install-mk (MK_VERSION): bump version to 20130123 1511 * meta.stage.mk: add stage_links (hard links). 1512 if doing hard links, we add dest to link as well. 1513 Default the stage dir for [sym]links to STAGE_OBJTOP since 1514 these are typically specified as absolute paths. 1515 Add -m "mode" flag to StageFiles and StageAs. 1516 15172012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1518 1519 * install-mk (MK_VERSION): bump version to 20121111 1520 * autoconf.mk: avoid meta mode seeing changed commands for config.status 1521 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 1522 in case we were found via .../mk 1523 * sys.clean-env.mk: move it from examples, we and others use it 1524 "as is". 1525 * FILES: add srctop.mk and options.mk 1526 * own.mk: convert to using options.mk 1527 which is modeled after FreeBSD's handling of MK_* 1528 but more flexible. 1529 This allows MK_* for boolean knobs to not be confused 1530 with MK* which can be commands. 1531 1532 * examples/sys.clean-env.mk: add WITH[OUT]_ to 1533 MAKE_ENV_SAVE_PREFIX_LIST. 1534 Mention that HOME=/var/empty might be a good idea. 1535 15362012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 1537 1538 * sys.dependfile.mk: if not depend file exists, $MACHINE 1539 specific ones are supported but not the default, 1540 check if any exist and follow suit. 1541 15422012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 1543 1544 * install-mk (MK_VERSION): bump version to 20121106 1545 15462012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 1547 1548 * import latest dirdeps.mk and meta2deps.py from Juniper. 1549 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 1550 also add PROGS_TARGETS and pass on PROG_CXX if it seems 1551 appropriate. 1552 15532012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 1554 1555 * meta.stage.mk: update CLEANFILES 1556 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 1557 * progs.mk: Add LDADD to PROG_VARS 1558 15592012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1560 1561 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 1562 _STAGED_DIRS so that these can be turned into filters for 1563 GENDIRDEPS_FILTER. 1564 15652012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1566 1567 * install-mk (MK_VERSION): bump version to 20121010 1568 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 1569 target.dirdep matches .dirdep 1570 15712012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1572 1573 * install-mk (MK_VERSION): bump version to 20120808 1574 * import latest meta2deps.py from Juniper. 1575 15762012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 1577 1578 * install-mk (MK_VERSION): bump version to 20120711 1579 * dep.mk: add explicit dependencies on SRCS after applying 1580 SRCS_DEP_FILTER 1581 * meta.autodep.mk: add explicit dependencies on SRCS after 1582 applying SRCS_DEP_FILTER 1583 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 1584 15852012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 1586 1587 * install-mk (MK_VERSION): bump version to 20120626 1588 * meta.sys.mk: ignore PYTHON if it does not exist 1589 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 1590 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 1591 entries ending in .${MACHINE} to decide if qualified _dirdep is 1592 needed. 1593 * gendirdeps.mk: only produce unqualified deps if no 1594 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 1595 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 1596 15972012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1598 1599 * install-mk (MK_VERSION): bump version to 20120420 1600 * add sys.dependfile.mk so we can experiment with 1601 .MAKE.DEPENDFILE_PREFERENCE 1602 * meta.autodep.mk: _DEPENDFILE is precious! 1603 16042012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1605 1606 * install-mk (MK_VERSION): bump version to 20120315 1607 * install-new.mk: avoid being interrupted 1608 16092012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1610 1611 * man.mk: MAN might have multiple values so be careful with exists(). 1612 16132012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 1614 1615 * install-mk (MK_VERSION): bump version to 20120112 1616 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 1617 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 1618 16192011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 1620 1621 * install-mk (MK_VERSION): bump version to 20111201 1622 * import dirdeps.mk from Juniper sjg@ 1623 o more consistent handling of DEP_MACHINE, especially when 1624 dealing with an odd Makefile.depend, when normally using 1625 Makefile.depend.${MACHINE} 1626 16272011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 1628 1629 * install-mk (MK_VERSION): bump version to 20111122 1630 * meta.autodep.mk: add some debug output, be more crisp about 1631 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 1632 16332011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1634 1635 * install-mk (MK_VERSION): bump version to 20111111 1636 it's too cool to miss 1637 * import meta* updates from Juniper sjg@ 1638 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 1639 normally using Makefile.depend.${MACHINE}), handy for 1640 read-only manually maintained dependencies. 1641 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 1642 o gendirdeps.mk if ERROR: from meta2deps.py do not update 1643 anything. 1644 16452011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 1646 1647 * install-new.mk separate the cmp and copy logic to its own function. 1648 16492011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 1650 1651 * install-mk (MK_VERSION): bump version to 20111028 1652 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 1653 * subdir.mk: ensure _SUBDIRUSE is provided 1654 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 1655 * meta.subdir.mk: always allow for Makefile.depend 1656 16572011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1658 1659 * install-mk (MK_VERSION): bump version to 20111010 1660 o minor tweak to *dirdeps.mk from Juniper sjg@ 1661 16622011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1663 1664 * install-mk (MK_VERSION): bump version to 20111001 1665 o add meta2deps.py from Juniper sjg@ 1666 o tweak gendirdeps.mk to work with meta2deps.py when not 1667 cross-building 1668 * autoconf.mk: add autoconf-input as a hook for regenerating 1669 AUTOCONF_INPUTS (configure). 1670 16712011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 1672 1673 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 1674 trigger for updating Makefile.depend* 1675 16762011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1677 1678 * install-mk (MK_VERSION): bump version to 20110808 1679 * obj.mk: minor cleanup 1680 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 1681 16822011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1683 1684 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 1685 specified dir. 1686 16872011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1688 1689 * meta.autodep.mk: if XMAKE_META_FILE is set 1690 the makefile uses a foreign make, and so dependencies 1691 can only be gathered from a clean tree build. 1692 16932011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 1694 1695 * install-mk (MK_VERSION): bump version to 20110622 1696 * meta.autodep.mk: improve bootstraping 1697 16982011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1699 1700 * yacc.mk: handle the corner case of .c being removed 1701 while .h remains. 1702 17032011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1704 1705 * yacc.mk: do .y.h and .y.c separately 1706 17072011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1708 1709 * install-mk (MK_VERSION): bump version to 20110606 1710 * don't store SRC_DIRDEPS in Makefile.depend* by default 1711 not everyone needs it. 1712 17132011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1714 1715 * install-mk (MK_VERSION): bump version to 20110505 1716 first release including meta mode makefiles 1717 17182011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1719 1720 * meta.stage.mk: add STAGE_AS_SETS and stage_as 1721 for things that need to be staged with different names. 1722 17232011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1724 1725 * meta.stage.mk: add notion of STAGE_SETS 1726 so a makefile can stage to multiple dirs 1727 17282011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 1729 1730 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 1731 on target name. 1732 17332011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1734 1735 * install-mk (MK_VERSION): bump version to 20110330 1736 17372011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1738 1739 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 1740 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 1741 * sys.mk: re-define M_whence in terms of M_type. 1742 M_type is useful for checking if something is a builtin. 1743 17442011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1745 1746 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 1747 stage_libs 1748 17492011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1750 1751 * dirdeps.mk: correct value for _depdir_files depends on 1752 .MAKE.DEPENDFILE 1753 Add our copyright - just to make it clear we have frobbed this 1754 quite a bit. 1755 DEP_MACHINE needs to be set to MACHINE each time, if using only 1756 Makefile.depend (cf. Makefile.depend.${MACHINE}) 1757 1758 * meta.stage.mk: meta mode version of staging 1759 1760 * init.mk, final.mk: include local.*.mk to simplify customization 1761 17622011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1763 1764 * auto.obj.mk: just because we are doing mk destroy, we should 1765 still set .OBJDIR correctly if it exists. 1766 1767 * install-mk (mksrc): do not exclude meta.sys.mk 1768 17692011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1770 1771 * host-target.mk: set/export _HOST_ARCH etc separately, 1772 catch junk resulting from uname -p, so we can find sys/Linux.mk 1773 correctly. 1774 17752011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1776 1777 * meta.sys.mk: throw an error if /dev/filemon is missing and we 1778 expected to be updating Makefile.depend* 1779 17802011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1781 1782 * install-mk (MK_VERSION): bump version to 20110214 1783 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 1784 17852010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 1786 1787 * meta.sys.mk: not valid for older bmake 1788 17892010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 1790 1791 * install-mk (MK_VERSION): bump version to 20100919 1792 include dirdeps.mk et al from Juniper Networks, 1793 for meta mode - requires filemon(9). 1794 * sys.mk, subdir.mk: Add hooks for meta mode. 1795 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 1796 to make turning it on/off simple. 1797 17982010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 1799 1800 * install-mk (MK_VERSION): bump version to 20100616 1801 * fix typo in sys.mk 1802 18032010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 1804 1805 * install-mk (MK_VERSION): bump version to 20100612 1806 * lib.mk: remove duplicate addition to SOBJS 1807 18082010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1809 1810 * sys.mk: Add a means of selectively turning on debug flags. 1811 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 1812 will act as if we did make -dv if .CURDIR ends in lib/sjg 1813 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 1814 the start of sys.mk rather than the end. 1815 This only makes sense for leaf dirs, so we check that 1816 .MAKE.LEVEL > 0 1817 18182010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 1819 1820 * install-mk (MK_VERSION): bump version to 20100608 1821 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 1822 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 1823 also make it easier for folk to tweak 1824 18252010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1826 1827 * install-mk (MK_VERSION): bump version to 20100606 1828 do not install examples/* 1829 * FILES: add examples/sys.clean-env.mk 1830 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 1831 this requires bmake-20100606 or later to work. 1832 18332010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 1834 1835 * sys.mk (M_tA): better simulate the result of :tA if not available. 1836 18372010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1838 1839 * sys.mk: canonicalize MAKE_VERSION 1840 old versions reported bmake-<src-date> build-<build-date> 1841 whereas we only care about <src-date> 1842 18432010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 1844 1845 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 1846 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 1847 is !empty 1848 18492010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 1850 1851 * dpadd.mk: use LDADD_* if defined. 1852 18532010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1854 1855 * install-mk (MK_VERSION): bump version to 20100420 1856 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 1857 * autoconf.mk allow AUTO_AUTOCONF 1858 18592010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 1860 1861 * obj.mk: add objwarn to keep freebsd makefiles happy 1862 * auto.obj.mk: ensure Mkdirs is available. 1863 * FILES: add auto.dep.mk - a simpler version of autodep.mk 1864 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 1865 asked to do that. 1866 fix/simplify the tests for when to run mkdep. 1867 * auto.dep.mk: add some explanation of how/what we do. 1868 * autodep.mk: skip the .OPTIONAL frobbing of .depend 1869 bmake's FROM_DEPEND flag makes it redundant. 1870 18712010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 1872 1873 * install-mk (MK_VERSION): bump version to 20100404 1874 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 1875 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 1876 Also create a target _SUBDIRUSE so that we can be used without 1877 subdir.mk 1878 18792010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 1880 1881 * dep.mk: use <> when .including so can override. 1882 18832010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 1884 1885 * lib.mk (SHLIB_LINKS): ensure a string comparison. 1886 18872010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1888 1889 * install-mk (MK_VERSION): bump version to 20100102 1890 * own.mk: ensure PRINTOBJDIR works 1891 * autoconf.mk: pass on CONFIGURE_ARGS 1892 * init.mk: handle COPTS.${.IMPSRC:T} etc. 1893 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 1894 fix handling of symlinks for darwin 1895 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 1896 * man.mk: suppress chown when not root. 1897 * rst2htm.mk: allow srcs from multiple locations. 1898 * sys.mk: M_whence, stop after 1st line of output. 1899 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 1900 * sys/SunOS.mk: we need to export PATH 1901 19022009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 1903 1904 * install-mk (MK_VERSION): bump version 1905 include rst2htm.mk 1906 19072009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 1908 1909 * sys.mk,libnames.mk add .-include <local.*> 1910 this allows local customization without the need to edit the 1911 distributed files. 1912 19132009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 1914 1915 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 1916 older versions already installed. 1917 19182009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 1919 1920 * stage.mk (.stage-install): generalize lib.mk's .libinstall 1921 * rules.mk rules for generic Makefile. 1922 * inc.mk install for includes. 1923 19242009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 1925 1926 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 1927 this, so provide it if using native make. 1928 19292009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 1930 1931 * FILES: move all the platform *.sys.mk files to sys/*.mk 1932 * Rename Generic.sys.mk to sys.mk - we always want it. 1933 19342009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 1935 1936 * install-mk (MK_VERSION): bump version 1937 * host-target.mk: only export the expensive stuff 1938 * Generic.sys.mk (sys_mk): for SunOS we need to look for 1939 ${HOST_OS}.${HOST_OSMAJOR} too! 1940 19412009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 1942 1943 * install-mk (MK_VERSION): bump version 1944 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 1945 based on patch from Greg Olszewski. 1946 * Generic.sys.mk: if we have nothing to work with 1947 set LORDER etc only if we can find it. 1948 19492009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 1950 1951 * install-mk (MK_VERSION): bump version 1952 * man.mk: cleanman: remove CLEANMAN if defined. 1953 19542009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 1955 1956 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 1957 19582009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 1959 1960 * install-mk (MK_VERSION): bump version 1961 include auto.obj.mk 1962 1963 19642009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 1965 1966 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 1967 19682008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 1969 1970 * install-mk (MK_VERSION): bump version 1971 man.mk: ensure we generate *.cat1 etc in . 1972 19732008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 1974 1975 * install-mk (MK_VERSION): bump version 1976 add prlist.mk 1977 19782007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 1979 1980 * Generic.sys.mk: Allow os specific sys.mk to be in a 1981 subdir of ${.PARSEDIR} 1982 19832007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 1984 1985 * install-mk (MK_VERSION): bump version 1986 * general cleanup 1987 * dpadd.mk introduce DPMAGIC_LIBS_* 1988 19892007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 1990 1991 * install-mk (MK_VERSION): bump version 1992 1993 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 1994 depend files and ensure clean is called for each lib/prog. 1995 19962007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 1997 1998 * autodep.mk (.depend): delete lines that do not start with 1999 space and do not contain ':' 2000 20012007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 2002 2003 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 2004 so make sure the transform for .OPTIONAL copes. 2005 20062007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2007 2008 * install-mk (MK_VERSION): bump version 2009 2010 * own.mk: make sure RM and LN are defined. 2011 2012 * obj.mk: fix a typo, and objlink target. 2013 20142006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 2015 2016 * install-mk (MK_VERSION): bump version 2017 * added libs.mk - analogous to progs.mk 2018 make both of them always inlcude {lib,prog}.mk 2019 20202006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 2021 2022 * progs.mk: add a means of building multiple apps in one dir. 2023 20242006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 2025 2026 * install-mk (MK_VERSION): bump version to 20061126 2027 2028 * warnings.mk: detect invalid WARNINGS_SET 2029 2030 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 2031 specific warnings. 2032 2033 * For .cc sources, turn off warnings that g++ vomits on. 2034 20352006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 2036 2037 * own.mk: if __initialized__ target doesn't exist and we are 2038 FreeBSD we got here directly from sys.mk 2039 20402006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 2041 2042 * install-mk (MK_VERSION): bump version to 20061106 2043 add scripts.mk 2044 20452006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 2046 2047 * install-mk (MK_VERSION): bump version to 20060318 2048 2049 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 2050 20512006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 2052 2053 * install-mk (MK_VERSION): bump version to 20060302 2054 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 2055 20562006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 2057 2058 * install-mk (MK_VERSION): bump version to 20060301 2059 * autodep.mk (.depend): 2060 if MAKE_VERSION is newer than 20050530 we can make .END depend on 2061 .depend and make .depend depend on __depsrcs that exist. 2062 * dpadd.mk: add SRC_PATHADD 2063 20642005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2065 2066 * install-mk (MK_VERSION): bump version to 20051104 2067 * prog.mk: remove all the LIBC?= junk, use 2068 .-include libnames.mk instead (none by default). 2069 also if USE_DPADD_MK is set, include that. 2070 20712005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2072 2073 * install-mk (MK_VERSION): bump version to 20051001 2074 Add UnixWare.sys.mk from Klaus Heinz. 2075 20762005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 2077 2078 * install-mk: always install *.sys.mk and if need be symlink one 2079 to sys.mk 2080 20812005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 2082 2083 * subdir.mk, own.mk: use .MAKE rather than MAKE 2084 20852004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2086 2087 * own.mk: don't use NetBSD's _SRC_TOP_ it can 2088 cause confusion. Also don't take just 'mk' as a 2089 srctop indicator. 2090 20912004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 2092 2093 * warnings.mk: overhauled, now very powerful. 2094 20952004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2096 2097 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 2098 20992004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 2100 2101 * install-mk (MK_VERSION): bump version to 20040201 2102 * extract HOST_TARGET stuff to host-target.mk so own.mk and 2103 Generic.sys.mk can share. 2104 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 2105 21062003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 2107 2108 * install-mk (MK_VERSION): 20030930 2109 * rename generic.sys.mk to Generic.sys.mk 2110 so that it does not get installed (unless being used as sys.mk) 2111 * set OS and ROOT_GROUP for those that we know the value. 2112 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 2113 we don't do it again for each sub-make. 2114 21152003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2116 2117 * install-mk (MK_VERSION): 20030928 2118 Add some extra *.sys.mk from bootstrap-pkgsrc 2119 some of these likely still need work. 2120 Make everything default to root:wheel ownership, 2121 sys.mk can set ROOT_GROUP accordingly. 2122 21232003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 2124 2125 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 2126 not the portable ones. 2127 21282003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2129 2130 * install-mk: add ability to use cp -f when updating 2131 destination .mk files. Also now possible to play games with 2132 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 2133 into dest - not recommended unless you seriously want to. 2134 21352003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2136 2137 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 2138 for semi-compatability with NetBSD. 2139 21402003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2141 2142 * install-mk: add a version indicator 2143 21442003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 2145 2146 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 2147 2148 * install-mk: Allow FORCE_SYS_MK to come from env 2149 2150 2151 2152