12023-04-20 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * install-mk (MK_VERSION): 20230420 4 5 * lib.mk: include LDFLAGS and LDADD when linking shared libs 6 7 * gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc 8 via local.meta.sys.mk rather than local.gendirdeps.mk 9 so DEP_* variables can be set at level 1+ to avoid syntax errors 10 when used in conditionals in manually maintained Makefile.depend 11 files. 12 13 * dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines 14 152023-04-18 Simon J Gerraty <sjg@beast.crufty.net> 16 17 * dirdeps.mk: check we were not included by 18 Makefile.depend.options as the result is bad. 19 202023-04-14 Simon J Gerraty <sjg@beast.crufty.net> 21 22 * install-mk (MK_VERSION): 20230414 23 24 * meta.sys.mk: since we have :range we can put the logic for 25 processing TARGET_SPEC from env here. 26 27 * dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including 28 local.dirdeps-missing.mk, also improve debug output. 29 30 * dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC 31 we need to use :M*[/.]* same as for when actually setting DIRDEPS 32 from the targets on command line. 33 342023-04-12 Simon J Gerraty <sjg@beast.crufty.net> 35 36 * Add jobs.mk 37 382023-03-21 Simon J Gerraty <sjg@beast.crufty.net> 39 40 * install-mk (MK_VERSION): 20230321 41 42 * meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter 43 STAGE_LIBS for SHLIB_LINKS. 44 45 * autoconf.mk: add .WAIT after config.status 46 472023-02-17 Simon J Gerraty <sjg@beast.crufty.net> 48 49 * sys.vars.mk: add M_Index to report the index of a word in a list. 50 512023-02-15 Simon J Gerraty <sjg@beast.crufty.net> 52 53 * install-mk (MK_VERSION): 20230215 54 55 * warnings.mk: allow better control of -Werror 56 allow -Wno-error or similar to be added if 57 WARNINGS_SET < WERROR_SET 58 account for COMPILER_TYPE 59 602023-01-29 Simon J Gerraty <sjg@beast.crufty.net> 61 62 * autoconf.mk: hook config.status to beforebuild. 63 64 * whats.mk: what*.c is NOTMAIN 65 662023-01-27 Simon J Gerraty <sjg@beast.crufty.net> 67 68 * install-mk (MK_VERSION): 20230127 69 control umask so directories are created with suitable mode. 70 712023-01-20 Simon J Gerraty <sjg@beast.crufty.net> 72 73 * install-mk (MK_VERSION): 20230120 74 75 * sys.vars.mk: add M_On and M_Onr also cleanup to be more 76 consistent wrt testing MAKE_VERSION 77 782023-01-12 Simon J Gerraty <sjg@beast.crufty.net> 79 80 * install-mk (MK_VERSION): 20230112 81 82 * meta2deps.{py,sh}: assert if filemon data is truncated 83 we should see the '# Bye bye' record - assert if we do not. 84 852022-09-09 Simon J Gerraty <sjg@beast.crufty.net> 86 87 * install-mk (MK_VERSION): 20220909 88 89 * sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings 90 912022-09-06 Simon J Gerraty <sjg@beast.crufty.net> 92 93 * dirdeps-options.mk: explain the need to use 94 ${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to 95 ${TARGET_SPEC_VAR} 96 972022-09-03 Simon J Gerraty <sjg@beast.crufty.net> 98 99 * install-mk (MK_VERSION): 20220903 100 101 * M_cmpv handle more than 3 dots and clear leading 0's 102 1032022-07-20 Simon J Gerraty <sjg@beast.crufty.net> 104 105 * install-mk (MK_VERSION): 20220720 106 107 * prog.mk: handle PROG_CXX for more than just NetBSD 108 1092022-06-20 Simon J Gerraty <sjg@beast.crufty.net> 110 111 * install-mk (MK_VERSION): 20220620 112 113 * yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER 114 rather than just suffix rules 115 1162022-04-23 Simon J Gerraty <sjg@beast.crufty.net> 117 118 * install-mk (MK_VERSION): 20220422 119 120 * gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no" 121 do not capture any local depends in Makefile.depend 122 1232022-03-25 Simon J Gerraty <sjg@beast.crufty.net> 124 125 * install-mk (MK_VERSION): 20220323 126 * posix.mk: default rules for .POSIX: 127 1282022-03-17 Simon J Gerraty <sjg@beast.crufty.net> 129 130 * sys/*.mk: remove l from ARFLAGS 131 1322022-03-14 Simon J Gerraty <sjg@beast.crufty.net> 133 134 * install-mk (MK_VERSION): 20220314 135 136 * dirdeps-options.mk: allow options to be per RELDIR 137 try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed 138 with ${DEP_RELDIR}. 139 1402022-02-14 Simon J Gerraty <sjg@beast.crufty.net> 141 142 * install-mk (MK_VERSION): 20220214 143 144 * cc-wrap.mk: fix :@ modifier 145 1462022-02-06 Simon J Gerraty <sjg@beast.crufty.net> 147 148 * install-mk (MK_VERSION): 20220206 149 150 * cc-wrap.mk: docuement how CCACHE etc might be set for 151 maximum flexibility 152 1532022-02-05 Simon J Gerraty <sjg@beast.crufty.net> 154 155 * sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT 156 1572022-02-04 Simon J Gerraty <sjg@beast.crufty.net> 158 159 * install-mk (MK_VERSION): 20220204 160 161 * host-target.mk: use .MAKE.OS if available 162 1632022-02-02 Simon J Gerraty <sjg@beast.crufty.net> 164 165 * install-mk (MK_VERSION): 20220202 166 167 * cc-wrap.mk: allow other entries in CC_WRAP_FILTER 168 We add our filter on extensions last, so prior filters 169 can apply to the whole value of .IMPSRC 170 1712022-02-01 Simon J Gerraty <sjg@beast.crufty.net> 172 173 * cc-wrap.mk: take advantage of target local variables to 174 wrap compilers like CC CXX with wrappers like ccache distcc etc 175 1762022-01-28 Simon J Gerraty <sjg@beast.crufty.net> 177 178 * meta2deps: we do not expect any trace data for setid apps 179 1802022-01-26 Simon J Gerraty <sjg@beast.crufty.net> 181 182 * dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed 183 to sub-make using DIRDEPS_CACHE 184 1852022-01-07 Simon J Gerraty <sjg@beast.crufty.net> 186 187 * dirdeps.mk: use _cache_script to minimize the number of shells 188 forked when generating dirdeps.cache 189 1902022-01-02 Simon J Gerraty <sjg@beast.crufty.net> 191 192 * install-mk (MK_VERSION): 20220101 193 194 * dirdeps.mk: initialize DEP_* and _debug_reldir earlier. 195 If initial DIRDEPS are from command line, create the target 196 _dirdeps_cmdline as an indication. 197 1982022-01-01 Simon J Gerraty <sjg@beast.crufty.net> 199 200 * init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD 201 at top-level only some targets are allowed at level 0, 202 for leaf makefiles only the default (all) target is restricted 203 2042021-12-28 Simon J Gerraty <sjg@beast.crufty.net> 205 206 * install-mk (MK_VERSION): 20211228 207 208 * meta2deps.py: filemon on Linux is not as reliable as we might 209 like, we do not want to update DIRDEPS if filemon output is 210 incomplete. Track pids that we 'E'xec and make sure we see an 211 e'X'it for each one. Throw an error if we are missing any 'X' 212 records. 213 2142021-12-12 Simon J Gerraty <sjg@beast.crufty.net> 215 216 * sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes. 217 218 * meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON 219 is something else. 220 221 * meta.autodep.mk: we can now reference ${.SUFFIXES} 222 223 * meta2deps.py: derive a list of dirdep extensions from 224 TARGET_SPEC to trim from dirdeps. 225 226 * dirdeps.mk: flip the computation of qualified vs unqualified 227 dirdeps - it is much simpler to check for unqualified first. 228 2292021-12-11 Simon J Gerraty <sjg@beast.crufty.net> 230 231 * install-mk (MK_VERSION): 20211212 232 233 * auto.dep.mk: rearrange so that the trivial implementation 234 for recent bmake is more obvious. 235 2362021-12-07 Simon J Gerraty <sjg@beast.crufty.net> 237 238 * install-mk (MK_VERSION): 20211207 239 240 * Ensure guard targets are .NOTMAIN 241 242 * meta.sys.mk: check for nofilemon support when we skip level 0 243 244 * auto.dep.mk: make this usable in meta mode 245 for platforms that cannot use meta.autodep.mk 246 247 * meta2deps.py: avoid confusion if MACHINE and another 248 TARGET_SPEC_VAR have same value. 249 2502021-11-27 Simon J Gerraty <sjg@beast.crufty.net> 251 252 * dirdeps.mk: when building dirdeps.cache, minimize the amount of 253 data put into env, by stripping ${SRCTOP}/ from each entry. 254 A long sandbox name can double the amount of memory consumed and 255 in extreme cases cause failure. 256 While we are at it, strip ${SRCTOP}/ from a lot of the debug output. 257 2582021-11-11 Simon J Gerraty <sjg@beast.crufty.net> 259 260 * install-mk (MK_VERSION): 20211111 261 262 * meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail 263 so fallback to cp if necessary. 264 2652021-10-30 Simon J Gerraty <sjg@beast.crufty.net> 266 267 * man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year 268 old cmt2doc.pl 269 2702021-10-24 Simon J Gerraty <sjg@beast.crufty.net> 271 272 * meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f} 273 as the symlink (rare) 274 2752021-10-16 Simon J Gerraty <sjg@beast.crufty.net> 276 277 * autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not 278 been read, throw an error after running configure telling user to 279 restart. 280 2812021-10-13 Simon J Gerraty <sjg@beast.crufty.net> 282 283 * install-mk (MK_VERSION): 20211011 284 285 * Add support for SCO_SV 286 2872021-10-01 Simon J Gerraty <sjg@beast.crufty.net> 288 289 * install-mk (MK_VERSION): 20211001 290 291 * man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more 292 flexibility 293 2942021-09-13 Simon J Gerraty <sjg@beast.crufty.net> 295 296 * options.mk (describe-options): print options and their values 297 and optional description 298 2992021-09-11 Simon J Gerraty <sjg@beast.crufty.net> 300 301 * install-mk (MK_VERSION): 20210911 302 303 * options.mk (show-options): print options and their values 304 3052021-09-08 Simon J Gerraty <sjg@beast.crufty.net> 306 307 * install-mk (MK_VERSION): 20210909 308 309 * lib.mk: apply patch from <daniel@octaforge.org> 310 to fix shared libs on Linux 311 3122021-08-08 Simon J Gerraty <sjg@beast.crufty.net> 313 314 * install-mk (MK_VERSION): 20210808 315 316 * options.mk: issue warning for WITH_*=no 317 3182021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 319 320 * install-mk (MK_VERSION): 20210616 321 322 * dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find 323 depend files to read, anchor MACHINE at , or end of string 324 to avoid prefix match. 325 3262021-05-04 Simon J Gerraty <sjg@beast.crufty.net> 327 328 * install-mk (MK_VERSION): 20210504 329 330 * dirdeps.mk: re-implement ALL_MACHINES support to better 331 cater for local complexities, when ONLY_TARGET_SPEC_LIST 332 is not set. local.dirdeps.mk can set 333 DIRDEPS_ALL_MACHINES_FILTER and/or 334 DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get 335 from listing all existing Makefile.depend.* 336 3372021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 338 339 * install-mk (MK_VERSION): 20210420 340 341 * dirdeps.mk: revert previous - not always safe. 342 3432021-03-20 Simon J Gerraty <sjg@beast.crufty.net> 344 345 * install-mk (MK_VERSION): 20210321 346 347 * dirdeps.mk: when generating dirdeps.cache 348 we only need to hook the initial DIRDEPS to the 349 dirdeps target. That and any _build_xtra_dirs (like tests which 350 should not be hooked directly to the dependency graph - to avoid 351 cycles) 352 3532021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 354 355 * install-mk (MK_VERSION): 20210130 356 357 * dirdeps.mk: expr 2 - 1 - 1 exits with a bad status 358 we need to guard against this in DIRDEP_LOADAVG_REPORT. 359 360 * dirdeps.mk: restore respect for TARGET_MACHINE 361 3622021-01-06 Simon J Gerraty <sjg@beast.crufty.net> 363 364 * install-mk (MK_VERSION): 20210101 365 366 * dirdeps.mk: first time we are read, just use TARGET_SPEC for 367 _DEP_TARGET_SPEC 368 3692020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 370 371 * sys.mk (MAKE_SHELL): use ${.SHELL:Ush} 372 and use := when setting SHELL 373 3742020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 375 376 * install-mk (MK_VERSION): 20201221 377 378 * dirdeps-options.mk: latest bmake allows only one arg to .undef 379 3802020-12-11 Simon J Gerraty <sjg@beast.crufty.net> 381 382 * dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS 383 so that any directory can be treated as a target. 384 3852020-11-26 Simon J Gerraty <sjg@beast.crufty.net> 386 387 * install-mk (MK_VERSION): 20201126 388 389 * own.mk: use .MAKE.{UID,GID} if available. 390 391 * init.mk: suppress _SKIP_BUILD warning if doing -V 392 3932020-11-20 Simon J Gerraty <sjg@beast.crufty.net> 394 395 * install-mk (MK_VERSION): 20201120 396 397 * init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS 398 399 * dirdeps-targets.mk: fix typo in comment 400 4012020-11-06 Simon J Gerraty <sjg@beast.crufty.net> 402 403 * install-mk (MK_VERSION): 20201106 404 405 * meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed 406 args to tweak extensions for local deps. 407 4082020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 409 410 * install-mk (MK_VERSION): 20201101 411 412 * dirdeps.mk: most leaf makefiles are not suitable for building 413 dirdeps.cache so if RELDIR is not "." use dirdeps.mk 414 4152020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 416 417 * install-mk (MK_VERSION): 20201028 418 419 * dirdeps.mk: if we don't have :range use equivalent of M_RANGE 420 when building dirdeps.cache for leaf directory use -f dirdeps.mk 421 422 * sys.vars.mk: add M_JOT and M_RANGE 423 4242020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 425 426 * install-mk (MK_VERSION): 20201001 427 428 * meta2deps.{py,sh}: throw an error if we don't see filemon version 429 4302020-09-09 Simon J Gerraty <sjg@beast.crufty.net> 431 432 * install-mk (MK_VERSION): 20200909 433 434 * dirdeps-cache-update.mk: use cache_update_dirdep as guard target 435 4362020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 437 438 * dirdeps.mk: ensure we cannot confuse a static cache for dynamic 439 (even more rare that use of static cache is playing clever tricks 440 with it) 441 4422020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 443 444 * dirdeps-cache-update.mk: allow 445 MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we 446 actually update STATIC_DIRDEPS_CACHE. 447 448 * stage-install.sh: create dest directory if needed 449 before running install(1) 450 4512020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 452 453 * dirdeps-targets.mk: include Makefile.dirdeps.options 454 455 * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE 456 4572020-08-09 Simon J Gerraty <sjg@beast.crufty.net> 458 459 * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty 460 461 * dirdeps-cache-update.mk: building parallel cache update 462 under the context of dirdeps-cached would be ideal, but 463 is problematic, so it runs as a sibling. 464 Use cache-built target to ensure we wait for it to complete if 465 necessary. 466 4672020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 468 469 * install-mk (MK_VERSION): 20200806 470 471 * dirdeps-options: allow TARGET_SPEC to affect option values. 472 Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_* 473 474 * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined 475 before looking for STATIC_DIRDEPS_CACHE 476 4772020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 478 479 * host-target.mk: Darwin use MACHINE for HOST_ARCH too 480 481 * dirdeps-options.mk: improve debug output 482 4832020-07-22 Simon J Gerraty <sjg@beast.crufty.net> 484 485 * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE 486 for use by dirdeps-cache-update.mk 487 488 * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE 489 for use by dirdeps-cache-update.mk even if we don't use it. 490 491 * dirdeps-cache-update.mk: we only need worry about the background 492 update case, with the above, the update from DIRDEPS_CACHE is 493 simple. 494 495 * meta2deps.py: R 1234 . is not interesting 496 4972020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 498 499 * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE 500 501 * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS 502 allows use of lower case for pseudo options. 503 504 * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE 505 5062020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 507 508 * dirdeps-targets.mk: Look for Makefile.dirdeps.cache 509 which allows us to have a static cache for expensive targets. 510 Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE 511 to regenerate the dirdeps.cache it is a copy of. 512 5132020-07-17 Simon J Gerraty <sjg@beast.crufty.net> 514 515 * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense. 516 5172020-07-16 Simon J Gerraty <sjg@beast.crufty.net> 518 519 * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record 520 load averages at intervals during build. 521 5222020-07-15 Simon J Gerraty <sjg@beast.crufty.net> 523 524 * install-mk (MK_VERSION): 20200715 525 526 * dirdeps.mk: tweak Checking line to make matching Finished 527 lines for post-build analysis easier. 528 529 * meta.autodep.mk: use !defined(WITHOUT_META_STATS) 530 531 * progs.mk: avoid prog.mk outputting multiple Finished lines 532 5332020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 534 535 * dirdeps.mk: further optimize dirdeps.cache 536 generate a DIRDEPS.${.TARGET} list for other purposes 537 and improve the layout. 538 5392020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 540 541 * dirdeps.mk: optimize content of dirdeps.cache 542 5432020-06-28 Simon J Gerraty <sjg@beast.crufty.net> 544 545 * sys/*.mk: make it easier for local*sys.mk to customize by 546 using ?= 547 5482020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 549 550 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0 551 it is much safer to guard local depends with a simple check for 552 .MAKE.LEVEL > 0 553 5542020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 555 556 * install-mk (MK_VERSION): 20200610 557 558 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok 559 5602020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 561 562 * install-mk (MK_VERSION): 20200606 563 564 * dirdeps-targets.mk: allow for filtering of .TARGETS 565 566 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove 567 entries - and we don't care about 'W'rite entries. 568 Also ignore absolute paths that do not exist. 569 5702020-05-25 Simon J Gerraty <sjg@beast.crufty.net> 571 572 * install-mk (MK_VERSION): 20200525 573 574 * init.mk: expand and simplify handling of qualified vars 575 like CPPFLAGS.${.TARGET:T} 576 5772020-05-15 Simon J Gerraty <sjg@beast.crufty.net> 578 579 * install-mk (MK_VERSION): 20200515 580 581 * dirdeps.mk: set _debug_* earlier and allow passing -d* 582 flags to submake when building DIRDEPS_CACHE 583 5842020-05-09 Simon J Gerraty <sjg@beast.crufty.net> 585 586 * whats.mk: more easily extensible 587 5882020-05-02 Simon J Gerraty <sjg@beast.crufty.net> 589 590 * whats.mk: greatly simplify by adding what.c to SRCS 591 5922020-05-01 Simon J Gerraty <sjg@beast.crufty.net> 593 594 * whats.mk: for libs take care how we add to *OBJS 595 596 * lib.mk: : works better with whats.mk 597 5982020-04-25 Simon J Gerraty <sjg@beast.crufty.net> 599 600 * install-mk (MK_VERSION): 20200420 601 602 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep 603 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC} 604 6052020-04-16 Simon J Gerraty <sjg@beast.crufty.net> 606 607 * install-mk (MK_VERSION): 20200416 608 609 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to 610 interfere with user env. 611 612 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL 613 614 * autodep.mk: use MAKE_SHELL. 615 6162019-11-21 Simon J Gerraty <sjg@beast.crufty.net> 617 618 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of 619 wasted effort, and unexport _meta_files when no longer needed as 620 it consumes space we need for command line. 621 6222019-11-11 Simon J Gerraty <sjg@beast.crufty.net> 623 624 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add 625 DIRDEP_USE_PRELUDE at start - facilitates job distribution 626 6272019-10-04 Simon J Gerraty <sjg@beast.crufty.net> 628 629 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST 630 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid 631 TARGET_SPEC qualified depend files. 632 6332019-10-02 Simon J Gerraty <sjg@beast.crufty.net> 634 635 * dirdeps-targets.mk: encapsulate logic for finding top-level 636 targets to set initial DIRDEPS for DIRDEPS_BUILD 637 6382019-09-27 Simon J Gerraty <sjg@beast.crufty.net> 639 640 * install-mk (MK_VERSION): 20190911 641 642 * compiler.mk: set COMPILER_TYPE 643 6442019-07-17 Simon J Gerraty <sjg@beast.crufty.net> 645 646 * install-mk (MK_VERSION): 20190704 647 648 * sys/Darwin.mk: support for Objective-C and clang 649 6502019-05-30 Simon J Gerraty <sjg@beast.crufty.net> 651 652 * dirdeps.mk: avoid insanely long command line when generating cache 653 6542019-05-23 Simon J Gerraty <sjg@beast.crufty.net> 655 656 * install-mk (MK_VERSION): 20190505 657 658 * whats.mk: handle corner case SHLIB defined but not LIB 659 6602018-09-19 Simon J Gerraty <sjg@beast.crufty.net> 661 662 * install-mk (MK_VERSION): 20180919 663 664 * dirdeps-options.mk: .undef cannot handle var that expands to 665 more than one var. 666 6672018-07-08 Simon J Gerraty <sjg@beast.crufty.net> 668 669 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc. 670 6712018-06-01 Simon J Gerraty <sjg@beast.crufty.net> 672 673 * meta.autodep.mk: export META_FILES to avoid command line limit 674 * gendirdeps.mk: if we have lots of .meta files put them in 675 an @list 676 6772018-05-28 Simon J Gerraty <sjg@beast.crufty.net> 678 679 * dirdeps-options.mk: use local.dirdeps-options.mk 680 not local.dirdeps-option.mk 681 6822018-04-20 Simon J Gerraty <sjg@beast.crufty.net> 683 684 * install-mk (MK_VERSION): 20180420 685 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0 686 ie. we are building something. 687 6882018-04-14 Simon J Gerraty <sjg@beast.crufty.net> 689 690 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS. 691 6922018-04-05 Simon J Gerraty <sjg@beast.crufty.net> 693 694 * install-mk (MK_VERSION): 20180405 695 696 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER 697 if needed. 698 6992018-01-18 Simon J Gerraty <sjg@beast.crufty.net> 700 701 * install-mk (MK_VERSION): 20180118 702 703 * ldorder.mk: let make compute correct link order 704 7052017-12-12 Simon J Gerraty <sjg@beast.crufty.net> 706 707 * install-mk (MK_VERSION): 20171212 708 709 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER 710 7112017-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 712 713 * install-mk (MK_VERSION): 20171111 714 715 * lib.mk: ensure META_NOECHO is set 716 7172017-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 718 719 * Allow for host32 on rare occasions. 720 7212017-10-18 Simon J. Gerraty <sjg@bad.crufty.net> 722 723 * install-mk (MK_VERSION): 20171018 724 725 * whats.mk: include what_thing in what_uuid to avoid problem 726 when building multiple apps in the same directory. 727 7282017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 729 730 * install-mk (MK_VERSION): 20170812 731 732 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can 733 add dependencies for config.recheck and config.gen 734 7352017-06-30 Simon J. Gerraty <sjg@bad.crufty.net> 736 737 * install-mk (MK_VERSION): 20170630 738 739 * meta.stage.mk: avoid triggering stage_* targets with nothing to do. 740 7412017-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 742 743 * meta2deps.py: take special care of '..' 744 7452017-05-15 Simon J. Gerraty <sjg@bad.crufty.net> 746 747 * install-mk (MK_VERSION): 20170515 748 749 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is 750 useful/necessary for a Makefile.depend file to export some knobs. 751 This is complicated when we are doing DIRDEPS_CACHE, so we will 752 handle export of any variables listed in DEP_EXPORT_VARS. 753 7542017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 755 756 * install-mk (MK_VERSION): 20170505 757 758 * meta2deps.py: fix botched indenation. 759 7602017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 761 762 * sys/*.mk: Remove setting of MAKE it is unnecessary and 763 in many cases wrong (basname rather than full path) 764 765 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk 766 767 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc 768 7692017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 770 771 * install-mk (MK_VERSION): 20170501 772 773 * doc.mk: fix typo in DOC_INSTALL_OWN 774 775 * inc.mk: handle INCGROUPS similar to freebsd 776 777 * files.mk: add something for files too 778 779 * add staging logic to lib.mk prog.mk etc. 780 7812017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 782 783 * install-mk (MK_VERSION): 20170424 784 785 * dirdeps.mk: set NO_DIRDEPS when bootstrapping. 786 also target of bootstrap-this when sed is needed should be ${_want:T} 787 7882017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 789 790 * install-mk (MK_VERSION): 20170418 791 792 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a 793 prefix match for .CURDIR - in which case .CURDIR *is* __objdir. 794 7952017-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 796 797 * install-mk (MK_VERSION): 20170401 798 799 * meta2deps.py: add is_src so we can check if obj dependency 800 is also a src dependency. 801 8022017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 803 804 * install-mk (MK_VERSION): 20170326 805 806 * meta.stage.mk: do nothing if NO_STAGING is defined. 807 8082017-03-24 Simon J. Gerraty <sjg@bad.crufty.net> 809 810 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc. 811 8122017-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 813 814 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_* 815 8162017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 817 818 * install-mk (MK_VERSION): 20170301 819 820 * dirdeps.mk (_build_all_dirs): update this outside test for empty 821 DIRDEPS. 822 823 * meta.stage.mk: allow multiple inclusion to the extent it makes 824 sense. 825 8262017-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 827 828 * prog.mk (install_links): depends on realinstall 829 8302017-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 831 832 * install-mk (MK_VERSION): 20170212 833 834 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries 835 8362017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 837 838 * install-mk (MK_VERSION): 20170130 839 840 * dirdeps.mk: use :range if we can. 841 842 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130 843 844 * meta2deps.py: clean paths without using realpath() where possible. 845 fix sort_unique. 846 8472016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 848 849 * install-mk (MK_VERSION): 20161212 850 851 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, 852 rather than when we detect pid change. 853 8542016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 855 856 * install-mk (MK_VERSION): 20161207 857 858 * meta.stage.mk: add stage_as_and_symlink for staging packages. 859 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able 860 to use foo.tgz to reference the latest staged version - so we 861 make foo.tgz a symlink to it. 862 Using a target to do both operations ensures we stay in sync. 863 8642016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 865 866 * install-mk (MK_VERSION): 20161126 867 868 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk 869 so it can add dependencies. 870 8712016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 872 873 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE 874 do that they can influence the result correctly. 875 876 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC 877 878 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST 879 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 880 8812016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 882 883 * dirdeps.mk: remove dependence on jot (normal situations anyway). 884 Before we read another Makefile.depend* set DEP_* vars from 885 _DEP_TARGET_SPEC in case it uses any of them with := 886 When bootstrapping, trim any ,* from extention of chosen _src 887 Makefile.depend* to get the machine value we subst for. 888 8892016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> 890 891 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to 892 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER 893 894 * sys.mk: extract some bits to sys.{debug,vars}.mk 895 for easier re-use by others. 896 8972016-09-23 Simon Gerraty <sjg@sjg-mba13> 898 899 * lib.mk: Use ${PICO} for extension for PIC objects. 900 default to .pico (like NetBSD) safe on case insensitive filesystem. 901 9022016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> 903 904 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default 905 9062016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 907 908 * install-mk (MK_VERSION): 20160815 909 910 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only 911 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date. 912 9132016-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 914 915 * meta.sys.mk (.MAKE.META.IGNORE_PATHS): 916 in meta mode we can ignore the mtime of makefiles 917 9182016-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 919 920 * install-mk (MK_VERSION): 20160802 921 922 * lib.mk (libinstall): depends on beforinstall 923 924 * prog.mk (proginstall): depends on beforinstall 925 patch from Lauri Tirkkonen 926 927 * dirdeps.mk (bootstrap): When bootstrapping; creat 928 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via 929 .MAKE.DEPENDFILE_BOOTSTRAP_SED 930 931 * dirdeps.mk: move some comments to where they make sense. 932 9332016-07-27 Simon J. Gerraty <sjg@bad.crufty.net> 934 935 * dirdeps.mk (DIRDEPS_CACHE): no dirname. 936 9372016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 938 939 * install-mk (MK_VERSION): 20160602 940 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk 941 do not apply :T to META_XTRAS 942 patch from Bryan Drewery at FreeBSD.org. 943 9442016-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 945 946 * install-mk (MK_VERSION): 20160530 947 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH 948 make it so. 949 9502016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 951 952 * install-mk (MK_VERSION): 20160512 953 954 * dpadd.mk: always include local.dpadd.mk if it exists 955 remove some things that better belong in local.dpadd.mk 956 skip INCLUDES_* for staged libs unless SRC_* defined. 957 958 * own.mk: add INCLUDEDIR 959 9602016-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 961 962 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no 963 TARGET_MACHINE - :E will be empty or match part of path, use 964 ${MACHINE} 965 9662016-04-07 Simon J. Gerraty <sjg@bad.crufty.net> 967 968 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to 969 NO_FILEMON_COOKIE 970 971 * dirdeps.mk: move the logic that allows for 972 make -f dirdeps.mk some/dir.${TARGET_SPEC} 973 inside the check for !target(_DIRDEP_USE) 974 9752016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 976 977 * Use <> when including local*.mk and others which may exist 978 elsewhere so that user can better control what they get. 979 980 * meta.autodep.mk (NO_FILEMON_COOKIE): 981 create a cookie if we ever build dir with nofilemon 982 so that UPDATE_DEPENDFILE will be forced to NO until cleaned. 983 9842016-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 985 986 * install-mk (MK_VERSION): 20160401 987 988 * meta2deps.py: fix old print statement when debugging. 989 990 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X 991 patch from Bryan Drewery 992 9932016-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 994 995 * install-mk (MK_VERSION): 20160317 (St. Pats) 996 997 * warnings.mk: g++ does not like -Wimplicit 998 999 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the 1000 pelthora of common suffixes for C++ 1001 1002 * lib.mk: use .So for shared objects 1003 10042016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1005 1006 * install-mk (MK_VERSION): 20160315 1007 1008 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 1009 normally only applies to scripts. 1010 1011 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 1012 well as outside it. 1013 10142016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1015 1016 * install-mk (MK_VERSION): 20160310 1017 1018 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 1019 we have processed; the list gets very inefficient as number of 1020 DIRDEPS gets large. 1021 1022 * sys.dependfile.mk: fix comment wrt MACHINE 1023 1024 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 1025 patch from Bryan Drewery 1026 10272016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 1028 1029 * meta2deps.sh: don't ignore subdirs. 1030 patch from Bryan Drewery 1031 10322016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1033 1034 * install-mk (MK_VERSION): 20160226 1035 1036 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 1037 10382016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 1039 1040 * dirdeps.mk: we shouldn't normally include .depend but if we do 1041 use .dinclude if we can. 1042 10432016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1044 1045 * install-mk (MK_VERSION): 20160218 1046 * sys.clean-env.mk: with recent change to Var_Subst() 1047 we cannot use the '$$' trick, but .export-literal does the job 1048 we need. 1049 * auto.dep.mk: make use .dinclude if we can. 1050 1051 10522016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 1053 1054 * dirdeps.mk: 1055 Add _build_all_dirs such that local.dirdeps.mk can 1056 add fully qualified dirs to it. 1057 These will be built normally but the current 1058 DEP_RELDIR will not depend on then (to avoid cycles). 1059 This makes it easy to hook things like unit-tests into build. 1060 1061 10622016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 1063 1064 * dirdeps.mk: add bootstrap-empty 1065 10662015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1067 1068 * install-mk (MK_VERSION): 20151212 1069 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 1070 only apply :tA to __objdir when comparing to .OBJDIR 1071 10722015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1073 1074 * install-mk (MK_VERSION): 20151111 1075 1076 * meta.sys.mk: include sys.dependfile.mk 1077 1078 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 1079 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 1080 include local.sys.env.mk early 1081 include local.sys.mk later 1082 1083 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 1084 10852015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1086 1087 * meta.sys.mk (META_COOKIE_TOUCH): 1088 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 1089 1090 * meta.stage.mk: stage_libs should ignore SYMLINKS. 1091 10922015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 1093 1094 * install-mk (MK_VERSION): 20151022 1095 1096 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 1097 10982015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1099 1100 * install-mk (MK_VERSION): 20151020 1101 1102 * dirdeps.mk: Add logic for 1103 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1104 11052015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 1106 1107 * install-mk (MK_VERSION): 20151010 1108 11092015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 1110 1111 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 1112 to have stage_lins run last in non-jobs mode. 1113 Use .ORDER only for jobs mode. 1114 11152015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1116 1117 * rst2htm.mk: allow for per target flags etc. 1118 11192015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1120 1121 * install-mk (MK_VERSION): 20150901 1122 1123 * doc.mk: create dir if needed use DOC_INSTALL_OWN 1124 11252015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 1126 1127 * install-mk (MK_VERSION): 20150615 1128 1129 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 1130 Follow make's normal precedence rules. 1131 1132 * gendirdeps.mk: allow customization of the header. 1133 eg. for FreeBSD: 1134 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 1135 1136 * meta.autodep.mk: ignore dirdeps.cache* 1137 1138 * meta.stage.mk: when bootstrapping options it can be handy to 1139 throw warnings rather than errors for staging conflicts. 1140 1141 * meta.sys.mk: include local.meta.sys.mk for customization 1142 11432015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1144 1145 * install-mk (MK_VERSION): 20150606 1146 1147 * dirdeps.mk: don't rely on manually maintained Makefile.depend 1148 to set DEP_RELDIR and reset DIRDEPS. 1149 By setting DEP_RELDIR ourselves we can skip :tA 1150 1151 * gendirdeps.mk: skip setting DEP_RELDIR. 1152 11532015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1154 1155 * dirdeps.mk: avoid wildcards like make(bootstrap*) 1156 11572015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1158 1159 * install-mk (MK_VERSION): 20150520 1160 1161 * dirdeps.mk: when we are building dirdeps cache file we *want* 1162 meta_oodate to look at all the Makefile.depend files, so 1163 set .MAKE.DEPENDFILE to something that won't match. 1164 1165 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 1166 so first use absolute path as key. 1167 Also skip staging at level 0. 1168 11692015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1170 1171 * install-mk (MK_VERSION): 20150430 1172 1173 * dirdeps.mk: fix _count_dirdeps for non-cache case. 1174 11752015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 1176 1177 * install-mk (MK_VERSION): 20150411 1178 bump version 1179 1180 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 1181 it is here mainly for documentation purposes, since 1182 if using auto.obj.mk it is better done via sys.mk 1183 11842015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1185 1186 * install-mk (MK_VERSION): 20150401 1187 1188 * meta2deps.sh: support @list 1189 1190 * meta2deps.py: updates from Juniper 1191 o add EXCLUDES 1192 o skip bogus input files. 1193 o treat 'M' and 'L' as both an 'R' and a 'W' 1194 11952015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1196 1197 * install-mk (MK_VERSION): 20150303 1198 1199 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 1200 which is built via sub-make so we have a .meta file to tell if 1201 it is out-of-date. 1202 The dirdeps-cache contains the same dependency rules that we 1203 normaly construct on the fly. 1204 This adds a few seconds overhead when the cache is out of date, 1205 but for a large target, the savings can be significant (10-20min). 1206 12072014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 1208 1209 * install-mk (MK_VERSION): 20141118 1210 1211 * meta.stage.mk: add stale_staged 1212 1213 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 1214 only useful under very rare conditions such as 1215 FreeBSD's make universe. 1216 1217 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 1218 12192014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1220 1221 * install-mk (MK_VERSION): 20141111 1222 1223 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 1224 12252014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1226 1227 * FILES: include mkopt.sh which allows handling options in shell 1228 scripts in a manner compatible with options.mk 1229 12302014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1231 1232 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 1233 for GENDIRDEPS_FILTER to avoid surprises. 1234 12352014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1236 1237 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 1238 the time it is applied to __depdirs they have. 1239 1240 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 1241 expects patterns like *.${MACHINE} 1242 1243 * cython.mk (pyprefix?): use pyprefix to find python bits 1244 since prefix might be something else (where we install our 1245 stuff) 1246 12472014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1248 1249 * install-mk (MK_VERSION): 20140911 1250 1251 * dirdeps.mk: add bootstrap target to simplify adding support for 1252 new MACHINE. 1253 12542014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1255 1256 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 1257 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 1258 Makefile.depend files. 1259 12602014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1261 1262 * install-mk (MK_VERSION): 20140828 1263 1264 * cython.mk: capture logic for building python extension modules 1265 with Cython. 1266 12672014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1268 1269 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 1270 12712014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1272 1273 * install-mk (MK_VERSION): 20140801 1274 1275 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 1276 identify the autodep.mk variant. 1277 1278 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 1279 initial value does not match .MAKE.DEPENDFILE_PREFIX 1280 1281 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 1282 12832014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1284 1285 * install-mk (MK_VERSION): 20140522 1286 1287 * lib.mk: use CC to link shlib for linux too 1288 patch from Brendan MacDonell 1289 12902014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1291 1292 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 1293 if WITH_META_STATS is defined. 1294 12952014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1296 1297 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 1298 to supress dirdeps outside of .CURDIR. 1299 13002014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1301 1302 * Fix spelling errors - patch from Pedro Giffuni 1303 13042014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 1305 1306 * install-mk (MK_VERSION): 20140314 1307 1308 * dirdeps.mk (beforedirdeps): a handy hook 1309 1310 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 1311 to visit leaf dirs to be intercepted (eg. for distributed 1312 build). 1313 1314 * dirdeps.mk (__depdirs): ensure // don't sneak in 1315 1316 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 1317 1318 13192014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 1320 1321 * rst2htm.mk (RST2PDF): add support for rst2pdf 1322 13232014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1324 1325 * install-mk (MK_VERSION): bump version 1326 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 1327 available. 1328 13292014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1330 1331 * options.mk: avoid :U so this isn't bmake dependent 1332 13332014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 1334 1335 * options.mk: cleanup and simplify semanitcs 1336 NO_* dominates all, if both WITH_* and WITHOUT_* 1337 are defined then result is DOMINATE_* which defaults to "no". 1338 Ie. WITHOUT_ normally wins. 1339 13402013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1341 1342 * install-mk (MK_VERSION): bump version 1343 * meta2deps.py: convert to print function for python3 compat. 1344 we also need to open files with mode 'r' rather than 'rb' 1345 otherwise we get bytes instead of strings. 1346 13472013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1348 1349 * install-mk (MK_VERSION): bump version 1350 1351 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 1352 apply the same filtering (M_dep_qual_fixes) when setting _machines 1353 as _build_dirs. 1354 Also fix the filtering of Makefile.depend files - for reporting 1355 what we are looking for (M_dep_qual_fixes can get confused by 1356 Makefile.depend) 1357 Add some more debug info. 1358 13592013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1360 1361 * gendirdeps.mk (_objtops): fix typo also 1362 while processing M2D_OBJROOTS to gather qualdir_list 1363 qualify $ql with loop iterator to ensure correct results. 1364 13652013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1366 1367 * install-mk (MK_VERSION): 20130801 1368 * libs.mk: update to match progs.mk 1369 13702013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 1371 1372 * install-mk (MK_VERSION): 20130726 1373 some updates from Juniper and FreeBSD 1374 o meta2deps.py: indicate file and line number when we hit parse 1375 errors 1376 also allow @file to provide huge list of .meta files. 1377 * meta2deps.py: add try_parse() to cleanup the above. 1378 13792013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1380 1381 * install-mk (MK_VERSION): 20130716 1382 * own.mk: add GPROG as an option 1383 * prog.mk: honor MK_GPROF==yes 1384 13852013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1386 1387 * install-mk (MK_VERSION): 20130505 1388 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 1389 for when $MACHINE isn't enough for objdir distinction. 1390 Bring meta2deps.sh closer to par with meta2deps.py. 1391 13922013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1393 1394 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 1395 also if the target 'beforeinstall' exists, make it depend on 1396 .dirdep (incase it uses STAGE_INSTALL). 1397 13982013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1399 1400 * install-mk (MK_VERSION): 20130401 ;-) 1401 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 1402 wrapper around install(1). 1403 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 1404 14052013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1406 1407 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 1408 * install-mk (MK_VERSION): bump version 1409 14102013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 1411 1412 * install-mk (MK_VERSION): bump version 1413 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 1414 any trailing /., rather apply :tA only when needed. 1415 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 1416 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 1417 consistently. 1418 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 1419 14202013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1421 1422 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 1423 it is simpler to just not update when say building for "host" 1424 (where we know we apply filters to DIRDEPS), and using a 1425 non-machine qualified dependfile. 1426 14272013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1428 1429 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 1430 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 1431 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 1432 * meta2deps.py: if machine is "host", then also trim 1433 self.host_target from any OBJROOTS. 1434 1435 14362013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1437 1438 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 1439 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 1440 but _DEPENDFILE does not, compare the new _DEPENDFILE against 1441 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 1442 14432013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 1444 1445 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 1446 and hook to all: via staging: 1447 14482013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1449 1450 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 1451 use a separate variable for the default .MAKE.DEPENDFILE value 1452 so that it can be controlled independently of 1453 .MAKE.DEPENDFILE_PREFERENCE 1454 1455 * meta.stage.mk: throw error if cp fails etc. 1456 Stage*() return early if passed no args. 1457 .ORDER stage_* 1458 14592013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1460 1461 * install-mk (MK_VERSION): bump version 1462 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 1463 14642013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1465 1466 * install-mk (MK_VERSION): bump version to 20130210 1467 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 1468 from Juniper. 1469 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 1470 than just MACHINE. 1471 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 1472 14732013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 1474 1475 * install-mk (MK_VERSION): bump version to 20130123 1476 * meta.stage.mk: add stage_links (hard links). 1477 if doing hard links, we add dest to link as well. 1478 Default the stage dir for [sym]links to STAGE_OBJTOP since 1479 these are typically specified as absolute paths. 1480 Add -m "mode" flag to StageFiles and StageAs. 1481 14822012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1483 1484 * install-mk (MK_VERSION): bump version to 20121111 1485 * autoconf.mk: avoid meta mode seeing changed commands for config.status 1486 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 1487 in case we were found via .../mk 1488 * sys.clean-env.mk: move it from examples, we and others use it 1489 "as is". 1490 * FILES: add srctop.mk and options.mk 1491 * own.mk: convert to using options.mk 1492 which is modeled after FreeBSD's handling of MK_* 1493 but more flexible. 1494 This allows MK_* for boolean knobs to not be confused 1495 with MK* which can be commands. 1496 1497 * examples/sys.clean-env.mk: add WITH[OUT]_ to 1498 MAKE_ENV_SAVE_PREFIX_LIST. 1499 Mention that HOME=/var/empty might be a good idea. 1500 15012012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 1502 1503 * sys.dependfile.mk: if not depend file exists, $MACHINE 1504 specific ones are supported but not the default, 1505 check if any exist and follow suit. 1506 15072012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 1508 1509 * install-mk (MK_VERSION): bump version to 20121106 1510 15112012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 1512 1513 * import latest dirdeps.mk and meta2deps.py from Juniper. 1514 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 1515 also add PROGS_TARGETS and pass on PROG_CXX if it seems 1516 appropriate. 1517 15182012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 1519 1520 * meta.stage.mk: update CLEANFILES 1521 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 1522 * progs.mk: Add LDADD to PROG_VARS 1523 15242012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1525 1526 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 1527 _STAGED_DIRS so that these can be turned into filters for 1528 GENDIRDEPS_FILTER. 1529 15302012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1531 1532 * install-mk (MK_VERSION): bump version to 20121010 1533 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 1534 target.dirdep matches .dirdep 1535 15362012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1537 1538 * install-mk (MK_VERSION): bump version to 20120808 1539 * import latest meta2deps.py from Juniper. 1540 15412012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 1542 1543 * install-mk (MK_VERSION): bump version to 20120711 1544 * dep.mk: add explicit dependencies on SRCS after applying 1545 SRCS_DEP_FILTER 1546 * meta.autodep.mk: add explicit dependencies on SRCS after 1547 applying SRCS_DEP_FILTER 1548 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 1549 15502012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 1551 1552 * install-mk (MK_VERSION): bump version to 20120626 1553 * meta.sys.mk: ignore PYTHON if it does not exist 1554 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 1555 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 1556 entries ending in .${MACHINE} to decide if qualified _dirdep is 1557 needed. 1558 * gendirdeps.mk: only produce unqualified deps if no 1559 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 1560 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 1561 15622012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1563 1564 * install-mk (MK_VERSION): bump version to 20120420 1565 * add sys.dependfile.mk so we can experiment with 1566 .MAKE.DEPENDFILE_PREFERENCE 1567 * meta.autodep.mk: _DEPENDFILE is precious! 1568 15692012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1570 1571 * install-mk (MK_VERSION): bump version to 20120315 1572 * install-new.mk: avoid being interrupted 1573 15742012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1575 1576 * man.mk: MAN might have multiple values so be careful with exists(). 1577 15782012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 1579 1580 * install-mk (MK_VERSION): bump version to 20120112 1581 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 1582 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 1583 15842011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 1585 1586 * install-mk (MK_VERSION): bump version to 20111201 1587 * import dirdeps.mk from Juniper sjg@ 1588 o more consistent handling of DEP_MACHINE, especially when 1589 dealing with an odd Makefile.depend, when normally using 1590 Makefile.depend.${MACHINE} 1591 15922011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 1593 1594 * install-mk (MK_VERSION): bump version to 20111122 1595 * meta.autodep.mk: add some debug output, be more crisp about 1596 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 1597 15982011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1599 1600 * install-mk (MK_VERSION): bump version to 20111111 1601 it's too cool to miss 1602 * import meta* updates from Juniper sjg@ 1603 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 1604 normally using Makefile.depend.${MACHINE}), handy for 1605 read-only manually maintained dependencies. 1606 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 1607 o gendirdeps.mk if ERROR: from meta2deps.py do not update 1608 anything. 1609 16102011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 1611 1612 * install-new.mk separate the cmp and copy logic to its own function. 1613 16142011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 1615 1616 * install-mk (MK_VERSION): bump version to 20111028 1617 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 1618 * subdir.mk: ensure _SUBDIRUSE is provided 1619 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 1620 * meta.subdir.mk: always allow for Makefile.depend 1621 16222011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1623 1624 * install-mk (MK_VERSION): bump version to 20111010 1625 o minor tweak to *dirdeps.mk from Juniper sjg@ 1626 16272011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1628 1629 * install-mk (MK_VERSION): bump version to 20111001 1630 o add meta2deps.py from Juniper sjg@ 1631 o tweak gendirdeps.mk to work with meta2deps.py when not 1632 cross-building 1633 * autoconf.mk: add autoconf-input as a hook for regenerating 1634 AUTOCONF_INPUTS (configure). 1635 16362011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 1637 1638 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 1639 trigger for updating Makefile.depend* 1640 16412011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1642 1643 * install-mk (MK_VERSION): bump version to 20110808 1644 * obj.mk: minor cleanup 1645 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 1646 16472011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1648 1649 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 1650 specified dir. 1651 16522011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1653 1654 * meta.autodep.mk: if XMAKE_META_FILE is set 1655 the makefile uses a foreign make, and so dependencies 1656 can only be gathered from a clean tree build. 1657 16582011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 1659 1660 * install-mk (MK_VERSION): bump version to 20110622 1661 * meta.autodep.mk: improve bootstraping 1662 16632011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1664 1665 * yacc.mk: handle the corner case of .c being removed 1666 while .h remains. 1667 16682011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1669 1670 * yacc.mk: do .y.h and .y.c separately 1671 16722011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1673 1674 * install-mk (MK_VERSION): bump version to 20110606 1675 * don't store SRC_DIRDEPS in Makefile.depend* by default 1676 not everyone needs it. 1677 16782011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1679 1680 * install-mk (MK_VERSION): bump version to 20110505 1681 first release including meta mode makefiles 1682 16832011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1684 1685 * meta.stage.mk: add STAGE_AS_SETS and stage_as 1686 for things that need to be staged with different names. 1687 16882011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1689 1690 * meta.stage.mk: add notion of STAGE_SETS 1691 so a makefile can stage to multiple dirs 1692 16932011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 1694 1695 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 1696 on target name. 1697 16982011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1699 1700 * install-mk (MK_VERSION): bump version to 20110330 1701 17022011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1703 1704 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 1705 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 1706 * sys.mk: re-define M_whence in terms of M_type. 1707 M_type is useful for checking if something is a builtin. 1708 17092011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1710 1711 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 1712 stage_libs 1713 17142011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1715 1716 * dirdeps.mk: correct value for _depdir_files depends on 1717 .MAKE.DEPENDFILE 1718 Add our copyright - just to make it clear we have frobbed this 1719 quite a bit. 1720 DEP_MACHINE needs to be set to MACHINE each time, if using only 1721 Makefile.depend (cf. Makefile.depend.${MACHINE}) 1722 1723 * meta.stage.mk: meta mode version of staging 1724 1725 * init.mk, final.mk: include local.*.mk to simplify customization 1726 17272011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1728 1729 * auto.obj.mk: just because we are doing mk destroy, we should 1730 still set .OBJDIR correctly if it exists. 1731 1732 * install-mk (mksrc): do not exclude meta.sys.mk 1733 17342011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1735 1736 * host-target.mk: set/export _HOST_ARCH etc separately, 1737 catch junk resulting from uname -p, so we can find sys/Linux.mk 1738 correctly. 1739 17402011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1741 1742 * meta.sys.mk: throw an error if /dev/filemon is missing and we 1743 expected to be updating Makefile.depend* 1744 17452011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1746 1747 * install-mk (MK_VERSION): bump version to 20110214 1748 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 1749 17502010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 1751 1752 * meta.sys.mk: not valid for older bmake 1753 17542010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 1755 1756 * install-mk (MK_VERSION): bump version to 20100919 1757 include dirdeps.mk et al from Juniper Networks, 1758 for meta mode - requires filemon(9). 1759 * sys.mk, subdir.mk: Add hooks for meta mode. 1760 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 1761 to make turning it on/off simple. 1762 17632010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 1764 1765 * install-mk (MK_VERSION): bump version to 20100616 1766 * fix typo in sys.mk 1767 17682010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 1769 1770 * install-mk (MK_VERSION): bump version to 20100612 1771 * lib.mk: remove duplicate addition to SOBJS 1772 17732010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1774 1775 * sys.mk: Add a means of selectively turning on debug flags. 1776 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 1777 will act as if we did make -dv if .CURDIR ends in lib/sjg 1778 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 1779 the start of sys.mk rather than the end. 1780 This only makes sense for leaf dirs, so we check that 1781 .MAKE.LEVEL > 0 1782 17832010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 1784 1785 * install-mk (MK_VERSION): bump version to 20100608 1786 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 1787 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 1788 also make it easier for folk to tweak 1789 17902010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1791 1792 * install-mk (MK_VERSION): bump version to 20100606 1793 do not install examples/* 1794 * FILES: add examples/sys.clean-env.mk 1795 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 1796 this requires bmake-20100606 or later to work. 1797 17982010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 1799 1800 * sys.mk (M_tA): better simulate the result of :tA if not available. 1801 18022010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1803 1804 * sys.mk: canonicalize MAKE_VERSION 1805 old versions reported bmake-<src-date> build-<build-date> 1806 whereas we only care about <src-date> 1807 18082010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 1809 1810 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 1811 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 1812 is !empty 1813 18142010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 1815 1816 * dpadd.mk: use LDADD_* if defined. 1817 18182010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1819 1820 * install-mk (MK_VERSION): bump version to 20100420 1821 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 1822 * autoconf.mk allow AUTO_AUTOCONF 1823 18242010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 1825 1826 * obj.mk: add objwarn to keep freebsd makefiles happy 1827 * auto.obj.mk: ensure Mkdirs is available. 1828 * FILES: add auto.dep.mk - a simpler version of autodep.mk 1829 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 1830 asked to do that. 1831 fix/simplify the tests for when to run mkdep. 1832 * auto.dep.mk: add some explanation of how/what we do. 1833 * autodep.mk: skip the .OPTIONAL frobbing of .depend 1834 bmake's FROM_DEPEND flag makes it redundant. 1835 18362010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 1837 1838 * install-mk (MK_VERSION): bump version to 20100404 1839 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 1840 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 1841 Also create a target _SUBDIRUSE so that we can be used without 1842 subdir.mk 1843 18442010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 1845 1846 * dep.mk: use <> when .including so can override. 1847 18482010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 1849 1850 * lib.mk (SHLIB_LINKS): ensure a string comparison. 1851 18522010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1853 1854 * install-mk (MK_VERSION): bump version to 20100102 1855 * own.mk: ensure PRINTOBJDIR works 1856 * autoconf.mk: pass on CONFIGURE_ARGS 1857 * init.mk: handle COPTS.${.IMPSRC:T} etc. 1858 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 1859 fix handling of symlinks for darwin 1860 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 1861 * man.mk: suppress chown when not root. 1862 * rst2htm.mk: allow srcs from multiple locations. 1863 * sys.mk: M_whence, stop after 1st line of output. 1864 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 1865 * sys/SunOS.mk: we need to export PATH 1866 18672009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 1868 1869 * install-mk (MK_VERSION): bump version 1870 include rst2htm.mk 1871 18722009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 1873 1874 * sys.mk,libnames.mk add .-include <local.*> 1875 this allows local customization without the need to edit the 1876 distributed files. 1877 18782009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 1879 1880 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 1881 older versions already installed. 1882 18832009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 1884 1885 * stage.mk (.stage-install): generalize lib.mk's .libinstall 1886 * rules.mk rules for generic Makefile. 1887 * inc.mk install for includes. 1888 18892009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 1890 1891 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 1892 this, so provide it if using native make. 1893 18942009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 1895 1896 * FILES: move all the platform *.sys.mk files to sys/*.mk 1897 * Rename Generic.sys.mk to sys.mk - we always want it. 1898 18992009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 1900 1901 * install-mk (MK_VERSION): bump version 1902 * host-target.mk: only export the expensive stuff 1903 * Generic.sys.mk (sys_mk): for SunOS we need to look for 1904 ${HOST_OS}.${HOST_OSMAJOR} too! 1905 19062009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 1907 1908 * install-mk (MK_VERSION): bump version 1909 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 1910 based on patch from Greg Olszewski. 1911 * Generic.sys.mk: if we have nothing to work with 1912 set LORDER etc only if we can find it. 1913 19142009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 1915 1916 * install-mk (MK_VERSION): bump version 1917 * man.mk: cleanman: remove CLEANMAN if defined. 1918 19192009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 1920 1921 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 1922 19232009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 1924 1925 * install-mk (MK_VERSION): bump version 1926 include auto.obj.mk 1927 1928 19292009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 1930 1931 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 1932 19332008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 1934 1935 * install-mk (MK_VERSION): bump version 1936 man.mk: ensure we generate *.cat1 etc in . 1937 19382008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 1939 1940 * install-mk (MK_VERSION): bump version 1941 add prlist.mk 1942 19432007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 1944 1945 * Generic.sys.mk: Allow os specific sys.mk to be in a 1946 subdir of ${.PARSEDIR} 1947 19482007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 1949 1950 * install-mk (MK_VERSION): bump version 1951 * general cleanup 1952 * dpadd.mk introduce DPMAGIC_LIBS_* 1953 19542007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 1955 1956 * install-mk (MK_VERSION): bump version 1957 1958 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 1959 depend files and ensure clean is called for each lib/prog. 1960 19612007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 1962 1963 * autodep.mk (.depend): delete lines that do not start with 1964 space and do not contain ':' 1965 19662007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 1967 1968 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 1969 so make sure the transform for .OPTIONAL copes. 1970 19712007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 1972 1973 * install-mk (MK_VERSION): bump version 1974 1975 * own.mk: make sure RM and LN are defined. 1976 1977 * obj.mk: fix a typo, and objlink target. 1978 19792006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 1980 1981 * install-mk (MK_VERSION): bump version 1982 * added libs.mk - analogous to progs.mk 1983 make both of them always inlcude {lib,prog}.mk 1984 19852006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 1986 1987 * progs.mk: add a means of building multiple apps in one dir. 1988 19892006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 1990 1991 * install-mk (MK_VERSION): bump version to 20061126 1992 1993 * warnings.mk: detect invalid WARNINGS_SET 1994 1995 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 1996 specific warnings. 1997 1998 * For .cc sources, turn off warnings that g++ vomits on. 1999 20002006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 2001 2002 * own.mk: if __initialized__ target doesn't exist and we are 2003 FreeBSD we got here directly from sys.mk 2004 20052006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 2006 2007 * install-mk (MK_VERSION): bump version to 20061106 2008 add scripts.mk 2009 20102006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 2011 2012 * install-mk (MK_VERSION): bump version to 20060318 2013 2014 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 2015 20162006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 2017 2018 * install-mk (MK_VERSION): bump version to 20060302 2019 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 2020 20212006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 2022 2023 * install-mk (MK_VERSION): bump version to 20060301 2024 * autodep.mk (.depend): 2025 if MAKE_VERSION is newer than 20050530 we can make .END depend on 2026 .depend and make .depend depend on __depsrcs that exist. 2027 * dpadd.mk: add SRC_PATHADD 2028 20292005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2030 2031 * install-mk (MK_VERSION): bump version to 20051104 2032 * prog.mk: remove all the LIBC?= junk, use 2033 .-include libnames.mk instead (none by default). 2034 also if USE_DPADD_MK is set, include that. 2035 20362005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2037 2038 * install-mk (MK_VERSION): bump version to 20051001 2039 Add UnixWare.sys.mk from Klaus Heinz. 2040 20412005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 2042 2043 * install-mk: always install *.sys.mk and if need be symlink one 2044 to sys.mk 2045 20462005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 2047 2048 * subdir.mk, own.mk: use .MAKE rather than MAKE 2049 20502004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2051 2052 * own.mk: don't use NetBSD's _SRC_TOP_ it can 2053 cause confusion. Also don't take just 'mk' as a 2054 srctop indicator. 2055 20562004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 2057 2058 * warnings.mk: overhauled, now very powerful. 2059 20602004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2061 2062 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 2063 20642004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 2065 2066 * install-mk (MK_VERSION): bump version to 20040201 2067 * extract HOST_TARGET stuff to host-target.mk so own.mk and 2068 Generic.sys.mk can share. 2069 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 2070 20712003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 2072 2073 * install-mk (MK_VERSION): 20030930 2074 * rename generic.sys.mk to Generic.sys.mk 2075 so that it does not get installed (unless being used as sys.mk) 2076 * set OS and ROOT_GROUP for those that we know the value. 2077 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 2078 we don't do it again for each sub-make. 2079 20802003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2081 2082 * install-mk (MK_VERSION): 20030928 2083 Add some extra *.sys.mk from bootstrap-pkgsrc 2084 some of these likely still need work. 2085 Make everything default to root:wheel ownership, 2086 sys.mk can set ROOT_GROUP accordingly. 2087 20882003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 2089 2090 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 2091 not the portable ones. 2092 20932003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2094 2095 * install-mk: add ability to use cp -f when updating 2096 destination .mk files. Also now possible to play games with 2097 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 2098 into dest - not recommended unless you seriously want to. 2099 21002003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2101 2102 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 2103 for semi-compatability with NetBSD. 2104 21052003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2106 2107 * install-mk: add a version indicator 2108 21092003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 2110 2111 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 2112 2113 * install-mk: Allow FORCE_SYS_MK to come from env 2114 2115 2116 2117