12024-05-04 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * install-mk (MK_VERSION): 20240504 4 5 * dirdeps.mk: allow BUILD_DIRDEPS_OVERRIDES to pass overrides to 6 sub-make building DIRDEPS_CACHE. 7 82024-04-24 Simon J Gerraty <sjg@beast.crufty.net> 9 10 * meta.autodep.mk: do not override start_utc 11 122024-04-18 Simon J Gerraty <sjg@beast.crufty.net> 13 14 * sys.dirdeps.mk: set defaults for DEP_* at level 0 too. 15 These help when first include of Makefile.depend happens in a leaf 16 dir. 17 18 * install-mk (MK_VERSION): 20240414 19 202024-04-09 Simon J Gerraty <sjg@beast.crufty.net> 21 22 * install-mk (MK_VERSION): 20240408 23 24 * init.mk: allow for _ as well as . to join V 25 and Q from QUALIFIED_VAR_LIST and VAR_QUALIFIER_LIST. 26 27 * progs.mk: avoid overlap between PROG_VARS and 28 init.mk's QUALIFIED_VAR_LIST since PROG would also 29 match its VAR_QUALIFIER_LIST, 30 libs.mk does not have the same issue. 31 32 * subdir.mk: _SUBDIRUSE for realinstall should run install 33 remove include of ${.CURDIR}/Makefile.inc that can be done via 34 local.subdir.mk where needed 35 36 * own.mk: do not conflict with man.mk 37 382024-03-19 Simon J Gerraty <sjg@beast.crufty.net> 39 40 * install-mk (MK_VERSION): 20240314 41 42 * add sys/Cygwin.mk from Christian Franke 43 442024-03-09 Simon J Gerraty <sjg@beast.crufty.net> 45 46 * install-mk (MK_VERSION): 20240309 47 48 * meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not 49 want to save the .ERROR_META_FILE 50 512024-02-20 Simon J Gerraty <sjg@beast.crufty.net> 52 53 * install-mk (MK_VERSION): 20240220 54 55 * sys.dirdeps.mk, dirdeps-targets.mk, init.mk: 56 do not set .MAIN: dirdeps in sys.dirdeps.mk 57 dirdeps-targets.mk will do that for top-level builds 58 and init.mk will do it for others. 59 This allows a Makefile which has no need of 'dirdeps' to 60 set .MAIN for itself and "just work". 61 622024-02-18 Simon J Gerraty <sjg@beast.crufty.net> 63 64 * bsd.*.mk: for makefiles that get a bsd. symlink, 65 use _this in multiple inclusion tags since .PARSEFILE will not 66 DTRT when such a makefile is included directly by Makefile and 67 automatically (without bsd. prefix). 68 Since we cannot guarantee that our sys.mk will be used, we provide 69 a default _this in each makefile that gets a bsd. prefix such that 70 the value is the same regardless of bsd. prefix. 71 72 * subdir.mk: drop the !target guard on $SUBDIR_TARGETS 73 742024-02-12 Simon J Gerraty <sjg@beast.crufty.net> 75 76 * install-mk (MK_VERSION): 20240212 77 78 * SPDX-License-Identifier: BSD-2-Clause 79 Add SPDX-License-Identifier to inidicate that I consider 80 my copyright on any of these makefiles equivalent to BSD-2-Clause 81 82 * autoconf.mk: allow for configure.ac as currently recommended 83 84 * subdir.mk: support @auto 85 which is replaced with each subdir that 86 has a [Mm]akefile. 87 88 * subdir.mk: include local.subdir.mk if it exists. 89 90 * subdir.mk: rework to handle .WAIT 91 922024-02-11 Simon J Gerraty <sjg@beast.crufty.net> 93 94 * subdir.mk: _SUBDIRUSE report the target we are entering subdirs for. 95 962024-02-10 Simon J Gerraty <sjg@beast.crufty.net> 97 98 * prog.mk: treat empty SRCS the same as undefined 99 1002024-02-02 Simon J Gerraty <sjg@beast.crufty.net> 101 102 * Avoid undefined errors in lint (-dL) mode 103 104 * man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7) 105 1062024-01-28 Simon J Gerraty <sjg@beast.crufty.net> 107 108 * install-mk (MK_VERSION): 20240128 109 110 * FILES: add ccm.dep.mk for C++ modules 111 add suffixes.mk for common location for generic SUFFIX rules. 112 113 * auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk 114 replace OBJ_EXTENSIONS with OBJ_SUFFIXES 115 116 * autodep.mk: leverage CXX_SUFFIXES for __depsrcs 117 and update style (spaces around = etc) 118 119 * init.mk: add OBJS_SRCS_FILTER to filter SRCS when 120 setting OBJS 121 122 * meta2deps.py: handle multiple ./ embedded in path better. 123 1242024-01-05 Simon J Gerraty <sjg@beast.crufty.net> 125 126 * install-mk (MK_VERSION): 20240105 127 * dirdeps.mk: for MAKE_VERSION 20240105 we do not have the same 128 limits on command line length, so skip export of lists to env. 129 1302023-12-24 Simon J Gerraty <sjg@beast.crufty.net> 131 132 * man.mk: add logic for staging man pages 133 1342023-11-28 Simon J Gerraty <sjg@beast.crufty.net> 135 136 * jobs.mk: avoid C suffix in JOB_MAX_C if factor is floating 137 point. This keeps JOB_MAX numeric incase another makefile does 138 comparisons. 139 1402023-11-04 Simon J Gerraty <sjg@beast.crufty.net> 141 142 * dpadd.mk: add support for DPLIBS_QUALIFIER_LIST 143 144 * gendirdeps.mk: if META_XTRAS is passed to us, add to META_FILES 145 1462023-10-03 Simon J Gerraty <sjg@beast.crufty.net> 147 148 * compiler.mk (COMPILER_VERSION): clang at least is into 149 double digit major versions. 150 1512023-10-02 Simon J Gerraty <sjg@beast.crufty.net> 152 153 * install-mk (MK_VERSION): 20231001 154 155 * set _CCLINK in init.mk so lib.mk can use it for default SHLIB_LD 156 157 * lib.mk (cleanlib): use LD_solink so we remove all the right files. 158 Use -Wl for -soname since we now default to linking with CC 159 We should not need SHLIB_LDSTARTFILE or SHLIB_LDENDFILE when linking 160 with CC. 161 1622023-09-24 Simon J Gerraty <sjg@beast.crufty.net> 163 164 * init.mk (QUALIFIED_VAR_LIST): Add SRCS 165 1662023-09-09 Simon J Gerraty <sjg@beast.crufty.net> 167 168 * jobs.mk (JOB_MAX): use -jC if we can 169 we actually use JOB_MAX_C which defaults to 1.33C 170 1712023-08-18 Simon J Gerraty <sjg@beast.crufty.net> 172 173 * now_utc: %s only works with :localtime 174 1752023-07-14 Simon J Gerraty <sjg@beast.crufty.net> 176 177 * install-sh: ignore -c as claimed and only insist on 178 a directory for destination when more than one file to copy. 179 180 * sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and 181 ${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64) 182 1832023-07-13 Simon J Gerraty <sjg@beast.crufty.net> 184 185 * install-mk (MK_VERSION): 20230711 186 187 * sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible 188 install(1) 189 190 * sys/IRIX.mk: when setting ROOT_GROUP only match the first :0: 191 set INSTALL to install-sh rather than pathname that may not exist 192 (yet). 193 1942023-07-07 Simon J Gerraty <sjg@beast.crufty.net> 195 196 * dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE 197 normally this is empty - for the default target, but there are 198 use-cases where we might set it to something else. 199 2002023-07-04 Simon J Gerraty <sjg@beast.crufty.net> 201 202 * install-mk (MK_VERSION): 20230704 203 204 * dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output 205 when DEBUG_DIRDEPS is in effect. 206 Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n 207 can greatly improve readability. 208 2092023-05-25 Simon J Gerraty <sjg@beast.crufty.net> 210 211 * meta.autodep.mk (beforegendirdeps): allow tasks to be done 212 at END but before gendirdeps 213 2142023-05-22 Simon J Gerraty <sjg@beast.crufty.net> 215 216 * install-mk (MK_VERSION): 20230522 217 218 * host-target.mk: deal with garbage from uname -m on 219 Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH 220 these days so just leave it be. 221 For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get 222 arm64 and x86_64 in HOST_TARGET. 223 2242023-05-15 Simon J Gerraty <sjg@beast.crufty.net> 225 226 * sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older 227 versions of bmake. 228 229 * dirdeps.mk (TARGET_SPEC_VARS.host): 230 While *most* projects need only DEP_MACHINE for host, 231 there is always an exception. So we allow for 232 TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS. 233 The default will *just work* for most projects. 234 We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC 235 based on DEP_MACHINE. 236 Allow for M_dep_qual_fixes.host to be different too 237 and take care to apply the right set. 238 2392023-05-14 Simon J Gerraty <sjg@beast.crufty.net> 240 241 * sys.dirdeps.mk: we *do* want to override OBJTOP 242 and if MAKEOBJDIR was not in env as we want it; 243 put it there - carefully. 244 Ensure OBJROOT ends in / or - (/ preferred) 245 Add more comments to explain what/why. 246 2472023-05-13 Simon J Gerraty <sjg@beast.crufty.net> 248 249 * install-mk (MK_VERSION): 20230512 250 251 * dirdeps.mk: take care not to qualify "host" dirdeps 252 253 * sys.dirdeps.mk (OBJTOP): must use ?= 254 2552023-05-10 Simon J Gerraty <sjg@beast.crufty.net> 256 257 * meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no" 258 suppress processing of .depend 259 2602023-05-09 Simon J Gerraty <sjg@beast.crufty.net> 261 262 * dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP 263 264 * meta.sys.mk sys.dirdeps.mk: 265 originally DIRDEPS_BUILD and META_MODE were the same thing, 266 but META_MODE is useful by itself. 267 Move things from meta.sys.mk which actually pertain to 268 DIRDEPS_BUILD to sys.dirdeps.mk 269 2702023-05-04 Simon J Gerraty <sjg@beast.crufty.net> 271 272 * install-mk (MK_VERSION): 20230504 May the Forth be with you 273 274 * dirdeps.mk: as with meta.sys.mk we treat "host" as special. 275 DEP_TARGET_SPEC is just ${DEP_MACHINE} 276 277 * meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at 278 level > 0 since these are often refered to in Makefile.depend* 279 2802023-04-26 Simon J Gerraty <sjg@beast.crufty.net> 281 282 * jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and 283 anything in ${JOB_LOG_START} 284 285 * jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}} 286 or a scripts subdir before searching $PATH. 287 288 * FILES: include newlog.sh for jobs.mk 289 2902023-04-20 Simon J Gerraty <sjg@beast.crufty.net> 291 292 * install-mk (MK_VERSION): 20230420 293 294 * lib.mk: include LDFLAGS and LDADD when linking shared libs 295 296 * gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc 297 via local.meta.sys.mk rather than local.gendirdeps.mk 298 so DEP_* variables can be set at level 1+ to avoid syntax errors 299 when used in conditionals in manually maintained Makefile.depend 300 files. 301 302 * dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines 303 3042023-04-18 Simon J Gerraty <sjg@beast.crufty.net> 305 306 * dirdeps.mk: check we were not included by 307 Makefile.depend.options as the result is bad. 308 3092023-04-14 Simon J Gerraty <sjg@beast.crufty.net> 310 311 * install-mk (MK_VERSION): 20230414 312 313 * meta.sys.mk: since we have :range we can put the logic for 314 processing TARGET_SPEC from env here. 315 316 * dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including 317 local.dirdeps-missing.mk, also improve debug output. 318 319 * dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC 320 we need to use :M*[/.]* same as for when actually setting DIRDEPS 321 from the targets on command line. 322 3232023-04-12 Simon J Gerraty <sjg@beast.crufty.net> 324 325 * Add jobs.mk 326 3272023-03-21 Simon J Gerraty <sjg@beast.crufty.net> 328 329 * install-mk (MK_VERSION): 20230321 330 331 * meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter 332 STAGE_LIBS for SHLIB_LINKS. 333 334 * autoconf.mk: add .WAIT after config.status 335 3362023-02-17 Simon J Gerraty <sjg@beast.crufty.net> 337 338 * sys.vars.mk: add M_Index to report the index of a word in a list. 339 3402023-02-15 Simon J Gerraty <sjg@beast.crufty.net> 341 342 * install-mk (MK_VERSION): 20230215 343 344 * warnings.mk: allow better control of -Werror 345 allow -Wno-error or similar to be added if 346 WARNINGS_SET < WERROR_SET 347 account for COMPILER_TYPE 348 3492023-01-29 Simon J Gerraty <sjg@beast.crufty.net> 350 351 * autoconf.mk: hook config.status to beforebuild. 352 353 * whats.mk: what*.c is NOTMAIN 354 3552023-01-27 Simon J Gerraty <sjg@beast.crufty.net> 356 357 * install-mk (MK_VERSION): 20230127 358 control umask so directories are created with suitable mode. 359 3602023-01-20 Simon J Gerraty <sjg@beast.crufty.net> 361 362 * install-mk (MK_VERSION): 20230120 363 364 * sys.vars.mk: add M_On and M_Onr also cleanup to be more 365 consistent wrt testing MAKE_VERSION 366 3672023-01-12 Simon J Gerraty <sjg@beast.crufty.net> 368 369 * install-mk (MK_VERSION): 20230112 370 371 * meta2deps.{py,sh}: assert if filemon data is truncated 372 we should see the '# Bye bye' record - assert if we do not. 373 3742022-09-09 Simon J Gerraty <sjg@beast.crufty.net> 375 376 * install-mk (MK_VERSION): 20220909 377 378 * sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings 379 3802022-09-06 Simon J Gerraty <sjg@beast.crufty.net> 381 382 * dirdeps-options.mk: explain the need to use 383 ${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to 384 ${TARGET_SPEC_VAR} 385 3862022-09-03 Simon J Gerraty <sjg@beast.crufty.net> 387 388 * install-mk (MK_VERSION): 20220903 389 390 * M_cmpv handle more than 3 dots and clear leading 0's 391 3922022-07-20 Simon J Gerraty <sjg@beast.crufty.net> 393 394 * install-mk (MK_VERSION): 20220720 395 396 * prog.mk: handle PROG_CXX for more than just NetBSD 397 3982022-06-20 Simon J Gerraty <sjg@beast.crufty.net> 399 400 * install-mk (MK_VERSION): 20220620 401 402 * yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER 403 rather than just suffix rules 404 4052022-04-23 Simon J Gerraty <sjg@beast.crufty.net> 406 407 * install-mk (MK_VERSION): 20220422 408 409 * gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no" 410 do not capture any local depends in Makefile.depend 411 4122022-03-25 Simon J Gerraty <sjg@beast.crufty.net> 413 414 * install-mk (MK_VERSION): 20220323 415 * posix.mk: default rules for .POSIX: 416 4172022-03-17 Simon J Gerraty <sjg@beast.crufty.net> 418 419 * sys/*.mk: remove l from ARFLAGS 420 4212022-03-14 Simon J Gerraty <sjg@beast.crufty.net> 422 423 * install-mk (MK_VERSION): 20220314 424 425 * dirdeps-options.mk: allow options to be per RELDIR 426 try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed 427 with ${DEP_RELDIR}. 428 4292022-02-14 Simon J Gerraty <sjg@beast.crufty.net> 430 431 * install-mk (MK_VERSION): 20220214 432 433 * cc-wrap.mk: fix :@ modifier 434 4352022-02-06 Simon J Gerraty <sjg@beast.crufty.net> 436 437 * install-mk (MK_VERSION): 20220206 438 439 * cc-wrap.mk: docuement how CCACHE etc might be set for 440 maximum flexibility 441 4422022-02-05 Simon J Gerraty <sjg@beast.crufty.net> 443 444 * sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT 445 4462022-02-04 Simon J Gerraty <sjg@beast.crufty.net> 447 448 * install-mk (MK_VERSION): 20220204 449 450 * host-target.mk: use .MAKE.OS if available 451 4522022-02-02 Simon J Gerraty <sjg@beast.crufty.net> 453 454 * install-mk (MK_VERSION): 20220202 455 456 * cc-wrap.mk: allow other entries in CC_WRAP_FILTER 457 We add our filter on extensions last, so prior filters 458 can apply to the whole value of .IMPSRC 459 4602022-02-01 Simon J Gerraty <sjg@beast.crufty.net> 461 462 * cc-wrap.mk: take advantage of target local variables to 463 wrap compilers like CC CXX with wrappers like ccache distcc etc 464 4652022-01-28 Simon J Gerraty <sjg@beast.crufty.net> 466 467 * meta2deps: we do not expect any trace data for setid apps 468 4692022-01-26 Simon J Gerraty <sjg@beast.crufty.net> 470 471 * dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed 472 to sub-make using DIRDEPS_CACHE 473 4742022-01-07 Simon J Gerraty <sjg@beast.crufty.net> 475 476 * dirdeps.mk: use _cache_script to minimize the number of shells 477 forked when generating dirdeps.cache 478 4792022-01-02 Simon J Gerraty <sjg@beast.crufty.net> 480 481 * install-mk (MK_VERSION): 20220101 482 483 * dirdeps.mk: initialize DEP_* and _debug_reldir earlier. 484 If initial DIRDEPS are from command line, create the target 485 _dirdeps_cmdline as an indication. 486 4872022-01-01 Simon J Gerraty <sjg@beast.crufty.net> 488 489 * init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD 490 at top-level only some targets are allowed at level 0, 491 for leaf makefiles only the default (all) target is restricted 492 4932021-12-28 Simon J Gerraty <sjg@beast.crufty.net> 494 495 * install-mk (MK_VERSION): 20211228 496 497 * meta2deps.py: filemon on Linux is not as reliable as we might 498 like, we do not want to update DIRDEPS if filemon output is 499 incomplete. Track pids that we 'E'xec and make sure we see an 500 e'X'it for each one. Throw an error if we are missing any 'X' 501 records. 502 5032021-12-12 Simon J Gerraty <sjg@beast.crufty.net> 504 505 * sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes. 506 507 * meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON 508 is something else. 509 510 * meta.autodep.mk: we can now reference ${.SUFFIXES} 511 512 * meta2deps.py: derive a list of dirdep extensions from 513 TARGET_SPEC to trim from dirdeps. 514 515 * dirdeps.mk: flip the computation of qualified vs unqualified 516 dirdeps - it is much simpler to check for unqualified first. 517 5182021-12-11 Simon J Gerraty <sjg@beast.crufty.net> 519 520 * install-mk (MK_VERSION): 20211212 521 522 * auto.dep.mk: rearrange so that the trivial implementation 523 for recent bmake is more obvious. 524 5252021-12-07 Simon J Gerraty <sjg@beast.crufty.net> 526 527 * install-mk (MK_VERSION): 20211207 528 529 * Ensure guard targets are .NOTMAIN 530 531 * meta.sys.mk: check for nofilemon support when we skip level 0 532 533 * auto.dep.mk: make this usable in meta mode 534 for platforms that cannot use meta.autodep.mk 535 536 * meta2deps.py: avoid confusion if MACHINE and another 537 TARGET_SPEC_VAR have same value. 538 5392021-11-27 Simon J Gerraty <sjg@beast.crufty.net> 540 541 * dirdeps.mk: when building dirdeps.cache, minimize the amount of 542 data put into env, by stripping ${SRCTOP}/ from each entry. 543 A long sandbox name can double the amount of memory consumed and 544 in extreme cases cause failure. 545 While we are at it, strip ${SRCTOP}/ from a lot of the debug output. 546 5472021-11-11 Simon J Gerraty <sjg@beast.crufty.net> 548 549 * install-mk (MK_VERSION): 20211111 550 551 * meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail 552 so fallback to cp if necessary. 553 5542021-10-30 Simon J Gerraty <sjg@beast.crufty.net> 555 556 * man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year 557 old cmt2doc.pl 558 5592021-10-24 Simon J Gerraty <sjg@beast.crufty.net> 560 561 * meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f} 562 as the symlink (rare) 563 5642021-10-16 Simon J Gerraty <sjg@beast.crufty.net> 565 566 * autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not 567 been read, throw an error after running configure telling user to 568 restart. 569 5702021-10-13 Simon J Gerraty <sjg@beast.crufty.net> 571 572 * install-mk (MK_VERSION): 20211011 573 574 * Add support for SCO_SV 575 5762021-10-01 Simon J Gerraty <sjg@beast.crufty.net> 577 578 * install-mk (MK_VERSION): 20211001 579 580 * man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more 581 flexibility 582 5832021-09-13 Simon J Gerraty <sjg@beast.crufty.net> 584 585 * options.mk (describe-options): print options and their values 586 and optional description 587 5882021-09-11 Simon J Gerraty <sjg@beast.crufty.net> 589 590 * install-mk (MK_VERSION): 20210911 591 592 * options.mk (show-options): print options and their values 593 5942021-09-08 Simon J Gerraty <sjg@beast.crufty.net> 595 596 * install-mk (MK_VERSION): 20210909 597 598 * lib.mk: apply patch from <daniel@octaforge.org> 599 to fix shared libs on Linux 600 6012021-08-08 Simon J Gerraty <sjg@beast.crufty.net> 602 603 * install-mk (MK_VERSION): 20210808 604 605 * options.mk: issue warning for WITH_*=no 606 6072021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 608 609 * install-mk (MK_VERSION): 20210616 610 611 * dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find 612 depend files to read, anchor MACHINE at , or end of string 613 to avoid prefix match. 614 6152021-05-04 Simon J Gerraty <sjg@beast.crufty.net> 616 617 * install-mk (MK_VERSION): 20210504 618 619 * dirdeps.mk: re-implement ALL_MACHINES support to better 620 cater for local complexities, when ONLY_TARGET_SPEC_LIST 621 is not set. local.dirdeps.mk can set 622 DIRDEPS_ALL_MACHINES_FILTER and/or 623 DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get 624 from listing all existing Makefile.depend.* 625 6262021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 627 628 * install-mk (MK_VERSION): 20210420 629 630 * dirdeps.mk: revert previous - not always safe. 631 6322021-03-20 Simon J Gerraty <sjg@beast.crufty.net> 633 634 * install-mk (MK_VERSION): 20210321 635 636 * dirdeps.mk: when generating dirdeps.cache 637 we only need to hook the initial DIRDEPS to the 638 dirdeps target. That and any _build_xtra_dirs (like tests which 639 should not be hooked directly to the dependency graph - to avoid 640 cycles) 641 6422021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 643 644 * install-mk (MK_VERSION): 20210130 645 646 * dirdeps.mk: expr 2 - 1 - 1 exits with a bad status 647 we need to guard against this in DIRDEP_LOADAVG_REPORT. 648 649 * dirdeps.mk: restore respect for TARGET_MACHINE 650 6512021-01-06 Simon J Gerraty <sjg@beast.crufty.net> 652 653 * install-mk (MK_VERSION): 20210101 654 655 * dirdeps.mk: first time we are read, just use TARGET_SPEC for 656 _DEP_TARGET_SPEC 657 6582020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 659 660 * sys.mk (MAKE_SHELL): use ${.SHELL:Ush} 661 and use := when setting SHELL 662 6632020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 664 665 * install-mk (MK_VERSION): 20201221 666 667 * dirdeps-options.mk: latest bmake allows only one arg to .undef 668 6692020-12-11 Simon J Gerraty <sjg@beast.crufty.net> 670 671 * dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS 672 so that any directory can be treated as a target. 673 6742020-11-26 Simon J Gerraty <sjg@beast.crufty.net> 675 676 * install-mk (MK_VERSION): 20201126 677 678 * own.mk: use .MAKE.{UID,GID} if available. 679 680 * init.mk: suppress _SKIP_BUILD warning if doing -V 681 6822020-11-20 Simon J Gerraty <sjg@beast.crufty.net> 683 684 * install-mk (MK_VERSION): 20201120 685 686 * init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS 687 688 * dirdeps-targets.mk: fix typo in comment 689 6902020-11-06 Simon J Gerraty <sjg@beast.crufty.net> 691 692 * install-mk (MK_VERSION): 20201106 693 694 * meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed 695 args to tweak extensions for local deps. 696 6972020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 698 699 * install-mk (MK_VERSION): 20201101 700 701 * dirdeps.mk: most leaf makefiles are not suitable for building 702 dirdeps.cache so if RELDIR is not "." use dirdeps.mk 703 7042020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 705 706 * install-mk (MK_VERSION): 20201028 707 708 * dirdeps.mk: if we don't have :range use equivalent of M_RANGE 709 when building dirdeps.cache for leaf directory use -f dirdeps.mk 710 711 * sys.vars.mk: add M_JOT and M_RANGE 712 7132020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 714 715 * install-mk (MK_VERSION): 20201001 716 717 * meta2deps.{py,sh}: throw an error if we don't see filemon version 718 7192020-09-09 Simon J Gerraty <sjg@beast.crufty.net> 720 721 * install-mk (MK_VERSION): 20200909 722 723 * dirdeps-cache-update.mk: use cache_update_dirdep as guard target 724 7252020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 726 727 * dirdeps.mk: ensure we cannot confuse a static cache for dynamic 728 (even more rare that use of static cache is playing clever tricks 729 with it) 730 7312020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 732 733 * dirdeps-cache-update.mk: allow 734 MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we 735 actually update STATIC_DIRDEPS_CACHE. 736 737 * stage-install.sh: create dest directory if needed 738 before running install(1) 739 7402020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 741 742 * dirdeps-targets.mk: include Makefile.dirdeps.options 743 744 * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE 745 7462020-08-09 Simon J Gerraty <sjg@beast.crufty.net> 747 748 * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty 749 750 * dirdeps-cache-update.mk: building parallel cache update 751 under the context of dirdeps-cached would be ideal, but 752 is problematic, so it runs as a sibling. 753 Use cache-built target to ensure we wait for it to complete if 754 necessary. 755 7562020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 757 758 * install-mk (MK_VERSION): 20200806 759 760 * dirdeps-options: allow TARGET_SPEC to affect option values. 761 Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_* 762 763 * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined 764 before looking for STATIC_DIRDEPS_CACHE 765 7662020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 767 768 * host-target.mk: Darwin use MACHINE for HOST_ARCH too 769 770 * dirdeps-options.mk: improve debug output 771 7722020-07-22 Simon J Gerraty <sjg@beast.crufty.net> 773 774 * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE 775 for use by dirdeps-cache-update.mk 776 777 * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE 778 for use by dirdeps-cache-update.mk even if we don't use it. 779 780 * dirdeps-cache-update.mk: we only need worry about the background 781 update case, with the above, the update from DIRDEPS_CACHE is 782 simple. 783 784 * meta2deps.py: R 1234 . is not interesting 785 7862020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 787 788 * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE 789 790 * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS 791 allows use of lower case for pseudo options. 792 793 * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE 794 7952020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 796 797 * dirdeps-targets.mk: Look for Makefile.dirdeps.cache 798 which allows us to have a static cache for expensive targets. 799 Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE 800 to regenerate the dirdeps.cache it is a copy of. 801 8022020-07-17 Simon J Gerraty <sjg@beast.crufty.net> 803 804 * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense. 805 8062020-07-16 Simon J Gerraty <sjg@beast.crufty.net> 807 808 * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record 809 load averages at intervals during build. 810 8112020-07-15 Simon J Gerraty <sjg@beast.crufty.net> 812 813 * install-mk (MK_VERSION): 20200715 814 815 * dirdeps.mk: tweak Checking line to make matching Finished 816 lines for post-build analysis easier. 817 818 * meta.autodep.mk: use !defined(WITHOUT_META_STATS) 819 820 * progs.mk: avoid prog.mk outputting multiple Finished lines 821 8222020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 823 824 * dirdeps.mk: further optimize dirdeps.cache 825 generate a DIRDEPS.${.TARGET} list for other purposes 826 and improve the layout. 827 8282020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 829 830 * dirdeps.mk: optimize content of dirdeps.cache 831 8322020-06-28 Simon J Gerraty <sjg@beast.crufty.net> 833 834 * sys/*.mk: make it easier for local*sys.mk to customize by 835 using ?= 836 8372020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 838 839 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0 840 it is much safer to guard local depends with a simple check for 841 .MAKE.LEVEL > 0 842 8432020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 844 845 * install-mk (MK_VERSION): 20200610 846 847 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok 848 8492020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 850 851 * install-mk (MK_VERSION): 20200606 852 853 * dirdeps-targets.mk: allow for filtering of .TARGETS 854 855 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove 856 entries - and we don't care about 'W'rite entries. 857 Also ignore absolute paths that do not exist. 858 8592020-05-25 Simon J Gerraty <sjg@beast.crufty.net> 860 861 * install-mk (MK_VERSION): 20200525 862 863 * init.mk: expand and simplify handling of qualified vars 864 like CPPFLAGS.${.TARGET:T} 865 8662020-05-15 Simon J Gerraty <sjg@beast.crufty.net> 867 868 * install-mk (MK_VERSION): 20200515 869 870 * dirdeps.mk: set _debug_* earlier and allow passing -d* 871 flags to submake when building DIRDEPS_CACHE 872 8732020-05-09 Simon J Gerraty <sjg@beast.crufty.net> 874 875 * whats.mk: more easily extensible 876 8772020-05-02 Simon J Gerraty <sjg@beast.crufty.net> 878 879 * whats.mk: greatly simplify by adding what.c to SRCS 880 8812020-05-01 Simon J Gerraty <sjg@beast.crufty.net> 882 883 * whats.mk: for libs take care how we add to *OBJS 884 885 * lib.mk: : works better with whats.mk 886 8872020-04-25 Simon J Gerraty <sjg@beast.crufty.net> 888 889 * install-mk (MK_VERSION): 20200420 890 891 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep 892 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC} 893 8942020-04-16 Simon J Gerraty <sjg@beast.crufty.net> 895 896 * install-mk (MK_VERSION): 20200416 897 898 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to 899 interfere with user env. 900 901 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL 902 903 * autodep.mk: use MAKE_SHELL. 904 9052019-11-21 Simon J Gerraty <sjg@beast.crufty.net> 906 907 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of 908 wasted effort, and unexport _meta_files when no longer needed as 909 it consumes space we need for command line. 910 9112019-11-11 Simon J Gerraty <sjg@beast.crufty.net> 912 913 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add 914 DIRDEP_USE_PRELUDE at start - facilitates job distribution 915 9162019-10-04 Simon J Gerraty <sjg@beast.crufty.net> 917 918 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST 919 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid 920 TARGET_SPEC qualified depend files. 921 9222019-10-02 Simon J Gerraty <sjg@beast.crufty.net> 923 924 * dirdeps-targets.mk: encapsulate logic for finding top-level 925 targets to set initial DIRDEPS for DIRDEPS_BUILD 926 9272019-09-27 Simon J Gerraty <sjg@beast.crufty.net> 928 929 * install-mk (MK_VERSION): 20190911 930 931 * compiler.mk: set COMPILER_TYPE 932 9332019-07-17 Simon J Gerraty <sjg@beast.crufty.net> 934 935 * install-mk (MK_VERSION): 20190704 936 937 * sys/Darwin.mk: support for Objective-C and clang 938 9392019-05-30 Simon J Gerraty <sjg@beast.crufty.net> 940 941 * dirdeps.mk: avoid insanely long command line when generating cache 942 9432019-05-23 Simon J Gerraty <sjg@beast.crufty.net> 944 945 * install-mk (MK_VERSION): 20190505 946 947 * whats.mk: handle corner case SHLIB defined but not LIB 948 9492018-09-19 Simon J Gerraty <sjg@beast.crufty.net> 950 951 * install-mk (MK_VERSION): 20180919 952 953 * dirdeps-options.mk: .undef cannot handle var that expands to 954 more than one var. 955 9562018-07-08 Simon J Gerraty <sjg@beast.crufty.net> 957 958 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc. 959 9602018-06-01 Simon J Gerraty <sjg@beast.crufty.net> 961 962 * meta.autodep.mk: export META_FILES to avoid command line limit 963 * gendirdeps.mk: if we have lots of .meta files put them in 964 an @list 965 9662018-05-28 Simon J Gerraty <sjg@beast.crufty.net> 967 968 * dirdeps-options.mk: use local.dirdeps-options.mk 969 not local.dirdeps-option.mk 970 9712018-04-20 Simon J Gerraty <sjg@beast.crufty.net> 972 973 * install-mk (MK_VERSION): 20180420 974 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0 975 ie. we are building something. 976 9772018-04-14 Simon J Gerraty <sjg@beast.crufty.net> 978 979 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS. 980 9812018-04-05 Simon J Gerraty <sjg@beast.crufty.net> 982 983 * install-mk (MK_VERSION): 20180405 984 985 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER 986 if needed. 987 9882018-01-18 Simon J Gerraty <sjg@beast.crufty.net> 989 990 * install-mk (MK_VERSION): 20180118 991 992 * ldorder.mk: let make compute correct link order 993 9942017-12-12 Simon J Gerraty <sjg@beast.crufty.net> 995 996 * install-mk (MK_VERSION): 20171212 997 998 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER 999 10002017-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1001 1002 * install-mk (MK_VERSION): 20171111 1003 1004 * lib.mk: ensure META_NOECHO is set 1005 10062017-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 1007 1008 * Allow for host32 on rare occasions. 1009 10102017-10-18 Simon J. Gerraty <sjg@bad.crufty.net> 1011 1012 * install-mk (MK_VERSION): 20171018 1013 1014 * whats.mk: include what_thing in what_uuid to avoid problem 1015 when building multiple apps in the same directory. 1016 10172017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 1018 1019 * install-mk (MK_VERSION): 20170812 1020 1021 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can 1022 add dependencies for config.recheck and config.gen 1023 10242017-06-30 Simon J. Gerraty <sjg@bad.crufty.net> 1025 1026 * install-mk (MK_VERSION): 20170630 1027 1028 * meta.stage.mk: avoid triggering stage_* targets with nothing to do. 1029 10302017-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 1031 1032 * meta2deps.py: take special care of '..' 1033 10342017-05-15 Simon J. Gerraty <sjg@bad.crufty.net> 1035 1036 * install-mk (MK_VERSION): 20170515 1037 1038 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is 1039 useful/necessary for a Makefile.depend file to export some knobs. 1040 This is complicated when we are doing DIRDEPS_CACHE, so we will 1041 handle export of any variables listed in DEP_EXPORT_VARS. 1042 10432017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 1044 1045 * install-mk (MK_VERSION): 20170505 1046 1047 * meta2deps.py: fix botched indenation. 1048 10492017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1050 1051 * sys/*.mk: Remove setting of MAKE it is unnecessary and 1052 in many cases wrong (basname rather than full path) 1053 1054 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk 1055 1056 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc 1057 10582017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1059 1060 * install-mk (MK_VERSION): 20170501 1061 1062 * doc.mk: fix typo in DOC_INSTALL_OWN 1063 1064 * inc.mk: handle INCGROUPS similar to freebsd 1065 1066 * files.mk: add something for files too 1067 1068 * add staging logic to lib.mk prog.mk etc. 1069 10702017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 1071 1072 * install-mk (MK_VERSION): 20170424 1073 1074 * dirdeps.mk: set NO_DIRDEPS when bootstrapping. 1075 also target of bootstrap-this when sed is needed should be ${_want:T} 1076 10772017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1078 1079 * install-mk (MK_VERSION): 20170418 1080 1081 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a 1082 prefix match for .CURDIR - in which case .CURDIR *is* __objdir. 1083 10842017-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1085 1086 * install-mk (MK_VERSION): 20170401 1087 1088 * meta2deps.py: add is_src so we can check if obj dependency 1089 is also a src dependency. 1090 10912017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 1092 1093 * install-mk (MK_VERSION): 20170326 1094 1095 * meta.stage.mk: do nothing if NO_STAGING is defined. 1096 10972017-03-24 Simon J. Gerraty <sjg@bad.crufty.net> 1098 1099 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc. 1100 11012017-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1102 1103 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_* 1104 11052017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1106 1107 * install-mk (MK_VERSION): 20170301 1108 1109 * dirdeps.mk (_build_all_dirs): update this outside test for empty 1110 DIRDEPS. 1111 1112 * meta.stage.mk: allow multiple inclusion to the extent it makes 1113 sense. 1114 11152017-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1116 1117 * prog.mk (install_links): depends on realinstall 1118 11192017-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 1120 1121 * install-mk (MK_VERSION): 20170212 1122 1123 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries 1124 11252017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 1126 1127 * install-mk (MK_VERSION): 20170130 1128 1129 * dirdeps.mk: use :range if we can. 1130 1131 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130 1132 1133 * meta2deps.py: clean paths without using realpath() where possible. 1134 fix sort_unique. 1135 11362016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1137 1138 * install-mk (MK_VERSION): 20161212 1139 1140 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, 1141 rather than when we detect pid change. 1142 11432016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 1144 1145 * install-mk (MK_VERSION): 20161207 1146 1147 * meta.stage.mk: add stage_as_and_symlink for staging packages. 1148 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able 1149 to use foo.tgz to reference the latest staged version - so we 1150 make foo.tgz a symlink to it. 1151 Using a target to do both operations ensures we stay in sync. 1152 11532016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1154 1155 * install-mk (MK_VERSION): 20161126 1156 1157 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk 1158 so it can add dependencies. 1159 11602016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1161 1162 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE 1163 do that they can influence the result correctly. 1164 1165 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC 1166 1167 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST 1168 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 1169 11702016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 1171 1172 * dirdeps.mk: remove dependence on jot (normal situations anyway). 1173 Before we read another Makefile.depend* set DEP_* vars from 1174 _DEP_TARGET_SPEC in case it uses any of them with := 1175 When bootstrapping, trim any ,* from extention of chosen _src 1176 Makefile.depend* to get the machine value we subst for. 1177 11782016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> 1179 1180 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to 1181 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER 1182 1183 * sys.mk: extract some bits to sys.{debug,vars}.mk 1184 for easier re-use by others. 1185 11862016-09-23 Simon Gerraty <sjg@sjg-mba13> 1187 1188 * lib.mk: Use ${PICO} for extension for PIC objects. 1189 default to .pico (like NetBSD) safe on case insensitive filesystem. 1190 11912016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> 1192 1193 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default 1194 11952016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 1196 1197 * install-mk (MK_VERSION): 20160815 1198 1199 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only 1200 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date. 1201 12022016-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 1203 1204 * meta.sys.mk (.MAKE.META.IGNORE_PATHS): 1205 in meta mode we can ignore the mtime of makefiles 1206 12072016-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1208 1209 * install-mk (MK_VERSION): 20160802 1210 1211 * lib.mk (libinstall): depends on beforinstall 1212 1213 * prog.mk (proginstall): depends on beforinstall 1214 patch from Lauri Tirkkonen 1215 1216 * dirdeps.mk (bootstrap): When bootstrapping; creat 1217 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via 1218 .MAKE.DEPENDFILE_BOOTSTRAP_SED 1219 1220 * dirdeps.mk: move some comments to where they make sense. 1221 12222016-07-27 Simon J. Gerraty <sjg@bad.crufty.net> 1223 1224 * dirdeps.mk (DIRDEPS_CACHE): no dirname. 1225 12262016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1227 1228 * install-mk (MK_VERSION): 20160602 1229 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk 1230 do not apply :T to META_XTRAS 1231 patch from Bryan Drewery at FreeBSD.org. 1232 12332016-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 1234 1235 * install-mk (MK_VERSION): 20160530 1236 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH 1237 make it so. 1238 12392016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 1240 1241 * install-mk (MK_VERSION): 20160512 1242 1243 * dpadd.mk: always include local.dpadd.mk if it exists 1244 remove some things that better belong in local.dpadd.mk 1245 skip INCLUDES_* for staged libs unless SRC_* defined. 1246 1247 * own.mk: add INCLUDEDIR 1248 12492016-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1250 1251 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no 1252 TARGET_MACHINE - :E will be empty or match part of path, use 1253 ${MACHINE} 1254 12552016-04-07 Simon J. Gerraty <sjg@bad.crufty.net> 1256 1257 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to 1258 NO_FILEMON_COOKIE 1259 1260 * dirdeps.mk: move the logic that allows for 1261 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1262 inside the check for !target(_DIRDEP_USE) 1263 12642016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 1265 1266 * Use <> when including local*.mk and others which may exist 1267 elsewhere so that user can better control what they get. 1268 1269 * meta.autodep.mk (NO_FILEMON_COOKIE): 1270 create a cookie if we ever build dir with nofilemon 1271 so that UPDATE_DEPENDFILE will be forced to NO until cleaned. 1272 12732016-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1274 1275 * install-mk (MK_VERSION): 20160401 1276 1277 * meta2deps.py: fix old print statement when debugging. 1278 1279 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X 1280 patch from Bryan Drewery 1281 12822016-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 1283 1284 * install-mk (MK_VERSION): 20160317 (St. Pats) 1285 1286 * warnings.mk: g++ does not like -Wimplicit 1287 1288 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the 1289 pelthora of common suffixes for C++ 1290 1291 * lib.mk: use .So for shared objects 1292 12932016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1294 1295 * install-mk (MK_VERSION): 20160315 1296 1297 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 1298 normally only applies to scripts. 1299 1300 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 1301 well as outside it. 1302 13032016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1304 1305 * install-mk (MK_VERSION): 20160310 1306 1307 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 1308 we have processed; the list gets very inefficient as number of 1309 DIRDEPS gets large. 1310 1311 * sys.dependfile.mk: fix comment wrt MACHINE 1312 1313 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 1314 patch from Bryan Drewery 1315 13162016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 1317 1318 * meta2deps.sh: don't ignore subdirs. 1319 patch from Bryan Drewery 1320 13212016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1322 1323 * install-mk (MK_VERSION): 20160226 1324 1325 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 1326 13272016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 1328 1329 * dirdeps.mk: we shouldn't normally include .depend but if we do 1330 use .dinclude if we can. 1331 13322016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1333 1334 * install-mk (MK_VERSION): 20160218 1335 * sys.clean-env.mk: with recent change to Var_Subst() 1336 we cannot use the '$$' trick, but .export-literal does the job 1337 we need. 1338 * auto.dep.mk: make use .dinclude if we can. 1339 1340 13412016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 1342 1343 * dirdeps.mk: 1344 Add _build_all_dirs such that local.dirdeps.mk can 1345 add fully qualified dirs to it. 1346 These will be built normally but the current 1347 DEP_RELDIR will not depend on then (to avoid cycles). 1348 This makes it easy to hook things like unit-tests into build. 1349 1350 13512016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 1352 1353 * dirdeps.mk: add bootstrap-empty 1354 13552015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1356 1357 * install-mk (MK_VERSION): 20151212 1358 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 1359 only apply :tA to __objdir when comparing to .OBJDIR 1360 13612015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1362 1363 * install-mk (MK_VERSION): 20151111 1364 1365 * meta.sys.mk: include sys.dependfile.mk 1366 1367 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 1368 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 1369 include local.sys.env.mk early 1370 include local.sys.mk later 1371 1372 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 1373 13742015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1375 1376 * meta.sys.mk (META_COOKIE_TOUCH): 1377 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 1378 1379 * meta.stage.mk: stage_libs should ignore SYMLINKS. 1380 13812015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 1382 1383 * install-mk (MK_VERSION): 20151022 1384 1385 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 1386 13872015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1388 1389 * install-mk (MK_VERSION): 20151020 1390 1391 * dirdeps.mk: Add logic for 1392 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1393 13942015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 1395 1396 * install-mk (MK_VERSION): 20151010 1397 13982015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 1399 1400 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 1401 to have stage_lins run last in non-jobs mode. 1402 Use .ORDER only for jobs mode. 1403 14042015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1405 1406 * rst2htm.mk: allow for per target flags etc. 1407 14082015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1409 1410 * install-mk (MK_VERSION): 20150901 1411 1412 * doc.mk: create dir if needed use DOC_INSTALL_OWN 1413 14142015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 1415 1416 * install-mk (MK_VERSION): 20150615 1417 1418 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 1419 Follow make's normal precedence rules. 1420 1421 * gendirdeps.mk: allow customization of the header. 1422 eg. for FreeBSD: 1423 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 1424 1425 * meta.autodep.mk: ignore dirdeps.cache* 1426 1427 * meta.stage.mk: when bootstrapping options it can be handy to 1428 throw warnings rather than errors for staging conflicts. 1429 1430 * meta.sys.mk: include local.meta.sys.mk for customization 1431 14322015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1433 1434 * install-mk (MK_VERSION): 20150606 1435 1436 * dirdeps.mk: don't rely on manually maintained Makefile.depend 1437 to set DEP_RELDIR and reset DIRDEPS. 1438 By setting DEP_RELDIR ourselves we can skip :tA 1439 1440 * gendirdeps.mk: skip setting DEP_RELDIR. 1441 14422015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1443 1444 * dirdeps.mk: avoid wildcards like make(bootstrap*) 1445 14462015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1447 1448 * install-mk (MK_VERSION): 20150520 1449 1450 * dirdeps.mk: when we are building dirdeps cache file we *want* 1451 meta_oodate to look at all the Makefile.depend files, so 1452 set .MAKE.DEPENDFILE to something that won't match. 1453 1454 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 1455 so first use absolute path as key. 1456 Also skip staging at level 0. 1457 14582015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1459 1460 * install-mk (MK_VERSION): 20150430 1461 1462 * dirdeps.mk: fix _count_dirdeps for non-cache case. 1463 14642015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 1465 1466 * install-mk (MK_VERSION): 20150411 1467 bump version 1468 1469 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 1470 it is here mainly for documentation purposes, since 1471 if using auto.obj.mk it is better done via sys.mk 1472 14732015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1474 1475 * install-mk (MK_VERSION): 20150401 1476 1477 * meta2deps.sh: support @list 1478 1479 * meta2deps.py: updates from Juniper 1480 o add EXCLUDES 1481 o skip bogus input files. 1482 o treat 'M' and 'L' as both an 'R' and a 'W' 1483 14842015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1485 1486 * install-mk (MK_VERSION): 20150303 1487 1488 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 1489 which is built via sub-make so we have a .meta file to tell if 1490 it is out-of-date. 1491 The dirdeps-cache contains the same dependency rules that we 1492 normaly construct on the fly. 1493 This adds a few seconds overhead when the cache is out of date, 1494 but for a large target, the savings can be significant (10-20min). 1495 14962014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 1497 1498 * install-mk (MK_VERSION): 20141118 1499 1500 * meta.stage.mk: add stale_staged 1501 1502 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 1503 only useful under very rare conditions such as 1504 FreeBSD's make universe. 1505 1506 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 1507 15082014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1509 1510 * install-mk (MK_VERSION): 20141111 1511 1512 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 1513 15142014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1515 1516 * FILES: include mkopt.sh which allows handling options in shell 1517 scripts in a manner compatible with options.mk 1518 15192014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1520 1521 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 1522 for GENDIRDEPS_FILTER to avoid surprises. 1523 15242014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1525 1526 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 1527 the time it is applied to __depdirs they have. 1528 1529 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 1530 expects patterns like *.${MACHINE} 1531 1532 * cython.mk (pyprefix?): use pyprefix to find python bits 1533 since prefix might be something else (where we install our 1534 stuff) 1535 15362014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1537 1538 * install-mk (MK_VERSION): 20140911 1539 1540 * dirdeps.mk: add bootstrap target to simplify adding support for 1541 new MACHINE. 1542 15432014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1544 1545 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 1546 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 1547 Makefile.depend files. 1548 15492014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1550 1551 * install-mk (MK_VERSION): 20140828 1552 1553 * cython.mk: capture logic for building python extension modules 1554 with Cython. 1555 15562014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1557 1558 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 1559 15602014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1561 1562 * install-mk (MK_VERSION): 20140801 1563 1564 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 1565 identify the autodep.mk variant. 1566 1567 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 1568 initial value does not match .MAKE.DEPENDFILE_PREFIX 1569 1570 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 1571 15722014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1573 1574 * install-mk (MK_VERSION): 20140522 1575 1576 * lib.mk: use CC to link shlib for linux too 1577 patch from Brendan MacDonell 1578 15792014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1580 1581 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 1582 if WITH_META_STATS is defined. 1583 15842014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1585 1586 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 1587 to supress dirdeps outside of .CURDIR. 1588 15892014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1590 1591 * Fix spelling errors - patch from Pedro Giffuni 1592 15932014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 1594 1595 * install-mk (MK_VERSION): 20140314 1596 1597 * dirdeps.mk (beforedirdeps): a handy hook 1598 1599 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 1600 to visit leaf dirs to be intercepted (eg. for distributed 1601 build). 1602 1603 * dirdeps.mk (__depdirs): ensure // don't sneak in 1604 1605 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 1606 1607 16082014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 1609 1610 * rst2htm.mk (RST2PDF): add support for rst2pdf 1611 16122014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1613 1614 * install-mk (MK_VERSION): bump version 1615 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 1616 available. 1617 16182014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1619 1620 * options.mk: avoid :U so this isn't bmake dependent 1621 16222014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 1623 1624 * options.mk: cleanup and simplify semanitcs 1625 NO_* dominates all, if both WITH_* and WITHOUT_* 1626 are defined then result is DOMINATE_* which defaults to "no". 1627 Ie. WITHOUT_ normally wins. 1628 16292013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1630 1631 * install-mk (MK_VERSION): bump version 1632 * meta2deps.py: convert to print function for python3 compat. 1633 we also need to open files with mode 'r' rather than 'rb' 1634 otherwise we get bytes instead of strings. 1635 16362013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1637 1638 * install-mk (MK_VERSION): bump version 1639 1640 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 1641 apply the same filtering (M_dep_qual_fixes) when setting _machines 1642 as _build_dirs. 1643 Also fix the filtering of Makefile.depend files - for reporting 1644 what we are looking for (M_dep_qual_fixes can get confused by 1645 Makefile.depend) 1646 Add some more debug info. 1647 16482013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1649 1650 * gendirdeps.mk (_objtops): fix typo also 1651 while processing M2D_OBJROOTS to gather qualdir_list 1652 qualify $ql with loop iterator to ensure correct results. 1653 16542013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1655 1656 * install-mk (MK_VERSION): 20130801 1657 * libs.mk: update to match progs.mk 1658 16592013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 1660 1661 * install-mk (MK_VERSION): 20130726 1662 some updates from Juniper and FreeBSD 1663 o meta2deps.py: indicate file and line number when we hit parse 1664 errors 1665 also allow @file to provide huge list of .meta files. 1666 * meta2deps.py: add try_parse() to cleanup the above. 1667 16682013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1669 1670 * install-mk (MK_VERSION): 20130716 1671 * own.mk: add GPROG as an option 1672 * prog.mk: honor MK_GPROF==yes 1673 16742013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1675 1676 * install-mk (MK_VERSION): 20130505 1677 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 1678 for when $MACHINE isn't enough for objdir distinction. 1679 Bring meta2deps.sh closer to par with meta2deps.py. 1680 16812013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1682 1683 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 1684 also if the target 'beforeinstall' exists, make it depend on 1685 .dirdep (incase it uses STAGE_INSTALL). 1686 16872013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1688 1689 * install-mk (MK_VERSION): 20130401 ;-) 1690 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 1691 wrapper around install(1). 1692 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 1693 16942013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1695 1696 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 1697 * install-mk (MK_VERSION): bump version 1698 16992013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 1700 1701 * install-mk (MK_VERSION): bump version 1702 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 1703 any trailing /., rather apply :tA only when needed. 1704 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 1705 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 1706 consistently. 1707 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 1708 17092013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1710 1711 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 1712 it is simpler to just not update when say building for "host" 1713 (where we know we apply filters to DIRDEPS), and using a 1714 non-machine qualified dependfile. 1715 17162013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1717 1718 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 1719 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 1720 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 1721 * meta2deps.py: if machine is "host", then also trim 1722 self.host_target from any OBJROOTS. 1723 1724 17252013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1726 1727 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 1728 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 1729 but _DEPENDFILE does not, compare the new _DEPENDFILE against 1730 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 1731 17322013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 1733 1734 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 1735 and hook to all: via staging: 1736 17372013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1738 1739 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 1740 use a separate variable for the default .MAKE.DEPENDFILE value 1741 so that it can be controlled independently of 1742 .MAKE.DEPENDFILE_PREFERENCE 1743 1744 * meta.stage.mk: throw error if cp fails etc. 1745 Stage*() return early if passed no args. 1746 .ORDER stage_* 1747 17482013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1749 1750 * install-mk (MK_VERSION): bump version 1751 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 1752 17532013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1754 1755 * install-mk (MK_VERSION): bump version to 20130210 1756 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 1757 from Juniper. 1758 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 1759 than just MACHINE. 1760 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 1761 17622013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 1763 1764 * install-mk (MK_VERSION): bump version to 20130123 1765 * meta.stage.mk: add stage_links (hard links). 1766 if doing hard links, we add dest to link as well. 1767 Default the stage dir for [sym]links to STAGE_OBJTOP since 1768 these are typically specified as absolute paths. 1769 Add -m "mode" flag to StageFiles and StageAs. 1770 17712012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1772 1773 * install-mk (MK_VERSION): bump version to 20121111 1774 * autoconf.mk: avoid meta mode seeing changed commands for config.status 1775 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 1776 in case we were found via .../mk 1777 * sys.clean-env.mk: move it from examples, we and others use it 1778 "as is". 1779 * FILES: add srctop.mk and options.mk 1780 * own.mk: convert to using options.mk 1781 which is modeled after FreeBSD's handling of MK_* 1782 but more flexible. 1783 This allows MK_* for boolean knobs to not be confused 1784 with MK* which can be commands. 1785 1786 * examples/sys.clean-env.mk: add WITH[OUT]_ to 1787 MAKE_ENV_SAVE_PREFIX_LIST. 1788 Mention that HOME=/var/empty might be a good idea. 1789 17902012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 1791 1792 * sys.dependfile.mk: if not depend file exists, $MACHINE 1793 specific ones are supported but not the default, 1794 check if any exist and follow suit. 1795 17962012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 1797 1798 * install-mk (MK_VERSION): bump version to 20121106 1799 18002012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 1801 1802 * import latest dirdeps.mk and meta2deps.py from Juniper. 1803 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 1804 also add PROGS_TARGETS and pass on PROG_CXX if it seems 1805 appropriate. 1806 18072012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 1808 1809 * meta.stage.mk: update CLEANFILES 1810 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 1811 * progs.mk: Add LDADD to PROG_VARS 1812 18132012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1814 1815 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 1816 _STAGED_DIRS so that these can be turned into filters for 1817 GENDIRDEPS_FILTER. 1818 18192012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1820 1821 * install-mk (MK_VERSION): bump version to 20121010 1822 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 1823 target.dirdep matches .dirdep 1824 18252012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1826 1827 * install-mk (MK_VERSION): bump version to 20120808 1828 * import latest meta2deps.py from Juniper. 1829 18302012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 1831 1832 * install-mk (MK_VERSION): bump version to 20120711 1833 * dep.mk: add explicit dependencies on SRCS after applying 1834 SRCS_DEP_FILTER 1835 * meta.autodep.mk: add explicit dependencies on SRCS after 1836 applying SRCS_DEP_FILTER 1837 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 1838 18392012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 1840 1841 * install-mk (MK_VERSION): bump version to 20120626 1842 * meta.sys.mk: ignore PYTHON if it does not exist 1843 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 1844 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 1845 entries ending in .${MACHINE} to decide if qualified _dirdep is 1846 needed. 1847 * gendirdeps.mk: only produce unqualified deps if no 1848 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 1849 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 1850 18512012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1852 1853 * install-mk (MK_VERSION): bump version to 20120420 1854 * add sys.dependfile.mk so we can experiment with 1855 .MAKE.DEPENDFILE_PREFERENCE 1856 * meta.autodep.mk: _DEPENDFILE is precious! 1857 18582012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1859 1860 * install-mk (MK_VERSION): bump version to 20120315 1861 * install-new.mk: avoid being interrupted 1862 18632012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1864 1865 * man.mk: MAN might have multiple values so be careful with exists(). 1866 18672012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 1868 1869 * install-mk (MK_VERSION): bump version to 20120112 1870 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 1871 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 1872 18732011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 1874 1875 * install-mk (MK_VERSION): bump version to 20111201 1876 * import dirdeps.mk from Juniper sjg@ 1877 o more consistent handling of DEP_MACHINE, especially when 1878 dealing with an odd Makefile.depend, when normally using 1879 Makefile.depend.${MACHINE} 1880 18812011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 1882 1883 * install-mk (MK_VERSION): bump version to 20111122 1884 * meta.autodep.mk: add some debug output, be more crisp about 1885 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 1886 18872011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1888 1889 * install-mk (MK_VERSION): bump version to 20111111 1890 it's too cool to miss 1891 * import meta* updates from Juniper sjg@ 1892 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 1893 normally using Makefile.depend.${MACHINE}), handy for 1894 read-only manually maintained dependencies. 1895 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 1896 o gendirdeps.mk if ERROR: from meta2deps.py do not update 1897 anything. 1898 18992011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 1900 1901 * install-new.mk separate the cmp and copy logic to its own function. 1902 19032011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 1904 1905 * install-mk (MK_VERSION): bump version to 20111028 1906 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 1907 * subdir.mk: ensure _SUBDIRUSE is provided 1908 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 1909 * meta.subdir.mk: always allow for Makefile.depend 1910 19112011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1912 1913 * install-mk (MK_VERSION): bump version to 20111010 1914 o minor tweak to *dirdeps.mk from Juniper sjg@ 1915 19162011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1917 1918 * install-mk (MK_VERSION): bump version to 20111001 1919 o add meta2deps.py from Juniper sjg@ 1920 o tweak gendirdeps.mk to work with meta2deps.py when not 1921 cross-building 1922 * autoconf.mk: add autoconf-input as a hook for regenerating 1923 AUTOCONF_INPUTS (configure). 1924 19252011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 1926 1927 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 1928 trigger for updating Makefile.depend* 1929 19302011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1931 1932 * install-mk (MK_VERSION): bump version to 20110808 1933 * obj.mk: minor cleanup 1934 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 1935 19362011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1937 1938 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 1939 specified dir. 1940 19412011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1942 1943 * meta.autodep.mk: if XMAKE_META_FILE is set 1944 the makefile uses a foreign make, and so dependencies 1945 can only be gathered from a clean tree build. 1946 19472011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 1948 1949 * install-mk (MK_VERSION): bump version to 20110622 1950 * meta.autodep.mk: improve bootstraping 1951 19522011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1953 1954 * yacc.mk: handle the corner case of .c being removed 1955 while .h remains. 1956 19572011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1958 1959 * yacc.mk: do .y.h and .y.c separately 1960 19612011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1962 1963 * install-mk (MK_VERSION): bump version to 20110606 1964 * don't store SRC_DIRDEPS in Makefile.depend* by default 1965 not everyone needs it. 1966 19672011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1968 1969 * install-mk (MK_VERSION): bump version to 20110505 1970 first release including meta mode makefiles 1971 19722011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1973 1974 * meta.stage.mk: add STAGE_AS_SETS and stage_as 1975 for things that need to be staged with different names. 1976 19772011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1978 1979 * meta.stage.mk: add notion of STAGE_SETS 1980 so a makefile can stage to multiple dirs 1981 19822011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 1983 1984 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 1985 on target name. 1986 19872011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1988 1989 * install-mk (MK_VERSION): bump version to 20110330 1990 19912011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1992 1993 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 1994 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 1995 * sys.mk: re-define M_whence in terms of M_type. 1996 M_type is useful for checking if something is a builtin. 1997 19982011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1999 2000 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 2001 stage_libs 2002 20032011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 2004 2005 * dirdeps.mk: correct value for _depdir_files depends on 2006 .MAKE.DEPENDFILE 2007 Add our copyright - just to make it clear we have frobbed this 2008 quite a bit. 2009 DEP_MACHINE needs to be set to MACHINE each time, if using only 2010 Makefile.depend (cf. Makefile.depend.${MACHINE}) 2011 2012 * meta.stage.mk: meta mode version of staging 2013 2014 * init.mk, final.mk: include local.*.mk to simplify customization 2015 20162011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 2017 2018 * auto.obj.mk: just because we are doing mk destroy, we should 2019 still set .OBJDIR correctly if it exists. 2020 2021 * install-mk (mksrc): do not exclude meta.sys.mk 2022 20232011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 2024 2025 * host-target.mk: set/export _HOST_ARCH etc separately, 2026 catch junk resulting from uname -p, so we can find sys/Linux.mk 2027 correctly. 2028 20292011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 2030 2031 * meta.sys.mk: throw an error if /dev/filemon is missing and we 2032 expected to be updating Makefile.depend* 2033 20342011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 2035 2036 * install-mk (MK_VERSION): bump version to 20110214 2037 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 2038 20392010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 2040 2041 * meta.sys.mk: not valid for older bmake 2042 20432010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 2044 2045 * install-mk (MK_VERSION): bump version to 20100919 2046 include dirdeps.mk et al from Juniper Networks, 2047 for meta mode - requires filemon(9). 2048 * sys.mk, subdir.mk: Add hooks for meta mode. 2049 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 2050 to make turning it on/off simple. 2051 20522010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 2053 2054 * install-mk (MK_VERSION): bump version to 20100616 2055 * fix typo in sys.mk 2056 20572010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 2058 2059 * install-mk (MK_VERSION): bump version to 20100612 2060 * lib.mk: remove duplicate addition to SOBJS 2061 20622010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 2063 2064 * sys.mk: Add a means of selectively turning on debug flags. 2065 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 2066 will act as if we did make -dv if .CURDIR ends in lib/sjg 2067 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 2068 the start of sys.mk rather than the end. 2069 This only makes sense for leaf dirs, so we check that 2070 .MAKE.LEVEL > 0 2071 20722010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 2073 2074 * install-mk (MK_VERSION): bump version to 20100608 2075 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 2076 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 2077 also make it easier for folk to tweak 2078 20792010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 2080 2081 * install-mk (MK_VERSION): bump version to 20100606 2082 do not install examples/* 2083 * FILES: add examples/sys.clean-env.mk 2084 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 2085 this requires bmake-20100606 or later to work. 2086 20872010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 2088 2089 * sys.mk (M_tA): better simulate the result of :tA if not available. 2090 20912010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 2092 2093 * sys.mk: canonicalize MAKE_VERSION 2094 old versions reported bmake-<src-date> build-<build-date> 2095 whereas we only care about <src-date> 2096 20972010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 2098 2099 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 2100 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 2101 is !empty 2102 21032010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 2104 2105 * dpadd.mk: use LDADD_* if defined. 2106 21072010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 2108 2109 * install-mk (MK_VERSION): bump version to 20100420 2110 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 2111 * autoconf.mk allow AUTO_AUTOCONF 2112 21132010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 2114 2115 * obj.mk: add objwarn to keep freebsd makefiles happy 2116 * auto.obj.mk: ensure Mkdirs is available. 2117 * FILES: add auto.dep.mk - a simpler version of autodep.mk 2118 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 2119 asked to do that. 2120 fix/simplify the tests for when to run mkdep. 2121 * auto.dep.mk: add some explanation of how/what we do. 2122 * autodep.mk: skip the .OPTIONAL frobbing of .depend 2123 bmake's FROM_DEPEND flag makes it redundant. 2124 21252010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 2126 2127 * install-mk (MK_VERSION): bump version to 20100404 2128 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 2129 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 2130 Also create a target _SUBDIRUSE so that we can be used without 2131 subdir.mk 2132 21332010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 2134 2135 * dep.mk: use <> when .including so can override. 2136 21372010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 2138 2139 * lib.mk (SHLIB_LINKS): ensure a string comparison. 2140 21412010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 2142 2143 * install-mk (MK_VERSION): bump version to 20100102 2144 * own.mk: ensure PRINTOBJDIR works 2145 * autoconf.mk: pass on CONFIGURE_ARGS 2146 * init.mk: handle COPTS.${.IMPSRC:T} etc. 2147 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 2148 fix handling of symlinks for darwin 2149 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 2150 * man.mk: suppress chown when not root. 2151 * rst2htm.mk: allow srcs from multiple locations. 2152 * sys.mk: M_whence, stop after 1st line of output. 2153 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 2154 * sys/SunOS.mk: we need to export PATH 2155 21562009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 2157 2158 * install-mk (MK_VERSION): bump version 2159 include rst2htm.mk 2160 21612009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 2162 2163 * sys.mk,libnames.mk add .-include <local.*> 2164 this allows local customization without the need to edit the 2165 distributed files. 2166 21672009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 2168 2169 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 2170 older versions already installed. 2171 21722009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 2173 2174 * stage.mk (.stage-install): generalize lib.mk's .libinstall 2175 * rules.mk rules for generic Makefile. 2176 * inc.mk install for includes. 2177 21782009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 2179 2180 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 2181 this, so provide it if using native make. 2182 21832009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 2184 2185 * FILES: move all the platform *.sys.mk files to sys/*.mk 2186 * Rename Generic.sys.mk to sys.mk - we always want it. 2187 21882009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 2189 2190 * install-mk (MK_VERSION): bump version 2191 * host-target.mk: only export the expensive stuff 2192 * Generic.sys.mk (sys_mk): for SunOS we need to look for 2193 ${HOST_OS}.${HOST_OSMAJOR} too! 2194 21952009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 2196 2197 * install-mk (MK_VERSION): bump version 2198 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 2199 based on patch from Greg Olszewski. 2200 * Generic.sys.mk: if we have nothing to work with 2201 set LORDER etc only if we can find it. 2202 22032009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 2204 2205 * install-mk (MK_VERSION): bump version 2206 * man.mk: cleanman: remove CLEANMAN if defined. 2207 22082009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 2209 2210 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 2211 22122009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 2213 2214 * install-mk (MK_VERSION): bump version 2215 include auto.obj.mk 2216 2217 22182009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 2219 2220 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 2221 22222008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 2223 2224 * install-mk (MK_VERSION): bump version 2225 man.mk: ensure we generate *.cat1 etc in . 2226 22272008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 2228 2229 * install-mk (MK_VERSION): bump version 2230 add prlist.mk 2231 22322007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 2233 2234 * Generic.sys.mk: Allow os specific sys.mk to be in a 2235 subdir of ${.PARSEDIR} 2236 22372007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 2238 2239 * install-mk (MK_VERSION): bump version 2240 * general cleanup 2241 * dpadd.mk introduce DPMAGIC_LIBS_* 2242 22432007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 2244 2245 * install-mk (MK_VERSION): bump version 2246 2247 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 2248 depend files and ensure clean is called for each lib/prog. 2249 22502007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 2251 2252 * autodep.mk (.depend): delete lines that do not start with 2253 space and do not contain ':' 2254 22552007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 2256 2257 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 2258 so make sure the transform for .OPTIONAL copes. 2259 22602007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2261 2262 * install-mk (MK_VERSION): bump version 2263 2264 * own.mk: make sure RM and LN are defined. 2265 2266 * obj.mk: fix a typo, and objlink target. 2267 22682006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 2269 2270 * install-mk (MK_VERSION): bump version 2271 * added libs.mk - analogous to progs.mk 2272 make both of them always inlcude {lib,prog}.mk 2273 22742006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 2275 2276 * progs.mk: add a means of building multiple apps in one dir. 2277 22782006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 2279 2280 * install-mk (MK_VERSION): bump version to 20061126 2281 2282 * warnings.mk: detect invalid WARNINGS_SET 2283 2284 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 2285 specific warnings. 2286 2287 * For .cc sources, turn off warnings that g++ vomits on. 2288 22892006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 2290 2291 * own.mk: if __initialized__ target doesn't exist and we are 2292 FreeBSD we got here directly from sys.mk 2293 22942006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 2295 2296 * install-mk (MK_VERSION): bump version to 20061106 2297 add scripts.mk 2298 22992006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 2300 2301 * install-mk (MK_VERSION): bump version to 20060318 2302 2303 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 2304 23052006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 2306 2307 * install-mk (MK_VERSION): bump version to 20060302 2308 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 2309 23102006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 2311 2312 * install-mk (MK_VERSION): bump version to 20060301 2313 * autodep.mk (.depend): 2314 if MAKE_VERSION is newer than 20050530 we can make .END depend on 2315 .depend and make .depend depend on __depsrcs that exist. 2316 * dpadd.mk: add SRC_PATHADD 2317 23182005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2319 2320 * install-mk (MK_VERSION): bump version to 20051104 2321 * prog.mk: remove all the LIBC?= junk, use 2322 .-include libnames.mk instead (none by default). 2323 also if USE_DPADD_MK is set, include that. 2324 23252005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2326 2327 * install-mk (MK_VERSION): bump version to 20051001 2328 Add UnixWare.sys.mk from Klaus Heinz. 2329 23302005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 2331 2332 * install-mk: always install *.sys.mk and if need be symlink one 2333 to sys.mk 2334 23352005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 2336 2337 * subdir.mk, own.mk: use .MAKE rather than MAKE 2338 23392004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2340 2341 * own.mk: don't use NetBSD's _SRC_TOP_ it can 2342 cause confusion. Also don't take just 'mk' as a 2343 srctop indicator. 2344 23452004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 2346 2347 * warnings.mk: overhauled, now very powerful. 2348 23492004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2350 2351 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 2352 23532004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 2354 2355 * install-mk (MK_VERSION): bump version to 20040201 2356 * extract HOST_TARGET stuff to host-target.mk so own.mk and 2357 Generic.sys.mk can share. 2358 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 2359 23602003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 2361 2362 * install-mk (MK_VERSION): 20030930 2363 * rename generic.sys.mk to Generic.sys.mk 2364 so that it does not get installed (unless being used as sys.mk) 2365 * set OS and ROOT_GROUP for those that we know the value. 2366 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 2367 we don't do it again for each sub-make. 2368 23692003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2370 2371 * install-mk (MK_VERSION): 20030928 2372 Add some extra *.sys.mk from bootstrap-pkgsrc 2373 some of these likely still need work. 2374 Make everything default to root:wheel ownership, 2375 sys.mk can set ROOT_GROUP accordingly. 2376 23772003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 2378 2379 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 2380 not the portable ones. 2381 23822003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2383 2384 * install-mk: add ability to use cp -f when updating 2385 destination .mk files. Also now possible to play games with 2386 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 2387 into dest - not recommended unless you seriously want to. 2388 23892003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2390 2391 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 2392 for semi-compatability with NetBSD. 2393 23942003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2395 2396 * install-mk: add a version indicator 2397 23982003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 2399 2400 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 2401 2402 * install-mk: Allow FORCE_SYS_MK to come from env 2403 2404 2405 2406