12023-09-09 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * jobs.mk (JOB_MAX): use -jC if we can 4 we actually use JOB_MAX_C which defaults to 1.33C 5 62023-08-18 Simon J Gerraty <sjg@beast.crufty.net> 7 8 * now_utc: %s only works with :localtime 9 102023-07-14 Simon J Gerraty <sjg@beast.crufty.net> 11 12 * install-sh: ignore -c as claimed and only insist on 13 a directory for destination when more than one file to copy. 14 15 * sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and 16 ${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64) 17 182023-07-13 Simon J Gerraty <sjg@beast.crufty.net> 19 20 * install-mk (MK_VERSION): 20230711 21 22 * sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible 23 install(1) 24 25 * sys/IRIX.mk: when setting ROOT_GROUP only match the first :0: 26 set INSTALL to install-sh rather than pathname that may not exist 27 (yet). 28 292023-07-07 Simon J Gerraty <sjg@beast.crufty.net> 30 31 * dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE 32 normally this is empty - for the default target, but there are 33 use-cases where we might set it to something else. 34 352023-07-04 Simon J Gerraty <sjg@beast.crufty.net> 36 37 * install-mk (MK_VERSION): 20230704 38 39 * dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output 40 when DEBUG_DIRDEPS is in effect. 41 Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n 42 can greatly improve readability. 43 442023-05-25 Simon J Gerraty <sjg@beast.crufty.net> 45 46 * meta.autodep.mk (beforegendirdeps): allow tasks to be done 47 at END but before gendirdeps 48 492023-05-22 Simon J Gerraty <sjg@beast.crufty.net> 50 51 * install-mk (MK_VERSION): 20230522 52 53 * host-target.mk: deal with garbage from uname -m on 54 Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH 55 these days so just leave it be. 56 For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get 57 arm64 and x86_64 in HOST_TARGET. 58 592023-05-15 Simon J Gerraty <sjg@beast.crufty.net> 60 61 * sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older 62 versions of bmake. 63 64 * dirdeps.mk (TARGET_SPEC_VARS.host): 65 While *most* projects need only DEP_MACHINE for host, 66 there is always an exception. So we allow for 67 TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS. 68 The default will *just work* for most projects. 69 We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC 70 based on DEP_MACHINE. 71 Allow for M_dep_qual_fixes.host to be different too 72 and take care to apply the right set. 73 742023-05-14 Simon J Gerraty <sjg@beast.crufty.net> 75 76 * sys.dirdeps.mk: we *do* want to override OBJTOP 77 and if MAKEOBJDIR was not in env as we want it; 78 put it there - carefully. 79 Ensure OBJROOT ends in / or - (/ preferred) 80 Add more comments to explain what/why. 81 822023-05-13 Simon J Gerraty <sjg@beast.crufty.net> 83 84 * install-mk (MK_VERSION): 20230512 85 86 * dirdeps.mk: take care not to qualify "host" dirdeps 87 88 * sys.dirdeps.mk (OBJTOP): must use ?= 89 902023-05-10 Simon J Gerraty <sjg@beast.crufty.net> 91 92 * meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no" 93 suppress processing of .depend 94 952023-05-09 Simon J Gerraty <sjg@beast.crufty.net> 96 97 * dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP 98 99 * meta.sys.mk sys.dirdeps.mk: 100 originally DIRDEPS_BUILD and META_MODE were the same thing, 101 but META_MODE is useful by itself. 102 Move things from meta.sys.mk which actually pertain to 103 DIRDEPS_BUILD to sys.dirdeps.mk 104 1052023-05-04 Simon J Gerraty <sjg@beast.crufty.net> 106 107 * install-mk (MK_VERSION): 20230504 May the Forth be with you 108 109 * dirdeps.mk: as with meta.sys.mk we treat "host" as special. 110 DEP_TARGET_SPEC is just ${DEP_MACHINE} 111 112 * meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at 113 level > 0 since these are often refered to in Makefile.depend* 114 1152023-04-26 Simon J Gerraty <sjg@beast.crufty.net> 116 117 * jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and 118 anything in ${JOB_LOG_START} 119 120 * jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}} 121 or a scripts subdir before searching $PATH. 122 123 * FILES: include newlog.sh for jobs.mk 124 1252023-04-20 Simon J Gerraty <sjg@beast.crufty.net> 126 127 * install-mk (MK_VERSION): 20230420 128 129 * lib.mk: include LDFLAGS and LDADD when linking shared libs 130 131 * gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc 132 via local.meta.sys.mk rather than local.gendirdeps.mk 133 so DEP_* variables can be set at level 1+ to avoid syntax errors 134 when used in conditionals in manually maintained Makefile.depend 135 files. 136 137 * dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines 138 1392023-04-18 Simon J Gerraty <sjg@beast.crufty.net> 140 141 * dirdeps.mk: check we were not included by 142 Makefile.depend.options as the result is bad. 143 1442023-04-14 Simon J Gerraty <sjg@beast.crufty.net> 145 146 * install-mk (MK_VERSION): 20230414 147 148 * meta.sys.mk: since we have :range we can put the logic for 149 processing TARGET_SPEC from env here. 150 151 * dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including 152 local.dirdeps-missing.mk, also improve debug output. 153 154 * dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC 155 we need to use :M*[/.]* same as for when actually setting DIRDEPS 156 from the targets on command line. 157 1582023-04-12 Simon J Gerraty <sjg@beast.crufty.net> 159 160 * Add jobs.mk 161 1622023-03-21 Simon J Gerraty <sjg@beast.crufty.net> 163 164 * install-mk (MK_VERSION): 20230321 165 166 * meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter 167 STAGE_LIBS for SHLIB_LINKS. 168 169 * autoconf.mk: add .WAIT after config.status 170 1712023-02-17 Simon J Gerraty <sjg@beast.crufty.net> 172 173 * sys.vars.mk: add M_Index to report the index of a word in a list. 174 1752023-02-15 Simon J Gerraty <sjg@beast.crufty.net> 176 177 * install-mk (MK_VERSION): 20230215 178 179 * warnings.mk: allow better control of -Werror 180 allow -Wno-error or similar to be added if 181 WARNINGS_SET < WERROR_SET 182 account for COMPILER_TYPE 183 1842023-01-29 Simon J Gerraty <sjg@beast.crufty.net> 185 186 * autoconf.mk: hook config.status to beforebuild. 187 188 * whats.mk: what*.c is NOTMAIN 189 1902023-01-27 Simon J Gerraty <sjg@beast.crufty.net> 191 192 * install-mk (MK_VERSION): 20230127 193 control umask so directories are created with suitable mode. 194 1952023-01-20 Simon J Gerraty <sjg@beast.crufty.net> 196 197 * install-mk (MK_VERSION): 20230120 198 199 * sys.vars.mk: add M_On and M_Onr also cleanup to be more 200 consistent wrt testing MAKE_VERSION 201 2022023-01-12 Simon J Gerraty <sjg@beast.crufty.net> 203 204 * install-mk (MK_VERSION): 20230112 205 206 * meta2deps.{py,sh}: assert if filemon data is truncated 207 we should see the '# Bye bye' record - assert if we do not. 208 2092022-09-09 Simon J Gerraty <sjg@beast.crufty.net> 210 211 * install-mk (MK_VERSION): 20220909 212 213 * sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings 214 2152022-09-06 Simon J Gerraty <sjg@beast.crufty.net> 216 217 * dirdeps-options.mk: explain the need to use 218 ${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to 219 ${TARGET_SPEC_VAR} 220 2212022-09-03 Simon J Gerraty <sjg@beast.crufty.net> 222 223 * install-mk (MK_VERSION): 20220903 224 225 * M_cmpv handle more than 3 dots and clear leading 0's 226 2272022-07-20 Simon J Gerraty <sjg@beast.crufty.net> 228 229 * install-mk (MK_VERSION): 20220720 230 231 * prog.mk: handle PROG_CXX for more than just NetBSD 232 2332022-06-20 Simon J Gerraty <sjg@beast.crufty.net> 234 235 * install-mk (MK_VERSION): 20220620 236 237 * yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER 238 rather than just suffix rules 239 2402022-04-23 Simon J Gerraty <sjg@beast.crufty.net> 241 242 * install-mk (MK_VERSION): 20220422 243 244 * gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no" 245 do not capture any local depends in Makefile.depend 246 2472022-03-25 Simon J Gerraty <sjg@beast.crufty.net> 248 249 * install-mk (MK_VERSION): 20220323 250 * posix.mk: default rules for .POSIX: 251 2522022-03-17 Simon J Gerraty <sjg@beast.crufty.net> 253 254 * sys/*.mk: remove l from ARFLAGS 255 2562022-03-14 Simon J Gerraty <sjg@beast.crufty.net> 257 258 * install-mk (MK_VERSION): 20220314 259 260 * dirdeps-options.mk: allow options to be per RELDIR 261 try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed 262 with ${DEP_RELDIR}. 263 2642022-02-14 Simon J Gerraty <sjg@beast.crufty.net> 265 266 * install-mk (MK_VERSION): 20220214 267 268 * cc-wrap.mk: fix :@ modifier 269 2702022-02-06 Simon J Gerraty <sjg@beast.crufty.net> 271 272 * install-mk (MK_VERSION): 20220206 273 274 * cc-wrap.mk: docuement how CCACHE etc might be set for 275 maximum flexibility 276 2772022-02-05 Simon J Gerraty <sjg@beast.crufty.net> 278 279 * sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT 280 2812022-02-04 Simon J Gerraty <sjg@beast.crufty.net> 282 283 * install-mk (MK_VERSION): 20220204 284 285 * host-target.mk: use .MAKE.OS if available 286 2872022-02-02 Simon J Gerraty <sjg@beast.crufty.net> 288 289 * install-mk (MK_VERSION): 20220202 290 291 * cc-wrap.mk: allow other entries in CC_WRAP_FILTER 292 We add our filter on extensions last, so prior filters 293 can apply to the whole value of .IMPSRC 294 2952022-02-01 Simon J Gerraty <sjg@beast.crufty.net> 296 297 * cc-wrap.mk: take advantage of target local variables to 298 wrap compilers like CC CXX with wrappers like ccache distcc etc 299 3002022-01-28 Simon J Gerraty <sjg@beast.crufty.net> 301 302 * meta2deps: we do not expect any trace data for setid apps 303 3042022-01-26 Simon J Gerraty <sjg@beast.crufty.net> 305 306 * dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed 307 to sub-make using DIRDEPS_CACHE 308 3092022-01-07 Simon J Gerraty <sjg@beast.crufty.net> 310 311 * dirdeps.mk: use _cache_script to minimize the number of shells 312 forked when generating dirdeps.cache 313 3142022-01-02 Simon J Gerraty <sjg@beast.crufty.net> 315 316 * install-mk (MK_VERSION): 20220101 317 318 * dirdeps.mk: initialize DEP_* and _debug_reldir earlier. 319 If initial DIRDEPS are from command line, create the target 320 _dirdeps_cmdline as an indication. 321 3222022-01-01 Simon J Gerraty <sjg@beast.crufty.net> 323 324 * init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD 325 at top-level only some targets are allowed at level 0, 326 for leaf makefiles only the default (all) target is restricted 327 3282021-12-28 Simon J Gerraty <sjg@beast.crufty.net> 329 330 * install-mk (MK_VERSION): 20211228 331 332 * meta2deps.py: filemon on Linux is not as reliable as we might 333 like, we do not want to update DIRDEPS if filemon output is 334 incomplete. Track pids that we 'E'xec and make sure we see an 335 e'X'it for each one. Throw an error if we are missing any 'X' 336 records. 337 3382021-12-12 Simon J Gerraty <sjg@beast.crufty.net> 339 340 * sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes. 341 342 * meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON 343 is something else. 344 345 * meta.autodep.mk: we can now reference ${.SUFFIXES} 346 347 * meta2deps.py: derive a list of dirdep extensions from 348 TARGET_SPEC to trim from dirdeps. 349 350 * dirdeps.mk: flip the computation of qualified vs unqualified 351 dirdeps - it is much simpler to check for unqualified first. 352 3532021-12-11 Simon J Gerraty <sjg@beast.crufty.net> 354 355 * install-mk (MK_VERSION): 20211212 356 357 * auto.dep.mk: rearrange so that the trivial implementation 358 for recent bmake is more obvious. 359 3602021-12-07 Simon J Gerraty <sjg@beast.crufty.net> 361 362 * install-mk (MK_VERSION): 20211207 363 364 * Ensure guard targets are .NOTMAIN 365 366 * meta.sys.mk: check for nofilemon support when we skip level 0 367 368 * auto.dep.mk: make this usable in meta mode 369 for platforms that cannot use meta.autodep.mk 370 371 * meta2deps.py: avoid confusion if MACHINE and another 372 TARGET_SPEC_VAR have same value. 373 3742021-11-27 Simon J Gerraty <sjg@beast.crufty.net> 375 376 * dirdeps.mk: when building dirdeps.cache, minimize the amount of 377 data put into env, by stripping ${SRCTOP}/ from each entry. 378 A long sandbox name can double the amount of memory consumed and 379 in extreme cases cause failure. 380 While we are at it, strip ${SRCTOP}/ from a lot of the debug output. 381 3822021-11-11 Simon J Gerraty <sjg@beast.crufty.net> 383 384 * install-mk (MK_VERSION): 20211111 385 386 * meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail 387 so fallback to cp if necessary. 388 3892021-10-30 Simon J Gerraty <sjg@beast.crufty.net> 390 391 * man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year 392 old cmt2doc.pl 393 3942021-10-24 Simon J Gerraty <sjg@beast.crufty.net> 395 396 * meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f} 397 as the symlink (rare) 398 3992021-10-16 Simon J Gerraty <sjg@beast.crufty.net> 400 401 * autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not 402 been read, throw an error after running configure telling user to 403 restart. 404 4052021-10-13 Simon J Gerraty <sjg@beast.crufty.net> 406 407 * install-mk (MK_VERSION): 20211011 408 409 * Add support for SCO_SV 410 4112021-10-01 Simon J Gerraty <sjg@beast.crufty.net> 412 413 * install-mk (MK_VERSION): 20211001 414 415 * man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more 416 flexibility 417 4182021-09-13 Simon J Gerraty <sjg@beast.crufty.net> 419 420 * options.mk (describe-options): print options and their values 421 and optional description 422 4232021-09-11 Simon J Gerraty <sjg@beast.crufty.net> 424 425 * install-mk (MK_VERSION): 20210911 426 427 * options.mk (show-options): print options and their values 428 4292021-09-08 Simon J Gerraty <sjg@beast.crufty.net> 430 431 * install-mk (MK_VERSION): 20210909 432 433 * lib.mk: apply patch from <daniel@octaforge.org> 434 to fix shared libs on Linux 435 4362021-08-08 Simon J Gerraty <sjg@beast.crufty.net> 437 438 * install-mk (MK_VERSION): 20210808 439 440 * options.mk: issue warning for WITH_*=no 441 4422021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 443 444 * install-mk (MK_VERSION): 20210616 445 446 * dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find 447 depend files to read, anchor MACHINE at , or end of string 448 to avoid prefix match. 449 4502021-05-04 Simon J Gerraty <sjg@beast.crufty.net> 451 452 * install-mk (MK_VERSION): 20210504 453 454 * dirdeps.mk: re-implement ALL_MACHINES support to better 455 cater for local complexities, when ONLY_TARGET_SPEC_LIST 456 is not set. local.dirdeps.mk can set 457 DIRDEPS_ALL_MACHINES_FILTER and/or 458 DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get 459 from listing all existing Makefile.depend.* 460 4612021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 462 463 * install-mk (MK_VERSION): 20210420 464 465 * dirdeps.mk: revert previous - not always safe. 466 4672021-03-20 Simon J Gerraty <sjg@beast.crufty.net> 468 469 * install-mk (MK_VERSION): 20210321 470 471 * dirdeps.mk: when generating dirdeps.cache 472 we only need to hook the initial DIRDEPS to the 473 dirdeps target. That and any _build_xtra_dirs (like tests which 474 should not be hooked directly to the dependency graph - to avoid 475 cycles) 476 4772021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 478 479 * install-mk (MK_VERSION): 20210130 480 481 * dirdeps.mk: expr 2 - 1 - 1 exits with a bad status 482 we need to guard against this in DIRDEP_LOADAVG_REPORT. 483 484 * dirdeps.mk: restore respect for TARGET_MACHINE 485 4862021-01-06 Simon J Gerraty <sjg@beast.crufty.net> 487 488 * install-mk (MK_VERSION): 20210101 489 490 * dirdeps.mk: first time we are read, just use TARGET_SPEC for 491 _DEP_TARGET_SPEC 492 4932020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 494 495 * sys.mk (MAKE_SHELL): use ${.SHELL:Ush} 496 and use := when setting SHELL 497 4982020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 499 500 * install-mk (MK_VERSION): 20201221 501 502 * dirdeps-options.mk: latest bmake allows only one arg to .undef 503 5042020-12-11 Simon J Gerraty <sjg@beast.crufty.net> 505 506 * dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS 507 so that any directory can be treated as a target. 508 5092020-11-26 Simon J Gerraty <sjg@beast.crufty.net> 510 511 * install-mk (MK_VERSION): 20201126 512 513 * own.mk: use .MAKE.{UID,GID} if available. 514 515 * init.mk: suppress _SKIP_BUILD warning if doing -V 516 5172020-11-20 Simon J Gerraty <sjg@beast.crufty.net> 518 519 * install-mk (MK_VERSION): 20201120 520 521 * init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS 522 523 * dirdeps-targets.mk: fix typo in comment 524 5252020-11-06 Simon J Gerraty <sjg@beast.crufty.net> 526 527 * install-mk (MK_VERSION): 20201106 528 529 * meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed 530 args to tweak extensions for local deps. 531 5322020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 533 534 * install-mk (MK_VERSION): 20201101 535 536 * dirdeps.mk: most leaf makefiles are not suitable for building 537 dirdeps.cache so if RELDIR is not "." use dirdeps.mk 538 5392020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 540 541 * install-mk (MK_VERSION): 20201028 542 543 * dirdeps.mk: if we don't have :range use equivalent of M_RANGE 544 when building dirdeps.cache for leaf directory use -f dirdeps.mk 545 546 * sys.vars.mk: add M_JOT and M_RANGE 547 5482020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 549 550 * install-mk (MK_VERSION): 20201001 551 552 * meta2deps.{py,sh}: throw an error if we don't see filemon version 553 5542020-09-09 Simon J Gerraty <sjg@beast.crufty.net> 555 556 * install-mk (MK_VERSION): 20200909 557 558 * dirdeps-cache-update.mk: use cache_update_dirdep as guard target 559 5602020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 561 562 * dirdeps.mk: ensure we cannot confuse a static cache for dynamic 563 (even more rare that use of static cache is playing clever tricks 564 with it) 565 5662020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 567 568 * dirdeps-cache-update.mk: allow 569 MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we 570 actually update STATIC_DIRDEPS_CACHE. 571 572 * stage-install.sh: create dest directory if needed 573 before running install(1) 574 5752020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 576 577 * dirdeps-targets.mk: include Makefile.dirdeps.options 578 579 * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE 580 5812020-08-09 Simon J Gerraty <sjg@beast.crufty.net> 582 583 * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty 584 585 * dirdeps-cache-update.mk: building parallel cache update 586 under the context of dirdeps-cached would be ideal, but 587 is problematic, so it runs as a sibling. 588 Use cache-built target to ensure we wait for it to complete if 589 necessary. 590 5912020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 592 593 * install-mk (MK_VERSION): 20200806 594 595 * dirdeps-options: allow TARGET_SPEC to affect option values. 596 Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_* 597 598 * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined 599 before looking for STATIC_DIRDEPS_CACHE 600 6012020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 602 603 * host-target.mk: Darwin use MACHINE for HOST_ARCH too 604 605 * dirdeps-options.mk: improve debug output 606 6072020-07-22 Simon J Gerraty <sjg@beast.crufty.net> 608 609 * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE 610 for use by dirdeps-cache-update.mk 611 612 * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE 613 for use by dirdeps-cache-update.mk even if we don't use it. 614 615 * dirdeps-cache-update.mk: we only need worry about the background 616 update case, with the above, the update from DIRDEPS_CACHE is 617 simple. 618 619 * meta2deps.py: R 1234 . is not interesting 620 6212020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 622 623 * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE 624 625 * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS 626 allows use of lower case for pseudo options. 627 628 * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE 629 6302020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 631 632 * dirdeps-targets.mk: Look for Makefile.dirdeps.cache 633 which allows us to have a static cache for expensive targets. 634 Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE 635 to regenerate the dirdeps.cache it is a copy of. 636 6372020-07-17 Simon J Gerraty <sjg@beast.crufty.net> 638 639 * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense. 640 6412020-07-16 Simon J Gerraty <sjg@beast.crufty.net> 642 643 * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record 644 load averages at intervals during build. 645 6462020-07-15 Simon J Gerraty <sjg@beast.crufty.net> 647 648 * install-mk (MK_VERSION): 20200715 649 650 * dirdeps.mk: tweak Checking line to make matching Finished 651 lines for post-build analysis easier. 652 653 * meta.autodep.mk: use !defined(WITHOUT_META_STATS) 654 655 * progs.mk: avoid prog.mk outputting multiple Finished lines 656 6572020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 658 659 * dirdeps.mk: further optimize dirdeps.cache 660 generate a DIRDEPS.${.TARGET} list for other purposes 661 and improve the layout. 662 6632020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 664 665 * dirdeps.mk: optimize content of dirdeps.cache 666 6672020-06-28 Simon J Gerraty <sjg@beast.crufty.net> 668 669 * sys/*.mk: make it easier for local*sys.mk to customize by 670 using ?= 671 6722020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 673 674 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0 675 it is much safer to guard local depends with a simple check for 676 .MAKE.LEVEL > 0 677 6782020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 679 680 * install-mk (MK_VERSION): 20200610 681 682 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok 683 6842020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 685 686 * install-mk (MK_VERSION): 20200606 687 688 * dirdeps-targets.mk: allow for filtering of .TARGETS 689 690 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove 691 entries - and we don't care about 'W'rite entries. 692 Also ignore absolute paths that do not exist. 693 6942020-05-25 Simon J Gerraty <sjg@beast.crufty.net> 695 696 * install-mk (MK_VERSION): 20200525 697 698 * init.mk: expand and simplify handling of qualified vars 699 like CPPFLAGS.${.TARGET:T} 700 7012020-05-15 Simon J Gerraty <sjg@beast.crufty.net> 702 703 * install-mk (MK_VERSION): 20200515 704 705 * dirdeps.mk: set _debug_* earlier and allow passing -d* 706 flags to submake when building DIRDEPS_CACHE 707 7082020-05-09 Simon J Gerraty <sjg@beast.crufty.net> 709 710 * whats.mk: more easily extensible 711 7122020-05-02 Simon J Gerraty <sjg@beast.crufty.net> 713 714 * whats.mk: greatly simplify by adding what.c to SRCS 715 7162020-05-01 Simon J Gerraty <sjg@beast.crufty.net> 717 718 * whats.mk: for libs take care how we add to *OBJS 719 720 * lib.mk: : works better with whats.mk 721 7222020-04-25 Simon J Gerraty <sjg@beast.crufty.net> 723 724 * install-mk (MK_VERSION): 20200420 725 726 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep 727 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC} 728 7292020-04-16 Simon J Gerraty <sjg@beast.crufty.net> 730 731 * install-mk (MK_VERSION): 20200416 732 733 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to 734 interfere with user env. 735 736 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL 737 738 * autodep.mk: use MAKE_SHELL. 739 7402019-11-21 Simon J Gerraty <sjg@beast.crufty.net> 741 742 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of 743 wasted effort, and unexport _meta_files when no longer needed as 744 it consumes space we need for command line. 745 7462019-11-11 Simon J Gerraty <sjg@beast.crufty.net> 747 748 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add 749 DIRDEP_USE_PRELUDE at start - facilitates job distribution 750 7512019-10-04 Simon J Gerraty <sjg@beast.crufty.net> 752 753 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST 754 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid 755 TARGET_SPEC qualified depend files. 756 7572019-10-02 Simon J Gerraty <sjg@beast.crufty.net> 758 759 * dirdeps-targets.mk: encapsulate logic for finding top-level 760 targets to set initial DIRDEPS for DIRDEPS_BUILD 761 7622019-09-27 Simon J Gerraty <sjg@beast.crufty.net> 763 764 * install-mk (MK_VERSION): 20190911 765 766 * compiler.mk: set COMPILER_TYPE 767 7682019-07-17 Simon J Gerraty <sjg@beast.crufty.net> 769 770 * install-mk (MK_VERSION): 20190704 771 772 * sys/Darwin.mk: support for Objective-C and clang 773 7742019-05-30 Simon J Gerraty <sjg@beast.crufty.net> 775 776 * dirdeps.mk: avoid insanely long command line when generating cache 777 7782019-05-23 Simon J Gerraty <sjg@beast.crufty.net> 779 780 * install-mk (MK_VERSION): 20190505 781 782 * whats.mk: handle corner case SHLIB defined but not LIB 783 7842018-09-19 Simon J Gerraty <sjg@beast.crufty.net> 785 786 * install-mk (MK_VERSION): 20180919 787 788 * dirdeps-options.mk: .undef cannot handle var that expands to 789 more than one var. 790 7912018-07-08 Simon J Gerraty <sjg@beast.crufty.net> 792 793 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc. 794 7952018-06-01 Simon J Gerraty <sjg@beast.crufty.net> 796 797 * meta.autodep.mk: export META_FILES to avoid command line limit 798 * gendirdeps.mk: if we have lots of .meta files put them in 799 an @list 800 8012018-05-28 Simon J Gerraty <sjg@beast.crufty.net> 802 803 * dirdeps-options.mk: use local.dirdeps-options.mk 804 not local.dirdeps-option.mk 805 8062018-04-20 Simon J Gerraty <sjg@beast.crufty.net> 807 808 * install-mk (MK_VERSION): 20180420 809 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0 810 ie. we are building something. 811 8122018-04-14 Simon J Gerraty <sjg@beast.crufty.net> 813 814 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS. 815 8162018-04-05 Simon J Gerraty <sjg@beast.crufty.net> 817 818 * install-mk (MK_VERSION): 20180405 819 820 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER 821 if needed. 822 8232018-01-18 Simon J Gerraty <sjg@beast.crufty.net> 824 825 * install-mk (MK_VERSION): 20180118 826 827 * ldorder.mk: let make compute correct link order 828 8292017-12-12 Simon J Gerraty <sjg@beast.crufty.net> 830 831 * install-mk (MK_VERSION): 20171212 832 833 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER 834 8352017-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 836 837 * install-mk (MK_VERSION): 20171111 838 839 * lib.mk: ensure META_NOECHO is set 840 8412017-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 842 843 * Allow for host32 on rare occasions. 844 8452017-10-18 Simon J. Gerraty <sjg@bad.crufty.net> 846 847 * install-mk (MK_VERSION): 20171018 848 849 * whats.mk: include what_thing in what_uuid to avoid problem 850 when building multiple apps in the same directory. 851 8522017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 853 854 * install-mk (MK_VERSION): 20170812 855 856 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can 857 add dependencies for config.recheck and config.gen 858 8592017-06-30 Simon J. Gerraty <sjg@bad.crufty.net> 860 861 * install-mk (MK_VERSION): 20170630 862 863 * meta.stage.mk: avoid triggering stage_* targets with nothing to do. 864 8652017-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 866 867 * meta2deps.py: take special care of '..' 868 8692017-05-15 Simon J. Gerraty <sjg@bad.crufty.net> 870 871 * install-mk (MK_VERSION): 20170515 872 873 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is 874 useful/necessary for a Makefile.depend file to export some knobs. 875 This is complicated when we are doing DIRDEPS_CACHE, so we will 876 handle export of any variables listed in DEP_EXPORT_VARS. 877 8782017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 879 880 * install-mk (MK_VERSION): 20170505 881 882 * meta2deps.py: fix botched indenation. 883 8842017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 885 886 * sys/*.mk: Remove setting of MAKE it is unnecessary and 887 in many cases wrong (basname rather than full path) 888 889 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk 890 891 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc 892 8932017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 894 895 * install-mk (MK_VERSION): 20170501 896 897 * doc.mk: fix typo in DOC_INSTALL_OWN 898 899 * inc.mk: handle INCGROUPS similar to freebsd 900 901 * files.mk: add something for files too 902 903 * add staging logic to lib.mk prog.mk etc. 904 9052017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 906 907 * install-mk (MK_VERSION): 20170424 908 909 * dirdeps.mk: set NO_DIRDEPS when bootstrapping. 910 also target of bootstrap-this when sed is needed should be ${_want:T} 911 9122017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 913 914 * install-mk (MK_VERSION): 20170418 915 916 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a 917 prefix match for .CURDIR - in which case .CURDIR *is* __objdir. 918 9192017-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 920 921 * install-mk (MK_VERSION): 20170401 922 923 * meta2deps.py: add is_src so we can check if obj dependency 924 is also a src dependency. 925 9262017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 927 928 * install-mk (MK_VERSION): 20170326 929 930 * meta.stage.mk: do nothing if NO_STAGING is defined. 931 9322017-03-24 Simon J. Gerraty <sjg@bad.crufty.net> 933 934 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc. 935 9362017-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 937 938 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_* 939 9402017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 941 942 * install-mk (MK_VERSION): 20170301 943 944 * dirdeps.mk (_build_all_dirs): update this outside test for empty 945 DIRDEPS. 946 947 * meta.stage.mk: allow multiple inclusion to the extent it makes 948 sense. 949 9502017-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 951 952 * prog.mk (install_links): depends on realinstall 953 9542017-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 955 956 * install-mk (MK_VERSION): 20170212 957 958 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries 959 9602017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 961 962 * install-mk (MK_VERSION): 20170130 963 964 * dirdeps.mk: use :range if we can. 965 966 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130 967 968 * meta2deps.py: clean paths without using realpath() where possible. 969 fix sort_unique. 970 9712016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 972 973 * install-mk (MK_VERSION): 20161212 974 975 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, 976 rather than when we detect pid change. 977 9782016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 979 980 * install-mk (MK_VERSION): 20161207 981 982 * meta.stage.mk: add stage_as_and_symlink for staging packages. 983 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able 984 to use foo.tgz to reference the latest staged version - so we 985 make foo.tgz a symlink to it. 986 Using a target to do both operations ensures we stay in sync. 987 9882016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 989 990 * install-mk (MK_VERSION): 20161126 991 992 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk 993 so it can add dependencies. 994 9952016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 996 997 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE 998 do that they can influence the result correctly. 999 1000 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC 1001 1002 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST 1003 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 1004 10052016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 1006 1007 * dirdeps.mk: remove dependence on jot (normal situations anyway). 1008 Before we read another Makefile.depend* set DEP_* vars from 1009 _DEP_TARGET_SPEC in case it uses any of them with := 1010 When bootstrapping, trim any ,* from extention of chosen _src 1011 Makefile.depend* to get the machine value we subst for. 1012 10132016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> 1014 1015 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to 1016 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER 1017 1018 * sys.mk: extract some bits to sys.{debug,vars}.mk 1019 for easier re-use by others. 1020 10212016-09-23 Simon Gerraty <sjg@sjg-mba13> 1022 1023 * lib.mk: Use ${PICO} for extension for PIC objects. 1024 default to .pico (like NetBSD) safe on case insensitive filesystem. 1025 10262016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> 1027 1028 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default 1029 10302016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 1031 1032 * install-mk (MK_VERSION): 20160815 1033 1034 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only 1035 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date. 1036 10372016-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 1038 1039 * meta.sys.mk (.MAKE.META.IGNORE_PATHS): 1040 in meta mode we can ignore the mtime of makefiles 1041 10422016-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1043 1044 * install-mk (MK_VERSION): 20160802 1045 1046 * lib.mk (libinstall): depends on beforinstall 1047 1048 * prog.mk (proginstall): depends on beforinstall 1049 patch from Lauri Tirkkonen 1050 1051 * dirdeps.mk (bootstrap): When bootstrapping; creat 1052 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via 1053 .MAKE.DEPENDFILE_BOOTSTRAP_SED 1054 1055 * dirdeps.mk: move some comments to where they make sense. 1056 10572016-07-27 Simon J. Gerraty <sjg@bad.crufty.net> 1058 1059 * dirdeps.mk (DIRDEPS_CACHE): no dirname. 1060 10612016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1062 1063 * install-mk (MK_VERSION): 20160602 1064 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk 1065 do not apply :T to META_XTRAS 1066 patch from Bryan Drewery at FreeBSD.org. 1067 10682016-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 1069 1070 * install-mk (MK_VERSION): 20160530 1071 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH 1072 make it so. 1073 10742016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 1075 1076 * install-mk (MK_VERSION): 20160512 1077 1078 * dpadd.mk: always include local.dpadd.mk if it exists 1079 remove some things that better belong in local.dpadd.mk 1080 skip INCLUDES_* for staged libs unless SRC_* defined. 1081 1082 * own.mk: add INCLUDEDIR 1083 10842016-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1085 1086 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no 1087 TARGET_MACHINE - :E will be empty or match part of path, use 1088 ${MACHINE} 1089 10902016-04-07 Simon J. Gerraty <sjg@bad.crufty.net> 1091 1092 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to 1093 NO_FILEMON_COOKIE 1094 1095 * dirdeps.mk: move the logic that allows for 1096 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1097 inside the check for !target(_DIRDEP_USE) 1098 10992016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 1100 1101 * Use <> when including local*.mk and others which may exist 1102 elsewhere so that user can better control what they get. 1103 1104 * meta.autodep.mk (NO_FILEMON_COOKIE): 1105 create a cookie if we ever build dir with nofilemon 1106 so that UPDATE_DEPENDFILE will be forced to NO until cleaned. 1107 11082016-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1109 1110 * install-mk (MK_VERSION): 20160401 1111 1112 * meta2deps.py: fix old print statement when debugging. 1113 1114 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X 1115 patch from Bryan Drewery 1116 11172016-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 1118 1119 * install-mk (MK_VERSION): 20160317 (St. Pats) 1120 1121 * warnings.mk: g++ does not like -Wimplicit 1122 1123 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the 1124 pelthora of common suffixes for C++ 1125 1126 * lib.mk: use .So for shared objects 1127 11282016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1129 1130 * install-mk (MK_VERSION): 20160315 1131 1132 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 1133 normally only applies to scripts. 1134 1135 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 1136 well as outside it. 1137 11382016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1139 1140 * install-mk (MK_VERSION): 20160310 1141 1142 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 1143 we have processed; the list gets very inefficient as number of 1144 DIRDEPS gets large. 1145 1146 * sys.dependfile.mk: fix comment wrt MACHINE 1147 1148 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 1149 patch from Bryan Drewery 1150 11512016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 1152 1153 * meta2deps.sh: don't ignore subdirs. 1154 patch from Bryan Drewery 1155 11562016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1157 1158 * install-mk (MK_VERSION): 20160226 1159 1160 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 1161 11622016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 1163 1164 * dirdeps.mk: we shouldn't normally include .depend but if we do 1165 use .dinclude if we can. 1166 11672016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1168 1169 * install-mk (MK_VERSION): 20160218 1170 * sys.clean-env.mk: with recent change to Var_Subst() 1171 we cannot use the '$$' trick, but .export-literal does the job 1172 we need. 1173 * auto.dep.mk: make use .dinclude if we can. 1174 1175 11762016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 1177 1178 * dirdeps.mk: 1179 Add _build_all_dirs such that local.dirdeps.mk can 1180 add fully qualified dirs to it. 1181 These will be built normally but the current 1182 DEP_RELDIR will not depend on then (to avoid cycles). 1183 This makes it easy to hook things like unit-tests into build. 1184 1185 11862016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 1187 1188 * dirdeps.mk: add bootstrap-empty 1189 11902015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1191 1192 * install-mk (MK_VERSION): 20151212 1193 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 1194 only apply :tA to __objdir when comparing to .OBJDIR 1195 11962015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1197 1198 * install-mk (MK_VERSION): 20151111 1199 1200 * meta.sys.mk: include sys.dependfile.mk 1201 1202 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 1203 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 1204 include local.sys.env.mk early 1205 include local.sys.mk later 1206 1207 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 1208 12092015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1210 1211 * meta.sys.mk (META_COOKIE_TOUCH): 1212 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 1213 1214 * meta.stage.mk: stage_libs should ignore SYMLINKS. 1215 12162015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 1217 1218 * install-mk (MK_VERSION): 20151022 1219 1220 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 1221 12222015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1223 1224 * install-mk (MK_VERSION): 20151020 1225 1226 * dirdeps.mk: Add logic for 1227 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1228 12292015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 1230 1231 * install-mk (MK_VERSION): 20151010 1232 12332015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 1234 1235 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 1236 to have stage_lins run last in non-jobs mode. 1237 Use .ORDER only for jobs mode. 1238 12392015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1240 1241 * rst2htm.mk: allow for per target flags etc. 1242 12432015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1244 1245 * install-mk (MK_VERSION): 20150901 1246 1247 * doc.mk: create dir if needed use DOC_INSTALL_OWN 1248 12492015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 1250 1251 * install-mk (MK_VERSION): 20150615 1252 1253 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 1254 Follow make's normal precedence rules. 1255 1256 * gendirdeps.mk: allow customization of the header. 1257 eg. for FreeBSD: 1258 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 1259 1260 * meta.autodep.mk: ignore dirdeps.cache* 1261 1262 * meta.stage.mk: when bootstrapping options it can be handy to 1263 throw warnings rather than errors for staging conflicts. 1264 1265 * meta.sys.mk: include local.meta.sys.mk for customization 1266 12672015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1268 1269 * install-mk (MK_VERSION): 20150606 1270 1271 * dirdeps.mk: don't rely on manually maintained Makefile.depend 1272 to set DEP_RELDIR and reset DIRDEPS. 1273 By setting DEP_RELDIR ourselves we can skip :tA 1274 1275 * gendirdeps.mk: skip setting DEP_RELDIR. 1276 12772015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1278 1279 * dirdeps.mk: avoid wildcards like make(bootstrap*) 1280 12812015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1282 1283 * install-mk (MK_VERSION): 20150520 1284 1285 * dirdeps.mk: when we are building dirdeps cache file we *want* 1286 meta_oodate to look at all the Makefile.depend files, so 1287 set .MAKE.DEPENDFILE to something that won't match. 1288 1289 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 1290 so first use absolute path as key. 1291 Also skip staging at level 0. 1292 12932015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1294 1295 * install-mk (MK_VERSION): 20150430 1296 1297 * dirdeps.mk: fix _count_dirdeps for non-cache case. 1298 12992015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 1300 1301 * install-mk (MK_VERSION): 20150411 1302 bump version 1303 1304 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 1305 it is here mainly for documentation purposes, since 1306 if using auto.obj.mk it is better done via sys.mk 1307 13082015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1309 1310 * install-mk (MK_VERSION): 20150401 1311 1312 * meta2deps.sh: support @list 1313 1314 * meta2deps.py: updates from Juniper 1315 o add EXCLUDES 1316 o skip bogus input files. 1317 o treat 'M' and 'L' as both an 'R' and a 'W' 1318 13192015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1320 1321 * install-mk (MK_VERSION): 20150303 1322 1323 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 1324 which is built via sub-make so we have a .meta file to tell if 1325 it is out-of-date. 1326 The dirdeps-cache contains the same dependency rules that we 1327 normaly construct on the fly. 1328 This adds a few seconds overhead when the cache is out of date, 1329 but for a large target, the savings can be significant (10-20min). 1330 13312014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 1332 1333 * install-mk (MK_VERSION): 20141118 1334 1335 * meta.stage.mk: add stale_staged 1336 1337 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 1338 only useful under very rare conditions such as 1339 FreeBSD's make universe. 1340 1341 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 1342 13432014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1344 1345 * install-mk (MK_VERSION): 20141111 1346 1347 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 1348 13492014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1350 1351 * FILES: include mkopt.sh which allows handling options in shell 1352 scripts in a manner compatible with options.mk 1353 13542014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1355 1356 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 1357 for GENDIRDEPS_FILTER to avoid surprises. 1358 13592014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1360 1361 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 1362 the time it is applied to __depdirs they have. 1363 1364 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 1365 expects patterns like *.${MACHINE} 1366 1367 * cython.mk (pyprefix?): use pyprefix to find python bits 1368 since prefix might be something else (where we install our 1369 stuff) 1370 13712014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1372 1373 * install-mk (MK_VERSION): 20140911 1374 1375 * dirdeps.mk: add bootstrap target to simplify adding support for 1376 new MACHINE. 1377 13782014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1379 1380 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 1381 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 1382 Makefile.depend files. 1383 13842014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1385 1386 * install-mk (MK_VERSION): 20140828 1387 1388 * cython.mk: capture logic for building python extension modules 1389 with Cython. 1390 13912014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1392 1393 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 1394 13952014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1396 1397 * install-mk (MK_VERSION): 20140801 1398 1399 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 1400 identify the autodep.mk variant. 1401 1402 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 1403 initial value does not match .MAKE.DEPENDFILE_PREFIX 1404 1405 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 1406 14072014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1408 1409 * install-mk (MK_VERSION): 20140522 1410 1411 * lib.mk: use CC to link shlib for linux too 1412 patch from Brendan MacDonell 1413 14142014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1415 1416 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 1417 if WITH_META_STATS is defined. 1418 14192014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1420 1421 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 1422 to supress dirdeps outside of .CURDIR. 1423 14242014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1425 1426 * Fix spelling errors - patch from Pedro Giffuni 1427 14282014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 1429 1430 * install-mk (MK_VERSION): 20140314 1431 1432 * dirdeps.mk (beforedirdeps): a handy hook 1433 1434 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 1435 to visit leaf dirs to be intercepted (eg. for distributed 1436 build). 1437 1438 * dirdeps.mk (__depdirs): ensure // don't sneak in 1439 1440 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 1441 1442 14432014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 1444 1445 * rst2htm.mk (RST2PDF): add support for rst2pdf 1446 14472014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1448 1449 * install-mk (MK_VERSION): bump version 1450 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 1451 available. 1452 14532014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1454 1455 * options.mk: avoid :U so this isn't bmake dependent 1456 14572014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 1458 1459 * options.mk: cleanup and simplify semanitcs 1460 NO_* dominates all, if both WITH_* and WITHOUT_* 1461 are defined then result is DOMINATE_* which defaults to "no". 1462 Ie. WITHOUT_ normally wins. 1463 14642013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1465 1466 * install-mk (MK_VERSION): bump version 1467 * meta2deps.py: convert to print function for python3 compat. 1468 we also need to open files with mode 'r' rather than 'rb' 1469 otherwise we get bytes instead of strings. 1470 14712013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1472 1473 * install-mk (MK_VERSION): bump version 1474 1475 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 1476 apply the same filtering (M_dep_qual_fixes) when setting _machines 1477 as _build_dirs. 1478 Also fix the filtering of Makefile.depend files - for reporting 1479 what we are looking for (M_dep_qual_fixes can get confused by 1480 Makefile.depend) 1481 Add some more debug info. 1482 14832013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1484 1485 * gendirdeps.mk (_objtops): fix typo also 1486 while processing M2D_OBJROOTS to gather qualdir_list 1487 qualify $ql with loop iterator to ensure correct results. 1488 14892013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1490 1491 * install-mk (MK_VERSION): 20130801 1492 * libs.mk: update to match progs.mk 1493 14942013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 1495 1496 * install-mk (MK_VERSION): 20130726 1497 some updates from Juniper and FreeBSD 1498 o meta2deps.py: indicate file and line number when we hit parse 1499 errors 1500 also allow @file to provide huge list of .meta files. 1501 * meta2deps.py: add try_parse() to cleanup the above. 1502 15032013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1504 1505 * install-mk (MK_VERSION): 20130716 1506 * own.mk: add GPROG as an option 1507 * prog.mk: honor MK_GPROF==yes 1508 15092013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1510 1511 * install-mk (MK_VERSION): 20130505 1512 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 1513 for when $MACHINE isn't enough for objdir distinction. 1514 Bring meta2deps.sh closer to par with meta2deps.py. 1515 15162013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1517 1518 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 1519 also if the target 'beforeinstall' exists, make it depend on 1520 .dirdep (incase it uses STAGE_INSTALL). 1521 15222013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1523 1524 * install-mk (MK_VERSION): 20130401 ;-) 1525 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 1526 wrapper around install(1). 1527 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 1528 15292013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1530 1531 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 1532 * install-mk (MK_VERSION): bump version 1533 15342013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 1535 1536 * install-mk (MK_VERSION): bump version 1537 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 1538 any trailing /., rather apply :tA only when needed. 1539 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 1540 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 1541 consistently. 1542 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 1543 15442013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1545 1546 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 1547 it is simpler to just not update when say building for "host" 1548 (where we know we apply filters to DIRDEPS), and using a 1549 non-machine qualified dependfile. 1550 15512013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1552 1553 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 1554 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 1555 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 1556 * meta2deps.py: if machine is "host", then also trim 1557 self.host_target from any OBJROOTS. 1558 1559 15602013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1561 1562 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 1563 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 1564 but _DEPENDFILE does not, compare the new _DEPENDFILE against 1565 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 1566 15672013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 1568 1569 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 1570 and hook to all: via staging: 1571 15722013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1573 1574 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 1575 use a separate variable for the default .MAKE.DEPENDFILE value 1576 so that it can be controlled independently of 1577 .MAKE.DEPENDFILE_PREFERENCE 1578 1579 * meta.stage.mk: throw error if cp fails etc. 1580 Stage*() return early if passed no args. 1581 .ORDER stage_* 1582 15832013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1584 1585 * install-mk (MK_VERSION): bump version 1586 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 1587 15882013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1589 1590 * install-mk (MK_VERSION): bump version to 20130210 1591 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 1592 from Juniper. 1593 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 1594 than just MACHINE. 1595 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 1596 15972013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 1598 1599 * install-mk (MK_VERSION): bump version to 20130123 1600 * meta.stage.mk: add stage_links (hard links). 1601 if doing hard links, we add dest to link as well. 1602 Default the stage dir for [sym]links to STAGE_OBJTOP since 1603 these are typically specified as absolute paths. 1604 Add -m "mode" flag to StageFiles and StageAs. 1605 16062012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1607 1608 * install-mk (MK_VERSION): bump version to 20121111 1609 * autoconf.mk: avoid meta mode seeing changed commands for config.status 1610 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 1611 in case we were found via .../mk 1612 * sys.clean-env.mk: move it from examples, we and others use it 1613 "as is". 1614 * FILES: add srctop.mk and options.mk 1615 * own.mk: convert to using options.mk 1616 which is modeled after FreeBSD's handling of MK_* 1617 but more flexible. 1618 This allows MK_* for boolean knobs to not be confused 1619 with MK* which can be commands. 1620 1621 * examples/sys.clean-env.mk: add WITH[OUT]_ to 1622 MAKE_ENV_SAVE_PREFIX_LIST. 1623 Mention that HOME=/var/empty might be a good idea. 1624 16252012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 1626 1627 * sys.dependfile.mk: if not depend file exists, $MACHINE 1628 specific ones are supported but not the default, 1629 check if any exist and follow suit. 1630 16312012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 1632 1633 * install-mk (MK_VERSION): bump version to 20121106 1634 16352012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 1636 1637 * import latest dirdeps.mk and meta2deps.py from Juniper. 1638 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 1639 also add PROGS_TARGETS and pass on PROG_CXX if it seems 1640 appropriate. 1641 16422012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 1643 1644 * meta.stage.mk: update CLEANFILES 1645 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 1646 * progs.mk: Add LDADD to PROG_VARS 1647 16482012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1649 1650 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 1651 _STAGED_DIRS so that these can be turned into filters for 1652 GENDIRDEPS_FILTER. 1653 16542012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1655 1656 * install-mk (MK_VERSION): bump version to 20121010 1657 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 1658 target.dirdep matches .dirdep 1659 16602012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1661 1662 * install-mk (MK_VERSION): bump version to 20120808 1663 * import latest meta2deps.py from Juniper. 1664 16652012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 1666 1667 * install-mk (MK_VERSION): bump version to 20120711 1668 * dep.mk: add explicit dependencies on SRCS after applying 1669 SRCS_DEP_FILTER 1670 * meta.autodep.mk: add explicit dependencies on SRCS after 1671 applying SRCS_DEP_FILTER 1672 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 1673 16742012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 1675 1676 * install-mk (MK_VERSION): bump version to 20120626 1677 * meta.sys.mk: ignore PYTHON if it does not exist 1678 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 1679 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 1680 entries ending in .${MACHINE} to decide if qualified _dirdep is 1681 needed. 1682 * gendirdeps.mk: only produce unqualified deps if no 1683 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 1684 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 1685 16862012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1687 1688 * install-mk (MK_VERSION): bump version to 20120420 1689 * add sys.dependfile.mk so we can experiment with 1690 .MAKE.DEPENDFILE_PREFERENCE 1691 * meta.autodep.mk: _DEPENDFILE is precious! 1692 16932012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1694 1695 * install-mk (MK_VERSION): bump version to 20120315 1696 * install-new.mk: avoid being interrupted 1697 16982012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1699 1700 * man.mk: MAN might have multiple values so be careful with exists(). 1701 17022012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 1703 1704 * install-mk (MK_VERSION): bump version to 20120112 1705 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 1706 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 1707 17082011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 1709 1710 * install-mk (MK_VERSION): bump version to 20111201 1711 * import dirdeps.mk from Juniper sjg@ 1712 o more consistent handling of DEP_MACHINE, especially when 1713 dealing with an odd Makefile.depend, when normally using 1714 Makefile.depend.${MACHINE} 1715 17162011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 1717 1718 * install-mk (MK_VERSION): bump version to 20111122 1719 * meta.autodep.mk: add some debug output, be more crisp about 1720 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 1721 17222011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1723 1724 * install-mk (MK_VERSION): bump version to 20111111 1725 it's too cool to miss 1726 * import meta* updates from Juniper sjg@ 1727 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 1728 normally using Makefile.depend.${MACHINE}), handy for 1729 read-only manually maintained dependencies. 1730 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 1731 o gendirdeps.mk if ERROR: from meta2deps.py do not update 1732 anything. 1733 17342011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 1735 1736 * install-new.mk separate the cmp and copy logic to its own function. 1737 17382011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 1739 1740 * install-mk (MK_VERSION): bump version to 20111028 1741 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 1742 * subdir.mk: ensure _SUBDIRUSE is provided 1743 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 1744 * meta.subdir.mk: always allow for Makefile.depend 1745 17462011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1747 1748 * install-mk (MK_VERSION): bump version to 20111010 1749 o minor tweak to *dirdeps.mk from Juniper sjg@ 1750 17512011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1752 1753 * install-mk (MK_VERSION): bump version to 20111001 1754 o add meta2deps.py from Juniper sjg@ 1755 o tweak gendirdeps.mk to work with meta2deps.py when not 1756 cross-building 1757 * autoconf.mk: add autoconf-input as a hook for regenerating 1758 AUTOCONF_INPUTS (configure). 1759 17602011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 1761 1762 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 1763 trigger for updating Makefile.depend* 1764 17652011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1766 1767 * install-mk (MK_VERSION): bump version to 20110808 1768 * obj.mk: minor cleanup 1769 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 1770 17712011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1772 1773 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 1774 specified dir. 1775 17762011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1777 1778 * meta.autodep.mk: if XMAKE_META_FILE is set 1779 the makefile uses a foreign make, and so dependencies 1780 can only be gathered from a clean tree build. 1781 17822011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 1783 1784 * install-mk (MK_VERSION): bump version to 20110622 1785 * meta.autodep.mk: improve bootstraping 1786 17872011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1788 1789 * yacc.mk: handle the corner case of .c being removed 1790 while .h remains. 1791 17922011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1793 1794 * yacc.mk: do .y.h and .y.c separately 1795 17962011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1797 1798 * install-mk (MK_VERSION): bump version to 20110606 1799 * don't store SRC_DIRDEPS in Makefile.depend* by default 1800 not everyone needs it. 1801 18022011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1803 1804 * install-mk (MK_VERSION): bump version to 20110505 1805 first release including meta mode makefiles 1806 18072011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1808 1809 * meta.stage.mk: add STAGE_AS_SETS and stage_as 1810 for things that need to be staged with different names. 1811 18122011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1813 1814 * meta.stage.mk: add notion of STAGE_SETS 1815 so a makefile can stage to multiple dirs 1816 18172011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 1818 1819 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 1820 on target name. 1821 18222011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1823 1824 * install-mk (MK_VERSION): bump version to 20110330 1825 18262011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1827 1828 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 1829 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 1830 * sys.mk: re-define M_whence in terms of M_type. 1831 M_type is useful for checking if something is a builtin. 1832 18332011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1834 1835 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 1836 stage_libs 1837 18382011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1839 1840 * dirdeps.mk: correct value for _depdir_files depends on 1841 .MAKE.DEPENDFILE 1842 Add our copyright - just to make it clear we have frobbed this 1843 quite a bit. 1844 DEP_MACHINE needs to be set to MACHINE each time, if using only 1845 Makefile.depend (cf. Makefile.depend.${MACHINE}) 1846 1847 * meta.stage.mk: meta mode version of staging 1848 1849 * init.mk, final.mk: include local.*.mk to simplify customization 1850 18512011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1852 1853 * auto.obj.mk: just because we are doing mk destroy, we should 1854 still set .OBJDIR correctly if it exists. 1855 1856 * install-mk (mksrc): do not exclude meta.sys.mk 1857 18582011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1859 1860 * host-target.mk: set/export _HOST_ARCH etc separately, 1861 catch junk resulting from uname -p, so we can find sys/Linux.mk 1862 correctly. 1863 18642011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1865 1866 * meta.sys.mk: throw an error if /dev/filemon is missing and we 1867 expected to be updating Makefile.depend* 1868 18692011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1870 1871 * install-mk (MK_VERSION): bump version to 20110214 1872 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 1873 18742010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 1875 1876 * meta.sys.mk: not valid for older bmake 1877 18782010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 1879 1880 * install-mk (MK_VERSION): bump version to 20100919 1881 include dirdeps.mk et al from Juniper Networks, 1882 for meta mode - requires filemon(9). 1883 * sys.mk, subdir.mk: Add hooks for meta mode. 1884 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 1885 to make turning it on/off simple. 1886 18872010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 1888 1889 * install-mk (MK_VERSION): bump version to 20100616 1890 * fix typo in sys.mk 1891 18922010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 1893 1894 * install-mk (MK_VERSION): bump version to 20100612 1895 * lib.mk: remove duplicate addition to SOBJS 1896 18972010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1898 1899 * sys.mk: Add a means of selectively turning on debug flags. 1900 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 1901 will act as if we did make -dv if .CURDIR ends in lib/sjg 1902 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 1903 the start of sys.mk rather than the end. 1904 This only makes sense for leaf dirs, so we check that 1905 .MAKE.LEVEL > 0 1906 19072010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 1908 1909 * install-mk (MK_VERSION): bump version to 20100608 1910 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 1911 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 1912 also make it easier for folk to tweak 1913 19142010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1915 1916 * install-mk (MK_VERSION): bump version to 20100606 1917 do not install examples/* 1918 * FILES: add examples/sys.clean-env.mk 1919 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 1920 this requires bmake-20100606 or later to work. 1921 19222010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 1923 1924 * sys.mk (M_tA): better simulate the result of :tA if not available. 1925 19262010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1927 1928 * sys.mk: canonicalize MAKE_VERSION 1929 old versions reported bmake-<src-date> build-<build-date> 1930 whereas we only care about <src-date> 1931 19322010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 1933 1934 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 1935 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 1936 is !empty 1937 19382010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 1939 1940 * dpadd.mk: use LDADD_* if defined. 1941 19422010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1943 1944 * install-mk (MK_VERSION): bump version to 20100420 1945 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 1946 * autoconf.mk allow AUTO_AUTOCONF 1947 19482010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 1949 1950 * obj.mk: add objwarn to keep freebsd makefiles happy 1951 * auto.obj.mk: ensure Mkdirs is available. 1952 * FILES: add auto.dep.mk - a simpler version of autodep.mk 1953 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 1954 asked to do that. 1955 fix/simplify the tests for when to run mkdep. 1956 * auto.dep.mk: add some explanation of how/what we do. 1957 * autodep.mk: skip the .OPTIONAL frobbing of .depend 1958 bmake's FROM_DEPEND flag makes it redundant. 1959 19602010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 1961 1962 * install-mk (MK_VERSION): bump version to 20100404 1963 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 1964 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 1965 Also create a target _SUBDIRUSE so that we can be used without 1966 subdir.mk 1967 19682010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 1969 1970 * dep.mk: use <> when .including so can override. 1971 19722010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 1973 1974 * lib.mk (SHLIB_LINKS): ensure a string comparison. 1975 19762010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1977 1978 * install-mk (MK_VERSION): bump version to 20100102 1979 * own.mk: ensure PRINTOBJDIR works 1980 * autoconf.mk: pass on CONFIGURE_ARGS 1981 * init.mk: handle COPTS.${.IMPSRC:T} etc. 1982 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 1983 fix handling of symlinks for darwin 1984 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 1985 * man.mk: suppress chown when not root. 1986 * rst2htm.mk: allow srcs from multiple locations. 1987 * sys.mk: M_whence, stop after 1st line of output. 1988 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 1989 * sys/SunOS.mk: we need to export PATH 1990 19912009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 1992 1993 * install-mk (MK_VERSION): bump version 1994 include rst2htm.mk 1995 19962009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 1997 1998 * sys.mk,libnames.mk add .-include <local.*> 1999 this allows local customization without the need to edit the 2000 distributed files. 2001 20022009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 2003 2004 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 2005 older versions already installed. 2006 20072009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 2008 2009 * stage.mk (.stage-install): generalize lib.mk's .libinstall 2010 * rules.mk rules for generic Makefile. 2011 * inc.mk install for includes. 2012 20132009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 2014 2015 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 2016 this, so provide it if using native make. 2017 20182009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 2019 2020 * FILES: move all the platform *.sys.mk files to sys/*.mk 2021 * Rename Generic.sys.mk to sys.mk - we always want it. 2022 20232009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 2024 2025 * install-mk (MK_VERSION): bump version 2026 * host-target.mk: only export the expensive stuff 2027 * Generic.sys.mk (sys_mk): for SunOS we need to look for 2028 ${HOST_OS}.${HOST_OSMAJOR} too! 2029 20302009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 2031 2032 * install-mk (MK_VERSION): bump version 2033 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 2034 based on patch from Greg Olszewski. 2035 * Generic.sys.mk: if we have nothing to work with 2036 set LORDER etc only if we can find it. 2037 20382009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 2039 2040 * install-mk (MK_VERSION): bump version 2041 * man.mk: cleanman: remove CLEANMAN if defined. 2042 20432009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 2044 2045 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 2046 20472009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 2048 2049 * install-mk (MK_VERSION): bump version 2050 include auto.obj.mk 2051 2052 20532009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 2054 2055 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 2056 20572008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 2058 2059 * install-mk (MK_VERSION): bump version 2060 man.mk: ensure we generate *.cat1 etc in . 2061 20622008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 2063 2064 * install-mk (MK_VERSION): bump version 2065 add prlist.mk 2066 20672007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 2068 2069 * Generic.sys.mk: Allow os specific sys.mk to be in a 2070 subdir of ${.PARSEDIR} 2071 20722007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 2073 2074 * install-mk (MK_VERSION): bump version 2075 * general cleanup 2076 * dpadd.mk introduce DPMAGIC_LIBS_* 2077 20782007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 2079 2080 * install-mk (MK_VERSION): bump version 2081 2082 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 2083 depend files and ensure clean is called for each lib/prog. 2084 20852007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 2086 2087 * autodep.mk (.depend): delete lines that do not start with 2088 space and do not contain ':' 2089 20902007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 2091 2092 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 2093 so make sure the transform for .OPTIONAL copes. 2094 20952007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2096 2097 * install-mk (MK_VERSION): bump version 2098 2099 * own.mk: make sure RM and LN are defined. 2100 2101 * obj.mk: fix a typo, and objlink target. 2102 21032006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 2104 2105 * install-mk (MK_VERSION): bump version 2106 * added libs.mk - analogous to progs.mk 2107 make both of them always inlcude {lib,prog}.mk 2108 21092006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 2110 2111 * progs.mk: add a means of building multiple apps in one dir. 2112 21132006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 2114 2115 * install-mk (MK_VERSION): bump version to 20061126 2116 2117 * warnings.mk: detect invalid WARNINGS_SET 2118 2119 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 2120 specific warnings. 2121 2122 * For .cc sources, turn off warnings that g++ vomits on. 2123 21242006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 2125 2126 * own.mk: if __initialized__ target doesn't exist and we are 2127 FreeBSD we got here directly from sys.mk 2128 21292006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 2130 2131 * install-mk (MK_VERSION): bump version to 20061106 2132 add scripts.mk 2133 21342006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 2135 2136 * install-mk (MK_VERSION): bump version to 20060318 2137 2138 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 2139 21402006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 2141 2142 * install-mk (MK_VERSION): bump version to 20060302 2143 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 2144 21452006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 2146 2147 * install-mk (MK_VERSION): bump version to 20060301 2148 * autodep.mk (.depend): 2149 if MAKE_VERSION is newer than 20050530 we can make .END depend on 2150 .depend and make .depend depend on __depsrcs that exist. 2151 * dpadd.mk: add SRC_PATHADD 2152 21532005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2154 2155 * install-mk (MK_VERSION): bump version to 20051104 2156 * prog.mk: remove all the LIBC?= junk, use 2157 .-include libnames.mk instead (none by default). 2158 also if USE_DPADD_MK is set, include that. 2159 21602005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2161 2162 * install-mk (MK_VERSION): bump version to 20051001 2163 Add UnixWare.sys.mk from Klaus Heinz. 2164 21652005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 2166 2167 * install-mk: always install *.sys.mk and if need be symlink one 2168 to sys.mk 2169 21702005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 2171 2172 * subdir.mk, own.mk: use .MAKE rather than MAKE 2173 21742004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2175 2176 * own.mk: don't use NetBSD's _SRC_TOP_ it can 2177 cause confusion. Also don't take just 'mk' as a 2178 srctop indicator. 2179 21802004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 2181 2182 * warnings.mk: overhauled, now very powerful. 2183 21842004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2185 2186 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 2187 21882004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 2189 2190 * install-mk (MK_VERSION): bump version to 20040201 2191 * extract HOST_TARGET stuff to host-target.mk so own.mk and 2192 Generic.sys.mk can share. 2193 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 2194 21952003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 2196 2197 * install-mk (MK_VERSION): 20030930 2198 * rename generic.sys.mk to Generic.sys.mk 2199 so that it does not get installed (unless being used as sys.mk) 2200 * set OS and ROOT_GROUP for those that we know the value. 2201 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 2202 we don't do it again for each sub-make. 2203 22042003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2205 2206 * install-mk (MK_VERSION): 20030928 2207 Add some extra *.sys.mk from bootstrap-pkgsrc 2208 some of these likely still need work. 2209 Make everything default to root:wheel ownership, 2210 sys.mk can set ROOT_GROUP accordingly. 2211 22122003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 2213 2214 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 2215 not the portable ones. 2216 22172003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2218 2219 * install-mk: add ability to use cp -f when updating 2220 destination .mk files. Also now possible to play games with 2221 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 2222 into dest - not recommended unless you seriously want to. 2223 22242003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2225 2226 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 2227 for semi-compatability with NetBSD. 2228 22292003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2230 2231 * install-mk: add a version indicator 2232 22332003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 2234 2235 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 2236 2237 * install-mk: Allow FORCE_SYS_MK to come from env 2238 2239 2240 2241