12023-01-29 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * autoconf.mk: hook config.status to beforebuild. 4 5 * whats.mk: what*.c is NOTMAIN 6 72023-01-27 Simon J Gerraty <sjg@beast.crufty.net> 8 9 * install-mk (MK_VERSION): 20230127 10 control umask so directories are created with suitable mode. 11 122023-01-20 Simon J Gerraty <sjg@beast.crufty.net> 13 14 * install-mk (MK_VERSION): 20230120 15 16 * sys.vars.mk: add M_On and M_Onr also cleanup to be more 17 consistent wrt testing MAKE_VERSION 18 192023-01-12 Simon J Gerraty <sjg@beast.crufty.net> 20 21 * install-mk (MK_VERSION): 20230112 22 23 * meta2deps.{py,sh}: assert if filemon data is truncated 24 we should see the '# Bye bye' record - assert if we do not. 25 262022-09-09 Simon J Gerraty <sjg@beast.crufty.net> 27 28 * install-mk (MK_VERSION): 20220909 29 30 * sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings 31 322022-09-06 Simon J Gerraty <sjg@beast.crufty.net> 33 34 * dirdeps-options.mk: explain the need to use 35 ${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to 36 ${TARGET_SPEC_VAR} 37 382022-09-03 Simon J Gerraty <sjg@beast.crufty.net> 39 40 * install-mk (MK_VERSION): 20220903 41 42 * M_cmpv handle more than 3 dots and clear leading 0's 43 442022-07-20 Simon J Gerraty <sjg@beast.crufty.net> 45 46 * install-mk (MK_VERSION): 20220720 47 48 * prog.mk: handle PROG_CXX for more than just NetBSD 49 502022-06-20 Simon J Gerraty <sjg@beast.crufty.net> 51 52 * install-mk (MK_VERSION): 20220620 53 54 * yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER 55 rather than just suffix rules 56 572022-04-23 Simon J Gerraty <sjg@beast.crufty.net> 58 59 * install-mk (MK_VERSION): 20220422 60 61 * gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no" 62 do not capture any local depends in Makefile.depend 63 642022-03-25 Simon J Gerraty <sjg@beast.crufty.net> 65 66 * install-mk (MK_VERSION): 20220323 67 * posix.mk: default rules for .POSIX: 68 692022-03-17 Simon J Gerraty <sjg@beast.crufty.net> 70 71 * sys/*.mk: remove l from ARFLAGS 72 732022-03-14 Simon J Gerraty <sjg@beast.crufty.net> 74 75 * install-mk (MK_VERSION): 20220314 76 77 * dirdeps-options.mk: allow options to be per RELDIR 78 try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed 79 with ${DEP_RELDIR}. 80 812022-02-14 Simon J Gerraty <sjg@beast.crufty.net> 82 83 * install-mk (MK_VERSION): 20220214 84 85 * cc-wrap.mk: fix :@ modifier 86 872022-02-06 Simon J Gerraty <sjg@beast.crufty.net> 88 89 * install-mk (MK_VERSION): 20220206 90 91 * cc-wrap.mk: docuement how CCACHE etc might be set for 92 maximum flexibility 93 942022-02-05 Simon J Gerraty <sjg@beast.crufty.net> 95 96 * sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT 97 982022-02-04 Simon J Gerraty <sjg@beast.crufty.net> 99 100 * install-mk (MK_VERSION): 20220204 101 102 * host-target.mk: use .MAKE.OS if available 103 1042022-02-02 Simon J Gerraty <sjg@beast.crufty.net> 105 106 * install-mk (MK_VERSION): 20220202 107 108 * cc-wrap.mk: allow other entries in CC_WRAP_FILTER 109 We add our filter on extensions last, so prior filters 110 can apply to the whole value of .IMPSRC 111 1122022-02-01 Simon J Gerraty <sjg@beast.crufty.net> 113 114 * cc-wrap.mk: take advantage of target local variables to 115 wrap compilers like CC CXX with wrappers like ccache distcc etc 116 1172022-01-28 Simon J Gerraty <sjg@beast.crufty.net> 118 119 * meta2deps: we do not expect any trace data for setid apps 120 1212022-01-26 Simon J Gerraty <sjg@beast.crufty.net> 122 123 * dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed 124 to sub-make using DIRDEPS_CACHE 125 1262022-01-07 Simon J Gerraty <sjg@beast.crufty.net> 127 128 * dirdeps.mk: use _cache_script to minimize the number of shells 129 forked when generating dirdeps.cache 130 1312022-01-02 Simon J Gerraty <sjg@beast.crufty.net> 132 133 * install-mk (MK_VERSION): 20220101 134 135 * dirdeps.mk: initialize DEP_* and _debug_reldir earlier. 136 If initial DIRDEPS are from command line, create the target 137 _dirdeps_cmdline as an indication. 138 1392022-01-01 Simon J Gerraty <sjg@beast.crufty.net> 140 141 * init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD 142 at top-level only some targets are allowed at level 0, 143 for leaf makefiles only the default (all) target is restricted 144 1452021-12-28 Simon J Gerraty <sjg@beast.crufty.net> 146 147 * install-mk (MK_VERSION): 20211228 148 149 * meta2deps.py: filemon on Linux is not as reliable as we might 150 like, we do not want to update DIRDEPS if filemon output is 151 incomplete. Track pids that we 'E'xec and make sure we see an 152 e'X'it for each one. Throw an error if we are missing any 'X' 153 records. 154 1552021-12-12 Simon J Gerraty <sjg@beast.crufty.net> 156 157 * sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes. 158 159 * meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON 160 is something else. 161 162 * meta.autodep.mk: we can now reference ${.SUFFIXES} 163 164 * meta2deps.py: derive a list of dirdep extensions from 165 TARGET_SPEC to trim from dirdeps. 166 167 * dirdeps.mk: flip the computation of qualified vs unqualified 168 dirdeps - it is much simpler to check for unqualified first. 169 1702021-12-11 Simon J Gerraty <sjg@beast.crufty.net> 171 172 * install-mk (MK_VERSION): 20211212 173 174 * auto.dep.mk: rearrange so that the trivial implementation 175 for recent bmake is more obvious. 176 1772021-12-07 Simon J Gerraty <sjg@beast.crufty.net> 178 179 * install-mk (MK_VERSION): 20211207 180 181 * Ensure guard targets are .NOTMAIN 182 183 * meta.sys.mk: check for nofilemon support when we skip level 0 184 185 * auto.dep.mk: make this usable in meta mode 186 for platforms that cannot use meta.autodep.mk 187 188 * meta2deps.py: avoid confusion if MACHINE and another 189 TARGET_SPEC_VAR have same value. 190 1912021-11-27 Simon J Gerraty <sjg@beast.crufty.net> 192 193 * dirdeps.mk: when building dirdeps.cache, minimize the amount of 194 data put into env, by stripping ${SRCTOP}/ from each entry. 195 A long sandbox name can double the amount of memory consumed and 196 in extreme cases cause failure. 197 While we are at it, strip ${SRCTOP}/ from a lot of the debug output. 198 1992021-11-11 Simon J Gerraty <sjg@beast.crufty.net> 200 201 * install-mk (MK_VERSION): 20211111 202 203 * meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail 204 so fallback to cp if necessary. 205 2062021-10-30 Simon J Gerraty <sjg@beast.crufty.net> 207 208 * man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year 209 old cmt2doc.pl 210 2112021-10-24 Simon J Gerraty <sjg@beast.crufty.net> 212 213 * meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f} 214 as the symlink (rare) 215 2162021-10-16 Simon J Gerraty <sjg@beast.crufty.net> 217 218 * autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not 219 been read, throw an error after running configure telling user to 220 restart. 221 2222021-10-13 Simon J Gerraty <sjg@beast.crufty.net> 223 224 * install-mk (MK_VERSION): 20211011 225 226 * Add support for SCO_SV 227 2282021-10-01 Simon J Gerraty <sjg@beast.crufty.net> 229 230 * install-mk (MK_VERSION): 20211001 231 232 * man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more 233 flexibility 234 2352021-09-13 Simon J Gerraty <sjg@beast.crufty.net> 236 237 * options.mk (describe-options): print options and their values 238 and optional description 239 2402021-09-11 Simon J Gerraty <sjg@beast.crufty.net> 241 242 * install-mk (MK_VERSION): 20210911 243 244 * options.mk (show-options): print options and their values 245 2462021-09-08 Simon J Gerraty <sjg@beast.crufty.net> 247 248 * install-mk (MK_VERSION): 20210909 249 250 * lib.mk: apply patch from <daniel@octaforge.org> 251 to fix shared libs on Linux 252 2532021-08-08 Simon J Gerraty <sjg@beast.crufty.net> 254 255 * install-mk (MK_VERSION): 20210808 256 257 * options.mk: issue warning for WITH_*=no 258 2592021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 260 261 * install-mk (MK_VERSION): 20210616 262 263 * dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find 264 depend files to read, anchor MACHINE at , or end of string 265 to avoid prefix match. 266 2672021-05-04 Simon J Gerraty <sjg@beast.crufty.net> 268 269 * install-mk (MK_VERSION): 20210504 270 271 * dirdeps.mk: re-implement ALL_MACHINES support to better 272 cater for local complexities, when ONLY_TARGET_SPEC_LIST 273 is not set. local.dirdeps.mk can set 274 DIRDEPS_ALL_MACHINES_FILTER and/or 275 DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get 276 from listing all existing Makefile.depend.* 277 2782021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 279 280 * install-mk (MK_VERSION): 20210420 281 282 * dirdeps.mk: revert previous - not always safe. 283 2842021-03-20 Simon J Gerraty <sjg@beast.crufty.net> 285 286 * install-mk (MK_VERSION): 20210321 287 288 * dirdeps.mk: when generating dirdeps.cache 289 we only need to hook the initial DIRDEPS to the 290 dirdeps target. That and any _build_xtra_dirs (like tests which 291 should not be hooked directly to the dependency graph - to avoid 292 cycles) 293 2942021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 295 296 * install-mk (MK_VERSION): 20210130 297 298 * dirdeps.mk: expr 2 - 1 - 1 exits with a bad status 299 we need to guard against this in DIRDEP_LOADAVG_REPORT. 300 301 * dirdeps.mk: restore respect for TARGET_MACHINE 302 3032021-01-06 Simon J Gerraty <sjg@beast.crufty.net> 304 305 * install-mk (MK_VERSION): 20210101 306 307 * dirdeps.mk: first time we are read, just use TARGET_SPEC for 308 _DEP_TARGET_SPEC 309 3102020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 311 312 * sys.mk (MAKE_SHELL): use ${.SHELL:Ush} 313 and use := when setting SHELL 314 3152020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 316 317 * install-mk (MK_VERSION): 20201221 318 319 * dirdeps-options.mk: latest bmake allows only one arg to .undef 320 3212020-12-11 Simon J Gerraty <sjg@beast.crufty.net> 322 323 * dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS 324 so that any directory can be treated as a target. 325 3262020-11-26 Simon J Gerraty <sjg@beast.crufty.net> 327 328 * install-mk (MK_VERSION): 20201126 329 330 * own.mk: use .MAKE.{UID,GID} if available. 331 332 * init.mk: suppress _SKIP_BUILD warning if doing -V 333 3342020-11-20 Simon J Gerraty <sjg@beast.crufty.net> 335 336 * install-mk (MK_VERSION): 20201120 337 338 * init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS 339 340 * dirdeps-targets.mk: fix typo in comment 341 3422020-11-06 Simon J Gerraty <sjg@beast.crufty.net> 343 344 * install-mk (MK_VERSION): 20201106 345 346 * meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed 347 args to tweak extensions for local deps. 348 3492020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 350 351 * install-mk (MK_VERSION): 20201101 352 353 * dirdeps.mk: most leaf makefiles are not suitable for building 354 dirdeps.cache so if RELDIR is not "." use dirdeps.mk 355 3562020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 357 358 * install-mk (MK_VERSION): 20201028 359 360 * dirdeps.mk: if we don't have :range use equivalent of M_RANGE 361 when building dirdeps.cache for leaf directory use -f dirdeps.mk 362 363 * sys.vars.mk: add M_JOT and M_RANGE 364 3652020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 366 367 * install-mk (MK_VERSION): 20201001 368 369 * meta2deps.{py,sh}: throw an error if we don't see filemon version 370 3712020-09-09 Simon J Gerraty <sjg@beast.crufty.net> 372 373 * install-mk (MK_VERSION): 20200909 374 375 * dirdeps-cache-update.mk: use cache_update_dirdep as guard target 376 3772020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 378 379 * dirdeps.mk: ensure we cannot confuse a static cache for dynamic 380 (even more rare that use of static cache is playing clever tricks 381 with it) 382 3832020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 384 385 * dirdeps-cache-update.mk: allow 386 MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we 387 actually update STATIC_DIRDEPS_CACHE. 388 389 * stage-install.sh: create dest directory if needed 390 before running install(1) 391 3922020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 393 394 * dirdeps-targets.mk: include Makefile.dirdeps.options 395 396 * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE 397 3982020-08-09 Simon J Gerraty <sjg@beast.crufty.net> 399 400 * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty 401 402 * dirdeps-cache-update.mk: building parallel cache update 403 under the context of dirdeps-cached would be ideal, but 404 is problematic, so it runs as a sibling. 405 Use cache-built target to ensure we wait for it to complete if 406 necessary. 407 4082020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 409 410 * install-mk (MK_VERSION): 20200806 411 412 * dirdeps-options: allow TARGET_SPEC to affect option values. 413 Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_* 414 415 * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined 416 before looking for STATIC_DIRDEPS_CACHE 417 4182020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 419 420 * host-target.mk: Darwin use MACHINE for HOST_ARCH too 421 422 * dirdeps-options.mk: improve debug output 423 4242020-07-22 Simon J Gerraty <sjg@beast.crufty.net> 425 426 * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE 427 for use by dirdeps-cache-update.mk 428 429 * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE 430 for use by dirdeps-cache-update.mk even if we don't use it. 431 432 * dirdeps-cache-update.mk: we only need worry about the background 433 update case, with the above, the update from DIRDEPS_CACHE is 434 simple. 435 436 * meta2deps.py: R 1234 . is not interesting 437 4382020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 439 440 * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE 441 442 * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS 443 allows use of lower case for pseudo options. 444 445 * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE 446 4472020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 448 449 * dirdeps-targets.mk: Look for Makefile.dirdeps.cache 450 which allows us to have a static cache for expensive targets. 451 Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE 452 to regenerate the dirdeps.cache it is a copy of. 453 4542020-07-17 Simon J Gerraty <sjg@beast.crufty.net> 455 456 * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense. 457 4582020-07-16 Simon J Gerraty <sjg@beast.crufty.net> 459 460 * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record 461 load averages at intervals during build. 462 4632020-07-15 Simon J Gerraty <sjg@beast.crufty.net> 464 465 * install-mk (MK_VERSION): 20200715 466 467 * dirdeps.mk: tweak Checking line to make matching Finished 468 lines for post-build analysis easier. 469 470 * meta.autodep.mk: use !defined(WITHOUT_META_STATS) 471 472 * progs.mk: avoid prog.mk outputting multiple Finished lines 473 4742020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 475 476 * dirdeps.mk: further optimize dirdeps.cache 477 generate a DIRDEPS.${.TARGET} list for other purposes 478 and improve the layout. 479 4802020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 481 482 * dirdeps.mk: optimize content of dirdeps.cache 483 4842020-06-28 Simon J Gerraty <sjg@beast.crufty.net> 485 486 * sys/*.mk: make it easier for local*sys.mk to customize by 487 using ?= 488 4892020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 490 491 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0 492 it is much safer to guard local depends with a simple check for 493 .MAKE.LEVEL > 0 494 4952020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 496 497 * install-mk (MK_VERSION): 20200610 498 499 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok 500 5012020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 502 503 * install-mk (MK_VERSION): 20200606 504 505 * dirdeps-targets.mk: allow for filtering of .TARGETS 506 507 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove 508 entries - and we don't care about 'W'rite entries. 509 Also ignore absolute paths that do not exist. 510 5112020-05-25 Simon J Gerraty <sjg@beast.crufty.net> 512 513 * install-mk (MK_VERSION): 20200525 514 515 * init.mk: expand and simplify handling of qualified vars 516 like CPPFLAGS.${.TARGET:T} 517 5182020-05-15 Simon J Gerraty <sjg@beast.crufty.net> 519 520 * install-mk (MK_VERSION): 20200515 521 522 * dirdeps.mk: set _debug_* earlier and allow passing -d* 523 flags to submake when building DIRDEPS_CACHE 524 5252020-05-09 Simon J Gerraty <sjg@beast.crufty.net> 526 527 * whats.mk: more easily extensible 528 5292020-05-02 Simon J Gerraty <sjg@beast.crufty.net> 530 531 * whats.mk: greatly simplify by adding what.c to SRCS 532 5332020-05-01 Simon J Gerraty <sjg@beast.crufty.net> 534 535 * whats.mk: for libs take care how we add to *OBJS 536 537 * lib.mk: : works better with whats.mk 538 5392020-04-25 Simon J Gerraty <sjg@beast.crufty.net> 540 541 * install-mk (MK_VERSION): 20200420 542 543 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep 544 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC} 545 5462020-04-16 Simon J Gerraty <sjg@beast.crufty.net> 547 548 * install-mk (MK_VERSION): 20200416 549 550 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to 551 interfere with user env. 552 553 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL 554 555 * autodep.mk: use MAKE_SHELL. 556 5572019-11-21 Simon J Gerraty <sjg@beast.crufty.net> 558 559 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of 560 wasted effort, and unexport _meta_files when no longer needed as 561 it consumes space we need for command line. 562 5632019-11-11 Simon J Gerraty <sjg@beast.crufty.net> 564 565 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add 566 DIRDEP_USE_PRELUDE at start - facilitates job distribution 567 5682019-10-04 Simon J Gerraty <sjg@beast.crufty.net> 569 570 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST 571 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid 572 TARGET_SPEC qualified depend files. 573 5742019-10-02 Simon J Gerraty <sjg@beast.crufty.net> 575 576 * dirdeps-targets.mk: encapsulate logic for finding top-level 577 targets to set initial DIRDEPS for DIRDEPS_BUILD 578 5792019-09-27 Simon J Gerraty <sjg@beast.crufty.net> 580 581 * install-mk (MK_VERSION): 20190911 582 583 * compiler.mk: set COMPILER_TYPE 584 5852019-07-17 Simon J Gerraty <sjg@beast.crufty.net> 586 587 * install-mk (MK_VERSION): 20190704 588 589 * sys/Darwin.mk: support for Objective-C and clang 590 5912019-05-30 Simon J Gerraty <sjg@beast.crufty.net> 592 593 * dirdeps.mk: avoid insanely long command line when generating cache 594 5952019-05-23 Simon J Gerraty <sjg@beast.crufty.net> 596 597 * install-mk (MK_VERSION): 20190505 598 599 * whats.mk: handle corner case SHLIB defined but not LIB 600 6012018-09-19 Simon J Gerraty <sjg@beast.crufty.net> 602 603 * install-mk (MK_VERSION): 20180919 604 605 * dirdeps-options.mk: .undef cannot handle var that expands to 606 more than one var. 607 6082018-07-08 Simon J Gerraty <sjg@beast.crufty.net> 609 610 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc. 611 6122018-06-01 Simon J Gerraty <sjg@beast.crufty.net> 613 614 * meta.autodep.mk: export META_FILES to avoid command line limit 615 * gendirdeps.mk: if we have lots of .meta files put them in 616 an @list 617 6182018-05-28 Simon J Gerraty <sjg@beast.crufty.net> 619 620 * dirdeps-options.mk: use local.dirdeps-options.mk 621 not local.dirdeps-option.mk 622 6232018-04-20 Simon J Gerraty <sjg@beast.crufty.net> 624 625 * install-mk (MK_VERSION): 20180420 626 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0 627 ie. we are building something. 628 6292018-04-14 Simon J Gerraty <sjg@beast.crufty.net> 630 631 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS. 632 6332018-04-05 Simon J Gerraty <sjg@beast.crufty.net> 634 635 * install-mk (MK_VERSION): 20180405 636 637 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER 638 if needed. 639 6402018-01-18 Simon J Gerraty <sjg@beast.crufty.net> 641 642 * install-mk (MK_VERSION): 20180118 643 644 * ldorder.mk: let make compute correct link order 645 6462017-12-12 Simon J Gerraty <sjg@beast.crufty.net> 647 648 * install-mk (MK_VERSION): 20171212 649 650 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER 651 6522017-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 653 654 * install-mk (MK_VERSION): 20171111 655 656 * lib.mk: ensure META_NOECHO is set 657 6582017-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 659 660 * Allow for host32 on rare occasions. 661 6622017-10-18 Simon J. Gerraty <sjg@bad.crufty.net> 663 664 * install-mk (MK_VERSION): 20171018 665 666 * whats.mk: include what_thing in what_uuid to avoid problem 667 when building multiple apps in the same directory. 668 6692017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 670 671 * install-mk (MK_VERSION): 20170812 672 673 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can 674 add dependencies for config.recheck and config.gen 675 6762017-06-30 Simon J. Gerraty <sjg@bad.crufty.net> 677 678 * install-mk (MK_VERSION): 20170630 679 680 * meta.stage.mk: avoid triggering stage_* targets with nothing to do. 681 6822017-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 683 684 * meta2deps.py: take special care of '..' 685 6862017-05-15 Simon J. Gerraty <sjg@bad.crufty.net> 687 688 * install-mk (MK_VERSION): 20170515 689 690 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is 691 useful/necessary for a Makefile.depend file to export some knobs. 692 This is complicated when we are doing DIRDEPS_CACHE, so we will 693 handle export of any variables listed in DEP_EXPORT_VARS. 694 6952017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 696 697 * install-mk (MK_VERSION): 20170505 698 699 * meta2deps.py: fix botched indenation. 700 7012017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 702 703 * sys/*.mk: Remove setting of MAKE it is unnecessary and 704 in many cases wrong (basname rather than full path) 705 706 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk 707 708 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc 709 7102017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 711 712 * install-mk (MK_VERSION): 20170501 713 714 * doc.mk: fix typo in DOC_INSTALL_OWN 715 716 * inc.mk: handle INCGROUPS similar to freebsd 717 718 * files.mk: add something for files too 719 720 * add staging logic to lib.mk prog.mk etc. 721 7222017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 723 724 * install-mk (MK_VERSION): 20170424 725 726 * dirdeps.mk: set NO_DIRDEPS when bootstrapping. 727 also target of bootstrap-this when sed is needed should be ${_want:T} 728 7292017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 730 731 * install-mk (MK_VERSION): 20170418 732 733 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a 734 prefix match for .CURDIR - in which case .CURDIR *is* __objdir. 735 7362017-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 737 738 * install-mk (MK_VERSION): 20170401 739 740 * meta2deps.py: add is_src so we can check if obj dependency 741 is also a src dependency. 742 7432017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 744 745 * install-mk (MK_VERSION): 20170326 746 747 * meta.stage.mk: do nothing if NO_STAGING is defined. 748 7492017-03-24 Simon J. Gerraty <sjg@bad.crufty.net> 750 751 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc. 752 7532017-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 754 755 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_* 756 7572017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 758 759 * install-mk (MK_VERSION): 20170301 760 761 * dirdeps.mk (_build_all_dirs): update this outside test for empty 762 DIRDEPS. 763 764 * meta.stage.mk: allow multiple inclusion to the extent it makes 765 sense. 766 7672017-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 768 769 * prog.mk (install_links): depends on realinstall 770 7712017-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 772 773 * install-mk (MK_VERSION): 20170212 774 775 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries 776 7772017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 778 779 * install-mk (MK_VERSION): 20170130 780 781 * dirdeps.mk: use :range if we can. 782 783 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130 784 785 * meta2deps.py: clean paths without using realpath() where possible. 786 fix sort_unique. 787 7882016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 789 790 * install-mk (MK_VERSION): 20161212 791 792 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, 793 rather than when we detect pid change. 794 7952016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 796 797 * install-mk (MK_VERSION): 20161207 798 799 * meta.stage.mk: add stage_as_and_symlink for staging packages. 800 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able 801 to use foo.tgz to reference the latest staged version - so we 802 make foo.tgz a symlink to it. 803 Using a target to do both operations ensures we stay in sync. 804 8052016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 806 807 * install-mk (MK_VERSION): 20161126 808 809 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk 810 so it can add dependencies. 811 8122016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 813 814 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE 815 do that they can influence the result correctly. 816 817 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC 818 819 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST 820 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 821 8222016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 823 824 * dirdeps.mk: remove dependence on jot (normal situations anyway). 825 Before we read another Makefile.depend* set DEP_* vars from 826 _DEP_TARGET_SPEC in case it uses any of them with := 827 When bootstrapping, trim any ,* from extention of chosen _src 828 Makefile.depend* to get the machine value we subst for. 829 8302016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> 831 832 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to 833 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER 834 835 * sys.mk: extract some bits to sys.{debug,vars}.mk 836 for easier re-use by others. 837 8382016-09-23 Simon Gerraty <sjg@sjg-mba13> 839 840 * lib.mk: Use ${PICO} for extension for PIC objects. 841 default to .pico (like NetBSD) safe on case insensitive filesystem. 842 8432016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> 844 845 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default 846 8472016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 848 849 * install-mk (MK_VERSION): 20160815 850 851 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only 852 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date. 853 8542016-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 855 856 * meta.sys.mk (.MAKE.META.IGNORE_PATHS): 857 in meta mode we can ignore the mtime of makefiles 858 8592016-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 860 861 * install-mk (MK_VERSION): 20160802 862 863 * lib.mk (libinstall): depends on beforinstall 864 865 * prog.mk (proginstall): depends on beforinstall 866 patch from Lauri Tirkkonen 867 868 * dirdeps.mk (bootstrap): When bootstrapping; creat 869 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via 870 .MAKE.DEPENDFILE_BOOTSTRAP_SED 871 872 * dirdeps.mk: move some comments to where they make sense. 873 8742016-07-27 Simon J. Gerraty <sjg@bad.crufty.net> 875 876 * dirdeps.mk (DIRDEPS_CACHE): no dirname. 877 8782016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 879 880 * install-mk (MK_VERSION): 20160602 881 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk 882 do not apply :T to META_XTRAS 883 patch from Bryan Drewery at FreeBSD.org. 884 8852016-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 886 887 * install-mk (MK_VERSION): 20160530 888 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH 889 make it so. 890 8912016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 892 893 * install-mk (MK_VERSION): 20160512 894 895 * dpadd.mk: always include local.dpadd.mk if it exists 896 remove some things that better belong in local.dpadd.mk 897 skip INCLUDES_* for staged libs unless SRC_* defined. 898 899 * own.mk: add INCLUDEDIR 900 9012016-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 902 903 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no 904 TARGET_MACHINE - :E will be empty or match part of path, use 905 ${MACHINE} 906 9072016-04-07 Simon J. Gerraty <sjg@bad.crufty.net> 908 909 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to 910 NO_FILEMON_COOKIE 911 912 * dirdeps.mk: move the logic that allows for 913 make -f dirdeps.mk some/dir.${TARGET_SPEC} 914 inside the check for !target(_DIRDEP_USE) 915 9162016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 917 918 * Use <> when including local*.mk and others which may exist 919 elsewhere so that user can better control what they get. 920 921 * meta.autodep.mk (NO_FILEMON_COOKIE): 922 create a cookie if we ever build dir with nofilemon 923 so that UPDATE_DEPENDFILE will be forced to NO until cleaned. 924 9252016-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 926 927 * install-mk (MK_VERSION): 20160401 928 929 * meta2deps.py: fix old print statement when debugging. 930 931 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X 932 patch from Bryan Drewery 933 9342016-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 935 936 * install-mk (MK_VERSION): 20160317 (St. Pats) 937 938 * warnings.mk: g++ does not like -Wimplicit 939 940 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the 941 pelthora of common suffixes for C++ 942 943 * lib.mk: use .So for shared objects 944 9452016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 946 947 * install-mk (MK_VERSION): 20160315 948 949 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 950 normally only applies to scripts. 951 952 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 953 well as outside it. 954 9552016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 956 957 * install-mk (MK_VERSION): 20160310 958 959 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 960 we have processed; the list gets very inefficient as number of 961 DIRDEPS gets large. 962 963 * sys.dependfile.mk: fix comment wrt MACHINE 964 965 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 966 patch from Bryan Drewery 967 9682016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 969 970 * meta2deps.sh: don't ignore subdirs. 971 patch from Bryan Drewery 972 9732016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 974 975 * install-mk (MK_VERSION): 20160226 976 977 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 978 9792016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 980 981 * dirdeps.mk: we shouldn't normally include .depend but if we do 982 use .dinclude if we can. 983 9842016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 985 986 * install-mk (MK_VERSION): 20160218 987 * sys.clean-env.mk: with recent change to Var_Subst() 988 we cannot use the '$$' trick, but .export-literal does the job 989 we need. 990 * auto.dep.mk: make use .dinclude if we can. 991 992 9932016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 994 995 * dirdeps.mk: 996 Add _build_all_dirs such that local.dirdeps.mk can 997 add fully qualified dirs to it. 998 These will be built normally but the current 999 DEP_RELDIR will not depend on then (to avoid cycles). 1000 This makes it easy to hook things like unit-tests into build. 1001 1002 10032016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 1004 1005 * dirdeps.mk: add bootstrap-empty 1006 10072015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1008 1009 * install-mk (MK_VERSION): 20151212 1010 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 1011 only apply :tA to __objdir when comparing to .OBJDIR 1012 10132015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1014 1015 * install-mk (MK_VERSION): 20151111 1016 1017 * meta.sys.mk: include sys.dependfile.mk 1018 1019 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 1020 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 1021 include local.sys.env.mk early 1022 include local.sys.mk later 1023 1024 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 1025 10262015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1027 1028 * meta.sys.mk (META_COOKIE_TOUCH): 1029 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 1030 1031 * meta.stage.mk: stage_libs should ignore SYMLINKS. 1032 10332015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 1034 1035 * install-mk (MK_VERSION): 20151022 1036 1037 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 1038 10392015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1040 1041 * install-mk (MK_VERSION): 20151020 1042 1043 * dirdeps.mk: Add logic for 1044 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1045 10462015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 1047 1048 * install-mk (MK_VERSION): 20151010 1049 10502015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 1051 1052 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 1053 to have stage_lins run last in non-jobs mode. 1054 Use .ORDER only for jobs mode. 1055 10562015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1057 1058 * rst2htm.mk: allow for per target flags etc. 1059 10602015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1061 1062 * install-mk (MK_VERSION): 20150901 1063 1064 * doc.mk: create dir if needed use DOC_INSTALL_OWN 1065 10662015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 1067 1068 * install-mk (MK_VERSION): 20150615 1069 1070 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 1071 Follow make's normal precedence rules. 1072 1073 * gendirdeps.mk: allow customization of the header. 1074 eg. for FreeBSD: 1075 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 1076 1077 * meta.autodep.mk: ignore dirdeps.cache* 1078 1079 * meta.stage.mk: when bootstrapping options it can be handy to 1080 throw warnings rather than errors for staging conflicts. 1081 1082 * meta.sys.mk: include local.meta.sys.mk for customization 1083 10842015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1085 1086 * install-mk (MK_VERSION): 20150606 1087 1088 * dirdeps.mk: don't rely on manually maintained Makefile.depend 1089 to set DEP_RELDIR and reset DIRDEPS. 1090 By setting DEP_RELDIR ourselves we can skip :tA 1091 1092 * gendirdeps.mk: skip setting DEP_RELDIR. 1093 10942015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1095 1096 * dirdeps.mk: avoid wildcards like make(bootstrap*) 1097 10982015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1099 1100 * install-mk (MK_VERSION): 20150520 1101 1102 * dirdeps.mk: when we are building dirdeps cache file we *want* 1103 meta_oodate to look at all the Makefile.depend files, so 1104 set .MAKE.DEPENDFILE to something that won't match. 1105 1106 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 1107 so first use absolute path as key. 1108 Also skip staging at level 0. 1109 11102015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1111 1112 * install-mk (MK_VERSION): 20150430 1113 1114 * dirdeps.mk: fix _count_dirdeps for non-cache case. 1115 11162015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 1117 1118 * install-mk (MK_VERSION): 20150411 1119 bump version 1120 1121 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 1122 it is here mainly for documentation purposes, since 1123 if using auto.obj.mk it is better done via sys.mk 1124 11252015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1126 1127 * install-mk (MK_VERSION): 20150401 1128 1129 * meta2deps.sh: support @list 1130 1131 * meta2deps.py: updates from Juniper 1132 o add EXCLUDES 1133 o skip bogus input files. 1134 o treat 'M' and 'L' as both an 'R' and a 'W' 1135 11362015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1137 1138 * install-mk (MK_VERSION): 20150303 1139 1140 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 1141 which is built via sub-make so we have a .meta file to tell if 1142 it is out-of-date. 1143 The dirdeps-cache contains the same dependency rules that we 1144 normaly construct on the fly. 1145 This adds a few seconds overhead when the cache is out of date, 1146 but for a large target, the savings can be significant (10-20min). 1147 11482014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 1149 1150 * install-mk (MK_VERSION): 20141118 1151 1152 * meta.stage.mk: add stale_staged 1153 1154 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 1155 only useful under very rare conditions such as 1156 FreeBSD's make universe. 1157 1158 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 1159 11602014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1161 1162 * install-mk (MK_VERSION): 20141111 1163 1164 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 1165 11662014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1167 1168 * FILES: include mkopt.sh which allows handling options in shell 1169 scripts in a manner compatible with options.mk 1170 11712014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1172 1173 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 1174 for GENDIRDEPS_FILTER to avoid surprises. 1175 11762014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1177 1178 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 1179 the time it is applied to __depdirs they have. 1180 1181 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 1182 expects patterns like *.${MACHINE} 1183 1184 * cython.mk (pyprefix?): use pyprefix to find python bits 1185 since prefix might be something else (where we install our 1186 stuff) 1187 11882014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1189 1190 * install-mk (MK_VERSION): 20140911 1191 1192 * dirdeps.mk: add bootstrap target to simplify adding support for 1193 new MACHINE. 1194 11952014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1196 1197 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 1198 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 1199 Makefile.depend files. 1200 12012014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1202 1203 * install-mk (MK_VERSION): 20140828 1204 1205 * cython.mk: capture logic for building python extension modules 1206 with Cython. 1207 12082014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1209 1210 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 1211 12122014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1213 1214 * install-mk (MK_VERSION): 20140801 1215 1216 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 1217 identify the autodep.mk variant. 1218 1219 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 1220 initial value does not match .MAKE.DEPENDFILE_PREFIX 1221 1222 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 1223 12242014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1225 1226 * install-mk (MK_VERSION): 20140522 1227 1228 * lib.mk: use CC to link shlib for linux too 1229 patch from Brendan MacDonell 1230 12312014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1232 1233 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 1234 if WITH_META_STATS is defined. 1235 12362014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1237 1238 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 1239 to supress dirdeps outside of .CURDIR. 1240 12412014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1242 1243 * Fix spelling errors - patch from Pedro Giffuni 1244 12452014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 1246 1247 * install-mk (MK_VERSION): 20140314 1248 1249 * dirdeps.mk (beforedirdeps): a handy hook 1250 1251 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 1252 to visit leaf dirs to be intercepted (eg. for distributed 1253 build). 1254 1255 * dirdeps.mk (__depdirs): ensure // don't sneak in 1256 1257 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 1258 1259 12602014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 1261 1262 * rst2htm.mk (RST2PDF): add support for rst2pdf 1263 12642014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1265 1266 * install-mk (MK_VERSION): bump version 1267 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 1268 available. 1269 12702014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1271 1272 * options.mk: avoid :U so this isn't bmake dependent 1273 12742014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 1275 1276 * options.mk: cleanup and simplify semanitcs 1277 NO_* dominates all, if both WITH_* and WITHOUT_* 1278 are defined then result is DOMINATE_* which defaults to "no". 1279 Ie. WITHOUT_ normally wins. 1280 12812013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1282 1283 * install-mk (MK_VERSION): bump version 1284 * meta2deps.py: convert to print function for python3 compat. 1285 we also need to open files with mode 'r' rather than 'rb' 1286 otherwise we get bytes instead of strings. 1287 12882013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1289 1290 * install-mk (MK_VERSION): bump version 1291 1292 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 1293 apply the same filtering (M_dep_qual_fixes) when setting _machines 1294 as _build_dirs. 1295 Also fix the filtering of Makefile.depend files - for reporting 1296 what we are looking for (M_dep_qual_fixes can get confused by 1297 Makefile.depend) 1298 Add some more debug info. 1299 13002013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1301 1302 * gendirdeps.mk (_objtops): fix typo also 1303 while processing M2D_OBJROOTS to gather qualdir_list 1304 qualify $ql with loop iterator to ensure correct results. 1305 13062013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1307 1308 * install-mk (MK_VERSION): 20130801 1309 * libs.mk: update to match progs.mk 1310 13112013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 1312 1313 * install-mk (MK_VERSION): 20130726 1314 some updates from Juniper and FreeBSD 1315 o meta2deps.py: indicate file and line number when we hit parse 1316 errors 1317 also allow @file to provide huge list of .meta files. 1318 * meta2deps.py: add try_parse() to cleanup the above. 1319 13202013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1321 1322 * install-mk (MK_VERSION): 20130716 1323 * own.mk: add GPROG as an option 1324 * prog.mk: honor MK_GPROF==yes 1325 13262013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1327 1328 * install-mk (MK_VERSION): 20130505 1329 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 1330 for when $MACHINE isn't enough for objdir distinction. 1331 Bring meta2deps.sh closer to par with meta2deps.py. 1332 13332013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1334 1335 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 1336 also if the target 'beforeinstall' exists, make it depend on 1337 .dirdep (incase it uses STAGE_INSTALL). 1338 13392013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1340 1341 * install-mk (MK_VERSION): 20130401 ;-) 1342 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 1343 wrapper around install(1). 1344 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 1345 13462013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1347 1348 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 1349 * install-mk (MK_VERSION): bump version 1350 13512013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 1352 1353 * install-mk (MK_VERSION): bump version 1354 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 1355 any trailing /., rather apply :tA only when needed. 1356 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 1357 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 1358 consistently. 1359 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 1360 13612013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1362 1363 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 1364 it is simpler to just not update when say building for "host" 1365 (where we know we apply filters to DIRDEPS), and using a 1366 non-machine qualified dependfile. 1367 13682013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1369 1370 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 1371 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 1372 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 1373 * meta2deps.py: if machine is "host", then also trim 1374 self.host_target from any OBJROOTS. 1375 1376 13772013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1378 1379 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 1380 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 1381 but _DEPENDFILE does not, compare the new _DEPENDFILE against 1382 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 1383 13842013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 1385 1386 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 1387 and hook to all: via staging: 1388 13892013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1390 1391 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 1392 use a separate variable for the default .MAKE.DEPENDFILE value 1393 so that it can be controlled independently of 1394 .MAKE.DEPENDFILE_PREFERENCE 1395 1396 * meta.stage.mk: throw error if cp fails etc. 1397 Stage*() return early if passed no args. 1398 .ORDER stage_* 1399 14002013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1401 1402 * install-mk (MK_VERSION): bump version 1403 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 1404 14052013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1406 1407 * install-mk (MK_VERSION): bump version to 20130210 1408 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 1409 from Juniper. 1410 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 1411 than just MACHINE. 1412 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 1413 14142013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 1415 1416 * install-mk (MK_VERSION): bump version to 20130123 1417 * meta.stage.mk: add stage_links (hard links). 1418 if doing hard links, we add dest to link as well. 1419 Default the stage dir for [sym]links to STAGE_OBJTOP since 1420 these are typically specified as absolute paths. 1421 Add -m "mode" flag to StageFiles and StageAs. 1422 14232012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1424 1425 * install-mk (MK_VERSION): bump version to 20121111 1426 * autoconf.mk: avoid meta mode seeing changed commands for config.status 1427 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 1428 in case we were found via .../mk 1429 * sys.clean-env.mk: move it from examples, we and others use it 1430 "as is". 1431 * FILES: add srctop.mk and options.mk 1432 * own.mk: convert to using options.mk 1433 which is modeled after FreeBSD's handling of MK_* 1434 but more flexible. 1435 This allows MK_* for boolean knobs to not be confused 1436 with MK* which can be commands. 1437 1438 * examples/sys.clean-env.mk: add WITH[OUT]_ to 1439 MAKE_ENV_SAVE_PREFIX_LIST. 1440 Mention that HOME=/var/empty might be a good idea. 1441 14422012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 1443 1444 * sys.dependfile.mk: if not depend file exists, $MACHINE 1445 specific ones are supported but not the default, 1446 check if any exist and follow suit. 1447 14482012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 1449 1450 * install-mk (MK_VERSION): bump version to 20121106 1451 14522012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 1453 1454 * import latest dirdeps.mk and meta2deps.py from Juniper. 1455 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 1456 also add PROGS_TARGETS and pass on PROG_CXX if it seems 1457 appropriate. 1458 14592012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 1460 1461 * meta.stage.mk: update CLEANFILES 1462 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 1463 * progs.mk: Add LDADD to PROG_VARS 1464 14652012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1466 1467 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 1468 _STAGED_DIRS so that these can be turned into filters for 1469 GENDIRDEPS_FILTER. 1470 14712012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1472 1473 * install-mk (MK_VERSION): bump version to 20121010 1474 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 1475 target.dirdep matches .dirdep 1476 14772012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1478 1479 * install-mk (MK_VERSION): bump version to 20120808 1480 * import latest meta2deps.py from Juniper. 1481 14822012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 1483 1484 * install-mk (MK_VERSION): bump version to 20120711 1485 * dep.mk: add explicit dependencies on SRCS after applying 1486 SRCS_DEP_FILTER 1487 * meta.autodep.mk: add explicit dependencies on SRCS after 1488 applying SRCS_DEP_FILTER 1489 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 1490 14912012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 1492 1493 * install-mk (MK_VERSION): bump version to 20120626 1494 * meta.sys.mk: ignore PYTHON if it does not exist 1495 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 1496 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 1497 entries ending in .${MACHINE} to decide if qualified _dirdep is 1498 needed. 1499 * gendirdeps.mk: only produce unqualified deps if no 1500 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 1501 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 1502 15032012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1504 1505 * install-mk (MK_VERSION): bump version to 20120420 1506 * add sys.dependfile.mk so we can experiment with 1507 .MAKE.DEPENDFILE_PREFERENCE 1508 * meta.autodep.mk: _DEPENDFILE is precious! 1509 15102012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1511 1512 * install-mk (MK_VERSION): bump version to 20120315 1513 * install-new.mk: avoid being interrupted 1514 15152012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1516 1517 * man.mk: MAN might have multiple values so be careful with exists(). 1518 15192012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 1520 1521 * install-mk (MK_VERSION): bump version to 20120112 1522 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 1523 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 1524 15252011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 1526 1527 * install-mk (MK_VERSION): bump version to 20111201 1528 * import dirdeps.mk from Juniper sjg@ 1529 o more consistent handling of DEP_MACHINE, especially when 1530 dealing with an odd Makefile.depend, when normally using 1531 Makefile.depend.${MACHINE} 1532 15332011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 1534 1535 * install-mk (MK_VERSION): bump version to 20111122 1536 * meta.autodep.mk: add some debug output, be more crisp about 1537 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 1538 15392011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1540 1541 * install-mk (MK_VERSION): bump version to 20111111 1542 it's too cool to miss 1543 * import meta* updates from Juniper sjg@ 1544 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 1545 normally using Makefile.depend.${MACHINE}), handy for 1546 read-only manually maintained dependencies. 1547 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 1548 o gendirdeps.mk if ERROR: from meta2deps.py do not update 1549 anything. 1550 15512011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 1552 1553 * install-new.mk separate the cmp and copy logic to its own function. 1554 15552011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 1556 1557 * install-mk (MK_VERSION): bump version to 20111028 1558 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 1559 * subdir.mk: ensure _SUBDIRUSE is provided 1560 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 1561 * meta.subdir.mk: always allow for Makefile.depend 1562 15632011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1564 1565 * install-mk (MK_VERSION): bump version to 20111010 1566 o minor tweak to *dirdeps.mk from Juniper sjg@ 1567 15682011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1569 1570 * install-mk (MK_VERSION): bump version to 20111001 1571 o add meta2deps.py from Juniper sjg@ 1572 o tweak gendirdeps.mk to work with meta2deps.py when not 1573 cross-building 1574 * autoconf.mk: add autoconf-input as a hook for regenerating 1575 AUTOCONF_INPUTS (configure). 1576 15772011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 1578 1579 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 1580 trigger for updating Makefile.depend* 1581 15822011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1583 1584 * install-mk (MK_VERSION): bump version to 20110808 1585 * obj.mk: minor cleanup 1586 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 1587 15882011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1589 1590 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 1591 specified dir. 1592 15932011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1594 1595 * meta.autodep.mk: if XMAKE_META_FILE is set 1596 the makefile uses a foreign make, and so dependencies 1597 can only be gathered from a clean tree build. 1598 15992011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 1600 1601 * install-mk (MK_VERSION): bump version to 20110622 1602 * meta.autodep.mk: improve bootstraping 1603 16042011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1605 1606 * yacc.mk: handle the corner case of .c being removed 1607 while .h remains. 1608 16092011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1610 1611 * yacc.mk: do .y.h and .y.c separately 1612 16132011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1614 1615 * install-mk (MK_VERSION): bump version to 20110606 1616 * don't store SRC_DIRDEPS in Makefile.depend* by default 1617 not everyone needs it. 1618 16192011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1620 1621 * install-mk (MK_VERSION): bump version to 20110505 1622 first release including meta mode makefiles 1623 16242011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1625 1626 * meta.stage.mk: add STAGE_AS_SETS and stage_as 1627 for things that need to be staged with different names. 1628 16292011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1630 1631 * meta.stage.mk: add notion of STAGE_SETS 1632 so a makefile can stage to multiple dirs 1633 16342011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 1635 1636 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 1637 on target name. 1638 16392011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1640 1641 * install-mk (MK_VERSION): bump version to 20110330 1642 16432011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1644 1645 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 1646 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 1647 * sys.mk: re-define M_whence in terms of M_type. 1648 M_type is useful for checking if something is a builtin. 1649 16502011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1651 1652 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 1653 stage_libs 1654 16552011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1656 1657 * dirdeps.mk: correct value for _depdir_files depends on 1658 .MAKE.DEPENDFILE 1659 Add our copyright - just to make it clear we have frobbed this 1660 quite a bit. 1661 DEP_MACHINE needs to be set to MACHINE each time, if using only 1662 Makefile.depend (cf. Makefile.depend.${MACHINE}) 1663 1664 * meta.stage.mk: meta mode version of staging 1665 1666 * init.mk, final.mk: include local.*.mk to simplify customization 1667 16682011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1669 1670 * auto.obj.mk: just because we are doing mk destroy, we should 1671 still set .OBJDIR correctly if it exists. 1672 1673 * install-mk (mksrc): do not exclude meta.sys.mk 1674 16752011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1676 1677 * host-target.mk: set/export _HOST_ARCH etc separately, 1678 catch junk resulting from uname -p, so we can find sys/Linux.mk 1679 correctly. 1680 16812011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1682 1683 * meta.sys.mk: throw an error if /dev/filemon is missing and we 1684 expected to be updating Makefile.depend* 1685 16862011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1687 1688 * install-mk (MK_VERSION): bump version to 20110214 1689 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 1690 16912010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 1692 1693 * meta.sys.mk: not valid for older bmake 1694 16952010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 1696 1697 * install-mk (MK_VERSION): bump version to 20100919 1698 include dirdeps.mk et al from Juniper Networks, 1699 for meta mode - requires filemon(9). 1700 * sys.mk, subdir.mk: Add hooks for meta mode. 1701 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 1702 to make turning it on/off simple. 1703 17042010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 1705 1706 * install-mk (MK_VERSION): bump version to 20100616 1707 * fix typo in sys.mk 1708 17092010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 1710 1711 * install-mk (MK_VERSION): bump version to 20100612 1712 * lib.mk: remove duplicate addition to SOBJS 1713 17142010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1715 1716 * sys.mk: Add a means of selectively turning on debug flags. 1717 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 1718 will act as if we did make -dv if .CURDIR ends in lib/sjg 1719 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 1720 the start of sys.mk rather than the end. 1721 This only makes sense for leaf dirs, so we check that 1722 .MAKE.LEVEL > 0 1723 17242010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 1725 1726 * install-mk (MK_VERSION): bump version to 20100608 1727 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 1728 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 1729 also make it easier for folk to tweak 1730 17312010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1732 1733 * install-mk (MK_VERSION): bump version to 20100606 1734 do not install examples/* 1735 * FILES: add examples/sys.clean-env.mk 1736 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 1737 this requires bmake-20100606 or later to work. 1738 17392010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 1740 1741 * sys.mk (M_tA): better simulate the result of :tA if not available. 1742 17432010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1744 1745 * sys.mk: canonicalize MAKE_VERSION 1746 old versions reported bmake-<src-date> build-<build-date> 1747 whereas we only care about <src-date> 1748 17492010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 1750 1751 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 1752 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 1753 is !empty 1754 17552010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 1756 1757 * dpadd.mk: use LDADD_* if defined. 1758 17592010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1760 1761 * install-mk (MK_VERSION): bump version to 20100420 1762 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 1763 * autoconf.mk allow AUTO_AUTOCONF 1764 17652010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 1766 1767 * obj.mk: add objwarn to keep freebsd makefiles happy 1768 * auto.obj.mk: ensure Mkdirs is available. 1769 * FILES: add auto.dep.mk - a simpler version of autodep.mk 1770 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 1771 asked to do that. 1772 fix/simplify the tests for when to run mkdep. 1773 * auto.dep.mk: add some explanation of how/what we do. 1774 * autodep.mk: skip the .OPTIONAL frobbing of .depend 1775 bmake's FROM_DEPEND flag makes it redundant. 1776 17772010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 1778 1779 * install-mk (MK_VERSION): bump version to 20100404 1780 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 1781 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 1782 Also create a target _SUBDIRUSE so that we can be used without 1783 subdir.mk 1784 17852010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 1786 1787 * dep.mk: use <> when .including so can override. 1788 17892010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 1790 1791 * lib.mk (SHLIB_LINKS): ensure a string comparison. 1792 17932010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1794 1795 * install-mk (MK_VERSION): bump version to 20100102 1796 * own.mk: ensure PRINTOBJDIR works 1797 * autoconf.mk: pass on CONFIGURE_ARGS 1798 * init.mk: handle COPTS.${.IMPSRC:T} etc. 1799 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 1800 fix handling of symlinks for darwin 1801 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 1802 * man.mk: suppress chown when not root. 1803 * rst2htm.mk: allow srcs from multiple locations. 1804 * sys.mk: M_whence, stop after 1st line of output. 1805 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 1806 * sys/SunOS.mk: we need to export PATH 1807 18082009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 1809 1810 * install-mk (MK_VERSION): bump version 1811 include rst2htm.mk 1812 18132009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 1814 1815 * sys.mk,libnames.mk add .-include <local.*> 1816 this allows local customization without the need to edit the 1817 distributed files. 1818 18192009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 1820 1821 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 1822 older versions already installed. 1823 18242009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 1825 1826 * stage.mk (.stage-install): generalize lib.mk's .libinstall 1827 * rules.mk rules for generic Makefile. 1828 * inc.mk install for includes. 1829 18302009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 1831 1832 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 1833 this, so provide it if using native make. 1834 18352009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 1836 1837 * FILES: move all the platform *.sys.mk files to sys/*.mk 1838 * Rename Generic.sys.mk to sys.mk - we always want it. 1839 18402009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 1841 1842 * install-mk (MK_VERSION): bump version 1843 * host-target.mk: only export the expensive stuff 1844 * Generic.sys.mk (sys_mk): for SunOS we need to look for 1845 ${HOST_OS}.${HOST_OSMAJOR} too! 1846 18472009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 1848 1849 * install-mk (MK_VERSION): bump version 1850 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 1851 based on patch from Greg Olszewski. 1852 * Generic.sys.mk: if we have nothing to work with 1853 set LORDER etc only if we can find it. 1854 18552009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 1856 1857 * install-mk (MK_VERSION): bump version 1858 * man.mk: cleanman: remove CLEANMAN if defined. 1859 18602009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 1861 1862 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 1863 18642009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 1865 1866 * install-mk (MK_VERSION): bump version 1867 include auto.obj.mk 1868 1869 18702009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 1871 1872 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 1873 18742008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 1875 1876 * install-mk (MK_VERSION): bump version 1877 man.mk: ensure we generate *.cat1 etc in . 1878 18792008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 1880 1881 * install-mk (MK_VERSION): bump version 1882 add prlist.mk 1883 18842007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 1885 1886 * Generic.sys.mk: Allow os specific sys.mk to be in a 1887 subdir of ${.PARSEDIR} 1888 18892007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 1890 1891 * install-mk (MK_VERSION): bump version 1892 * general cleanup 1893 * dpadd.mk introduce DPMAGIC_LIBS_* 1894 18952007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 1896 1897 * install-mk (MK_VERSION): bump version 1898 1899 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 1900 depend files and ensure clean is called for each lib/prog. 1901 19022007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 1903 1904 * autodep.mk (.depend): delete lines that do not start with 1905 space and do not contain ':' 1906 19072007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 1908 1909 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 1910 so make sure the transform for .OPTIONAL copes. 1911 19122007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 1913 1914 * install-mk (MK_VERSION): bump version 1915 1916 * own.mk: make sure RM and LN are defined. 1917 1918 * obj.mk: fix a typo, and objlink target. 1919 19202006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 1921 1922 * install-mk (MK_VERSION): bump version 1923 * added libs.mk - analogous to progs.mk 1924 make both of them always inlcude {lib,prog}.mk 1925 19262006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 1927 1928 * progs.mk: add a means of building multiple apps in one dir. 1929 19302006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 1931 1932 * install-mk (MK_VERSION): bump version to 20061126 1933 1934 * warnings.mk: detect invalid WARNINGS_SET 1935 1936 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 1937 specific warnings. 1938 1939 * For .cc sources, turn off warnings that g++ vomits on. 1940 19412006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 1942 1943 * own.mk: if __initialized__ target doesn't exist and we are 1944 FreeBSD we got here directly from sys.mk 1945 19462006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 1947 1948 * install-mk (MK_VERSION): bump version to 20061106 1949 add scripts.mk 1950 19512006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 1952 1953 * install-mk (MK_VERSION): bump version to 20060318 1954 1955 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 1956 19572006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 1958 1959 * install-mk (MK_VERSION): bump version to 20060302 1960 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 1961 19622006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 1963 1964 * install-mk (MK_VERSION): bump version to 20060301 1965 * autodep.mk (.depend): 1966 if MAKE_VERSION is newer than 20050530 we can make .END depend on 1967 .depend and make .depend depend on __depsrcs that exist. 1968 * dpadd.mk: add SRC_PATHADD 1969 19702005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1971 1972 * install-mk (MK_VERSION): bump version to 20051104 1973 * prog.mk: remove all the LIBC?= junk, use 1974 .-include libnames.mk instead (none by default). 1975 also if USE_DPADD_MK is set, include that. 1976 19772005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1978 1979 * install-mk (MK_VERSION): bump version to 20051001 1980 Add UnixWare.sys.mk from Klaus Heinz. 1981 19822005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 1983 1984 * install-mk: always install *.sys.mk and if need be symlink one 1985 to sys.mk 1986 19872005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1988 1989 * subdir.mk, own.mk: use .MAKE rather than MAKE 1990 19912004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1992 1993 * own.mk: don't use NetBSD's _SRC_TOP_ it can 1994 cause confusion. Also don't take just 'mk' as a 1995 srctop indicator. 1996 19972004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 1998 1999 * warnings.mk: overhauled, now very powerful. 2000 20012004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2002 2003 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 2004 20052004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 2006 2007 * install-mk (MK_VERSION): bump version to 20040201 2008 * extract HOST_TARGET stuff to host-target.mk so own.mk and 2009 Generic.sys.mk can share. 2010 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 2011 20122003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 2013 2014 * install-mk (MK_VERSION): 20030930 2015 * rename generic.sys.mk to Generic.sys.mk 2016 so that it does not get installed (unless being used as sys.mk) 2017 * set OS and ROOT_GROUP for those that we know the value. 2018 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 2019 we don't do it again for each sub-make. 2020 20212003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2022 2023 * install-mk (MK_VERSION): 20030928 2024 Add some extra *.sys.mk from bootstrap-pkgsrc 2025 some of these likely still need work. 2026 Make everything default to root:wheel ownership, 2027 sys.mk can set ROOT_GROUP accordingly. 2028 20292003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 2030 2031 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 2032 not the portable ones. 2033 20342003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2035 2036 * install-mk: add ability to use cp -f when updating 2037 destination .mk files. Also now possible to play games with 2038 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 2039 into dest - not recommended unless you seriously want to. 2040 20412003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2042 2043 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 2044 for semi-compatability with NetBSD. 2045 20462003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2047 2048 * install-mk: add a version indicator 2049 20502003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 2051 2052 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 2053 2054 * install-mk: Allow FORCE_SYS_MK to come from env 2055 2056 2057 2058