12023-01-20 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * install-mk (MK_VERSION): 20230120 4 5 * sys.vars.mk: add M_On and M_Onr also cleanup to be more 6 consistent wrt testing MAKE_VERSION 7 82023-01-12 Simon J Gerraty <sjg@beast.crufty.net> 9 10 * install-mk (MK_VERSION): 20230112 11 12 * meta2deps.{py,sh}: assert if filemon data is truncated 13 we should see the '# Bye bye' record - assert if we do not. 14 152022-09-09 Simon J Gerraty <sjg@beast.crufty.net> 16 17 * install-mk (MK_VERSION): 20220909 18 19 * sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings 20 212022-09-06 Simon J Gerraty <sjg@beast.crufty.net> 22 23 * dirdeps-options.mk: explain the need to use 24 ${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to 25 ${TARGET_SPEC_VAR} 26 272022-09-03 Simon J Gerraty <sjg@beast.crufty.net> 28 29 * install-mk (MK_VERSION): 20220903 30 31 * M_cmpv handle more than 3 dots and clear leading 0's 32 332022-07-20 Simon J Gerraty <sjg@beast.crufty.net> 34 35 * install-mk (MK_VERSION): 20220720 36 37 * prog.mk: handle PROG_CXX for more than just NetBSD 38 392022-06-20 Simon J Gerraty <sjg@beast.crufty.net> 40 41 * install-mk (MK_VERSION): 20220620 42 43 * yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER 44 rather than just suffix rules 45 462022-04-23 Simon J Gerraty <sjg@beast.crufty.net> 47 48 * install-mk (MK_VERSION): 20220422 49 50 * gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no" 51 do not capture any local depends in Makefile.depend 52 532022-03-25 Simon J Gerraty <sjg@beast.crufty.net> 54 55 * install-mk (MK_VERSION): 20220323 56 * posix.mk: default rules for .POSIX: 57 582022-03-17 Simon J Gerraty <sjg@beast.crufty.net> 59 60 * sys/*.mk: remove l from ARFLAGS 61 622022-03-14 Simon J Gerraty <sjg@beast.crufty.net> 63 64 * install-mk (MK_VERSION): 20220314 65 66 * dirdeps-options.mk: allow options to be per RELDIR 67 try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed 68 with ${DEP_RELDIR}. 69 702022-02-14 Simon J Gerraty <sjg@beast.crufty.net> 71 72 * install-mk (MK_VERSION): 20220214 73 74 * cc-wrap.mk: fix :@ modifier 75 762022-02-06 Simon J Gerraty <sjg@beast.crufty.net> 77 78 * install-mk (MK_VERSION): 20220206 79 80 * cc-wrap.mk: docuement how CCACHE etc might be set for 81 maximum flexibility 82 832022-02-05 Simon J Gerraty <sjg@beast.crufty.net> 84 85 * sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT 86 872022-02-04 Simon J Gerraty <sjg@beast.crufty.net> 88 89 * install-mk (MK_VERSION): 20220204 90 91 * host-target.mk: use .MAKE.OS if available 92 932022-02-02 Simon J Gerraty <sjg@beast.crufty.net> 94 95 * install-mk (MK_VERSION): 20220202 96 97 * cc-wrap.mk: allow other entries in CC_WRAP_FILTER 98 We add our filter on extensions last, so prior filters 99 can apply to the whole value of .IMPSRC 100 1012022-02-01 Simon J Gerraty <sjg@beast.crufty.net> 102 103 * cc-wrap.mk: take advantage of target local variables to 104 wrap compilers like CC CXX with wrappers like ccache distcc etc 105 1062022-01-28 Simon J Gerraty <sjg@beast.crufty.net> 107 108 * meta2deps: we do not expect any trace data for setid apps 109 1102022-01-26 Simon J Gerraty <sjg@beast.crufty.net> 111 112 * dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed 113 to sub-make using DIRDEPS_CACHE 114 1152022-01-07 Simon J Gerraty <sjg@beast.crufty.net> 116 117 * dirdeps.mk: use _cache_script to minimize the number of shells 118 forked when generating dirdeps.cache 119 1202022-01-02 Simon J Gerraty <sjg@beast.crufty.net> 121 122 * install-mk (MK_VERSION): 20220101 123 124 * dirdeps.mk: initialize DEP_* and _debug_reldir earlier. 125 If initial DIRDEPS are from command line, create the target 126 _dirdeps_cmdline as an indication. 127 1282022-01-01 Simon J Gerraty <sjg@beast.crufty.net> 129 130 * init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD 131 at top-level only some targets are allowed at level 0, 132 for leaf makefiles only the default (all) target is restricted 133 1342021-12-28 Simon J Gerraty <sjg@beast.crufty.net> 135 136 * install-mk (MK_VERSION): 20211228 137 138 * meta2deps.py: filemon on Linux is not as reliable as we might 139 like, we do not want to update DIRDEPS if filemon output is 140 incomplete. Track pids that we 'E'xec and make sure we see an 141 e'X'it for each one. Throw an error if we are missing any 'X' 142 records. 143 1442021-12-12 Simon J Gerraty <sjg@beast.crufty.net> 145 146 * sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes. 147 148 * meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON 149 is something else. 150 151 * meta.autodep.mk: we can now reference ${.SUFFIXES} 152 153 * meta2deps.py: derive a list of dirdep extensions from 154 TARGET_SPEC to trim from dirdeps. 155 156 * dirdeps.mk: flip the computation of qualified vs unqualified 157 dirdeps - it is much simpler to check for unqualified first. 158 1592021-12-11 Simon J Gerraty <sjg@beast.crufty.net> 160 161 * install-mk (MK_VERSION): 20211212 162 163 * auto.dep.mk: rearrange so that the trivial implementation 164 for recent bmake is more obvious. 165 1662021-12-07 Simon J Gerraty <sjg@beast.crufty.net> 167 168 * install-mk (MK_VERSION): 20211207 169 170 * Ensure guard targets are .NOTMAIN 171 172 * meta.sys.mk: check for nofilemon support when we skip level 0 173 174 * auto.dep.mk: make this usable in meta mode 175 for platforms that cannot use meta.autodep.mk 176 177 * meta2deps.py: avoid confusion if MACHINE and another 178 TARGET_SPEC_VAR have same value. 179 1802021-11-27 Simon J Gerraty <sjg@beast.crufty.net> 181 182 * dirdeps.mk: when building dirdeps.cache, minimize the amount of 183 data put into env, by stripping ${SRCTOP}/ from each entry. 184 A long sandbox name can double the amount of memory consumed and 185 in extreme cases cause failure. 186 While we are at it, strip ${SRCTOP}/ from a lot of the debug output. 187 1882021-11-11 Simon J Gerraty <sjg@beast.crufty.net> 189 190 * install-mk (MK_VERSION): 20211111 191 192 * meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail 193 so fallback to cp if necessary. 194 1952021-10-30 Simon J Gerraty <sjg@beast.crufty.net> 196 197 * man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year 198 old cmt2doc.pl 199 2002021-10-24 Simon J Gerraty <sjg@beast.crufty.net> 201 202 * meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f} 203 as the symlink (rare) 204 2052021-10-16 Simon J Gerraty <sjg@beast.crufty.net> 206 207 * autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not 208 been read, throw an error after running configure telling user to 209 restart. 210 2112021-10-13 Simon J Gerraty <sjg@beast.crufty.net> 212 213 * install-mk (MK_VERSION): 20211011 214 215 * Add support for SCO_SV 216 2172021-10-01 Simon J Gerraty <sjg@beast.crufty.net> 218 219 * install-mk (MK_VERSION): 20211001 220 221 * man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more 222 flexibility 223 2242021-09-13 Simon J Gerraty <sjg@beast.crufty.net> 225 226 * options.mk (describe-options): print options and their values 227 and optional description 228 2292021-09-11 Simon J Gerraty <sjg@beast.crufty.net> 230 231 * install-mk (MK_VERSION): 20210911 232 233 * options.mk (show-options): print options and their values 234 2352021-09-08 Simon J Gerraty <sjg@beast.crufty.net> 236 237 * install-mk (MK_VERSION): 20210909 238 239 * lib.mk: apply patch from <daniel@octaforge.org> 240 to fix shared libs on Linux 241 2422021-08-08 Simon J Gerraty <sjg@beast.crufty.net> 243 244 * install-mk (MK_VERSION): 20210808 245 246 * options.mk: issue warning for WITH_*=no 247 2482021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 249 250 * install-mk (MK_VERSION): 20210616 251 252 * dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find 253 depend files to read, anchor MACHINE at , or end of string 254 to avoid prefix match. 255 2562021-05-04 Simon J Gerraty <sjg@beast.crufty.net> 257 258 * install-mk (MK_VERSION): 20210504 259 260 * dirdeps.mk: re-implement ALL_MACHINES support to better 261 cater for local complexities, when ONLY_TARGET_SPEC_LIST 262 is not set. local.dirdeps.mk can set 263 DIRDEPS_ALL_MACHINES_FILTER and/or 264 DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get 265 from listing all existing Makefile.depend.* 266 2672021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 268 269 * install-mk (MK_VERSION): 20210420 270 271 * dirdeps.mk: revert previous - not always safe. 272 2732021-03-20 Simon J Gerraty <sjg@beast.crufty.net> 274 275 * install-mk (MK_VERSION): 20210321 276 277 * dirdeps.mk: when generating dirdeps.cache 278 we only need to hook the initial DIRDEPS to the 279 dirdeps target. That and any _build_xtra_dirs (like tests which 280 should not be hooked directly to the dependency graph - to avoid 281 cycles) 282 2832021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 284 285 * install-mk (MK_VERSION): 20210130 286 287 * dirdeps.mk: expr 2 - 1 - 1 exits with a bad status 288 we need to guard against this in DIRDEP_LOADAVG_REPORT. 289 290 * dirdeps.mk: restore respect for TARGET_MACHINE 291 2922021-01-06 Simon J Gerraty <sjg@beast.crufty.net> 293 294 * install-mk (MK_VERSION): 20210101 295 296 * dirdeps.mk: first time we are read, just use TARGET_SPEC for 297 _DEP_TARGET_SPEC 298 2992020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 300 301 * sys.mk (MAKE_SHELL): use ${.SHELL:Ush} 302 and use := when setting SHELL 303 3042020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 305 306 * install-mk (MK_VERSION): 20201221 307 308 * dirdeps-options.mk: latest bmake allows only one arg to .undef 309 3102020-12-11 Simon J Gerraty <sjg@beast.crufty.net> 311 312 * dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS 313 so that any directory can be treated as a target. 314 3152020-11-26 Simon J Gerraty <sjg@beast.crufty.net> 316 317 * install-mk (MK_VERSION): 20201126 318 319 * own.mk: use .MAKE.{UID,GID} if available. 320 321 * init.mk: suppress _SKIP_BUILD warning if doing -V 322 3232020-11-20 Simon J Gerraty <sjg@beast.crufty.net> 324 325 * install-mk (MK_VERSION): 20201120 326 327 * init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS 328 329 * dirdeps-targets.mk: fix typo in comment 330 3312020-11-06 Simon J Gerraty <sjg@beast.crufty.net> 332 333 * install-mk (MK_VERSION): 20201106 334 335 * meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed 336 args to tweak extensions for local deps. 337 3382020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 339 340 * install-mk (MK_VERSION): 20201101 341 342 * dirdeps.mk: most leaf makefiles are not suitable for building 343 dirdeps.cache so if RELDIR is not "." use dirdeps.mk 344 3452020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 346 347 * install-mk (MK_VERSION): 20201028 348 349 * dirdeps.mk: if we don't have :range use equivalent of M_RANGE 350 when building dirdeps.cache for leaf directory use -f dirdeps.mk 351 352 * sys.vars.mk: add M_JOT and M_RANGE 353 3542020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 355 356 * install-mk (MK_VERSION): 20201001 357 358 * meta2deps.{py,sh}: throw an error if we don't see filemon version 359 3602020-09-09 Simon J Gerraty <sjg@beast.crufty.net> 361 362 * install-mk (MK_VERSION): 20200909 363 364 * dirdeps-cache-update.mk: use cache_update_dirdep as guard target 365 3662020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 367 368 * dirdeps.mk: ensure we cannot confuse a static cache for dynamic 369 (even more rare that use of static cache is playing clever tricks 370 with it) 371 3722020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 373 374 * dirdeps-cache-update.mk: allow 375 MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we 376 actually update STATIC_DIRDEPS_CACHE. 377 378 * stage-install.sh: create dest directory if needed 379 before running install(1) 380 3812020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 382 383 * dirdeps-targets.mk: include Makefile.dirdeps.options 384 385 * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE 386 3872020-08-09 Simon J Gerraty <sjg@beast.crufty.net> 388 389 * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty 390 391 * dirdeps-cache-update.mk: building parallel cache update 392 under the context of dirdeps-cached would be ideal, but 393 is problematic, so it runs as a sibling. 394 Use cache-built target to ensure we wait for it to complete if 395 necessary. 396 3972020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 398 399 * install-mk (MK_VERSION): 20200806 400 401 * dirdeps-options: allow TARGET_SPEC to affect option values. 402 Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_* 403 404 * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined 405 before looking for STATIC_DIRDEPS_CACHE 406 4072020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 408 409 * host-target.mk: Darwin use MACHINE for HOST_ARCH too 410 411 * dirdeps-options.mk: improve debug output 412 4132020-07-22 Simon J Gerraty <sjg@beast.crufty.net> 414 415 * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE 416 for use by dirdeps-cache-update.mk 417 418 * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE 419 for use by dirdeps-cache-update.mk even if we don't use it. 420 421 * dirdeps-cache-update.mk: we only need worry about the background 422 update case, with the above, the update from DIRDEPS_CACHE is 423 simple. 424 425 * meta2deps.py: R 1234 . is not interesting 426 4272020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 428 429 * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE 430 431 * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS 432 allows use of lower case for pseudo options. 433 434 * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE 435 4362020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 437 438 * dirdeps-targets.mk: Look for Makefile.dirdeps.cache 439 which allows us to have a static cache for expensive targets. 440 Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE 441 to regenerate the dirdeps.cache it is a copy of. 442 4432020-07-17 Simon J Gerraty <sjg@beast.crufty.net> 444 445 * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense. 446 4472020-07-16 Simon J Gerraty <sjg@beast.crufty.net> 448 449 * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record 450 load averages at intervals during build. 451 4522020-07-15 Simon J Gerraty <sjg@beast.crufty.net> 453 454 * install-mk (MK_VERSION): 20200715 455 456 * dirdeps.mk: tweak Checking line to make matching Finished 457 lines for post-build analysis easier. 458 459 * meta.autodep.mk: use !defined(WITHOUT_META_STATS) 460 461 * progs.mk: avoid prog.mk outputting multiple Finished lines 462 4632020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 464 465 * dirdeps.mk: further optimize dirdeps.cache 466 generate a DIRDEPS.${.TARGET} list for other purposes 467 and improve the layout. 468 4692020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 470 471 * dirdeps.mk: optimize content of dirdeps.cache 472 4732020-06-28 Simon J Gerraty <sjg@beast.crufty.net> 474 475 * sys/*.mk: make it easier for local*sys.mk to customize by 476 using ?= 477 4782020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 479 480 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0 481 it is much safer to guard local depends with a simple check for 482 .MAKE.LEVEL > 0 483 4842020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 485 486 * install-mk (MK_VERSION): 20200610 487 488 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok 489 4902020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 491 492 * install-mk (MK_VERSION): 20200606 493 494 * dirdeps-targets.mk: allow for filtering of .TARGETS 495 496 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove 497 entries - and we don't care about 'W'rite entries. 498 Also ignore absolute paths that do not exist. 499 5002020-05-25 Simon J Gerraty <sjg@beast.crufty.net> 501 502 * install-mk (MK_VERSION): 20200525 503 504 * init.mk: expand and simplify handling of qualified vars 505 like CPPFLAGS.${.TARGET:T} 506 5072020-05-15 Simon J Gerraty <sjg@beast.crufty.net> 508 509 * install-mk (MK_VERSION): 20200515 510 511 * dirdeps.mk: set _debug_* earlier and allow passing -d* 512 flags to submake when building DIRDEPS_CACHE 513 5142020-05-09 Simon J Gerraty <sjg@beast.crufty.net> 515 516 * whats.mk: more easily extensible 517 5182020-05-02 Simon J Gerraty <sjg@beast.crufty.net> 519 520 * whats.mk: greatly simplify by adding what.c to SRCS 521 5222020-05-01 Simon J Gerraty <sjg@beast.crufty.net> 523 524 * whats.mk: for libs take care how we add to *OBJS 525 526 * lib.mk: : works better with whats.mk 527 5282020-04-25 Simon J Gerraty <sjg@beast.crufty.net> 529 530 * install-mk (MK_VERSION): 20200420 531 532 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep 533 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC} 534 5352020-04-16 Simon J Gerraty <sjg@beast.crufty.net> 536 537 * install-mk (MK_VERSION): 20200416 538 539 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to 540 interfere with user env. 541 542 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL 543 544 * autodep.mk: use MAKE_SHELL. 545 5462019-11-21 Simon J Gerraty <sjg@beast.crufty.net> 547 548 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of 549 wasted effort, and unexport _meta_files when no longer needed as 550 it consumes space we need for command line. 551 5522019-11-11 Simon J Gerraty <sjg@beast.crufty.net> 553 554 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add 555 DIRDEP_USE_PRELUDE at start - facilitates job distribution 556 5572019-10-04 Simon J Gerraty <sjg@beast.crufty.net> 558 559 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST 560 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid 561 TARGET_SPEC qualified depend files. 562 5632019-10-02 Simon J Gerraty <sjg@beast.crufty.net> 564 565 * dirdeps-targets.mk: encapsulate logic for finding top-level 566 targets to set initial DIRDEPS for DIRDEPS_BUILD 567 5682019-09-27 Simon J Gerraty <sjg@beast.crufty.net> 569 570 * install-mk (MK_VERSION): 20190911 571 572 * compiler.mk: set COMPILER_TYPE 573 5742019-07-17 Simon J Gerraty <sjg@beast.crufty.net> 575 576 * install-mk (MK_VERSION): 20190704 577 578 * sys/Darwin.mk: support for Objective-C and clang 579 5802019-05-30 Simon J Gerraty <sjg@beast.crufty.net> 581 582 * dirdeps.mk: avoid insanely long command line when generating cache 583 5842019-05-23 Simon J Gerraty <sjg@beast.crufty.net> 585 586 * install-mk (MK_VERSION): 20190505 587 588 * whats.mk: handle corner case SHLIB defined but not LIB 589 5902018-09-19 Simon J Gerraty <sjg@beast.crufty.net> 591 592 * install-mk (MK_VERSION): 20180919 593 594 * dirdeps-options.mk: .undef cannot handle var that expands to 595 more than one var. 596 5972018-07-08 Simon J Gerraty <sjg@beast.crufty.net> 598 599 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc. 600 6012018-06-01 Simon J Gerraty <sjg@beast.crufty.net> 602 603 * meta.autodep.mk: export META_FILES to avoid command line limit 604 * gendirdeps.mk: if we have lots of .meta files put them in 605 an @list 606 6072018-05-28 Simon J Gerraty <sjg@beast.crufty.net> 608 609 * dirdeps-options.mk: use local.dirdeps-options.mk 610 not local.dirdeps-option.mk 611 6122018-04-20 Simon J Gerraty <sjg@beast.crufty.net> 613 614 * install-mk (MK_VERSION): 20180420 615 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0 616 ie. we are building something. 617 6182018-04-14 Simon J Gerraty <sjg@beast.crufty.net> 619 620 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS. 621 6222018-04-05 Simon J Gerraty <sjg@beast.crufty.net> 623 624 * install-mk (MK_VERSION): 20180405 625 626 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER 627 if needed. 628 6292018-01-18 Simon J Gerraty <sjg@beast.crufty.net> 630 631 * install-mk (MK_VERSION): 20180118 632 633 * ldorder.mk: let make compute correct link order 634 6352017-12-12 Simon J Gerraty <sjg@beast.crufty.net> 636 637 * install-mk (MK_VERSION): 20171212 638 639 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER 640 6412017-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 642 643 * install-mk (MK_VERSION): 20171111 644 645 * lib.mk: ensure META_NOECHO is set 646 6472017-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 648 649 * Allow for host32 on rare occasions. 650 6512017-10-18 Simon J. Gerraty <sjg@bad.crufty.net> 652 653 * install-mk (MK_VERSION): 20171018 654 655 * whats.mk: include what_thing in what_uuid to avoid problem 656 when building multiple apps in the same directory. 657 6582017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 659 660 * install-mk (MK_VERSION): 20170812 661 662 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can 663 add dependencies for config.recheck and config.gen 664 6652017-06-30 Simon J. Gerraty <sjg@bad.crufty.net> 666 667 * install-mk (MK_VERSION): 20170630 668 669 * meta.stage.mk: avoid triggering stage_* targets with nothing to do. 670 6712017-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 672 673 * meta2deps.py: take special care of '..' 674 6752017-05-15 Simon J. Gerraty <sjg@bad.crufty.net> 676 677 * install-mk (MK_VERSION): 20170515 678 679 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is 680 useful/necessary for a Makefile.depend file to export some knobs. 681 This is complicated when we are doing DIRDEPS_CACHE, so we will 682 handle export of any variables listed in DEP_EXPORT_VARS. 683 6842017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 685 686 * install-mk (MK_VERSION): 20170505 687 688 * meta2deps.py: fix botched indenation. 689 6902017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 691 692 * sys/*.mk: Remove setting of MAKE it is unnecessary and 693 in many cases wrong (basname rather than full path) 694 695 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk 696 697 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc 698 6992017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 700 701 * install-mk (MK_VERSION): 20170501 702 703 * doc.mk: fix typo in DOC_INSTALL_OWN 704 705 * inc.mk: handle INCGROUPS similar to freebsd 706 707 * files.mk: add something for files too 708 709 * add staging logic to lib.mk prog.mk etc. 710 7112017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 712 713 * install-mk (MK_VERSION): 20170424 714 715 * dirdeps.mk: set NO_DIRDEPS when bootstrapping. 716 also target of bootstrap-this when sed is needed should be ${_want:T} 717 7182017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 719 720 * install-mk (MK_VERSION): 20170418 721 722 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a 723 prefix match for .CURDIR - in which case .CURDIR *is* __objdir. 724 7252017-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 726 727 * install-mk (MK_VERSION): 20170401 728 729 * meta2deps.py: add is_src so we can check if obj dependency 730 is also a src dependency. 731 7322017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 733 734 * install-mk (MK_VERSION): 20170326 735 736 * meta.stage.mk: do nothing if NO_STAGING is defined. 737 7382017-03-24 Simon J. Gerraty <sjg@bad.crufty.net> 739 740 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc. 741 7422017-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 743 744 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_* 745 7462017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 747 748 * install-mk (MK_VERSION): 20170301 749 750 * dirdeps.mk (_build_all_dirs): update this outside test for empty 751 DIRDEPS. 752 753 * meta.stage.mk: allow multiple inclusion to the extent it makes 754 sense. 755 7562017-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 757 758 * prog.mk (install_links): depends on realinstall 759 7602017-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 761 762 * install-mk (MK_VERSION): 20170212 763 764 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries 765 7662017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 767 768 * install-mk (MK_VERSION): 20170130 769 770 * dirdeps.mk: use :range if we can. 771 772 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130 773 774 * meta2deps.py: clean paths without using realpath() where possible. 775 fix sort_unique. 776 7772016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 778 779 * install-mk (MK_VERSION): 20161212 780 781 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, 782 rather than when we detect pid change. 783 7842016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 785 786 * install-mk (MK_VERSION): 20161207 787 788 * meta.stage.mk: add stage_as_and_symlink for staging packages. 789 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able 790 to use foo.tgz to reference the latest staged version - so we 791 make foo.tgz a symlink to it. 792 Using a target to do both operations ensures we stay in sync. 793 7942016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 795 796 * install-mk (MK_VERSION): 20161126 797 798 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk 799 so it can add dependencies. 800 8012016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 802 803 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE 804 do that they can influence the result correctly. 805 806 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC 807 808 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST 809 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 810 8112016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 812 813 * dirdeps.mk: remove dependence on jot (normal situations anyway). 814 Before we read another Makefile.depend* set DEP_* vars from 815 _DEP_TARGET_SPEC in case it uses any of them with := 816 When bootstrapping, trim any ,* from extention of chosen _src 817 Makefile.depend* to get the machine value we subst for. 818 8192016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> 820 821 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to 822 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER 823 824 * sys.mk: extract some bits to sys.{debug,vars}.mk 825 for easier re-use by others. 826 8272016-09-23 Simon Gerraty <sjg@sjg-mba13> 828 829 * lib.mk: Use ${PICO} for extension for PIC objects. 830 default to .pico (like NetBSD) safe on case insensitive filesystem. 831 8322016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> 833 834 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default 835 8362016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 837 838 * install-mk (MK_VERSION): 20160815 839 840 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only 841 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date. 842 8432016-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 844 845 * meta.sys.mk (.MAKE.META.IGNORE_PATHS): 846 in meta mode we can ignore the mtime of makefiles 847 8482016-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 849 850 * install-mk (MK_VERSION): 20160802 851 852 * lib.mk (libinstall): depends on beforinstall 853 854 * prog.mk (proginstall): depends on beforinstall 855 patch from Lauri Tirkkonen 856 857 * dirdeps.mk (bootstrap): When bootstrapping; creat 858 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via 859 .MAKE.DEPENDFILE_BOOTSTRAP_SED 860 861 * dirdeps.mk: move some comments to where they make sense. 862 8632016-07-27 Simon J. Gerraty <sjg@bad.crufty.net> 864 865 * dirdeps.mk (DIRDEPS_CACHE): no dirname. 866 8672016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 868 869 * install-mk (MK_VERSION): 20160602 870 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk 871 do not apply :T to META_XTRAS 872 patch from Bryan Drewery at FreeBSD.org. 873 8742016-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 875 876 * install-mk (MK_VERSION): 20160530 877 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH 878 make it so. 879 8802016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 881 882 * install-mk (MK_VERSION): 20160512 883 884 * dpadd.mk: always include local.dpadd.mk if it exists 885 remove some things that better belong in local.dpadd.mk 886 skip INCLUDES_* for staged libs unless SRC_* defined. 887 888 * own.mk: add INCLUDEDIR 889 8902016-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 891 892 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no 893 TARGET_MACHINE - :E will be empty or match part of path, use 894 ${MACHINE} 895 8962016-04-07 Simon J. Gerraty <sjg@bad.crufty.net> 897 898 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to 899 NO_FILEMON_COOKIE 900 901 * dirdeps.mk: move the logic that allows for 902 make -f dirdeps.mk some/dir.${TARGET_SPEC} 903 inside the check for !target(_DIRDEP_USE) 904 9052016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 906 907 * Use <> when including local*.mk and others which may exist 908 elsewhere so that user can better control what they get. 909 910 * meta.autodep.mk (NO_FILEMON_COOKIE): 911 create a cookie if we ever build dir with nofilemon 912 so that UPDATE_DEPENDFILE will be forced to NO until cleaned. 913 9142016-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 915 916 * install-mk (MK_VERSION): 20160401 917 918 * meta2deps.py: fix old print statement when debugging. 919 920 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X 921 patch from Bryan Drewery 922 9232016-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 924 925 * install-mk (MK_VERSION): 20160317 (St. Pats) 926 927 * warnings.mk: g++ does not like -Wimplicit 928 929 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the 930 pelthora of common suffixes for C++ 931 932 * lib.mk: use .So for shared objects 933 9342016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 935 936 * install-mk (MK_VERSION): 20160315 937 938 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 939 normally only applies to scripts. 940 941 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 942 well as outside it. 943 9442016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 945 946 * install-mk (MK_VERSION): 20160310 947 948 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 949 we have processed; the list gets very inefficient as number of 950 DIRDEPS gets large. 951 952 * sys.dependfile.mk: fix comment wrt MACHINE 953 954 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 955 patch from Bryan Drewery 956 9572016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 958 959 * meta2deps.sh: don't ignore subdirs. 960 patch from Bryan Drewery 961 9622016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 963 964 * install-mk (MK_VERSION): 20160226 965 966 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 967 9682016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 969 970 * dirdeps.mk: we shouldn't normally include .depend but if we do 971 use .dinclude if we can. 972 9732016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 974 975 * install-mk (MK_VERSION): 20160218 976 * sys.clean-env.mk: with recent change to Var_Subst() 977 we cannot use the '$$' trick, but .export-literal does the job 978 we need. 979 * auto.dep.mk: make use .dinclude if we can. 980 981 9822016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 983 984 * dirdeps.mk: 985 Add _build_all_dirs such that local.dirdeps.mk can 986 add fully qualified dirs to it. 987 These will be built normally but the current 988 DEP_RELDIR will not depend on then (to avoid cycles). 989 This makes it easy to hook things like unit-tests into build. 990 991 9922016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 993 994 * dirdeps.mk: add bootstrap-empty 995 9962015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 997 998 * install-mk (MK_VERSION): 20151212 999 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 1000 only apply :tA to __objdir when comparing to .OBJDIR 1001 10022015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1003 1004 * install-mk (MK_VERSION): 20151111 1005 1006 * meta.sys.mk: include sys.dependfile.mk 1007 1008 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 1009 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 1010 include local.sys.env.mk early 1011 include local.sys.mk later 1012 1013 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 1014 10152015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1016 1017 * meta.sys.mk (META_COOKIE_TOUCH): 1018 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 1019 1020 * meta.stage.mk: stage_libs should ignore SYMLINKS. 1021 10222015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 1023 1024 * install-mk (MK_VERSION): 20151022 1025 1026 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 1027 10282015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1029 1030 * install-mk (MK_VERSION): 20151020 1031 1032 * dirdeps.mk: Add logic for 1033 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1034 10352015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 1036 1037 * install-mk (MK_VERSION): 20151010 1038 10392015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 1040 1041 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 1042 to have stage_lins run last in non-jobs mode. 1043 Use .ORDER only for jobs mode. 1044 10452015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1046 1047 * rst2htm.mk: allow for per target flags etc. 1048 10492015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1050 1051 * install-mk (MK_VERSION): 20150901 1052 1053 * doc.mk: create dir if needed use DOC_INSTALL_OWN 1054 10552015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 1056 1057 * install-mk (MK_VERSION): 20150615 1058 1059 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 1060 Follow make's normal precedence rules. 1061 1062 * gendirdeps.mk: allow customization of the header. 1063 eg. for FreeBSD: 1064 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 1065 1066 * meta.autodep.mk: ignore dirdeps.cache* 1067 1068 * meta.stage.mk: when bootstrapping options it can be handy to 1069 throw warnings rather than errors for staging conflicts. 1070 1071 * meta.sys.mk: include local.meta.sys.mk for customization 1072 10732015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1074 1075 * install-mk (MK_VERSION): 20150606 1076 1077 * dirdeps.mk: don't rely on manually maintained Makefile.depend 1078 to set DEP_RELDIR and reset DIRDEPS. 1079 By setting DEP_RELDIR ourselves we can skip :tA 1080 1081 * gendirdeps.mk: skip setting DEP_RELDIR. 1082 10832015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1084 1085 * dirdeps.mk: avoid wildcards like make(bootstrap*) 1086 10872015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1088 1089 * install-mk (MK_VERSION): 20150520 1090 1091 * dirdeps.mk: when we are building dirdeps cache file we *want* 1092 meta_oodate to look at all the Makefile.depend files, so 1093 set .MAKE.DEPENDFILE to something that won't match. 1094 1095 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 1096 so first use absolute path as key. 1097 Also skip staging at level 0. 1098 10992015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1100 1101 * install-mk (MK_VERSION): 20150430 1102 1103 * dirdeps.mk: fix _count_dirdeps for non-cache case. 1104 11052015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 1106 1107 * install-mk (MK_VERSION): 20150411 1108 bump version 1109 1110 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 1111 it is here mainly for documentation purposes, since 1112 if using auto.obj.mk it is better done via sys.mk 1113 11142015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1115 1116 * install-mk (MK_VERSION): 20150401 1117 1118 * meta2deps.sh: support @list 1119 1120 * meta2deps.py: updates from Juniper 1121 o add EXCLUDES 1122 o skip bogus input files. 1123 o treat 'M' and 'L' as both an 'R' and a 'W' 1124 11252015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1126 1127 * install-mk (MK_VERSION): 20150303 1128 1129 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 1130 which is built via sub-make so we have a .meta file to tell if 1131 it is out-of-date. 1132 The dirdeps-cache contains the same dependency rules that we 1133 normaly construct on the fly. 1134 This adds a few seconds overhead when the cache is out of date, 1135 but for a large target, the savings can be significant (10-20min). 1136 11372014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 1138 1139 * install-mk (MK_VERSION): 20141118 1140 1141 * meta.stage.mk: add stale_staged 1142 1143 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 1144 only useful under very rare conditions such as 1145 FreeBSD's make universe. 1146 1147 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 1148 11492014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1150 1151 * install-mk (MK_VERSION): 20141111 1152 1153 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 1154 11552014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1156 1157 * FILES: include mkopt.sh which allows handling options in shell 1158 scripts in a manner compatible with options.mk 1159 11602014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1161 1162 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 1163 for GENDIRDEPS_FILTER to avoid surprises. 1164 11652014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1166 1167 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 1168 the time it is applied to __depdirs they have. 1169 1170 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 1171 expects patterns like *.${MACHINE} 1172 1173 * cython.mk (pyprefix?): use pyprefix to find python bits 1174 since prefix might be something else (where we install our 1175 stuff) 1176 11772014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1178 1179 * install-mk (MK_VERSION): 20140911 1180 1181 * dirdeps.mk: add bootstrap target to simplify adding support for 1182 new MACHINE. 1183 11842014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1185 1186 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 1187 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 1188 Makefile.depend files. 1189 11902014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1191 1192 * install-mk (MK_VERSION): 20140828 1193 1194 * cython.mk: capture logic for building python extension modules 1195 with Cython. 1196 11972014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1198 1199 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 1200 12012014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1202 1203 * install-mk (MK_VERSION): 20140801 1204 1205 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 1206 identify the autodep.mk variant. 1207 1208 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 1209 initial value does not match .MAKE.DEPENDFILE_PREFIX 1210 1211 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 1212 12132014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1214 1215 * install-mk (MK_VERSION): 20140522 1216 1217 * lib.mk: use CC to link shlib for linux too 1218 patch from Brendan MacDonell 1219 12202014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1221 1222 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 1223 if WITH_META_STATS is defined. 1224 12252014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1226 1227 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 1228 to supress dirdeps outside of .CURDIR. 1229 12302014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1231 1232 * Fix spelling errors - patch from Pedro Giffuni 1233 12342014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 1235 1236 * install-mk (MK_VERSION): 20140314 1237 1238 * dirdeps.mk (beforedirdeps): a handy hook 1239 1240 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 1241 to visit leaf dirs to be intercepted (eg. for distributed 1242 build). 1243 1244 * dirdeps.mk (__depdirs): ensure // don't sneak in 1245 1246 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 1247 1248 12492014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 1250 1251 * rst2htm.mk (RST2PDF): add support for rst2pdf 1252 12532014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1254 1255 * install-mk (MK_VERSION): bump version 1256 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 1257 available. 1258 12592014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1260 1261 * options.mk: avoid :U so this isn't bmake dependent 1262 12632014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 1264 1265 * options.mk: cleanup and simplify semanitcs 1266 NO_* dominates all, if both WITH_* and WITHOUT_* 1267 are defined then result is DOMINATE_* which defaults to "no". 1268 Ie. WITHOUT_ normally wins. 1269 12702013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1271 1272 * install-mk (MK_VERSION): bump version 1273 * meta2deps.py: convert to print function for python3 compat. 1274 we also need to open files with mode 'r' rather than 'rb' 1275 otherwise we get bytes instead of strings. 1276 12772013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1278 1279 * install-mk (MK_VERSION): bump version 1280 1281 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 1282 apply the same filtering (M_dep_qual_fixes) when setting _machines 1283 as _build_dirs. 1284 Also fix the filtering of Makefile.depend files - for reporting 1285 what we are looking for (M_dep_qual_fixes can get confused by 1286 Makefile.depend) 1287 Add some more debug info. 1288 12892013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1290 1291 * gendirdeps.mk (_objtops): fix typo also 1292 while processing M2D_OBJROOTS to gather qualdir_list 1293 qualify $ql with loop iterator to ensure correct results. 1294 12952013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1296 1297 * install-mk (MK_VERSION): 20130801 1298 * libs.mk: update to match progs.mk 1299 13002013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 1301 1302 * install-mk (MK_VERSION): 20130726 1303 some updates from Juniper and FreeBSD 1304 o meta2deps.py: indicate file and line number when we hit parse 1305 errors 1306 also allow @file to provide huge list of .meta files. 1307 * meta2deps.py: add try_parse() to cleanup the above. 1308 13092013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1310 1311 * install-mk (MK_VERSION): 20130716 1312 * own.mk: add GPROG as an option 1313 * prog.mk: honor MK_GPROF==yes 1314 13152013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1316 1317 * install-mk (MK_VERSION): 20130505 1318 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 1319 for when $MACHINE isn't enough for objdir distinction. 1320 Bring meta2deps.sh closer to par with meta2deps.py. 1321 13222013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1323 1324 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 1325 also if the target 'beforeinstall' exists, make it depend on 1326 .dirdep (incase it uses STAGE_INSTALL). 1327 13282013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1329 1330 * install-mk (MK_VERSION): 20130401 ;-) 1331 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 1332 wrapper around install(1). 1333 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 1334 13352013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1336 1337 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 1338 * install-mk (MK_VERSION): bump version 1339 13402013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 1341 1342 * install-mk (MK_VERSION): bump version 1343 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 1344 any trailing /., rather apply :tA only when needed. 1345 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 1346 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 1347 consistently. 1348 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 1349 13502013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1351 1352 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 1353 it is simpler to just not update when say building for "host" 1354 (where we know we apply filters to DIRDEPS), and using a 1355 non-machine qualified dependfile. 1356 13572013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1358 1359 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 1360 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 1361 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 1362 * meta2deps.py: if machine is "host", then also trim 1363 self.host_target from any OBJROOTS. 1364 1365 13662013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1367 1368 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 1369 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 1370 but _DEPENDFILE does not, compare the new _DEPENDFILE against 1371 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 1372 13732013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 1374 1375 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 1376 and hook to all: via staging: 1377 13782013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1379 1380 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 1381 use a separate variable for the default .MAKE.DEPENDFILE value 1382 so that it can be controlled independently of 1383 .MAKE.DEPENDFILE_PREFERENCE 1384 1385 * meta.stage.mk: throw error if cp fails etc. 1386 Stage*() return early if passed no args. 1387 .ORDER stage_* 1388 13892013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1390 1391 * install-mk (MK_VERSION): bump version 1392 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 1393 13942013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1395 1396 * install-mk (MK_VERSION): bump version to 20130210 1397 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 1398 from Juniper. 1399 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 1400 than just MACHINE. 1401 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 1402 14032013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 1404 1405 * install-mk (MK_VERSION): bump version to 20130123 1406 * meta.stage.mk: add stage_links (hard links). 1407 if doing hard links, we add dest to link as well. 1408 Default the stage dir for [sym]links to STAGE_OBJTOP since 1409 these are typically specified as absolute paths. 1410 Add -m "mode" flag to StageFiles and StageAs. 1411 14122012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1413 1414 * install-mk (MK_VERSION): bump version to 20121111 1415 * autoconf.mk: avoid meta mode seeing changed commands for config.status 1416 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 1417 in case we were found via .../mk 1418 * sys.clean-env.mk: move it from examples, we and others use it 1419 "as is". 1420 * FILES: add srctop.mk and options.mk 1421 * own.mk: convert to using options.mk 1422 which is modeled after FreeBSD's handling of MK_* 1423 but more flexible. 1424 This allows MK_* for boolean knobs to not be confused 1425 with MK* which can be commands. 1426 1427 * examples/sys.clean-env.mk: add WITH[OUT]_ to 1428 MAKE_ENV_SAVE_PREFIX_LIST. 1429 Mention that HOME=/var/empty might be a good idea. 1430 14312012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 1432 1433 * sys.dependfile.mk: if not depend file exists, $MACHINE 1434 specific ones are supported but not the default, 1435 check if any exist and follow suit. 1436 14372012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 1438 1439 * install-mk (MK_VERSION): bump version to 20121106 1440 14412012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 1442 1443 * import latest dirdeps.mk and meta2deps.py from Juniper. 1444 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 1445 also add PROGS_TARGETS and pass on PROG_CXX if it seems 1446 appropriate. 1447 14482012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 1449 1450 * meta.stage.mk: update CLEANFILES 1451 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 1452 * progs.mk: Add LDADD to PROG_VARS 1453 14542012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1455 1456 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 1457 _STAGED_DIRS so that these can be turned into filters for 1458 GENDIRDEPS_FILTER. 1459 14602012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1461 1462 * install-mk (MK_VERSION): bump version to 20121010 1463 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 1464 target.dirdep matches .dirdep 1465 14662012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1467 1468 * install-mk (MK_VERSION): bump version to 20120808 1469 * import latest meta2deps.py from Juniper. 1470 14712012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 1472 1473 * install-mk (MK_VERSION): bump version to 20120711 1474 * dep.mk: add explicit dependencies on SRCS after applying 1475 SRCS_DEP_FILTER 1476 * meta.autodep.mk: add explicit dependencies on SRCS after 1477 applying SRCS_DEP_FILTER 1478 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 1479 14802012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 1481 1482 * install-mk (MK_VERSION): bump version to 20120626 1483 * meta.sys.mk: ignore PYTHON if it does not exist 1484 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 1485 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 1486 entries ending in .${MACHINE} to decide if qualified _dirdep is 1487 needed. 1488 * gendirdeps.mk: only produce unqualified deps if no 1489 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 1490 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 1491 14922012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1493 1494 * install-mk (MK_VERSION): bump version to 20120420 1495 * add sys.dependfile.mk so we can experiment with 1496 .MAKE.DEPENDFILE_PREFERENCE 1497 * meta.autodep.mk: _DEPENDFILE is precious! 1498 14992012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1500 1501 * install-mk (MK_VERSION): bump version to 20120315 1502 * install-new.mk: avoid being interrupted 1503 15042012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1505 1506 * man.mk: MAN might have multiple values so be careful with exists(). 1507 15082012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 1509 1510 * install-mk (MK_VERSION): bump version to 20120112 1511 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 1512 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 1513 15142011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 1515 1516 * install-mk (MK_VERSION): bump version to 20111201 1517 * import dirdeps.mk from Juniper sjg@ 1518 o more consistent handling of DEP_MACHINE, especially when 1519 dealing with an odd Makefile.depend, when normally using 1520 Makefile.depend.${MACHINE} 1521 15222011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 1523 1524 * install-mk (MK_VERSION): bump version to 20111122 1525 * meta.autodep.mk: add some debug output, be more crisp about 1526 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 1527 15282011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1529 1530 * install-mk (MK_VERSION): bump version to 20111111 1531 it's too cool to miss 1532 * import meta* updates from Juniper sjg@ 1533 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 1534 normally using Makefile.depend.${MACHINE}), handy for 1535 read-only manually maintained dependencies. 1536 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 1537 o gendirdeps.mk if ERROR: from meta2deps.py do not update 1538 anything. 1539 15402011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 1541 1542 * install-new.mk separate the cmp and copy logic to its own function. 1543 15442011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 1545 1546 * install-mk (MK_VERSION): bump version to 20111028 1547 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 1548 * subdir.mk: ensure _SUBDIRUSE is provided 1549 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 1550 * meta.subdir.mk: always allow for Makefile.depend 1551 15522011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1553 1554 * install-mk (MK_VERSION): bump version to 20111010 1555 o minor tweak to *dirdeps.mk from Juniper sjg@ 1556 15572011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1558 1559 * install-mk (MK_VERSION): bump version to 20111001 1560 o add meta2deps.py from Juniper sjg@ 1561 o tweak gendirdeps.mk to work with meta2deps.py when not 1562 cross-building 1563 * autoconf.mk: add autoconf-input as a hook for regenerating 1564 AUTOCONF_INPUTS (configure). 1565 15662011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 1567 1568 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 1569 trigger for updating Makefile.depend* 1570 15712011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1572 1573 * install-mk (MK_VERSION): bump version to 20110808 1574 * obj.mk: minor cleanup 1575 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 1576 15772011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1578 1579 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 1580 specified dir. 1581 15822011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1583 1584 * meta.autodep.mk: if XMAKE_META_FILE is set 1585 the makefile uses a foreign make, and so dependencies 1586 can only be gathered from a clean tree build. 1587 15882011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 1589 1590 * install-mk (MK_VERSION): bump version to 20110622 1591 * meta.autodep.mk: improve bootstraping 1592 15932011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1594 1595 * yacc.mk: handle the corner case of .c being removed 1596 while .h remains. 1597 15982011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1599 1600 * yacc.mk: do .y.h and .y.c separately 1601 16022011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1603 1604 * install-mk (MK_VERSION): bump version to 20110606 1605 * don't store SRC_DIRDEPS in Makefile.depend* by default 1606 not everyone needs it. 1607 16082011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1609 1610 * install-mk (MK_VERSION): bump version to 20110505 1611 first release including meta mode makefiles 1612 16132011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1614 1615 * meta.stage.mk: add STAGE_AS_SETS and stage_as 1616 for things that need to be staged with different names. 1617 16182011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1619 1620 * meta.stage.mk: add notion of STAGE_SETS 1621 so a makefile can stage to multiple dirs 1622 16232011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 1624 1625 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 1626 on target name. 1627 16282011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1629 1630 * install-mk (MK_VERSION): bump version to 20110330 1631 16322011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1633 1634 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 1635 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 1636 * sys.mk: re-define M_whence in terms of M_type. 1637 M_type is useful for checking if something is a builtin. 1638 16392011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1640 1641 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 1642 stage_libs 1643 16442011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1645 1646 * dirdeps.mk: correct value for _depdir_files depends on 1647 .MAKE.DEPENDFILE 1648 Add our copyright - just to make it clear we have frobbed this 1649 quite a bit. 1650 DEP_MACHINE needs to be set to MACHINE each time, if using only 1651 Makefile.depend (cf. Makefile.depend.${MACHINE}) 1652 1653 * meta.stage.mk: meta mode version of staging 1654 1655 * init.mk, final.mk: include local.*.mk to simplify customization 1656 16572011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1658 1659 * auto.obj.mk: just because we are doing mk destroy, we should 1660 still set .OBJDIR correctly if it exists. 1661 1662 * install-mk (mksrc): do not exclude meta.sys.mk 1663 16642011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1665 1666 * host-target.mk: set/export _HOST_ARCH etc separately, 1667 catch junk resulting from uname -p, so we can find sys/Linux.mk 1668 correctly. 1669 16702011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1671 1672 * meta.sys.mk: throw an error if /dev/filemon is missing and we 1673 expected to be updating Makefile.depend* 1674 16752011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1676 1677 * install-mk (MK_VERSION): bump version to 20110214 1678 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 1679 16802010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 1681 1682 * meta.sys.mk: not valid for older bmake 1683 16842010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 1685 1686 * install-mk (MK_VERSION): bump version to 20100919 1687 include dirdeps.mk et al from Juniper Networks, 1688 for meta mode - requires filemon(9). 1689 * sys.mk, subdir.mk: Add hooks for meta mode. 1690 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 1691 to make turning it on/off simple. 1692 16932010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 1694 1695 * install-mk (MK_VERSION): bump version to 20100616 1696 * fix typo in sys.mk 1697 16982010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 1699 1700 * install-mk (MK_VERSION): bump version to 20100612 1701 * lib.mk: remove duplicate addition to SOBJS 1702 17032010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1704 1705 * sys.mk: Add a means of selectively turning on debug flags. 1706 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 1707 will act as if we did make -dv if .CURDIR ends in lib/sjg 1708 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 1709 the start of sys.mk rather than the end. 1710 This only makes sense for leaf dirs, so we check that 1711 .MAKE.LEVEL > 0 1712 17132010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 1714 1715 * install-mk (MK_VERSION): bump version to 20100608 1716 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 1717 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 1718 also make it easier for folk to tweak 1719 17202010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1721 1722 * install-mk (MK_VERSION): bump version to 20100606 1723 do not install examples/* 1724 * FILES: add examples/sys.clean-env.mk 1725 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 1726 this requires bmake-20100606 or later to work. 1727 17282010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 1729 1730 * sys.mk (M_tA): better simulate the result of :tA if not available. 1731 17322010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1733 1734 * sys.mk: canonicalize MAKE_VERSION 1735 old versions reported bmake-<src-date> build-<build-date> 1736 whereas we only care about <src-date> 1737 17382010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 1739 1740 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 1741 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 1742 is !empty 1743 17442010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 1745 1746 * dpadd.mk: use LDADD_* if defined. 1747 17482010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1749 1750 * install-mk (MK_VERSION): bump version to 20100420 1751 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 1752 * autoconf.mk allow AUTO_AUTOCONF 1753 17542010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 1755 1756 * obj.mk: add objwarn to keep freebsd makefiles happy 1757 * auto.obj.mk: ensure Mkdirs is available. 1758 * FILES: add auto.dep.mk - a simpler version of autodep.mk 1759 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 1760 asked to do that. 1761 fix/simplify the tests for when to run mkdep. 1762 * auto.dep.mk: add some explanation of how/what we do. 1763 * autodep.mk: skip the .OPTIONAL frobbing of .depend 1764 bmake's FROM_DEPEND flag makes it redundant. 1765 17662010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 1767 1768 * install-mk (MK_VERSION): bump version to 20100404 1769 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 1770 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 1771 Also create a target _SUBDIRUSE so that we can be used without 1772 subdir.mk 1773 17742010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 1775 1776 * dep.mk: use <> when .including so can override. 1777 17782010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 1779 1780 * lib.mk (SHLIB_LINKS): ensure a string comparison. 1781 17822010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1783 1784 * install-mk (MK_VERSION): bump version to 20100102 1785 * own.mk: ensure PRINTOBJDIR works 1786 * autoconf.mk: pass on CONFIGURE_ARGS 1787 * init.mk: handle COPTS.${.IMPSRC:T} etc. 1788 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 1789 fix handling of symlinks for darwin 1790 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 1791 * man.mk: suppress chown when not root. 1792 * rst2htm.mk: allow srcs from multiple locations. 1793 * sys.mk: M_whence, stop after 1st line of output. 1794 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 1795 * sys/SunOS.mk: we need to export PATH 1796 17972009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 1798 1799 * install-mk (MK_VERSION): bump version 1800 include rst2htm.mk 1801 18022009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 1803 1804 * sys.mk,libnames.mk add .-include <local.*> 1805 this allows local customization without the need to edit the 1806 distributed files. 1807 18082009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 1809 1810 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 1811 older versions already installed. 1812 18132009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 1814 1815 * stage.mk (.stage-install): generalize lib.mk's .libinstall 1816 * rules.mk rules for generic Makefile. 1817 * inc.mk install for includes. 1818 18192009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 1820 1821 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 1822 this, so provide it if using native make. 1823 18242009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 1825 1826 * FILES: move all the platform *.sys.mk files to sys/*.mk 1827 * Rename Generic.sys.mk to sys.mk - we always want it. 1828 18292009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 1830 1831 * install-mk (MK_VERSION): bump version 1832 * host-target.mk: only export the expensive stuff 1833 * Generic.sys.mk (sys_mk): for SunOS we need to look for 1834 ${HOST_OS}.${HOST_OSMAJOR} too! 1835 18362009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 1837 1838 * install-mk (MK_VERSION): bump version 1839 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 1840 based on patch from Greg Olszewski. 1841 * Generic.sys.mk: if we have nothing to work with 1842 set LORDER etc only if we can find it. 1843 18442009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 1845 1846 * install-mk (MK_VERSION): bump version 1847 * man.mk: cleanman: remove CLEANMAN if defined. 1848 18492009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 1850 1851 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 1852 18532009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 1854 1855 * install-mk (MK_VERSION): bump version 1856 include auto.obj.mk 1857 1858 18592009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 1860 1861 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 1862 18632008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 1864 1865 * install-mk (MK_VERSION): bump version 1866 man.mk: ensure we generate *.cat1 etc in . 1867 18682008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 1869 1870 * install-mk (MK_VERSION): bump version 1871 add prlist.mk 1872 18732007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 1874 1875 * Generic.sys.mk: Allow os specific sys.mk to be in a 1876 subdir of ${.PARSEDIR} 1877 18782007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 1879 1880 * install-mk (MK_VERSION): bump version 1881 * general cleanup 1882 * dpadd.mk introduce DPMAGIC_LIBS_* 1883 18842007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 1885 1886 * install-mk (MK_VERSION): bump version 1887 1888 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 1889 depend files and ensure clean is called for each lib/prog. 1890 18912007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 1892 1893 * autodep.mk (.depend): delete lines that do not start with 1894 space and do not contain ':' 1895 18962007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 1897 1898 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 1899 so make sure the transform for .OPTIONAL copes. 1900 19012007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 1902 1903 * install-mk (MK_VERSION): bump version 1904 1905 * own.mk: make sure RM and LN are defined. 1906 1907 * obj.mk: fix a typo, and objlink target. 1908 19092006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 1910 1911 * install-mk (MK_VERSION): bump version 1912 * added libs.mk - analogous to progs.mk 1913 make both of them always inlcude {lib,prog}.mk 1914 19152006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 1916 1917 * progs.mk: add a means of building multiple apps in one dir. 1918 19192006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 1920 1921 * install-mk (MK_VERSION): bump version to 20061126 1922 1923 * warnings.mk: detect invalid WARNINGS_SET 1924 1925 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 1926 specific warnings. 1927 1928 * For .cc sources, turn off warnings that g++ vomits on. 1929 19302006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 1931 1932 * own.mk: if __initialized__ target doesn't exist and we are 1933 FreeBSD we got here directly from sys.mk 1934 19352006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 1936 1937 * install-mk (MK_VERSION): bump version to 20061106 1938 add scripts.mk 1939 19402006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 1941 1942 * install-mk (MK_VERSION): bump version to 20060318 1943 1944 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 1945 19462006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 1947 1948 * install-mk (MK_VERSION): bump version to 20060302 1949 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 1950 19512006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 1952 1953 * install-mk (MK_VERSION): bump version to 20060301 1954 * autodep.mk (.depend): 1955 if MAKE_VERSION is newer than 20050530 we can make .END depend on 1956 .depend and make .depend depend on __depsrcs that exist. 1957 * dpadd.mk: add SRC_PATHADD 1958 19592005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1960 1961 * install-mk (MK_VERSION): bump version to 20051104 1962 * prog.mk: remove all the LIBC?= junk, use 1963 .-include libnames.mk instead (none by default). 1964 also if USE_DPADD_MK is set, include that. 1965 19662005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1967 1968 * install-mk (MK_VERSION): bump version to 20051001 1969 Add UnixWare.sys.mk from Klaus Heinz. 1970 19712005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 1972 1973 * install-mk: always install *.sys.mk and if need be symlink one 1974 to sys.mk 1975 19762005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1977 1978 * subdir.mk, own.mk: use .MAKE rather than MAKE 1979 19802004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1981 1982 * own.mk: don't use NetBSD's _SRC_TOP_ it can 1983 cause confusion. Also don't take just 'mk' as a 1984 srctop indicator. 1985 19862004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 1987 1988 * warnings.mk: overhauled, now very powerful. 1989 19902004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 1991 1992 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 1993 19942004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 1995 1996 * install-mk (MK_VERSION): bump version to 20040201 1997 * extract HOST_TARGET stuff to host-target.mk so own.mk and 1998 Generic.sys.mk can share. 1999 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 2000 20012003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 2002 2003 * install-mk (MK_VERSION): 20030930 2004 * rename generic.sys.mk to Generic.sys.mk 2005 so that it does not get installed (unless being used as sys.mk) 2006 * set OS and ROOT_GROUP for those that we know the value. 2007 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 2008 we don't do it again for each sub-make. 2009 20102003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2011 2012 * install-mk (MK_VERSION): 20030928 2013 Add some extra *.sys.mk from bootstrap-pkgsrc 2014 some of these likely still need work. 2015 Make everything default to root:wheel ownership, 2016 sys.mk can set ROOT_GROUP accordingly. 2017 20182003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 2019 2020 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 2021 not the portable ones. 2022 20232003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2024 2025 * install-mk: add ability to use cp -f when updating 2026 destination .mk files. Also now possible to play games with 2027 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 2028 into dest - not recommended unless you seriously want to. 2029 20302003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2031 2032 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 2033 for semi-compatability with NetBSD. 2034 20352003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2036 2037 * install-mk: add a version indicator 2038 20392003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 2040 2041 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 2042 2043 * install-mk: Allow FORCE_SYS_MK to come from env 2044 2045 2046 2047