12022-07-20 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * install-mk (MK_VERSION): 20220720 4 5 * prog.mk: handle PROG_CXX for more than just NetBSD 6 72022-06-20 Simon J Gerraty <sjg@beast.crufty.net> 8 9 * install-mk (MK_VERSION): 20220620 10 11 * yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER 12 rather than just suffix rules 13 142022-04-23 Simon J Gerraty <sjg@beast.crufty.net> 15 16 * install-mk (MK_VERSION): 20220422 17 18 * gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no" 19 do not capture any local depends in Makefile.depend 20 212022-03-25 Simon J Gerraty <sjg@beast.crufty.net> 22 23 * install-mk (MK_VERSION): 20220323 24 * posix.mk: default rules for .POSIX: 25 262022-03-17 Simon J Gerraty <sjg@beast.crufty.net> 27 28 * sys/*.mk: remove l from ARFLAGS 29 302022-03-14 Simon J Gerraty <sjg@beast.crufty.net> 31 32 * install-mk (MK_VERSION): 20220314 33 34 * dirdeps-options.mk: allow options to be per RELDIR 35 try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed 36 with ${DEP_RELDIR}. 37 382022-02-14 Simon J Gerraty <sjg@beast.crufty.net> 39 40 * install-mk (MK_VERSION): 20220214 41 42 * cc-wrap.mk: fix :@ modifier 43 442022-02-06 Simon J Gerraty <sjg@beast.crufty.net> 45 46 * install-mk (MK_VERSION): 20220206 47 48 * cc-wrap.mk: docuement how CCACHE etc might be set for 49 maximum flexibility 50 512022-02-05 Simon J Gerraty <sjg@beast.crufty.net> 52 53 * sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT 54 552022-02-04 Simon J Gerraty <sjg@beast.crufty.net> 56 57 * install-mk (MK_VERSION): 20220204 58 59 * host-target.mk: use .MAKE.OS if available 60 612022-02-02 Simon J Gerraty <sjg@beast.crufty.net> 62 63 * install-mk (MK_VERSION): 20220202 64 65 * cc-wrap.mk: allow other entries in CC_WRAP_FILTER 66 We add our filter on extensions last, so prior filters 67 can apply to the whole value of .IMPSRC 68 692022-02-01 Simon J Gerraty <sjg@beast.crufty.net> 70 71 * cc-wrap.mk: take advantage of target local variables to 72 wrap compilers like CC CXX with wrappers like ccache distcc etc 73 742022-01-28 Simon J Gerraty <sjg@beast.crufty.net> 75 76 * meta2deps: we do not expect any trace data for setid apps 77 782022-01-26 Simon J Gerraty <sjg@beast.crufty.net> 79 80 * dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed 81 to sub-make using DIRDEPS_CACHE 82 832022-01-07 Simon J Gerraty <sjg@beast.crufty.net> 84 85 * dirdeps.mk: use _cache_script to minimize the number of shells 86 forked when generating dirdeps.cache 87 882022-01-02 Simon J Gerraty <sjg@beast.crufty.net> 89 90 * install-mk (MK_VERSION): 20220101 91 92 * dirdeps.mk: initialize DEP_* and _debug_reldir earlier. 93 If initial DIRDEPS are from command line, create the target 94 _dirdeps_cmdline as an indication. 95 962022-01-01 Simon J Gerraty <sjg@beast.crufty.net> 97 98 * init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD 99 at top-level only some targets are allowed at level 0, 100 for leaf makefiles only the default (all) target is restricted 101 1022021-12-28 Simon J Gerraty <sjg@beast.crufty.net> 103 104 * install-mk (MK_VERSION): 20211228 105 106 * meta2deps.py: filemon on Linux is not as reliable as we might 107 like, we do not want to update DIRDEPS if filemon output is 108 incomplete. Track pids that we 'E'xec and make sure we see an 109 e'X'it for each one. Throw an error if we are missing any 'X' 110 records. 111 1122021-12-12 Simon J Gerraty <sjg@beast.crufty.net> 113 114 * sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes. 115 116 * meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON 117 is something else. 118 119 * meta.autodep.mk: we can now reference ${.SUFFIXES} 120 121 * meta2deps.py: derive a list of dirdep extensions from 122 TARGET_SPEC to trim from dirdeps. 123 124 * dirdeps.mk: flip the computation of qualified vs unqualified 125 dirdeps - it is much simpler to check for unqualified first. 126 1272021-12-11 Simon J Gerraty <sjg@beast.crufty.net> 128 129 * install-mk (MK_VERSION): 20211212 130 131 * auto.dep.mk: rearrange so that the trivial implementation 132 for recent bmake is more obvious. 133 1342021-12-07 Simon J Gerraty <sjg@beast.crufty.net> 135 136 * install-mk (MK_VERSION): 20211207 137 138 * Ensure guard targets are .NOTMAIN 139 140 * meta.sys.mk: check for nofilemon support when we skip level 0 141 142 * auto.dep.mk: make this usable in meta mode 143 for platforms that cannot use meta.autodep.mk 144 145 * meta2deps.py: avoid confusion if MACHINE and another 146 TARGET_SPEC_VAR have same value. 147 1482021-11-27 Simon J Gerraty <sjg@beast.crufty.net> 149 150 * dirdeps.mk: when building dirdeps.cache, minimize the amount of 151 data put into env, by stripping ${SRCTOP}/ from each entry. 152 A long sandbox name can double the amount of memory consumed and 153 in extreme cases cause failure. 154 While we are at it, strip ${SRCTOP}/ from a lot of the debug output. 155 1562021-11-11 Simon J Gerraty <sjg@beast.crufty.net> 157 158 * install-mk (MK_VERSION): 20211111 159 160 * meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail 161 so fallback to cp if necessary. 162 1632021-10-30 Simon J Gerraty <sjg@beast.crufty.net> 164 165 * man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year 166 old cmt2doc.pl 167 1682021-10-24 Simon J Gerraty <sjg@beast.crufty.net> 169 170 * meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f} 171 as the symlink (rare) 172 1732021-10-16 Simon J Gerraty <sjg@beast.crufty.net> 174 175 * autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not 176 been read, throw an error after running configure telling user to 177 restart. 178 1792021-10-13 Simon J Gerraty <sjg@beast.crufty.net> 180 181 * install-mk (MK_VERSION): 20211011 182 183 * Add support for SCO_SV 184 1852021-10-01 Simon J Gerraty <sjg@beast.crufty.net> 186 187 * install-mk (MK_VERSION): 20211001 188 189 * man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more 190 flexibility 191 1922021-09-13 Simon J Gerraty <sjg@beast.crufty.net> 193 194 * options.mk (describe-options): print options and their values 195 and optional description 196 1972021-09-11 Simon J Gerraty <sjg@beast.crufty.net> 198 199 * install-mk (MK_VERSION): 20210911 200 201 * options.mk (show-options): print options and their values 202 2032021-09-08 Simon J Gerraty <sjg@beast.crufty.net> 204 205 * install-mk (MK_VERSION): 20210909 206 207 * lib.mk: apply patch from <daniel@octaforge.org> 208 to fix shared libs on Linux 209 2102021-08-08 Simon J Gerraty <sjg@beast.crufty.net> 211 212 * install-mk (MK_VERSION): 20210808 213 214 * options.mk: issue warning for WITH_*=no 215 2162021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 217 218 * install-mk (MK_VERSION): 20210616 219 220 * dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find 221 depend files to read, anchor MACHINE at , or end of string 222 to avoid prefix match. 223 2242021-05-04 Simon J Gerraty <sjg@beast.crufty.net> 225 226 * install-mk (MK_VERSION): 20210504 227 228 * dirdeps.mk: re-implement ALL_MACHINES support to better 229 cater for local complexities, when ONLY_TARGET_SPEC_LIST 230 is not set. local.dirdeps.mk can set 231 DIRDEPS_ALL_MACHINES_FILTER and/or 232 DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get 233 from listing all existing Makefile.depend.* 234 2352021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 236 237 * install-mk (MK_VERSION): 20210420 238 239 * dirdeps.mk: revert previous - not always safe. 240 2412021-03-20 Simon J Gerraty <sjg@beast.crufty.net> 242 243 * install-mk (MK_VERSION): 20210321 244 245 * dirdeps.mk: when generating dirdeps.cache 246 we only need to hook the initial DIRDEPS to the 247 dirdeps target. That and any _build_xtra_dirs (like tests which 248 should not be hooked directly to the dependency graph - to avoid 249 cycles) 250 2512021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 252 253 * install-mk (MK_VERSION): 20210130 254 255 * dirdeps.mk: expr 2 - 1 - 1 exits with a bad status 256 we need to guard against this in DIRDEP_LOADAVG_REPORT. 257 258 * dirdeps.mk: restore respect for TARGET_MACHINE 259 2602021-01-06 Simon J Gerraty <sjg@beast.crufty.net> 261 262 * install-mk (MK_VERSION): 20210101 263 264 * dirdeps.mk: first time we are read, just use TARGET_SPEC for 265 _DEP_TARGET_SPEC 266 2672020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 268 269 * sys.mk (MAKE_SHELL): use ${.SHELL:Ush} 270 and use := when setting SHELL 271 2722020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 273 274 * install-mk (MK_VERSION): 20201221 275 276 * dirdeps-options.mk: latest bmake allows only one arg to .undef 277 2782020-12-11 Simon J Gerraty <sjg@beast.crufty.net> 279 280 * dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS 281 so that any directory can be treated as a target. 282 2832020-11-26 Simon J Gerraty <sjg@beast.crufty.net> 284 285 * install-mk (MK_VERSION): 20201126 286 287 * own.mk: use .MAKE.{UID,GID} if available. 288 289 * init.mk: suppress _SKIP_BUILD warning if doing -V 290 2912020-11-20 Simon J Gerraty <sjg@beast.crufty.net> 292 293 * install-mk (MK_VERSION): 20201120 294 295 * init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS 296 297 * dirdeps-targets.mk: fix typo in comment 298 2992020-11-06 Simon J Gerraty <sjg@beast.crufty.net> 300 301 * install-mk (MK_VERSION): 20201106 302 303 * meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed 304 args to tweak extensions for local deps. 305 3062020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 307 308 * install-mk (MK_VERSION): 20201101 309 310 * dirdeps.mk: most leaf makefiles are not suitable for building 311 dirdeps.cache so if RELDIR is not "." use dirdeps.mk 312 3132020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 314 315 * install-mk (MK_VERSION): 20201028 316 317 * dirdeps.mk: if we don't have :range use equivalent of M_RANGE 318 when building dirdeps.cache for leaf directory use -f dirdeps.mk 319 320 * sys.vars.mk: add M_JOT and M_RANGE 321 3222020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 323 324 * install-mk (MK_VERSION): 20201001 325 326 * meta2deps.{py,sh}: throw an error if we don't see filemon version 327 3282020-09-09 Simon J Gerraty <sjg@beast.crufty.net> 329 330 * install-mk (MK_VERSION): 20200909 331 332 * dirdeps-cache-update.mk: use cache_update_dirdep as guard target 333 3342020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 335 336 * dirdeps.mk: ensure we cannot confuse a static cache for dynamic 337 (even more rare that use of static cache is playing clever tricks 338 with it) 339 3402020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 341 342 * dirdeps-cache-update.mk: allow 343 MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we 344 actually update STATIC_DIRDEPS_CACHE. 345 346 * stage-install.sh: create dest directory if needed 347 before running install(1) 348 3492020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 350 351 * dirdeps-targets.mk: include Makefile.dirdeps.options 352 353 * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE 354 3552020-08-09 Simon J Gerraty <sjg@beast.crufty.net> 356 357 * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty 358 359 * dirdeps-cache-update.mk: building parallel cache update 360 under the context of dirdeps-cached would be ideal, but 361 is problematic, so it runs as a sibling. 362 Use cache-built target to ensure we wait for it to complete if 363 necessary. 364 3652020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 366 367 * install-mk (MK_VERSION): 20200806 368 369 * dirdeps-options: allow TARGET_SPEC to affect option values. 370 Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_* 371 372 * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined 373 before looking for STATIC_DIRDEPS_CACHE 374 3752020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 376 377 * host-target.mk: Darwin use MACHINE for HOST_ARCH too 378 379 * dirdeps-options.mk: improve debug output 380 3812020-07-22 Simon J Gerraty <sjg@beast.crufty.net> 382 383 * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE 384 for use by dirdeps-cache-update.mk 385 386 * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE 387 for use by dirdeps-cache-update.mk even if we don't use it. 388 389 * dirdeps-cache-update.mk: we only need worry about the background 390 update case, with the above, the update from DIRDEPS_CACHE is 391 simple. 392 393 * meta2deps.py: R 1234 . is not interesting 394 3952020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 396 397 * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE 398 399 * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS 400 allows use of lower case for pseudo options. 401 402 * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE 403 4042020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 405 406 * dirdeps-targets.mk: Look for Makefile.dirdeps.cache 407 which allows us to have a static cache for expensive targets. 408 Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE 409 to regenerate the dirdeps.cache it is a copy of. 410 4112020-07-17 Simon J Gerraty <sjg@beast.crufty.net> 412 413 * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense. 414 4152020-07-16 Simon J Gerraty <sjg@beast.crufty.net> 416 417 * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record 418 load averages at intervals during build. 419 4202020-07-15 Simon J Gerraty <sjg@beast.crufty.net> 421 422 * install-mk (MK_VERSION): 20200715 423 424 * dirdeps.mk: tweak Checking line to make matching Finished 425 lines for post-build analysis easier. 426 427 * meta.autodep.mk: use !defined(WITHOUT_META_STATS) 428 429 * progs.mk: avoid prog.mk outputting multiple Finished lines 430 4312020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 432 433 * dirdeps.mk: further optimize dirdeps.cache 434 generate a DIRDEPS.${.TARGET} list for other purposes 435 and improve the layout. 436 4372020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 438 439 * dirdeps.mk: optimize content of dirdeps.cache 440 4412020-06-28 Simon J Gerraty <sjg@beast.crufty.net> 442 443 * sys/*.mk: make it easier for local*sys.mk to customize by 444 using ?= 445 4462020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 447 448 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0 449 it is much safer to guard local depends with a simple check for 450 .MAKE.LEVEL > 0 451 4522020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 453 454 * install-mk (MK_VERSION): 20200610 455 456 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok 457 4582020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 459 460 * install-mk (MK_VERSION): 20200606 461 462 * dirdeps-targets.mk: allow for filtering of .TARGETS 463 464 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove 465 entries - and we don't care about 'W'rite entries. 466 Also ignore absolute paths that do not exist. 467 4682020-05-25 Simon J Gerraty <sjg@beast.crufty.net> 469 470 * install-mk (MK_VERSION): 20200525 471 472 * init.mk: expand and simplify handling of qualified vars 473 like CPPFLAGS.${.TARGET:T} 474 4752020-05-15 Simon J Gerraty <sjg@beast.crufty.net> 476 477 * install-mk (MK_VERSION): 20200515 478 479 * dirdeps.mk: set _debug_* earlier and allow passing -d* 480 flags to submake when building DIRDEPS_CACHE 481 4822020-05-09 Simon J Gerraty <sjg@beast.crufty.net> 483 484 * whats.mk: more easily extensible 485 4862020-05-02 Simon J Gerraty <sjg@beast.crufty.net> 487 488 * whats.mk: greatly simplify by adding what.c to SRCS 489 4902020-05-01 Simon J Gerraty <sjg@beast.crufty.net> 491 492 * whats.mk: for libs take care how we add to *OBJS 493 494 * lib.mk: : works better with whats.mk 495 4962020-04-25 Simon J Gerraty <sjg@beast.crufty.net> 497 498 * install-mk (MK_VERSION): 20200420 499 500 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep 501 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC} 502 5032020-04-16 Simon J Gerraty <sjg@beast.crufty.net> 504 505 * install-mk (MK_VERSION): 20200416 506 507 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to 508 interfere with user env. 509 510 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL 511 512 * autodep.mk: use MAKE_SHELL. 513 5142019-11-21 Simon J Gerraty <sjg@beast.crufty.net> 515 516 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of 517 wasted effort, and unexport _meta_files when no longer needed as 518 it consumes space we need for command line. 519 5202019-11-11 Simon J Gerraty <sjg@beast.crufty.net> 521 522 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add 523 DIRDEP_USE_PRELUDE at start - facilitates job distribution 524 5252019-10-04 Simon J Gerraty <sjg@beast.crufty.net> 526 527 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST 528 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid 529 TARGET_SPEC qualified depend files. 530 5312019-10-02 Simon J Gerraty <sjg@beast.crufty.net> 532 533 * dirdeps-targets.mk: encapsulate logic for finding top-level 534 targets to set initial DIRDEPS for DIRDEPS_BUILD 535 5362019-09-27 Simon J Gerraty <sjg@beast.crufty.net> 537 538 * install-mk (MK_VERSION): 20190911 539 540 * compiler.mk: set COMPILER_TYPE 541 5422019-07-17 Simon J Gerraty <sjg@beast.crufty.net> 543 544 * install-mk (MK_VERSION): 20190704 545 546 * sys/Darwin.mk: support for Objective-C and clang 547 5482019-05-30 Simon J Gerraty <sjg@beast.crufty.net> 549 550 * dirdeps.mk: avoid insanely long command line when generating cache 551 5522019-05-23 Simon J Gerraty <sjg@beast.crufty.net> 553 554 * install-mk (MK_VERSION): 20190505 555 556 * whats.mk: handle corner case SHLIB defined but not LIB 557 5582018-09-19 Simon J Gerraty <sjg@beast.crufty.net> 559 560 * install-mk (MK_VERSION): 20180919 561 562 * dirdeps-options.mk: .undef cannot handle var that expands to 563 more than one var. 564 5652018-07-08 Simon J Gerraty <sjg@beast.crufty.net> 566 567 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc. 568 5692018-06-01 Simon J Gerraty <sjg@beast.crufty.net> 570 571 * meta.autodep.mk: export META_FILES to avoid command line limit 572 * gendirdeps.mk: if we have lots of .meta files put them in 573 an @list 574 5752018-05-28 Simon J Gerraty <sjg@beast.crufty.net> 576 577 * dirdeps-options.mk: use local.dirdeps-options.mk 578 not local.dirdeps-option.mk 579 5802018-04-20 Simon J Gerraty <sjg@beast.crufty.net> 581 582 * install-mk (MK_VERSION): 20180420 583 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0 584 ie. we are building something. 585 5862018-04-14 Simon J Gerraty <sjg@beast.crufty.net> 587 588 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS. 589 5902018-04-05 Simon J Gerraty <sjg@beast.crufty.net> 591 592 * install-mk (MK_VERSION): 20180405 593 594 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER 595 if needed. 596 5972018-01-18 Simon J Gerraty <sjg@beast.crufty.net> 598 599 * install-mk (MK_VERSION): 20180118 600 601 * ldorder.mk: let make compute correct link order 602 6032017-12-12 Simon J Gerraty <sjg@beast.crufty.net> 604 605 * install-mk (MK_VERSION): 20171212 606 607 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER 608 6092017-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 610 611 * install-mk (MK_VERSION): 20171111 612 613 * lib.mk: ensure META_NOECHO is set 614 6152017-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 616 617 * Allow for host32 on rare occasions. 618 6192017-10-18 Simon J. Gerraty <sjg@bad.crufty.net> 620 621 * install-mk (MK_VERSION): 20171018 622 623 * whats.mk: include what_thing in what_uuid to avoid problem 624 when building multiple apps in the same directory. 625 6262017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 627 628 * install-mk (MK_VERSION): 20170812 629 630 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can 631 add dependencies for config.recheck and config.gen 632 6332017-06-30 Simon J. Gerraty <sjg@bad.crufty.net> 634 635 * install-mk (MK_VERSION): 20170630 636 637 * meta.stage.mk: avoid triggering stage_* targets with nothing to do. 638 6392017-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 640 641 * meta2deps.py: take special care of '..' 642 6432017-05-15 Simon J. Gerraty <sjg@bad.crufty.net> 644 645 * install-mk (MK_VERSION): 20170515 646 647 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is 648 useful/necessary for a Makefile.depend file to export some knobs. 649 This is complicated when we are doing DIRDEPS_CACHE, so we will 650 handle export of any variables listed in DEP_EXPORT_VARS. 651 6522017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 653 654 * install-mk (MK_VERSION): 20170505 655 656 * meta2deps.py: fix botched indenation. 657 6582017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 659 660 * sys/*.mk: Remove setting of MAKE it is unnecessary and 661 in many cases wrong (basname rather than full path) 662 663 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk 664 665 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc 666 6672017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 668 669 * install-mk (MK_VERSION): 20170501 670 671 * doc.mk: fix typo in DOC_INSTALL_OWN 672 673 * inc.mk: handle INCGROUPS similar to freebsd 674 675 * files.mk: add something for files too 676 677 * add staging logic to lib.mk prog.mk etc. 678 6792017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 680 681 * install-mk (MK_VERSION): 20170424 682 683 * dirdeps.mk: set NO_DIRDEPS when bootstrapping. 684 also target of bootstrap-this when sed is needed should be ${_want:T} 685 6862017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 687 688 * install-mk (MK_VERSION): 20170418 689 690 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a 691 prefix match for .CURDIR - in which case .CURDIR *is* __objdir. 692 6932017-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 694 695 * install-mk (MK_VERSION): 20170401 696 697 * meta2deps.py: add is_src so we can check if obj dependency 698 is also a src dependency. 699 7002017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 701 702 * install-mk (MK_VERSION): 20170326 703 704 * meta.stage.mk: do nothing if NO_STAGING is defined. 705 7062017-03-24 Simon J. Gerraty <sjg@bad.crufty.net> 707 708 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc. 709 7102017-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 711 712 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_* 713 7142017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 715 716 * install-mk (MK_VERSION): 20170301 717 718 * dirdeps.mk (_build_all_dirs): update this outside test for empty 719 DIRDEPS. 720 721 * meta.stage.mk: allow multiple inclusion to the extent it makes 722 sense. 723 7242017-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 725 726 * prog.mk (install_links): depends on realinstall 727 7282017-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 729 730 * install-mk (MK_VERSION): 20170212 731 732 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries 733 7342017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 735 736 * install-mk (MK_VERSION): 20170130 737 738 * dirdeps.mk: use :range if we can. 739 740 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130 741 742 * meta2deps.py: clean paths without using realpath() where possible. 743 fix sort_unique. 744 7452016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 746 747 * install-mk (MK_VERSION): 20161212 748 749 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, 750 rather than when we detect pid change. 751 7522016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 753 754 * install-mk (MK_VERSION): 20161207 755 756 * meta.stage.mk: add stage_as_and_symlink for staging packages. 757 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able 758 to use foo.tgz to reference the latest staged version - so we 759 make foo.tgz a symlink to it. 760 Using a target to do both operations ensures we stay in sync. 761 7622016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 763 764 * install-mk (MK_VERSION): 20161126 765 766 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk 767 so it can add dependencies. 768 7692016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 770 771 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE 772 do that they can influence the result correctly. 773 774 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC 775 776 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST 777 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 778 7792016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 780 781 * dirdeps.mk: remove dependence on jot (normal situations anyway). 782 Before we read another Makefile.depend* set DEP_* vars from 783 _DEP_TARGET_SPEC in case it uses any of them with := 784 When bootstrapping, trim any ,* from extention of chosen _src 785 Makefile.depend* to get the machine value we subst for. 786 7872016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> 788 789 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to 790 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER 791 792 * sys.mk: extract some bits to sys.{debug,vars}.mk 793 for easier re-use by others. 794 7952016-09-23 Simon Gerraty <sjg@sjg-mba13> 796 797 * lib.mk: Use ${PICO} for extension for PIC objects. 798 default to .pico (like NetBSD) safe on case insensitive filesystem. 799 8002016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> 801 802 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default 803 8042016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 805 806 * install-mk (MK_VERSION): 20160815 807 808 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only 809 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date. 810 8112016-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 812 813 * meta.sys.mk (.MAKE.META.IGNORE_PATHS): 814 in meta mode we can ignore the mtime of makefiles 815 8162016-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 817 818 * install-mk (MK_VERSION): 20160802 819 820 * lib.mk (libinstall): depends on beforinstall 821 822 * prog.mk (proginstall): depends on beforinstall 823 patch from Lauri Tirkkonen 824 825 * dirdeps.mk (bootstrap): When bootstrapping; creat 826 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via 827 .MAKE.DEPENDFILE_BOOTSTRAP_SED 828 829 * dirdeps.mk: move some comments to where they make sense. 830 8312016-07-27 Simon J. Gerraty <sjg@bad.crufty.net> 832 833 * dirdeps.mk (DIRDEPS_CACHE): no dirname. 834 8352016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 836 837 * install-mk (MK_VERSION): 20160602 838 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk 839 do not apply :T to META_XTRAS 840 patch from Bryan Drewery at FreeBSD.org. 841 8422016-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 843 844 * install-mk (MK_VERSION): 20160530 845 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH 846 make it so. 847 8482016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 849 850 * install-mk (MK_VERSION): 20160512 851 852 * dpadd.mk: always include local.dpadd.mk if it exists 853 remove some things that better belong in local.dpadd.mk 854 skip INCLUDES_* for staged libs unless SRC_* defined. 855 856 * own.mk: add INCLUDEDIR 857 8582016-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 859 860 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no 861 TARGET_MACHINE - :E will be empty or match part of path, use 862 ${MACHINE} 863 8642016-04-07 Simon J. Gerraty <sjg@bad.crufty.net> 865 866 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to 867 NO_FILEMON_COOKIE 868 869 * dirdeps.mk: move the logic that allows for 870 make -f dirdeps.mk some/dir.${TARGET_SPEC} 871 inside the check for !target(_DIRDEP_USE) 872 8732016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 874 875 * Use <> when including local*.mk and others which may exist 876 elsewhere so that user can better control what they get. 877 878 * meta.autodep.mk (NO_FILEMON_COOKIE): 879 create a cookie if we ever build dir with nofilemon 880 so that UPDATE_DEPENDFILE will be forced to NO until cleaned. 881 8822016-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 883 884 * install-mk (MK_VERSION): 20160401 885 886 * meta2deps.py: fix old print statement when debugging. 887 888 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X 889 patch from Bryan Drewery 890 8912016-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 892 893 * install-mk (MK_VERSION): 20160317 (St. Pats) 894 895 * warnings.mk: g++ does not like -Wimplicit 896 897 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the 898 pelthora of common suffixes for C++ 899 900 * lib.mk: use .So for shared objects 901 9022016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 903 904 * install-mk (MK_VERSION): 20160315 905 906 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 907 normally only applies to scripts. 908 909 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 910 well as outside it. 911 9122016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 913 914 * install-mk (MK_VERSION): 20160310 915 916 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 917 we have processed; the list gets very inefficient as number of 918 DIRDEPS gets large. 919 920 * sys.dependfile.mk: fix comment wrt MACHINE 921 922 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 923 patch from Bryan Drewery 924 9252016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 926 927 * meta2deps.sh: don't ignore subdirs. 928 patch from Bryan Drewery 929 9302016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 931 932 * install-mk (MK_VERSION): 20160226 933 934 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 935 9362016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 937 938 * dirdeps.mk: we shouldn't normally include .depend but if we do 939 use .dinclude if we can. 940 9412016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 942 943 * install-mk (MK_VERSION): 20160218 944 * sys.clean-env.mk: with recent change to Var_Subst() 945 we cannot use the '$$' trick, but .export-literal does the job 946 we need. 947 * auto.dep.mk: make use .dinclude if we can. 948 949 9502016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 951 952 * dirdeps.mk: 953 Add _build_all_dirs such that local.dirdeps.mk can 954 add fully qualified dirs to it. 955 These will be built normally but the current 956 DEP_RELDIR will not depend on then (to avoid cycles). 957 This makes it easy to hook things like unit-tests into build. 958 959 9602016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 961 962 * dirdeps.mk: add bootstrap-empty 963 9642015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 965 966 * install-mk (MK_VERSION): 20151212 967 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 968 only apply :tA to __objdir when comparing to .OBJDIR 969 9702015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 971 972 * install-mk (MK_VERSION): 20151111 973 974 * meta.sys.mk: include sys.dependfile.mk 975 976 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 977 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 978 include local.sys.env.mk early 979 include local.sys.mk later 980 981 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 982 9832015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 984 985 * meta.sys.mk (META_COOKIE_TOUCH): 986 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 987 988 * meta.stage.mk: stage_libs should ignore SYMLINKS. 989 9902015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 991 992 * install-mk (MK_VERSION): 20151022 993 994 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 995 9962015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 997 998 * install-mk (MK_VERSION): 20151020 999 1000 * dirdeps.mk: Add logic for 1001 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1002 10032015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 1004 1005 * install-mk (MK_VERSION): 20151010 1006 10072015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 1008 1009 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 1010 to have stage_lins run last in non-jobs mode. 1011 Use .ORDER only for jobs mode. 1012 10132015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1014 1015 * rst2htm.mk: allow for per target flags etc. 1016 10172015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1018 1019 * install-mk (MK_VERSION): 20150901 1020 1021 * doc.mk: create dir if needed use DOC_INSTALL_OWN 1022 10232015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 1024 1025 * install-mk (MK_VERSION): 20150615 1026 1027 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 1028 Follow make's normal precedence rules. 1029 1030 * gendirdeps.mk: allow customization of the header. 1031 eg. for FreeBSD: 1032 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 1033 1034 * meta.autodep.mk: ignore dirdeps.cache* 1035 1036 * meta.stage.mk: when bootstrapping options it can be handy to 1037 throw warnings rather than errors for staging conflicts. 1038 1039 * meta.sys.mk: include local.meta.sys.mk for customization 1040 10412015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1042 1043 * install-mk (MK_VERSION): 20150606 1044 1045 * dirdeps.mk: don't rely on manually maintained Makefile.depend 1046 to set DEP_RELDIR and reset DIRDEPS. 1047 By setting DEP_RELDIR ourselves we can skip :tA 1048 1049 * gendirdeps.mk: skip setting DEP_RELDIR. 1050 10512015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1052 1053 * dirdeps.mk: avoid wildcards like make(bootstrap*) 1054 10552015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1056 1057 * install-mk (MK_VERSION): 20150520 1058 1059 * dirdeps.mk: when we are building dirdeps cache file we *want* 1060 meta_oodate to look at all the Makefile.depend files, so 1061 set .MAKE.DEPENDFILE to something that won't match. 1062 1063 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 1064 so first use absolute path as key. 1065 Also skip staging at level 0. 1066 10672015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1068 1069 * install-mk (MK_VERSION): 20150430 1070 1071 * dirdeps.mk: fix _count_dirdeps for non-cache case. 1072 10732015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 1074 1075 * install-mk (MK_VERSION): 20150411 1076 bump version 1077 1078 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 1079 it is here mainly for documentation purposes, since 1080 if using auto.obj.mk it is better done via sys.mk 1081 10822015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1083 1084 * install-mk (MK_VERSION): 20150401 1085 1086 * meta2deps.sh: support @list 1087 1088 * meta2deps.py: updates from Juniper 1089 o add EXCLUDES 1090 o skip bogus input files. 1091 o treat 'M' and 'L' as both an 'R' and a 'W' 1092 10932015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1094 1095 * install-mk (MK_VERSION): 20150303 1096 1097 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 1098 which is built via sub-make so we have a .meta file to tell if 1099 it is out-of-date. 1100 The dirdeps-cache contains the same dependency rules that we 1101 normaly construct on the fly. 1102 This adds a few seconds overhead when the cache is out of date, 1103 but for a large target, the savings can be significant (10-20min). 1104 11052014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 1106 1107 * install-mk (MK_VERSION): 20141118 1108 1109 * meta.stage.mk: add stale_staged 1110 1111 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 1112 only useful under very rare conditions such as 1113 FreeBSD's make universe. 1114 1115 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 1116 11172014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1118 1119 * install-mk (MK_VERSION): 20141111 1120 1121 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 1122 11232014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1124 1125 * FILES: include mkopt.sh which allows handling options in shell 1126 scripts in a manner compatible with options.mk 1127 11282014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1129 1130 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 1131 for GENDIRDEPS_FILTER to avoid surprises. 1132 11332014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1134 1135 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 1136 the time it is applied to __depdirs they have. 1137 1138 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 1139 expects patterns like *.${MACHINE} 1140 1141 * cython.mk (pyprefix?): use pyprefix to find python bits 1142 since prefix might be something else (where we install our 1143 stuff) 1144 11452014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1146 1147 * install-mk (MK_VERSION): 20140911 1148 1149 * dirdeps.mk: add bootstrap target to simplify adding support for 1150 new MACHINE. 1151 11522014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1153 1154 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 1155 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 1156 Makefile.depend files. 1157 11582014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1159 1160 * install-mk (MK_VERSION): 20140828 1161 1162 * cython.mk: capture logic for building python extension modules 1163 with Cython. 1164 11652014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1166 1167 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 1168 11692014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1170 1171 * install-mk (MK_VERSION): 20140801 1172 1173 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 1174 identify the autodep.mk variant. 1175 1176 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 1177 initial value does not match .MAKE.DEPENDFILE_PREFIX 1178 1179 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 1180 11812014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1182 1183 * install-mk (MK_VERSION): 20140522 1184 1185 * lib.mk: use CC to link shlib for linux too 1186 patch from Brendan MacDonell 1187 11882014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1189 1190 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 1191 if WITH_META_STATS is defined. 1192 11932014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1194 1195 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 1196 to supress dirdeps outside of .CURDIR. 1197 11982014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1199 1200 * Fix spelling errors - patch from Pedro Giffuni 1201 12022014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 1203 1204 * install-mk (MK_VERSION): 20140314 1205 1206 * dirdeps.mk (beforedirdeps): a handy hook 1207 1208 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 1209 to visit leaf dirs to be intercepted (eg. for distributed 1210 build). 1211 1212 * dirdeps.mk (__depdirs): ensure // don't sneak in 1213 1214 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 1215 1216 12172014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 1218 1219 * rst2htm.mk (RST2PDF): add support for rst2pdf 1220 12212014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1222 1223 * install-mk (MK_VERSION): bump version 1224 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 1225 available. 1226 12272014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1228 1229 * options.mk: avoid :U so this isn't bmake dependent 1230 12312014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 1232 1233 * options.mk: cleanup and simplify semanitcs 1234 NO_* dominates all, if both WITH_* and WITHOUT_* 1235 are defined then result is DOMINATE_* which defaults to "no". 1236 Ie. WITHOUT_ normally wins. 1237 12382013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1239 1240 * install-mk (MK_VERSION): bump version 1241 * meta2deps.py: convert to print function for python3 compat. 1242 we also need to open files with mode 'r' rather than 'rb' 1243 otherwise we get bytes instead of strings. 1244 12452013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1246 1247 * install-mk (MK_VERSION): bump version 1248 1249 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 1250 apply the same filtering (M_dep_qual_fixes) when setting _machines 1251 as _build_dirs. 1252 Also fix the filtering of Makefile.depend files - for reporting 1253 what we are looking for (M_dep_qual_fixes can get confused by 1254 Makefile.depend) 1255 Add some more debug info. 1256 12572013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1258 1259 * gendirdeps.mk (_objtops): fix typo also 1260 while processing M2D_OBJROOTS to gather qualdir_list 1261 qualify $ql with loop iterator to ensure correct results. 1262 12632013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1264 1265 * install-mk (MK_VERSION): 20130801 1266 * libs.mk: update to match progs.mk 1267 12682013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 1269 1270 * install-mk (MK_VERSION): 20130726 1271 some updates from Juniper and FreeBSD 1272 o meta2deps.py: indicate file and line number when we hit parse 1273 errors 1274 also allow @file to provide huge list of .meta files. 1275 * meta2deps.py: add try_parse() to cleanup the above. 1276 12772013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1278 1279 * install-mk (MK_VERSION): 20130716 1280 * own.mk: add GPROG as an option 1281 * prog.mk: honor MK_GPROF==yes 1282 12832013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1284 1285 * install-mk (MK_VERSION): 20130505 1286 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 1287 for when $MACHINE isn't enough for objdir distinction. 1288 Bring meta2deps.sh closer to par with meta2deps.py. 1289 12902013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1291 1292 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 1293 also if the target 'beforeinstall' exists, make it depend on 1294 .dirdep (incase it uses STAGE_INSTALL). 1295 12962013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1297 1298 * install-mk (MK_VERSION): 20130401 ;-) 1299 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 1300 wrapper around install(1). 1301 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 1302 13032013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1304 1305 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 1306 * install-mk (MK_VERSION): bump version 1307 13082013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 1309 1310 * install-mk (MK_VERSION): bump version 1311 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 1312 any trailing /., rather apply :tA only when needed. 1313 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 1314 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 1315 consistently. 1316 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 1317 13182013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1319 1320 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 1321 it is simpler to just not update when say building for "host" 1322 (where we know we apply filters to DIRDEPS), and using a 1323 non-machine qualified dependfile. 1324 13252013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1326 1327 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 1328 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 1329 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 1330 * meta2deps.py: if machine is "host", then also trim 1331 self.host_target from any OBJROOTS. 1332 1333 13342013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1335 1336 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 1337 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 1338 but _DEPENDFILE does not, compare the new _DEPENDFILE against 1339 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 1340 13412013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 1342 1343 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 1344 and hook to all: via staging: 1345 13462013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1347 1348 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 1349 use a separate variable for the default .MAKE.DEPENDFILE value 1350 so that it can be controlled independently of 1351 .MAKE.DEPENDFILE_PREFERENCE 1352 1353 * meta.stage.mk: throw error if cp fails etc. 1354 Stage*() return early if passed no args. 1355 .ORDER stage_* 1356 13572013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1358 1359 * install-mk (MK_VERSION): bump version 1360 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 1361 13622013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1363 1364 * install-mk (MK_VERSION): bump version to 20130210 1365 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 1366 from Juniper. 1367 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 1368 than just MACHINE. 1369 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 1370 13712013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 1372 1373 * install-mk (MK_VERSION): bump version to 20130123 1374 * meta.stage.mk: add stage_links (hard links). 1375 if doing hard links, we add dest to link as well. 1376 Default the stage dir for [sym]links to STAGE_OBJTOP since 1377 these are typically specified as absolute paths. 1378 Add -m "mode" flag to StageFiles and StageAs. 1379 13802012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1381 1382 * install-mk (MK_VERSION): bump version to 20121111 1383 * autoconf.mk: avoid meta mode seeing changed commands for config.status 1384 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 1385 in case we were found via .../mk 1386 * sys.clean-env.mk: move it from examples, we and others use it 1387 "as is". 1388 * FILES: add srctop.mk and options.mk 1389 * own.mk: convert to using options.mk 1390 which is modeled after FreeBSD's handling of MK_* 1391 but more flexible. 1392 This allows MK_* for boolean knobs to not be confused 1393 with MK* which can be commands. 1394 1395 * examples/sys.clean-env.mk: add WITH[OUT]_ to 1396 MAKE_ENV_SAVE_PREFIX_LIST. 1397 Mention that HOME=/var/empty might be a good idea. 1398 13992012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 1400 1401 * sys.dependfile.mk: if not depend file exists, $MACHINE 1402 specific ones are supported but not the default, 1403 check if any exist and follow suit. 1404 14052012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 1406 1407 * install-mk (MK_VERSION): bump version to 20121106 1408 14092012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 1410 1411 * import latest dirdeps.mk and meta2deps.py from Juniper. 1412 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 1413 also add PROGS_TARGETS and pass on PROG_CXX if it seems 1414 appropriate. 1415 14162012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 1417 1418 * meta.stage.mk: update CLEANFILES 1419 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 1420 * progs.mk: Add LDADD to PROG_VARS 1421 14222012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1423 1424 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 1425 _STAGED_DIRS so that these can be turned into filters for 1426 GENDIRDEPS_FILTER. 1427 14282012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1429 1430 * install-mk (MK_VERSION): bump version to 20121010 1431 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 1432 target.dirdep matches .dirdep 1433 14342012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1435 1436 * install-mk (MK_VERSION): bump version to 20120808 1437 * import latest meta2deps.py from Juniper. 1438 14392012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 1440 1441 * install-mk (MK_VERSION): bump version to 20120711 1442 * dep.mk: add explicit dependencies on SRCS after applying 1443 SRCS_DEP_FILTER 1444 * meta.autodep.mk: add explicit dependencies on SRCS after 1445 applying SRCS_DEP_FILTER 1446 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 1447 14482012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 1449 1450 * install-mk (MK_VERSION): bump version to 20120626 1451 * meta.sys.mk: ignore PYTHON if it does not exist 1452 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 1453 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 1454 entries ending in .${MACHINE} to decide if qualified _dirdep is 1455 needed. 1456 * gendirdeps.mk: only produce unqualified deps if no 1457 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 1458 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 1459 14602012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1461 1462 * install-mk (MK_VERSION): bump version to 20120420 1463 * add sys.dependfile.mk so we can experiment with 1464 .MAKE.DEPENDFILE_PREFERENCE 1465 * meta.autodep.mk: _DEPENDFILE is precious! 1466 14672012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1468 1469 * install-mk (MK_VERSION): bump version to 20120315 1470 * install-new.mk: avoid being interrupted 1471 14722012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1473 1474 * man.mk: MAN might have multiple values so be careful with exists(). 1475 14762012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 1477 1478 * install-mk (MK_VERSION): bump version to 20120112 1479 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 1480 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 1481 14822011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 1483 1484 * install-mk (MK_VERSION): bump version to 20111201 1485 * import dirdeps.mk from Juniper sjg@ 1486 o more consistent handling of DEP_MACHINE, especially when 1487 dealing with an odd Makefile.depend, when normally using 1488 Makefile.depend.${MACHINE} 1489 14902011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 1491 1492 * install-mk (MK_VERSION): bump version to 20111122 1493 * meta.autodep.mk: add some debug output, be more crisp about 1494 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 1495 14962011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1497 1498 * install-mk (MK_VERSION): bump version to 20111111 1499 it's too cool to miss 1500 * import meta* updates from Juniper sjg@ 1501 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 1502 normally using Makefile.depend.${MACHINE}), handy for 1503 read-only manually maintained dependencies. 1504 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 1505 o gendirdeps.mk if ERROR: from meta2deps.py do not update 1506 anything. 1507 15082011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 1509 1510 * install-new.mk separate the cmp and copy logic to its own function. 1511 15122011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 1513 1514 * install-mk (MK_VERSION): bump version to 20111028 1515 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 1516 * subdir.mk: ensure _SUBDIRUSE is provided 1517 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 1518 * meta.subdir.mk: always allow for Makefile.depend 1519 15202011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1521 1522 * install-mk (MK_VERSION): bump version to 20111010 1523 o minor tweak to *dirdeps.mk from Juniper sjg@ 1524 15252011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1526 1527 * install-mk (MK_VERSION): bump version to 20111001 1528 o add meta2deps.py from Juniper sjg@ 1529 o tweak gendirdeps.mk to work with meta2deps.py when not 1530 cross-building 1531 * autoconf.mk: add autoconf-input as a hook for regenerating 1532 AUTOCONF_INPUTS (configure). 1533 15342011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 1535 1536 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 1537 trigger for updating Makefile.depend* 1538 15392011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1540 1541 * install-mk (MK_VERSION): bump version to 20110808 1542 * obj.mk: minor cleanup 1543 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 1544 15452011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1546 1547 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 1548 specified dir. 1549 15502011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1551 1552 * meta.autodep.mk: if XMAKE_META_FILE is set 1553 the makefile uses a foreign make, and so dependencies 1554 can only be gathered from a clean tree build. 1555 15562011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 1557 1558 * install-mk (MK_VERSION): bump version to 20110622 1559 * meta.autodep.mk: improve bootstraping 1560 15612011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1562 1563 * yacc.mk: handle the corner case of .c being removed 1564 while .h remains. 1565 15662011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1567 1568 * yacc.mk: do .y.h and .y.c separately 1569 15702011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1571 1572 * install-mk (MK_VERSION): bump version to 20110606 1573 * don't store SRC_DIRDEPS in Makefile.depend* by default 1574 not everyone needs it. 1575 15762011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1577 1578 * install-mk (MK_VERSION): bump version to 20110505 1579 first release including meta mode makefiles 1580 15812011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1582 1583 * meta.stage.mk: add STAGE_AS_SETS and stage_as 1584 for things that need to be staged with different names. 1585 15862011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1587 1588 * meta.stage.mk: add notion of STAGE_SETS 1589 so a makefile can stage to multiple dirs 1590 15912011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 1592 1593 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 1594 on target name. 1595 15962011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1597 1598 * install-mk (MK_VERSION): bump version to 20110330 1599 16002011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1601 1602 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 1603 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 1604 * sys.mk: re-define M_whence in terms of M_type. 1605 M_type is useful for checking if something is a builtin. 1606 16072011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1608 1609 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 1610 stage_libs 1611 16122011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1613 1614 * dirdeps.mk: correct value for _depdir_files depends on 1615 .MAKE.DEPENDFILE 1616 Add our copyright - just to make it clear we have frobbed this 1617 quite a bit. 1618 DEP_MACHINE needs to be set to MACHINE each time, if using only 1619 Makefile.depend (cf. Makefile.depend.${MACHINE}) 1620 1621 * meta.stage.mk: meta mode version of staging 1622 1623 * init.mk, final.mk: include local.*.mk to simplify customization 1624 16252011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1626 1627 * auto.obj.mk: just because we are doing mk destroy, we should 1628 still set .OBJDIR correctly if it exists. 1629 1630 * install-mk (mksrc): do not exclude meta.sys.mk 1631 16322011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1633 1634 * host-target.mk: set/export _HOST_ARCH etc separately, 1635 catch junk resulting from uname -p, so we can find sys/Linux.mk 1636 correctly. 1637 16382011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1639 1640 * meta.sys.mk: throw an error if /dev/filemon is missing and we 1641 expected to be updating Makefile.depend* 1642 16432011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1644 1645 * install-mk (MK_VERSION): bump version to 20110214 1646 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 1647 16482010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 1649 1650 * meta.sys.mk: not valid for older bmake 1651 16522010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 1653 1654 * install-mk (MK_VERSION): bump version to 20100919 1655 include dirdeps.mk et al from Juniper Networks, 1656 for meta mode - requires filemon(9). 1657 * sys.mk, subdir.mk: Add hooks for meta mode. 1658 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 1659 to make turning it on/off simple. 1660 16612010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 1662 1663 * install-mk (MK_VERSION): bump version to 20100616 1664 * fix typo in sys.mk 1665 16662010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 1667 1668 * install-mk (MK_VERSION): bump version to 20100612 1669 * lib.mk: remove duplicate addition to SOBJS 1670 16712010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1672 1673 * sys.mk: Add a means of selectively turning on debug flags. 1674 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 1675 will act as if we did make -dv if .CURDIR ends in lib/sjg 1676 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 1677 the start of sys.mk rather than the end. 1678 This only makes sense for leaf dirs, so we check that 1679 .MAKE.LEVEL > 0 1680 16812010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 1682 1683 * install-mk (MK_VERSION): bump version to 20100608 1684 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 1685 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 1686 also make it easier for folk to tweak 1687 16882010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1689 1690 * install-mk (MK_VERSION): bump version to 20100606 1691 do not install examples/* 1692 * FILES: add examples/sys.clean-env.mk 1693 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 1694 this requires bmake-20100606 or later to work. 1695 16962010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 1697 1698 * sys.mk (M_tA): better simulate the result of :tA if not available. 1699 17002010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1701 1702 * sys.mk: canonicalize MAKE_VERSION 1703 old versions reported bmake-<src-date> build-<build-date> 1704 whereas we only care about <src-date> 1705 17062010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 1707 1708 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 1709 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 1710 is !empty 1711 17122010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 1713 1714 * dpadd.mk: use LDADD_* if defined. 1715 17162010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1717 1718 * install-mk (MK_VERSION): bump version to 20100420 1719 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 1720 * autoconf.mk allow AUTO_AUTOCONF 1721 17222010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 1723 1724 * obj.mk: add objwarn to keep freebsd makefiles happy 1725 * auto.obj.mk: ensure Mkdirs is available. 1726 * FILES: add auto.dep.mk - a simpler version of autodep.mk 1727 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 1728 asked to do that. 1729 fix/simplify the tests for when to run mkdep. 1730 * auto.dep.mk: add some explanation of how/what we do. 1731 * autodep.mk: skip the .OPTIONAL frobbing of .depend 1732 bmake's FROM_DEPEND flag makes it redundant. 1733 17342010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 1735 1736 * install-mk (MK_VERSION): bump version to 20100404 1737 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 1738 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 1739 Also create a target _SUBDIRUSE so that we can be used without 1740 subdir.mk 1741 17422010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 1743 1744 * dep.mk: use <> when .including so can override. 1745 17462010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 1747 1748 * lib.mk (SHLIB_LINKS): ensure a string comparison. 1749 17502010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1751 1752 * install-mk (MK_VERSION): bump version to 20100102 1753 * own.mk: ensure PRINTOBJDIR works 1754 * autoconf.mk: pass on CONFIGURE_ARGS 1755 * init.mk: handle COPTS.${.IMPSRC:T} etc. 1756 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 1757 fix handling of symlinks for darwin 1758 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 1759 * man.mk: suppress chown when not root. 1760 * rst2htm.mk: allow srcs from multiple locations. 1761 * sys.mk: M_whence, stop after 1st line of output. 1762 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 1763 * sys/SunOS.mk: we need to export PATH 1764 17652009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 1766 1767 * install-mk (MK_VERSION): bump version 1768 include rst2htm.mk 1769 17702009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 1771 1772 * sys.mk,libnames.mk add .-include <local.*> 1773 this allows local customization without the need to edit the 1774 distributed files. 1775 17762009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 1777 1778 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 1779 older versions already installed. 1780 17812009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 1782 1783 * stage.mk (.stage-install): generalize lib.mk's .libinstall 1784 * rules.mk rules for generic Makefile. 1785 * inc.mk install for includes. 1786 17872009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 1788 1789 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 1790 this, so provide it if using native make. 1791 17922009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 1793 1794 * FILES: move all the platform *.sys.mk files to sys/*.mk 1795 * Rename Generic.sys.mk to sys.mk - we always want it. 1796 17972009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 1798 1799 * install-mk (MK_VERSION): bump version 1800 * host-target.mk: only export the expensive stuff 1801 * Generic.sys.mk (sys_mk): for SunOS we need to look for 1802 ${HOST_OS}.${HOST_OSMAJOR} too! 1803 18042009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 1805 1806 * install-mk (MK_VERSION): bump version 1807 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 1808 based on patch from Greg Olszewski. 1809 * Generic.sys.mk: if we have nothing to work with 1810 set LORDER etc only if we can find it. 1811 18122009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 1813 1814 * install-mk (MK_VERSION): bump version 1815 * man.mk: cleanman: remove CLEANMAN if defined. 1816 18172009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 1818 1819 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 1820 18212009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 1822 1823 * install-mk (MK_VERSION): bump version 1824 include auto.obj.mk 1825 1826 18272009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 1828 1829 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 1830 18312008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 1832 1833 * install-mk (MK_VERSION): bump version 1834 man.mk: ensure we generate *.cat1 etc in . 1835 18362008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 1837 1838 * install-mk (MK_VERSION): bump version 1839 add prlist.mk 1840 18412007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 1842 1843 * Generic.sys.mk: Allow os specific sys.mk to be in a 1844 subdir of ${.PARSEDIR} 1845 18462007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 1847 1848 * install-mk (MK_VERSION): bump version 1849 * general cleanup 1850 * dpadd.mk introduce DPMAGIC_LIBS_* 1851 18522007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 1853 1854 * install-mk (MK_VERSION): bump version 1855 1856 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 1857 depend files and ensure clean is called for each lib/prog. 1858 18592007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 1860 1861 * autodep.mk (.depend): delete lines that do not start with 1862 space and do not contain ':' 1863 18642007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 1865 1866 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 1867 so make sure the transform for .OPTIONAL copes. 1868 18692007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 1870 1871 * install-mk (MK_VERSION): bump version 1872 1873 * own.mk: make sure RM and LN are defined. 1874 1875 * obj.mk: fix a typo, and objlink target. 1876 18772006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 1878 1879 * install-mk (MK_VERSION): bump version 1880 * added libs.mk - analogous to progs.mk 1881 make both of them always inlcude {lib,prog}.mk 1882 18832006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 1884 1885 * progs.mk: add a means of building multiple apps in one dir. 1886 18872006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 1888 1889 * install-mk (MK_VERSION): bump version to 20061126 1890 1891 * warnings.mk: detect invalid WARNINGS_SET 1892 1893 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 1894 specific warnings. 1895 1896 * For .cc sources, turn off warnings that g++ vomits on. 1897 18982006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 1899 1900 * own.mk: if __initialized__ target doesn't exist and we are 1901 FreeBSD we got here directly from sys.mk 1902 19032006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 1904 1905 * install-mk (MK_VERSION): bump version to 20061106 1906 add scripts.mk 1907 19082006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 1909 1910 * install-mk (MK_VERSION): bump version to 20060318 1911 1912 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 1913 19142006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 1915 1916 * install-mk (MK_VERSION): bump version to 20060302 1917 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 1918 19192006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 1920 1921 * install-mk (MK_VERSION): bump version to 20060301 1922 * autodep.mk (.depend): 1923 if MAKE_VERSION is newer than 20050530 we can make .END depend on 1924 .depend and make .depend depend on __depsrcs that exist. 1925 * dpadd.mk: add SRC_PATHADD 1926 19272005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1928 1929 * install-mk (MK_VERSION): bump version to 20051104 1930 * prog.mk: remove all the LIBC?= junk, use 1931 .-include libnames.mk instead (none by default). 1932 also if USE_DPADD_MK is set, include that. 1933 19342005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1935 1936 * install-mk (MK_VERSION): bump version to 20051001 1937 Add UnixWare.sys.mk from Klaus Heinz. 1938 19392005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 1940 1941 * install-mk: always install *.sys.mk and if need be symlink one 1942 to sys.mk 1943 19442005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1945 1946 * subdir.mk, own.mk: use .MAKE rather than MAKE 1947 19482004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1949 1950 * own.mk: don't use NetBSD's _SRC_TOP_ it can 1951 cause confusion. Also don't take just 'mk' as a 1952 srctop indicator. 1953 19542004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 1955 1956 * warnings.mk: overhauled, now very powerful. 1957 19582004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 1959 1960 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 1961 19622004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 1963 1964 * install-mk (MK_VERSION): bump version to 20040201 1965 * extract HOST_TARGET stuff to host-target.mk so own.mk and 1966 Generic.sys.mk can share. 1967 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 1968 19692003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 1970 1971 * install-mk (MK_VERSION): 20030930 1972 * rename generic.sys.mk to Generic.sys.mk 1973 so that it does not get installed (unless being used as sys.mk) 1974 * set OS and ROOT_GROUP for those that we know the value. 1975 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 1976 we don't do it again for each sub-make. 1977 19782003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 1979 1980 * install-mk (MK_VERSION): 20030928 1981 Add some extra *.sys.mk from bootstrap-pkgsrc 1982 some of these likely still need work. 1983 Make everything default to root:wheel ownership, 1984 sys.mk can set ROOT_GROUP accordingly. 1985 19862003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 1987 1988 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 1989 not the portable ones. 1990 19912003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 1992 1993 * install-mk: add ability to use cp -f when updating 1994 destination .mk files. Also now possible to play games with 1995 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 1996 into dest - not recommended unless you seriously want to. 1997 19982003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1999 2000 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 2001 for semi-compatability with NetBSD. 2002 20032003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2004 2005 * install-mk: add a version indicator 2006 20072003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 2008 2009 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 2010 2011 * install-mk: Allow FORCE_SYS_MK to come from env 2012 2013 2014 2015