12025-01-10 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * rust.mk: use RUST_LIBS and RUST_PROGS 4 52025-01-01 Simon J Gerraty <sjg@beast.crufty.net> 6 7 * install-mk (MK_VERSION): 20250101 8 9 * use W flag to :S and :C rather than :tW 10 112024-12-16 Simon J Gerraty <sjg@beast.crufty.net> 12 13 * rust.mk: add RUSTFLAGS if needed 14 152024-12-12 Simon J Gerraty <sjg@beast.crufty.net> 16 17 * init.mk (OBJS_SRCS_FILTER): apply this as 18 ${OBJS_SRCS_FILTER:ts:} as we do in FreeBSD. 19 202024-12-03 Simon J Gerraty <sjg@beast.crufty.net> 21 22 * install-mk (MK_VERSION): 20241202 23 24 * setopts.sh: needed by newlog.sh 25 262024-11-22 Simon J Gerraty <sjg@beast.crufty.net> 27 28 * meta.sys.mk: add META_MODE_XTRAS to META_MODE to make it 29 easier to add things like 'env' when debugging. 30 31 * install-mk (MK_VERSION): 20241122 32 33 * rust.mk: rename CARGO* to RUST_CARGO* so I don't feel 34 like this makefile should be renamed to cargo.mk 35 362024-11-11 Simon J Gerraty <sjg@beast.crufty.net> 37 38 * dirdeps.mk: add DIRDEPS_CACHED_ENV to dirdeps-cached and 39 DIRDEP_USE_EPILOGUE to _DIRDEP_USE 40 412024-10-30 Simon J Gerraty <sjg@beast.crufty.net> 42 43 * meta.sys.mk: if MK_META_ERROR_TARGET is yes and NEWLOG_SH is 44 set, and ERROR_LOGDIR already exists, hook _rotateErrorLog to 45 .BEGIN target. 46 472024-10-27 Simon J Gerraty <sjg@beast.crufty.net> 48 49 * options.mk: add support for DEBUG_OPTIONS (similar to 50 DEBUG_DIRDEPS) to allow us to see where options get set. 51 Eg. DEBUG_OPTIONS="STAGING*" gives: 52 53 bmake[1]: "mk/options.mk" line 89: sys.mk: MK_STAGING=yes (MK_DIRDEPS_BUILD=no) 54 bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING=yes 55 bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING_PROG=no 56 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_MAN=yes (MK_STAGING=yes) 57 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_PROG=no (MK_STAGING=yes) 58 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_RUST=no (MK_STAGING_PROG=no) 59 60 * own.mk: fix setting of STAGE_OBJTOP (normally set by sys.dirdeps.mk) 61 622024-10-26 Simon J Gerraty <sjg@beast.crufty.net> 63 64 * rust.mk: add some documentation and support for staging 65 662024-10-25 Simon J Gerraty <sjg@beast.crufty.net> 67 68 * rust.mk: a means of integrating Rust projects into a larger build. 69 702024-10-18 Simon J Gerraty <sjg@beast.crufty.net> 71 72 * dirdeps-targets.mk: if DEBUG_DIRDEPS_TARGETS and we found 73 STATIC_DIRDEPS_CACHE, report its relative path. 74 752024-09-30 Simon J Gerraty <sjg@beast.crufty.net> 76 77 * dirdeps.mk: tweak the debug message for "Loading" a 78 Makefile.depend file, always report what the actual makefile is 79 with the DIRDEP it is for. 80 Remove the redundant "Looking" message. 81 822024-09-26 Simon J Gerraty <sjg@beast.crufty.net> 83 84 * meta2deps.py: when raising AssertionError include meta file name 85 with $SB trimmed if possible. 86 872024-09-23 Simon J Gerraty <sjg@beast.crufty.net> 88 89 * meta2deps.py: replace assert() with raise AssertionError when we 90 detect missing eXits, to ensure a meaningful message gets into 91 log. 92 932024-09-21 Simon J Gerraty <sjg@beast.crufty.net> 94 95 * install-mk (MK_VERSION): 20240921 96 97 * FILES: add genfiles.mk 98 992024-09-20 Simon J Gerraty <sjg@beast.crufty.net> 100 101 * install-mk (MK_VERSION): 20240920 102 103 * cython.mk: Get PYTHON_VERSION from PYTHON 104 1052024-08-31 Simon J Gerraty <sjg@beast.crufty.net> 106 107 * subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*} 108 and handle subdir with '-' in its name. 109 1102024-08-23 Simon J Gerraty <sjg@beast.crufty.net> 111 112 * install-mk (MK_VERSION): 20240820 113 114 * links.mk: Allow a filter to be applied to SYMLINKS etc. 115 It is up to [BUILD_][SYM]LINKS_FILTER to do something sane. 116 Also only claim we are making a symlink if the value changed. 117 1182024-06-22 Simon J Gerraty <sjg@beast.crufty.net> 119 120 * install-mk (MK_VERSION): 20240616 121 122 * dirdeps.mk: apply DEP_DIRDEPS_BUILD_DIR_FILTER after we have 123 computed build dirs, since some filters cannot be easily expressed via 124 DEP_DIRDEPS_FILTER. 125 1262024-05-31 Simon J Gerraty <sjg@beast.crufty.net> 127 128 * dirdeps.mk: move reset of DIRDEPS_EXPORT_VARS 129 until after we a finished with it if building a cache. 130 1312024-05-04 Simon J Gerraty <sjg@beast.crufty.net> 132 133 * install-mk (MK_VERSION): 20240504 134 135 * dirdeps.mk: allow BUILD_DIRDEPS_OVERRIDES to pass overrides to 136 sub-make building DIRDEPS_CACHE. 137 1382024-04-24 Simon J Gerraty <sjg@beast.crufty.net> 139 140 * meta.autodep.mk: do not override start_utc 141 1422024-04-18 Simon J Gerraty <sjg@beast.crufty.net> 143 144 * sys.dirdeps.mk: set defaults for DEP_* at level 0 too. 145 These help when first include of Makefile.depend happens in a leaf 146 dir. 147 148 * install-mk (MK_VERSION): 20240414 149 1502024-04-09 Simon J Gerraty <sjg@beast.crufty.net> 151 152 * install-mk (MK_VERSION): 20240408 153 154 * init.mk: allow for _ as well as . to join V 155 and Q from QUALIFIED_VAR_LIST and VAR_QUALIFIER_LIST. 156 157 * progs.mk: avoid overlap between PROG_VARS and 158 init.mk's QUALIFIED_VAR_LIST since PROG would also 159 match its VAR_QUALIFIER_LIST, 160 libs.mk does not have the same issue. 161 162 * subdir.mk: _SUBDIRUSE for realinstall should run install 163 remove include of ${.CURDIR}/Makefile.inc that can be done via 164 local.subdir.mk where needed 165 166 * own.mk: do not conflict with man.mk 167 1682024-03-19 Simon J Gerraty <sjg@beast.crufty.net> 169 170 * install-mk (MK_VERSION): 20240314 171 172 * add sys/Cygwin.mk from Christian Franke 173 1742024-03-09 Simon J Gerraty <sjg@beast.crufty.net> 175 176 * install-mk (MK_VERSION): 20240309 177 178 * meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not 179 want to save the .ERROR_META_FILE 180 1812024-02-20 Simon J Gerraty <sjg@beast.crufty.net> 182 183 * install-mk (MK_VERSION): 20240220 184 185 * sys.dirdeps.mk, dirdeps-targets.mk, init.mk: 186 do not set .MAIN: dirdeps in sys.dirdeps.mk 187 dirdeps-targets.mk will do that for top-level builds 188 and init.mk will do it for others. 189 This allows a Makefile which has no need of 'dirdeps' to 190 set .MAIN for itself and "just work". 191 1922024-02-18 Simon J Gerraty <sjg@beast.crufty.net> 193 194 * bsd.*.mk: for makefiles that get a bsd. symlink, 195 use _this in multiple inclusion tags since .PARSEFILE will not 196 DTRT when such a makefile is included directly by Makefile and 197 automatically (without bsd. prefix). 198 Since we cannot guarantee that our sys.mk will be used, we provide 199 a default _this in each makefile that gets a bsd. prefix such that 200 the value is the same regardless of bsd. prefix. 201 202 * subdir.mk: drop the !target guard on $SUBDIR_TARGETS 203 2042024-02-12 Simon J Gerraty <sjg@beast.crufty.net> 205 206 * install-mk (MK_VERSION): 20240212 207 208 * SPDX-License-Identifier: BSD-2-Clause 209 Add SPDX-License-Identifier to inidicate that I consider 210 my copyright on any of these makefiles equivalent to BSD-2-Clause 211 212 * autoconf.mk: allow for configure.ac as currently recommended 213 214 * subdir.mk: support @auto 215 which is replaced with each subdir that 216 has a [Mm]akefile. 217 218 * subdir.mk: include local.subdir.mk if it exists. 219 220 * subdir.mk: rework to handle .WAIT 221 2222024-02-11 Simon J Gerraty <sjg@beast.crufty.net> 223 224 * subdir.mk: _SUBDIRUSE report the target we are entering subdirs for. 225 2262024-02-10 Simon J Gerraty <sjg@beast.crufty.net> 227 228 * prog.mk: treat empty SRCS the same as undefined 229 2302024-02-02 Simon J Gerraty <sjg@beast.crufty.net> 231 232 * Avoid undefined errors in lint (-dL) mode 233 234 * man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7) 235 2362024-01-28 Simon J Gerraty <sjg@beast.crufty.net> 237 238 * install-mk (MK_VERSION): 20240128 239 240 * FILES: add ccm.dep.mk for C++ modules 241 add suffixes.mk for common location for generic SUFFIX rules. 242 243 * auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk 244 replace OBJ_EXTENSIONS with OBJ_SUFFIXES 245 246 * autodep.mk: leverage CXX_SUFFIXES for __depsrcs 247 and update style (spaces around = etc) 248 249 * init.mk: add OBJS_SRCS_FILTER to filter SRCS when 250 setting OBJS 251 252 * meta2deps.py: handle multiple ./ embedded in path better. 253 2542024-01-05 Simon J Gerraty <sjg@beast.crufty.net> 255 256 * install-mk (MK_VERSION): 20240105 257 * dirdeps.mk: for MAKE_VERSION 20240105 we do not have the same 258 limits on command line length, so skip export of lists to env. 259 2602023-12-24 Simon J Gerraty <sjg@beast.crufty.net> 261 262 * man.mk: add logic for staging man pages 263 2642023-11-28 Simon J Gerraty <sjg@beast.crufty.net> 265 266 * jobs.mk: avoid C suffix in JOB_MAX_C if factor is floating 267 point. This keeps JOB_MAX numeric incase another makefile does 268 comparisons. 269 2702023-11-04 Simon J Gerraty <sjg@beast.crufty.net> 271 272 * dpadd.mk: add support for DPLIBS_QUALIFIER_LIST 273 274 * gendirdeps.mk: if META_XTRAS is passed to us, add to META_FILES 275 2762023-10-03 Simon J Gerraty <sjg@beast.crufty.net> 277 278 * compiler.mk (COMPILER_VERSION): clang at least is into 279 double digit major versions. 280 2812023-10-02 Simon J Gerraty <sjg@beast.crufty.net> 282 283 * install-mk (MK_VERSION): 20231001 284 285 * set _CCLINK in init.mk so lib.mk can use it for default SHLIB_LD 286 287 * lib.mk (cleanlib): use LD_solink so we remove all the right files. 288 Use -Wl for -soname since we now default to linking with CC 289 We should not need SHLIB_LDSTARTFILE or SHLIB_LDENDFILE when linking 290 with CC. 291 2922023-09-24 Simon J Gerraty <sjg@beast.crufty.net> 293 294 * init.mk (QUALIFIED_VAR_LIST): Add SRCS 295 2962023-09-09 Simon J Gerraty <sjg@beast.crufty.net> 297 298 * jobs.mk (JOB_MAX): use -jC if we can 299 we actually use JOB_MAX_C which defaults to 1.33C 300 3012023-08-18 Simon J Gerraty <sjg@beast.crufty.net> 302 303 * now_utc: %s only works with :localtime 304 3052023-07-14 Simon J Gerraty <sjg@beast.crufty.net> 306 307 * install-sh: ignore -c as claimed and only insist on 308 a directory for destination when more than one file to copy. 309 310 * sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and 311 ${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64) 312 3132023-07-13 Simon J Gerraty <sjg@beast.crufty.net> 314 315 * install-mk (MK_VERSION): 20230711 316 317 * sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible 318 install(1) 319 320 * sys/IRIX.mk: when setting ROOT_GROUP only match the first :0: 321 set INSTALL to install-sh rather than pathname that may not exist 322 (yet). 323 3242023-07-07 Simon J Gerraty <sjg@beast.crufty.net> 325 326 * dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE 327 normally this is empty - for the default target, but there are 328 use-cases where we might set it to something else. 329 3302023-07-04 Simon J Gerraty <sjg@beast.crufty.net> 331 332 * install-mk (MK_VERSION): 20230704 333 334 * dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output 335 when DEBUG_DIRDEPS is in effect. 336 Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n 337 can greatly improve readability. 338 3392023-05-25 Simon J Gerraty <sjg@beast.crufty.net> 340 341 * meta.autodep.mk (beforegendirdeps): allow tasks to be done 342 at END but before gendirdeps 343 3442023-05-22 Simon J Gerraty <sjg@beast.crufty.net> 345 346 * install-mk (MK_VERSION): 20230522 347 348 * host-target.mk: deal with garbage from uname -m on 349 Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH 350 these days so just leave it be. 351 For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get 352 arm64 and x86_64 in HOST_TARGET. 353 3542023-05-15 Simon J Gerraty <sjg@beast.crufty.net> 355 356 * sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older 357 versions of bmake. 358 359 * dirdeps.mk (TARGET_SPEC_VARS.host): 360 While *most* projects need only DEP_MACHINE for host, 361 there is always an exception. So we allow for 362 TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS. 363 The default will *just work* for most projects. 364 We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC 365 based on DEP_MACHINE. 366 Allow for M_dep_qual_fixes.host to be different too 367 and take care to apply the right set. 368 3692023-05-14 Simon J Gerraty <sjg@beast.crufty.net> 370 371 * sys.dirdeps.mk: we *do* want to override OBJTOP 372 and if MAKEOBJDIR was not in env as we want it; 373 put it there - carefully. 374 Ensure OBJROOT ends in / or - (/ preferred) 375 Add more comments to explain what/why. 376 3772023-05-13 Simon J Gerraty <sjg@beast.crufty.net> 378 379 * install-mk (MK_VERSION): 20230512 380 381 * dirdeps.mk: take care not to qualify "host" dirdeps 382 383 * sys.dirdeps.mk (OBJTOP): must use ?= 384 3852023-05-10 Simon J Gerraty <sjg@beast.crufty.net> 386 387 * meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no" 388 suppress processing of .depend 389 3902023-05-09 Simon J Gerraty <sjg@beast.crufty.net> 391 392 * dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP 393 394 * meta.sys.mk sys.dirdeps.mk: 395 originally DIRDEPS_BUILD and META_MODE were the same thing, 396 but META_MODE is useful by itself. 397 Move things from meta.sys.mk which actually pertain to 398 DIRDEPS_BUILD to sys.dirdeps.mk 399 4002023-05-04 Simon J Gerraty <sjg@beast.crufty.net> 401 402 * install-mk (MK_VERSION): 20230504 May the Forth be with you 403 404 * dirdeps.mk: as with meta.sys.mk we treat "host" as special. 405 DEP_TARGET_SPEC is just ${DEP_MACHINE} 406 407 * meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at 408 level > 0 since these are often refered to in Makefile.depend* 409 4102023-04-26 Simon J Gerraty <sjg@beast.crufty.net> 411 412 * jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and 413 anything in ${JOB_LOG_START} 414 415 * jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}} 416 or a scripts subdir before searching $PATH. 417 418 * FILES: include newlog.sh for jobs.mk 419 4202023-04-20 Simon J Gerraty <sjg@beast.crufty.net> 421 422 * install-mk (MK_VERSION): 20230420 423 424 * lib.mk: include LDFLAGS and LDADD when linking shared libs 425 426 * gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc 427 via local.meta.sys.mk rather than local.gendirdeps.mk 428 so DEP_* variables can be set at level 1+ to avoid syntax errors 429 when used in conditionals in manually maintained Makefile.depend 430 files. 431 432 * dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines 433 4342023-04-18 Simon J Gerraty <sjg@beast.crufty.net> 435 436 * dirdeps.mk: check we were not included by 437 Makefile.depend.options as the result is bad. 438 4392023-04-14 Simon J Gerraty <sjg@beast.crufty.net> 440 441 * install-mk (MK_VERSION): 20230414 442 443 * meta.sys.mk: since we have :range we can put the logic for 444 processing TARGET_SPEC from env here. 445 446 * dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including 447 local.dirdeps-missing.mk, also improve debug output. 448 449 * dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC 450 we need to use :M*[/.]* same as for when actually setting DIRDEPS 451 from the targets on command line. 452 4532023-04-12 Simon J Gerraty <sjg@beast.crufty.net> 454 455 * Add jobs.mk 456 4572023-03-21 Simon J Gerraty <sjg@beast.crufty.net> 458 459 * install-mk (MK_VERSION): 20230321 460 461 * meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter 462 STAGE_LIBS for SHLIB_LINKS. 463 464 * autoconf.mk: add .WAIT after config.status 465 4662023-02-17 Simon J Gerraty <sjg@beast.crufty.net> 467 468 * sys.vars.mk: add M_Index to report the index of a word in a list. 469 4702023-02-15 Simon J Gerraty <sjg@beast.crufty.net> 471 472 * install-mk (MK_VERSION): 20230215 473 474 * warnings.mk: allow better control of -Werror 475 allow -Wno-error or similar to be added if 476 WARNINGS_SET < WERROR_SET 477 account for COMPILER_TYPE 478 4792023-01-29 Simon J Gerraty <sjg@beast.crufty.net> 480 481 * autoconf.mk: hook config.status to beforebuild. 482 483 * whats.mk: what*.c is NOTMAIN 484 4852023-01-27 Simon J Gerraty <sjg@beast.crufty.net> 486 487 * install-mk (MK_VERSION): 20230127 488 control umask so directories are created with suitable mode. 489 4902023-01-20 Simon J Gerraty <sjg@beast.crufty.net> 491 492 * install-mk (MK_VERSION): 20230120 493 494 * sys.vars.mk: add M_On and M_Onr also cleanup to be more 495 consistent wrt testing MAKE_VERSION 496 4972023-01-12 Simon J Gerraty <sjg@beast.crufty.net> 498 499 * install-mk (MK_VERSION): 20230112 500 501 * meta2deps.{py,sh}: assert if filemon data is truncated 502 we should see the '# Bye bye' record - assert if we do not. 503 5042022-09-09 Simon J Gerraty <sjg@beast.crufty.net> 505 506 * install-mk (MK_VERSION): 20220909 507 508 * sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings 509 5102022-09-06 Simon J Gerraty <sjg@beast.crufty.net> 511 512 * dirdeps-options.mk: explain the need to use 513 ${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to 514 ${TARGET_SPEC_VAR} 515 5162022-09-03 Simon J Gerraty <sjg@beast.crufty.net> 517 518 * install-mk (MK_VERSION): 20220903 519 520 * M_cmpv handle more than 3 dots and clear leading 0's 521 5222022-07-20 Simon J Gerraty <sjg@beast.crufty.net> 523 524 * install-mk (MK_VERSION): 20220720 525 526 * prog.mk: handle PROG_CXX for more than just NetBSD 527 5282022-06-20 Simon J Gerraty <sjg@beast.crufty.net> 529 530 * install-mk (MK_VERSION): 20220620 531 532 * yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER 533 rather than just suffix rules 534 5352022-04-23 Simon J Gerraty <sjg@beast.crufty.net> 536 537 * install-mk (MK_VERSION): 20220422 538 539 * gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no" 540 do not capture any local depends in Makefile.depend 541 5422022-03-25 Simon J Gerraty <sjg@beast.crufty.net> 543 544 * install-mk (MK_VERSION): 20220323 545 * posix.mk: default rules for .POSIX: 546 5472022-03-17 Simon J Gerraty <sjg@beast.crufty.net> 548 549 * sys/*.mk: remove l from ARFLAGS 550 5512022-03-14 Simon J Gerraty <sjg@beast.crufty.net> 552 553 * install-mk (MK_VERSION): 20220314 554 555 * dirdeps-options.mk: allow options to be per RELDIR 556 try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed 557 with ${DEP_RELDIR}. 558 5592022-02-14 Simon J Gerraty <sjg@beast.crufty.net> 560 561 * install-mk (MK_VERSION): 20220214 562 563 * cc-wrap.mk: fix :@ modifier 564 5652022-02-06 Simon J Gerraty <sjg@beast.crufty.net> 566 567 * install-mk (MK_VERSION): 20220206 568 569 * cc-wrap.mk: docuement how CCACHE etc might be set for 570 maximum flexibility 571 5722022-02-05 Simon J Gerraty <sjg@beast.crufty.net> 573 574 * sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT 575 5762022-02-04 Simon J Gerraty <sjg@beast.crufty.net> 577 578 * install-mk (MK_VERSION): 20220204 579 580 * host-target.mk: use .MAKE.OS if available 581 5822022-02-02 Simon J Gerraty <sjg@beast.crufty.net> 583 584 * install-mk (MK_VERSION): 20220202 585 586 * cc-wrap.mk: allow other entries in CC_WRAP_FILTER 587 We add our filter on extensions last, so prior filters 588 can apply to the whole value of .IMPSRC 589 5902022-02-01 Simon J Gerraty <sjg@beast.crufty.net> 591 592 * cc-wrap.mk: take advantage of target local variables to 593 wrap compilers like CC CXX with wrappers like ccache distcc etc 594 5952022-01-28 Simon J Gerraty <sjg@beast.crufty.net> 596 597 * meta2deps: we do not expect any trace data for setid apps 598 5992022-01-26 Simon J Gerraty <sjg@beast.crufty.net> 600 601 * dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed 602 to sub-make using DIRDEPS_CACHE 603 6042022-01-07 Simon J Gerraty <sjg@beast.crufty.net> 605 606 * dirdeps.mk: use _cache_script to minimize the number of shells 607 forked when generating dirdeps.cache 608 6092022-01-02 Simon J Gerraty <sjg@beast.crufty.net> 610 611 * install-mk (MK_VERSION): 20220101 612 613 * dirdeps.mk: initialize DEP_* and _debug_reldir earlier. 614 If initial DIRDEPS are from command line, create the target 615 _dirdeps_cmdline as an indication. 616 6172022-01-01 Simon J Gerraty <sjg@beast.crufty.net> 618 619 * init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD 620 at top-level only some targets are allowed at level 0, 621 for leaf makefiles only the default (all) target is restricted 622 6232021-12-28 Simon J Gerraty <sjg@beast.crufty.net> 624 625 * install-mk (MK_VERSION): 20211228 626 627 * meta2deps.py: filemon on Linux is not as reliable as we might 628 like, we do not want to update DIRDEPS if filemon output is 629 incomplete. Track pids that we 'E'xec and make sure we see an 630 e'X'it for each one. Throw an error if we are missing any 'X' 631 records. 632 6332021-12-12 Simon J Gerraty <sjg@beast.crufty.net> 634 635 * sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes. 636 637 * meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON 638 is something else. 639 640 * meta.autodep.mk: we can now reference ${.SUFFIXES} 641 642 * meta2deps.py: derive a list of dirdep extensions from 643 TARGET_SPEC to trim from dirdeps. 644 645 * dirdeps.mk: flip the computation of qualified vs unqualified 646 dirdeps - it is much simpler to check for unqualified first. 647 6482021-12-11 Simon J Gerraty <sjg@beast.crufty.net> 649 650 * install-mk (MK_VERSION): 20211212 651 652 * auto.dep.mk: rearrange so that the trivial implementation 653 for recent bmake is more obvious. 654 6552021-12-07 Simon J Gerraty <sjg@beast.crufty.net> 656 657 * install-mk (MK_VERSION): 20211207 658 659 * Ensure guard targets are .NOTMAIN 660 661 * meta.sys.mk: check for nofilemon support when we skip level 0 662 663 * auto.dep.mk: make this usable in meta mode 664 for platforms that cannot use meta.autodep.mk 665 666 * meta2deps.py: avoid confusion if MACHINE and another 667 TARGET_SPEC_VAR have same value. 668 6692021-11-27 Simon J Gerraty <sjg@beast.crufty.net> 670 671 * dirdeps.mk: when building dirdeps.cache, minimize the amount of 672 data put into env, by stripping ${SRCTOP}/ from each entry. 673 A long sandbox name can double the amount of memory consumed and 674 in extreme cases cause failure. 675 While we are at it, strip ${SRCTOP}/ from a lot of the debug output. 676 6772021-11-11 Simon J Gerraty <sjg@beast.crufty.net> 678 679 * install-mk (MK_VERSION): 20211111 680 681 * meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail 682 so fallback to cp if necessary. 683 6842021-10-30 Simon J Gerraty <sjg@beast.crufty.net> 685 686 * man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year 687 old cmt2doc.pl 688 6892021-10-24 Simon J Gerraty <sjg@beast.crufty.net> 690 691 * meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f} 692 as the symlink (rare) 693 6942021-10-16 Simon J Gerraty <sjg@beast.crufty.net> 695 696 * autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not 697 been read, throw an error after running configure telling user to 698 restart. 699 7002021-10-13 Simon J Gerraty <sjg@beast.crufty.net> 701 702 * install-mk (MK_VERSION): 20211011 703 704 * Add support for SCO_SV 705 7062021-10-01 Simon J Gerraty <sjg@beast.crufty.net> 707 708 * install-mk (MK_VERSION): 20211001 709 710 * man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more 711 flexibility 712 7132021-09-13 Simon J Gerraty <sjg@beast.crufty.net> 714 715 * options.mk (describe-options): print options and their values 716 and optional description 717 7182021-09-11 Simon J Gerraty <sjg@beast.crufty.net> 719 720 * install-mk (MK_VERSION): 20210911 721 722 * options.mk (show-options): print options and their values 723 7242021-09-08 Simon J Gerraty <sjg@beast.crufty.net> 725 726 * install-mk (MK_VERSION): 20210909 727 728 * lib.mk: apply patch from <daniel@octaforge.org> 729 to fix shared libs on Linux 730 7312021-08-08 Simon J Gerraty <sjg@beast.crufty.net> 732 733 * install-mk (MK_VERSION): 20210808 734 735 * options.mk: issue warning for WITH_*=no 736 7372021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 738 739 * install-mk (MK_VERSION): 20210616 740 741 * dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find 742 depend files to read, anchor MACHINE at , or end of string 743 to avoid prefix match. 744 7452021-05-04 Simon J Gerraty <sjg@beast.crufty.net> 746 747 * install-mk (MK_VERSION): 20210504 748 749 * dirdeps.mk: re-implement ALL_MACHINES support to better 750 cater for local complexities, when ONLY_TARGET_SPEC_LIST 751 is not set. local.dirdeps.mk can set 752 DIRDEPS_ALL_MACHINES_FILTER and/or 753 DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get 754 from listing all existing Makefile.depend.* 755 7562021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 757 758 * install-mk (MK_VERSION): 20210420 759 760 * dirdeps.mk: revert previous - not always safe. 761 7622021-03-20 Simon J Gerraty <sjg@beast.crufty.net> 763 764 * install-mk (MK_VERSION): 20210321 765 766 * dirdeps.mk: when generating dirdeps.cache 767 we only need to hook the initial DIRDEPS to the 768 dirdeps target. That and any _build_xtra_dirs (like tests which 769 should not be hooked directly to the dependency graph - to avoid 770 cycles) 771 7722021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 773 774 * install-mk (MK_VERSION): 20210130 775 776 * dirdeps.mk: expr 2 - 1 - 1 exits with a bad status 777 we need to guard against this in DIRDEP_LOADAVG_REPORT. 778 779 * dirdeps.mk: restore respect for TARGET_MACHINE 780 7812021-01-06 Simon J Gerraty <sjg@beast.crufty.net> 782 783 * install-mk (MK_VERSION): 20210101 784 785 * dirdeps.mk: first time we are read, just use TARGET_SPEC for 786 _DEP_TARGET_SPEC 787 7882020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 789 790 * sys.mk (MAKE_SHELL): use ${.SHELL:Ush} 791 and use := when setting SHELL 792 7932020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 794 795 * install-mk (MK_VERSION): 20201221 796 797 * dirdeps-options.mk: latest bmake allows only one arg to .undef 798 7992020-12-11 Simon J Gerraty <sjg@beast.crufty.net> 800 801 * dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS 802 so that any directory can be treated as a target. 803 8042020-11-26 Simon J Gerraty <sjg@beast.crufty.net> 805 806 * install-mk (MK_VERSION): 20201126 807 808 * own.mk: use .MAKE.{UID,GID} if available. 809 810 * init.mk: suppress _SKIP_BUILD warning if doing -V 811 8122020-11-20 Simon J Gerraty <sjg@beast.crufty.net> 813 814 * install-mk (MK_VERSION): 20201120 815 816 * init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS 817 818 * dirdeps-targets.mk: fix typo in comment 819 8202020-11-06 Simon J Gerraty <sjg@beast.crufty.net> 821 822 * install-mk (MK_VERSION): 20201106 823 824 * meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed 825 args to tweak extensions for local deps. 826 8272020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 828 829 * install-mk (MK_VERSION): 20201101 830 831 * dirdeps.mk: most leaf makefiles are not suitable for building 832 dirdeps.cache so if RELDIR is not "." use dirdeps.mk 833 8342020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 835 836 * install-mk (MK_VERSION): 20201028 837 838 * dirdeps.mk: if we don't have :range use equivalent of M_RANGE 839 when building dirdeps.cache for leaf directory use -f dirdeps.mk 840 841 * sys.vars.mk: add M_JOT and M_RANGE 842 8432020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 844 845 * install-mk (MK_VERSION): 20201001 846 847 * meta2deps.{py,sh}: throw an error if we don't see filemon version 848 8492020-09-09 Simon J Gerraty <sjg@beast.crufty.net> 850 851 * install-mk (MK_VERSION): 20200909 852 853 * dirdeps-cache-update.mk: use cache_update_dirdep as guard target 854 8552020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 856 857 * dirdeps.mk: ensure we cannot confuse a static cache for dynamic 858 (even more rare that use of static cache is playing clever tricks 859 with it) 860 8612020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 862 863 * dirdeps-cache-update.mk: allow 864 MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we 865 actually update STATIC_DIRDEPS_CACHE. 866 867 * stage-install.sh: create dest directory if needed 868 before running install(1) 869 8702020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 871 872 * dirdeps-targets.mk: include Makefile.dirdeps.options 873 874 * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE 875 8762020-08-09 Simon J Gerraty <sjg@beast.crufty.net> 877 878 * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty 879 880 * dirdeps-cache-update.mk: building parallel cache update 881 under the context of dirdeps-cached would be ideal, but 882 is problematic, so it runs as a sibling. 883 Use cache-built target to ensure we wait for it to complete if 884 necessary. 885 8862020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 887 888 * install-mk (MK_VERSION): 20200806 889 890 * dirdeps-options: allow TARGET_SPEC to affect option values. 891 Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_* 892 893 * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined 894 before looking for STATIC_DIRDEPS_CACHE 895 8962020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 897 898 * host-target.mk: Darwin use MACHINE for HOST_ARCH too 899 900 * dirdeps-options.mk: improve debug output 901 9022020-07-22 Simon J Gerraty <sjg@beast.crufty.net> 903 904 * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE 905 for use by dirdeps-cache-update.mk 906 907 * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE 908 for use by dirdeps-cache-update.mk even if we don't use it. 909 910 * dirdeps-cache-update.mk: we only need worry about the background 911 update case, with the above, the update from DIRDEPS_CACHE is 912 simple. 913 914 * meta2deps.py: R 1234 . is not interesting 915 9162020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 917 918 * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE 919 920 * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS 921 allows use of lower case for pseudo options. 922 923 * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE 924 9252020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 926 927 * dirdeps-targets.mk: Look for Makefile.dirdeps.cache 928 which allows us to have a static cache for expensive targets. 929 Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE 930 to regenerate the dirdeps.cache it is a copy of. 931 9322020-07-17 Simon J Gerraty <sjg@beast.crufty.net> 933 934 * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense. 935 9362020-07-16 Simon J Gerraty <sjg@beast.crufty.net> 937 938 * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record 939 load averages at intervals during build. 940 9412020-07-15 Simon J Gerraty <sjg@beast.crufty.net> 942 943 * install-mk (MK_VERSION): 20200715 944 945 * dirdeps.mk: tweak Checking line to make matching Finished 946 lines for post-build analysis easier. 947 948 * meta.autodep.mk: use !defined(WITHOUT_META_STATS) 949 950 * progs.mk: avoid prog.mk outputting multiple Finished lines 951 9522020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 953 954 * dirdeps.mk: further optimize dirdeps.cache 955 generate a DIRDEPS.${.TARGET} list for other purposes 956 and improve the layout. 957 9582020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 959 960 * dirdeps.mk: optimize content of dirdeps.cache 961 9622020-06-28 Simon J Gerraty <sjg@beast.crufty.net> 963 964 * sys/*.mk: make it easier for local*sys.mk to customize by 965 using ?= 966 9672020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 968 969 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0 970 it is much safer to guard local depends with a simple check for 971 .MAKE.LEVEL > 0 972 9732020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 974 975 * install-mk (MK_VERSION): 20200610 976 977 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok 978 9792020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 980 981 * install-mk (MK_VERSION): 20200606 982 983 * dirdeps-targets.mk: allow for filtering of .TARGETS 984 985 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove 986 entries - and we don't care about 'W'rite entries. 987 Also ignore absolute paths that do not exist. 988 9892020-05-25 Simon J Gerraty <sjg@beast.crufty.net> 990 991 * install-mk (MK_VERSION): 20200525 992 993 * init.mk: expand and simplify handling of qualified vars 994 like CPPFLAGS.${.TARGET:T} 995 9962020-05-15 Simon J Gerraty <sjg@beast.crufty.net> 997 998 * install-mk (MK_VERSION): 20200515 999 1000 * dirdeps.mk: set _debug_* earlier and allow passing -d* 1001 flags to submake when building DIRDEPS_CACHE 1002 10032020-05-09 Simon J Gerraty <sjg@beast.crufty.net> 1004 1005 * whats.mk: more easily extensible 1006 10072020-05-02 Simon J Gerraty <sjg@beast.crufty.net> 1008 1009 * whats.mk: greatly simplify by adding what.c to SRCS 1010 10112020-05-01 Simon J Gerraty <sjg@beast.crufty.net> 1012 1013 * whats.mk: for libs take care how we add to *OBJS 1014 1015 * lib.mk: : works better with whats.mk 1016 10172020-04-25 Simon J Gerraty <sjg@beast.crufty.net> 1018 1019 * install-mk (MK_VERSION): 20200420 1020 1021 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep 1022 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC} 1023 10242020-04-16 Simon J Gerraty <sjg@beast.crufty.net> 1025 1026 * install-mk (MK_VERSION): 20200416 1027 1028 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to 1029 interfere with user env. 1030 1031 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL 1032 1033 * autodep.mk: use MAKE_SHELL. 1034 10352019-11-21 Simon J Gerraty <sjg@beast.crufty.net> 1036 1037 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of 1038 wasted effort, and unexport _meta_files when no longer needed as 1039 it consumes space we need for command line. 1040 10412019-11-11 Simon J Gerraty <sjg@beast.crufty.net> 1042 1043 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add 1044 DIRDEP_USE_PRELUDE at start - facilitates job distribution 1045 10462019-10-04 Simon J Gerraty <sjg@beast.crufty.net> 1047 1048 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST 1049 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid 1050 TARGET_SPEC qualified depend files. 1051 10522019-10-02 Simon J Gerraty <sjg@beast.crufty.net> 1053 1054 * dirdeps-targets.mk: encapsulate logic for finding top-level 1055 targets to set initial DIRDEPS for DIRDEPS_BUILD 1056 10572019-09-27 Simon J Gerraty <sjg@beast.crufty.net> 1058 1059 * install-mk (MK_VERSION): 20190911 1060 1061 * compiler.mk: set COMPILER_TYPE 1062 10632019-07-17 Simon J Gerraty <sjg@beast.crufty.net> 1064 1065 * install-mk (MK_VERSION): 20190704 1066 1067 * sys/Darwin.mk: support for Objective-C and clang 1068 10692019-05-30 Simon J Gerraty <sjg@beast.crufty.net> 1070 1071 * dirdeps.mk: avoid insanely long command line when generating cache 1072 10732019-05-23 Simon J Gerraty <sjg@beast.crufty.net> 1074 1075 * install-mk (MK_VERSION): 20190505 1076 1077 * whats.mk: handle corner case SHLIB defined but not LIB 1078 10792018-09-19 Simon J Gerraty <sjg@beast.crufty.net> 1080 1081 * install-mk (MK_VERSION): 20180919 1082 1083 * dirdeps-options.mk: .undef cannot handle var that expands to 1084 more than one var. 1085 10862018-07-08 Simon J Gerraty <sjg@beast.crufty.net> 1087 1088 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc. 1089 10902018-06-01 Simon J Gerraty <sjg@beast.crufty.net> 1091 1092 * meta.autodep.mk: export META_FILES to avoid command line limit 1093 * gendirdeps.mk: if we have lots of .meta files put them in 1094 an @list 1095 10962018-05-28 Simon J Gerraty <sjg@beast.crufty.net> 1097 1098 * dirdeps-options.mk: use local.dirdeps-options.mk 1099 not local.dirdeps-option.mk 1100 11012018-04-20 Simon J Gerraty <sjg@beast.crufty.net> 1102 1103 * install-mk (MK_VERSION): 20180420 1104 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0 1105 ie. we are building something. 1106 11072018-04-14 Simon J Gerraty <sjg@beast.crufty.net> 1108 1109 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS. 1110 11112018-04-05 Simon J Gerraty <sjg@beast.crufty.net> 1112 1113 * install-mk (MK_VERSION): 20180405 1114 1115 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER 1116 if needed. 1117 11182018-01-18 Simon J Gerraty <sjg@beast.crufty.net> 1119 1120 * install-mk (MK_VERSION): 20180118 1121 1122 * ldorder.mk: let make compute correct link order 1123 11242017-12-12 Simon J Gerraty <sjg@beast.crufty.net> 1125 1126 * install-mk (MK_VERSION): 20171212 1127 1128 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER 1129 11302017-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1131 1132 * install-mk (MK_VERSION): 20171111 1133 1134 * lib.mk: ensure META_NOECHO is set 1135 11362017-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 1137 1138 * Allow for host32 on rare occasions. 1139 11402017-10-18 Simon J. Gerraty <sjg@bad.crufty.net> 1141 1142 * install-mk (MK_VERSION): 20171018 1143 1144 * whats.mk: include what_thing in what_uuid to avoid problem 1145 when building multiple apps in the same directory. 1146 11472017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 1148 1149 * install-mk (MK_VERSION): 20170812 1150 1151 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can 1152 add dependencies for config.recheck and config.gen 1153 11542017-06-30 Simon J. Gerraty <sjg@bad.crufty.net> 1155 1156 * install-mk (MK_VERSION): 20170630 1157 1158 * meta.stage.mk: avoid triggering stage_* targets with nothing to do. 1159 11602017-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 1161 1162 * meta2deps.py: take special care of '..' 1163 11642017-05-15 Simon J. Gerraty <sjg@bad.crufty.net> 1165 1166 * install-mk (MK_VERSION): 20170515 1167 1168 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is 1169 useful/necessary for a Makefile.depend file to export some knobs. 1170 This is complicated when we are doing DIRDEPS_CACHE, so we will 1171 handle export of any variables listed in DEP_EXPORT_VARS. 1172 11732017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 1174 1175 * install-mk (MK_VERSION): 20170505 1176 1177 * meta2deps.py: fix botched indenation. 1178 11792017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1180 1181 * sys/*.mk: Remove setting of MAKE it is unnecessary and 1182 in many cases wrong (basname rather than full path) 1183 1184 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk 1185 1186 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc 1187 11882017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1189 1190 * install-mk (MK_VERSION): 20170501 1191 1192 * doc.mk: fix typo in DOC_INSTALL_OWN 1193 1194 * inc.mk: handle INCGROUPS similar to freebsd 1195 1196 * files.mk: add something for files too 1197 1198 * add staging logic to lib.mk prog.mk etc. 1199 12002017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 1201 1202 * install-mk (MK_VERSION): 20170424 1203 1204 * dirdeps.mk: set NO_DIRDEPS when bootstrapping. 1205 also target of bootstrap-this when sed is needed should be ${_want:T} 1206 12072017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1208 1209 * install-mk (MK_VERSION): 20170418 1210 1211 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a 1212 prefix match for .CURDIR - in which case .CURDIR *is* __objdir. 1213 12142017-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1215 1216 * install-mk (MK_VERSION): 20170401 1217 1218 * meta2deps.py: add is_src so we can check if obj dependency 1219 is also a src dependency. 1220 12212017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 1222 1223 * install-mk (MK_VERSION): 20170326 1224 1225 * meta.stage.mk: do nothing if NO_STAGING is defined. 1226 12272017-03-24 Simon J. Gerraty <sjg@bad.crufty.net> 1228 1229 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc. 1230 12312017-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1232 1233 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_* 1234 12352017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1236 1237 * install-mk (MK_VERSION): 20170301 1238 1239 * dirdeps.mk (_build_all_dirs): update this outside test for empty 1240 DIRDEPS. 1241 1242 * meta.stage.mk: allow multiple inclusion to the extent it makes 1243 sense. 1244 12452017-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1246 1247 * prog.mk (install_links): depends on realinstall 1248 12492017-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 1250 1251 * install-mk (MK_VERSION): 20170212 1252 1253 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries 1254 12552017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 1256 1257 * install-mk (MK_VERSION): 20170130 1258 1259 * dirdeps.mk: use :range if we can. 1260 1261 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130 1262 1263 * meta2deps.py: clean paths without using realpath() where possible. 1264 fix sort_unique. 1265 12662016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1267 1268 * install-mk (MK_VERSION): 20161212 1269 1270 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, 1271 rather than when we detect pid change. 1272 12732016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 1274 1275 * install-mk (MK_VERSION): 20161207 1276 1277 * meta.stage.mk: add stage_as_and_symlink for staging packages. 1278 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able 1279 to use foo.tgz to reference the latest staged version - so we 1280 make foo.tgz a symlink to it. 1281 Using a target to do both operations ensures we stay in sync. 1282 12832016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1284 1285 * install-mk (MK_VERSION): 20161126 1286 1287 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk 1288 so it can add dependencies. 1289 12902016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1291 1292 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE 1293 do that they can influence the result correctly. 1294 1295 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC 1296 1297 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST 1298 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 1299 13002016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 1301 1302 * dirdeps.mk: remove dependence on jot (normal situations anyway). 1303 Before we read another Makefile.depend* set DEP_* vars from 1304 _DEP_TARGET_SPEC in case it uses any of them with := 1305 When bootstrapping, trim any ,* from extention of chosen _src 1306 Makefile.depend* to get the machine value we subst for. 1307 13082016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> 1309 1310 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to 1311 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER 1312 1313 * sys.mk: extract some bits to sys.{debug,vars}.mk 1314 for easier re-use by others. 1315 13162016-09-23 Simon Gerraty <sjg@sjg-mba13> 1317 1318 * lib.mk: Use ${PICO} for extension for PIC objects. 1319 default to .pico (like NetBSD) safe on case insensitive filesystem. 1320 13212016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> 1322 1323 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default 1324 13252016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 1326 1327 * install-mk (MK_VERSION): 20160815 1328 1329 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only 1330 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date. 1331 13322016-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 1333 1334 * meta.sys.mk (.MAKE.META.IGNORE_PATHS): 1335 in meta mode we can ignore the mtime of makefiles 1336 13372016-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1338 1339 * install-mk (MK_VERSION): 20160802 1340 1341 * lib.mk (libinstall): depends on beforinstall 1342 1343 * prog.mk (proginstall): depends on beforinstall 1344 patch from Lauri Tirkkonen 1345 1346 * dirdeps.mk (bootstrap): When bootstrapping; creat 1347 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via 1348 .MAKE.DEPENDFILE_BOOTSTRAP_SED 1349 1350 * dirdeps.mk: move some comments to where they make sense. 1351 13522016-07-27 Simon J. Gerraty <sjg@bad.crufty.net> 1353 1354 * dirdeps.mk (DIRDEPS_CACHE): no dirname. 1355 13562016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1357 1358 * install-mk (MK_VERSION): 20160602 1359 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk 1360 do not apply :T to META_XTRAS 1361 patch from Bryan Drewery at FreeBSD.org. 1362 13632016-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 1364 1365 * install-mk (MK_VERSION): 20160530 1366 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH 1367 make it so. 1368 13692016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 1370 1371 * install-mk (MK_VERSION): 20160512 1372 1373 * dpadd.mk: always include local.dpadd.mk if it exists 1374 remove some things that better belong in local.dpadd.mk 1375 skip INCLUDES_* for staged libs unless SRC_* defined. 1376 1377 * own.mk: add INCLUDEDIR 1378 13792016-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1380 1381 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no 1382 TARGET_MACHINE - :E will be empty or match part of path, use 1383 ${MACHINE} 1384 13852016-04-07 Simon J. Gerraty <sjg@bad.crufty.net> 1386 1387 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to 1388 NO_FILEMON_COOKIE 1389 1390 * dirdeps.mk: move the logic that allows for 1391 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1392 inside the check for !target(_DIRDEP_USE) 1393 13942016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 1395 1396 * Use <> when including local*.mk and others which may exist 1397 elsewhere so that user can better control what they get. 1398 1399 * meta.autodep.mk (NO_FILEMON_COOKIE): 1400 create a cookie if we ever build dir with nofilemon 1401 so that UPDATE_DEPENDFILE will be forced to NO until cleaned. 1402 14032016-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1404 1405 * install-mk (MK_VERSION): 20160401 1406 1407 * meta2deps.py: fix old print statement when debugging. 1408 1409 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X 1410 patch from Bryan Drewery 1411 14122016-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 1413 1414 * install-mk (MK_VERSION): 20160317 (St. Pats) 1415 1416 * warnings.mk: g++ does not like -Wimplicit 1417 1418 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the 1419 pelthora of common suffixes for C++ 1420 1421 * lib.mk: use .So for shared objects 1422 14232016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1424 1425 * install-mk (MK_VERSION): 20160315 1426 1427 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 1428 normally only applies to scripts. 1429 1430 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 1431 well as outside it. 1432 14332016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1434 1435 * install-mk (MK_VERSION): 20160310 1436 1437 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 1438 we have processed; the list gets very inefficient as number of 1439 DIRDEPS gets large. 1440 1441 * sys.dependfile.mk: fix comment wrt MACHINE 1442 1443 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 1444 patch from Bryan Drewery 1445 14462016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 1447 1448 * meta2deps.sh: don't ignore subdirs. 1449 patch from Bryan Drewery 1450 14512016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1452 1453 * install-mk (MK_VERSION): 20160226 1454 1455 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 1456 14572016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 1458 1459 * dirdeps.mk: we shouldn't normally include .depend but if we do 1460 use .dinclude if we can. 1461 14622016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1463 1464 * install-mk (MK_VERSION): 20160218 1465 * sys.clean-env.mk: with recent change to Var_Subst() 1466 we cannot use the '$$' trick, but .export-literal does the job 1467 we need. 1468 * auto.dep.mk: make use .dinclude if we can. 1469 1470 14712016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 1472 1473 * dirdeps.mk: 1474 Add _build_all_dirs such that local.dirdeps.mk can 1475 add fully qualified dirs to it. 1476 These will be built normally but the current 1477 DEP_RELDIR will not depend on then (to avoid cycles). 1478 This makes it easy to hook things like unit-tests into build. 1479 1480 14812016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 1482 1483 * dirdeps.mk: add bootstrap-empty 1484 14852015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1486 1487 * install-mk (MK_VERSION): 20151212 1488 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 1489 only apply :tA to __objdir when comparing to .OBJDIR 1490 14912015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1492 1493 * install-mk (MK_VERSION): 20151111 1494 1495 * meta.sys.mk: include sys.dependfile.mk 1496 1497 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 1498 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 1499 include local.sys.env.mk early 1500 include local.sys.mk later 1501 1502 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 1503 15042015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1505 1506 * meta.sys.mk (META_COOKIE_TOUCH): 1507 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 1508 1509 * meta.stage.mk: stage_libs should ignore SYMLINKS. 1510 15112015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 1512 1513 * install-mk (MK_VERSION): 20151022 1514 1515 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 1516 15172015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1518 1519 * install-mk (MK_VERSION): 20151020 1520 1521 * dirdeps.mk: Add logic for 1522 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1523 15242015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 1525 1526 * install-mk (MK_VERSION): 20151010 1527 15282015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 1529 1530 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 1531 to have stage_lins run last in non-jobs mode. 1532 Use .ORDER only for jobs mode. 1533 15342015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1535 1536 * rst2htm.mk: allow for per target flags etc. 1537 15382015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1539 1540 * install-mk (MK_VERSION): 20150901 1541 1542 * doc.mk: create dir if needed use DOC_INSTALL_OWN 1543 15442015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 1545 1546 * install-mk (MK_VERSION): 20150615 1547 1548 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 1549 Follow make's normal precedence rules. 1550 1551 * gendirdeps.mk: allow customization of the header. 1552 eg. for FreeBSD: 1553 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 1554 1555 * meta.autodep.mk: ignore dirdeps.cache* 1556 1557 * meta.stage.mk: when bootstrapping options it can be handy to 1558 throw warnings rather than errors for staging conflicts. 1559 1560 * meta.sys.mk: include local.meta.sys.mk for customization 1561 15622015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1563 1564 * install-mk (MK_VERSION): 20150606 1565 1566 * dirdeps.mk: don't rely on manually maintained Makefile.depend 1567 to set DEP_RELDIR and reset DIRDEPS. 1568 By setting DEP_RELDIR ourselves we can skip :tA 1569 1570 * gendirdeps.mk: skip setting DEP_RELDIR. 1571 15722015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1573 1574 * dirdeps.mk: avoid wildcards like make(bootstrap*) 1575 15762015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1577 1578 * install-mk (MK_VERSION): 20150520 1579 1580 * dirdeps.mk: when we are building dirdeps cache file we *want* 1581 meta_oodate to look at all the Makefile.depend files, so 1582 set .MAKE.DEPENDFILE to something that won't match. 1583 1584 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 1585 so first use absolute path as key. 1586 Also skip staging at level 0. 1587 15882015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1589 1590 * install-mk (MK_VERSION): 20150430 1591 1592 * dirdeps.mk: fix _count_dirdeps for non-cache case. 1593 15942015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 1595 1596 * install-mk (MK_VERSION): 20150411 1597 bump version 1598 1599 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 1600 it is here mainly for documentation purposes, since 1601 if using auto.obj.mk it is better done via sys.mk 1602 16032015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1604 1605 * install-mk (MK_VERSION): 20150401 1606 1607 * meta2deps.sh: support @list 1608 1609 * meta2deps.py: updates from Juniper 1610 o add EXCLUDES 1611 o skip bogus input files. 1612 o treat 'M' and 'L' as both an 'R' and a 'W' 1613 16142015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1615 1616 * install-mk (MK_VERSION): 20150303 1617 1618 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 1619 which is built via sub-make so we have a .meta file to tell if 1620 it is out-of-date. 1621 The dirdeps-cache contains the same dependency rules that we 1622 normaly construct on the fly. 1623 This adds a few seconds overhead when the cache is out of date, 1624 but for a large target, the savings can be significant (10-20min). 1625 16262014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 1627 1628 * install-mk (MK_VERSION): 20141118 1629 1630 * meta.stage.mk: add stale_staged 1631 1632 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 1633 only useful under very rare conditions such as 1634 FreeBSD's make universe. 1635 1636 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 1637 16382014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1639 1640 * install-mk (MK_VERSION): 20141111 1641 1642 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 1643 16442014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1645 1646 * FILES: include mkopt.sh which allows handling options in shell 1647 scripts in a manner compatible with options.mk 1648 16492014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1650 1651 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 1652 for GENDIRDEPS_FILTER to avoid surprises. 1653 16542014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1655 1656 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 1657 the time it is applied to __depdirs they have. 1658 1659 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 1660 expects patterns like *.${MACHINE} 1661 1662 * cython.mk (pyprefix?): use pyprefix to find python bits 1663 since prefix might be something else (where we install our 1664 stuff) 1665 16662014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1667 1668 * install-mk (MK_VERSION): 20140911 1669 1670 * dirdeps.mk: add bootstrap target to simplify adding support for 1671 new MACHINE. 1672 16732014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1674 1675 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 1676 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 1677 Makefile.depend files. 1678 16792014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1680 1681 * install-mk (MK_VERSION): 20140828 1682 1683 * cython.mk: capture logic for building python extension modules 1684 with Cython. 1685 16862014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1687 1688 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 1689 16902014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1691 1692 * install-mk (MK_VERSION): 20140801 1693 1694 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 1695 identify the autodep.mk variant. 1696 1697 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 1698 initial value does not match .MAKE.DEPENDFILE_PREFIX 1699 1700 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 1701 17022014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1703 1704 * install-mk (MK_VERSION): 20140522 1705 1706 * lib.mk: use CC to link shlib for linux too 1707 patch from Brendan MacDonell 1708 17092014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1710 1711 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 1712 if WITH_META_STATS is defined. 1713 17142014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1715 1716 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 1717 to supress dirdeps outside of .CURDIR. 1718 17192014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1720 1721 * Fix spelling errors - patch from Pedro Giffuni 1722 17232014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 1724 1725 * install-mk (MK_VERSION): 20140314 1726 1727 * dirdeps.mk (beforedirdeps): a handy hook 1728 1729 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 1730 to visit leaf dirs to be intercepted (eg. for distributed 1731 build). 1732 1733 * dirdeps.mk (__depdirs): ensure // don't sneak in 1734 1735 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 1736 1737 17382014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 1739 1740 * rst2htm.mk (RST2PDF): add support for rst2pdf 1741 17422014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1743 1744 * install-mk (MK_VERSION): bump version 1745 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 1746 available. 1747 17482014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1749 1750 * options.mk: avoid :U so this isn't bmake dependent 1751 17522014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 1753 1754 * options.mk: cleanup and simplify semanitcs 1755 NO_* dominates all, if both WITH_* and WITHOUT_* 1756 are defined then result is DOMINATE_* which defaults to "no". 1757 Ie. WITHOUT_ normally wins. 1758 17592013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1760 1761 * install-mk (MK_VERSION): bump version 1762 * meta2deps.py: convert to print function for python3 compat. 1763 we also need to open files with mode 'r' rather than 'rb' 1764 otherwise we get bytes instead of strings. 1765 17662013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1767 1768 * install-mk (MK_VERSION): bump version 1769 1770 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 1771 apply the same filtering (M_dep_qual_fixes) when setting _machines 1772 as _build_dirs. 1773 Also fix the filtering of Makefile.depend files - for reporting 1774 what we are looking for (M_dep_qual_fixes can get confused by 1775 Makefile.depend) 1776 Add some more debug info. 1777 17782013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1779 1780 * gendirdeps.mk (_objtops): fix typo also 1781 while processing M2D_OBJROOTS to gather qualdir_list 1782 qualify $ql with loop iterator to ensure correct results. 1783 17842013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1785 1786 * install-mk (MK_VERSION): 20130801 1787 * libs.mk: update to match progs.mk 1788 17892013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 1790 1791 * install-mk (MK_VERSION): 20130726 1792 some updates from Juniper and FreeBSD 1793 o meta2deps.py: indicate file and line number when we hit parse 1794 errors 1795 also allow @file to provide huge list of .meta files. 1796 * meta2deps.py: add try_parse() to cleanup the above. 1797 17982013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1799 1800 * install-mk (MK_VERSION): 20130716 1801 * own.mk: add GPROG as an option 1802 * prog.mk: honor MK_GPROF==yes 1803 18042013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1805 1806 * install-mk (MK_VERSION): 20130505 1807 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 1808 for when $MACHINE isn't enough for objdir distinction. 1809 Bring meta2deps.sh closer to par with meta2deps.py. 1810 18112013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1812 1813 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 1814 also if the target 'beforeinstall' exists, make it depend on 1815 .dirdep (incase it uses STAGE_INSTALL). 1816 18172013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1818 1819 * install-mk (MK_VERSION): 20130401 ;-) 1820 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 1821 wrapper around install(1). 1822 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 1823 18242013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1825 1826 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 1827 * install-mk (MK_VERSION): bump version 1828 18292013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 1830 1831 * install-mk (MK_VERSION): bump version 1832 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 1833 any trailing /., rather apply :tA only when needed. 1834 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 1835 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 1836 consistently. 1837 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 1838 18392013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1840 1841 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 1842 it is simpler to just not update when say building for "host" 1843 (where we know we apply filters to DIRDEPS), and using a 1844 non-machine qualified dependfile. 1845 18462013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1847 1848 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 1849 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 1850 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 1851 * meta2deps.py: if machine is "host", then also trim 1852 self.host_target from any OBJROOTS. 1853 1854 18552013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1856 1857 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 1858 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 1859 but _DEPENDFILE does not, compare the new _DEPENDFILE against 1860 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 1861 18622013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 1863 1864 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 1865 and hook to all: via staging: 1866 18672013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1868 1869 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 1870 use a separate variable for the default .MAKE.DEPENDFILE value 1871 so that it can be controlled independently of 1872 .MAKE.DEPENDFILE_PREFERENCE 1873 1874 * meta.stage.mk: throw error if cp fails etc. 1875 Stage*() return early if passed no args. 1876 .ORDER stage_* 1877 18782013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1879 1880 * install-mk (MK_VERSION): bump version 1881 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 1882 18832013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1884 1885 * install-mk (MK_VERSION): bump version to 20130210 1886 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 1887 from Juniper. 1888 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 1889 than just MACHINE. 1890 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 1891 18922013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 1893 1894 * install-mk (MK_VERSION): bump version to 20130123 1895 * meta.stage.mk: add stage_links (hard links). 1896 if doing hard links, we add dest to link as well. 1897 Default the stage dir for [sym]links to STAGE_OBJTOP since 1898 these are typically specified as absolute paths. 1899 Add -m "mode" flag to StageFiles and StageAs. 1900 19012012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1902 1903 * install-mk (MK_VERSION): bump version to 20121111 1904 * autoconf.mk: avoid meta mode seeing changed commands for config.status 1905 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 1906 in case we were found via .../mk 1907 * sys.clean-env.mk: move it from examples, we and others use it 1908 "as is". 1909 * FILES: add srctop.mk and options.mk 1910 * own.mk: convert to using options.mk 1911 which is modeled after FreeBSD's handling of MK_* 1912 but more flexible. 1913 This allows MK_* for boolean knobs to not be confused 1914 with MK* which can be commands. 1915 1916 * examples/sys.clean-env.mk: add WITH[OUT]_ to 1917 MAKE_ENV_SAVE_PREFIX_LIST. 1918 Mention that HOME=/var/empty might be a good idea. 1919 19202012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 1921 1922 * sys.dependfile.mk: if not depend file exists, $MACHINE 1923 specific ones are supported but not the default, 1924 check if any exist and follow suit. 1925 19262012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 1927 1928 * install-mk (MK_VERSION): bump version to 20121106 1929 19302012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 1931 1932 * import latest dirdeps.mk and meta2deps.py from Juniper. 1933 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 1934 also add PROGS_TARGETS and pass on PROG_CXX if it seems 1935 appropriate. 1936 19372012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 1938 1939 * meta.stage.mk: update CLEANFILES 1940 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 1941 * progs.mk: Add LDADD to PROG_VARS 1942 19432012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1944 1945 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 1946 _STAGED_DIRS so that these can be turned into filters for 1947 GENDIRDEPS_FILTER. 1948 19492012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1950 1951 * install-mk (MK_VERSION): bump version to 20121010 1952 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 1953 target.dirdep matches .dirdep 1954 19552012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1956 1957 * install-mk (MK_VERSION): bump version to 20120808 1958 * import latest meta2deps.py from Juniper. 1959 19602012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 1961 1962 * install-mk (MK_VERSION): bump version to 20120711 1963 * dep.mk: add explicit dependencies on SRCS after applying 1964 SRCS_DEP_FILTER 1965 * meta.autodep.mk: add explicit dependencies on SRCS after 1966 applying SRCS_DEP_FILTER 1967 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 1968 19692012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 1970 1971 * install-mk (MK_VERSION): bump version to 20120626 1972 * meta.sys.mk: ignore PYTHON if it does not exist 1973 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 1974 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 1975 entries ending in .${MACHINE} to decide if qualified _dirdep is 1976 needed. 1977 * gendirdeps.mk: only produce unqualified deps if no 1978 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 1979 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 1980 19812012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1982 1983 * install-mk (MK_VERSION): bump version to 20120420 1984 * add sys.dependfile.mk so we can experiment with 1985 .MAKE.DEPENDFILE_PREFERENCE 1986 * meta.autodep.mk: _DEPENDFILE is precious! 1987 19882012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1989 1990 * install-mk (MK_VERSION): bump version to 20120315 1991 * install-new.mk: avoid being interrupted 1992 19932012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1994 1995 * man.mk: MAN might have multiple values so be careful with exists(). 1996 19972012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 1998 1999 * install-mk (MK_VERSION): bump version to 20120112 2000 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 2001 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 2002 20032011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 2004 2005 * install-mk (MK_VERSION): bump version to 20111201 2006 * import dirdeps.mk from Juniper sjg@ 2007 o more consistent handling of DEP_MACHINE, especially when 2008 dealing with an odd Makefile.depend, when normally using 2009 Makefile.depend.${MACHINE} 2010 20112011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 2012 2013 * install-mk (MK_VERSION): bump version to 20111122 2014 * meta.autodep.mk: add some debug output, be more crisp about 2015 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 2016 20172011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 2018 2019 * install-mk (MK_VERSION): bump version to 20111111 2020 it's too cool to miss 2021 * import meta* updates from Juniper sjg@ 2022 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 2023 normally using Makefile.depend.${MACHINE}), handy for 2024 read-only manually maintained dependencies. 2025 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 2026 o gendirdeps.mk if ERROR: from meta2deps.py do not update 2027 anything. 2028 20292011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 2030 2031 * install-new.mk separate the cmp and copy logic to its own function. 2032 20332011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 2034 2035 * install-mk (MK_VERSION): bump version to 20111028 2036 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 2037 * subdir.mk: ensure _SUBDIRUSE is provided 2038 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 2039 * meta.subdir.mk: always allow for Makefile.depend 2040 20412011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 2042 2043 * install-mk (MK_VERSION): bump version to 20111010 2044 o minor tweak to *dirdeps.mk from Juniper sjg@ 2045 20462011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 2047 2048 * install-mk (MK_VERSION): bump version to 20111001 2049 o add meta2deps.py from Juniper sjg@ 2050 o tweak gendirdeps.mk to work with meta2deps.py when not 2051 cross-building 2052 * autoconf.mk: add autoconf-input as a hook for regenerating 2053 AUTOCONF_INPUTS (configure). 2054 20552011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 2056 2057 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 2058 trigger for updating Makefile.depend* 2059 20602011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 2061 2062 * install-mk (MK_VERSION): bump version to 20110808 2063 * obj.mk: minor cleanup 2064 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 2065 20662011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 2067 2068 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 2069 specified dir. 2070 20712011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 2072 2073 * meta.autodep.mk: if XMAKE_META_FILE is set 2074 the makefile uses a foreign make, and so dependencies 2075 can only be gathered from a clean tree build. 2076 20772011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 2078 2079 * install-mk (MK_VERSION): bump version to 20110622 2080 * meta.autodep.mk: improve bootstraping 2081 20822011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 2083 2084 * yacc.mk: handle the corner case of .c being removed 2085 while .h remains. 2086 20872011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 2088 2089 * yacc.mk: do .y.h and .y.c separately 2090 20912011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 2092 2093 * install-mk (MK_VERSION): bump version to 20110606 2094 * don't store SRC_DIRDEPS in Makefile.depend* by default 2095 not everyone needs it. 2096 20972011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 2098 2099 * install-mk (MK_VERSION): bump version to 20110505 2100 first release including meta mode makefiles 2101 21022011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 2103 2104 * meta.stage.mk: add STAGE_AS_SETS and stage_as 2105 for things that need to be staged with different names. 2106 21072011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 2108 2109 * meta.stage.mk: add notion of STAGE_SETS 2110 so a makefile can stage to multiple dirs 2111 21122011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 2113 2114 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 2115 on target name. 2116 21172011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 2118 2119 * install-mk (MK_VERSION): bump version to 20110330 2120 21212011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 2122 2123 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 2124 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 2125 * sys.mk: re-define M_whence in terms of M_type. 2126 M_type is useful for checking if something is a builtin. 2127 21282011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 2129 2130 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 2131 stage_libs 2132 21332011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 2134 2135 * dirdeps.mk: correct value for _depdir_files depends on 2136 .MAKE.DEPENDFILE 2137 Add our copyright - just to make it clear we have frobbed this 2138 quite a bit. 2139 DEP_MACHINE needs to be set to MACHINE each time, if using only 2140 Makefile.depend (cf. Makefile.depend.${MACHINE}) 2141 2142 * meta.stage.mk: meta mode version of staging 2143 2144 * init.mk, final.mk: include local.*.mk to simplify customization 2145 21462011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 2147 2148 * auto.obj.mk: just because we are doing mk destroy, we should 2149 still set .OBJDIR correctly if it exists. 2150 2151 * install-mk (mksrc): do not exclude meta.sys.mk 2152 21532011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 2154 2155 * host-target.mk: set/export _HOST_ARCH etc separately, 2156 catch junk resulting from uname -p, so we can find sys/Linux.mk 2157 correctly. 2158 21592011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 2160 2161 * meta.sys.mk: throw an error if /dev/filemon is missing and we 2162 expected to be updating Makefile.depend* 2163 21642011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 2165 2166 * install-mk (MK_VERSION): bump version to 20110214 2167 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 2168 21692010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 2170 2171 * meta.sys.mk: not valid for older bmake 2172 21732010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 2174 2175 * install-mk (MK_VERSION): bump version to 20100919 2176 include dirdeps.mk et al from Juniper Networks, 2177 for meta mode - requires filemon(9). 2178 * sys.mk, subdir.mk: Add hooks for meta mode. 2179 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 2180 to make turning it on/off simple. 2181 21822010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 2183 2184 * install-mk (MK_VERSION): bump version to 20100616 2185 * fix typo in sys.mk 2186 21872010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 2188 2189 * install-mk (MK_VERSION): bump version to 20100612 2190 * lib.mk: remove duplicate addition to SOBJS 2191 21922010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 2193 2194 * sys.mk: Add a means of selectively turning on debug flags. 2195 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 2196 will act as if we did make -dv if .CURDIR ends in lib/sjg 2197 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 2198 the start of sys.mk rather than the end. 2199 This only makes sense for leaf dirs, so we check that 2200 .MAKE.LEVEL > 0 2201 22022010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 2203 2204 * install-mk (MK_VERSION): bump version to 20100608 2205 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 2206 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 2207 also make it easier for folk to tweak 2208 22092010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 2210 2211 * install-mk (MK_VERSION): bump version to 20100606 2212 do not install examples/* 2213 * FILES: add examples/sys.clean-env.mk 2214 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 2215 this requires bmake-20100606 or later to work. 2216 22172010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 2218 2219 * sys.mk (M_tA): better simulate the result of :tA if not available. 2220 22212010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 2222 2223 * sys.mk: canonicalize MAKE_VERSION 2224 old versions reported bmake-<src-date> build-<build-date> 2225 whereas we only care about <src-date> 2226 22272010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 2228 2229 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 2230 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 2231 is !empty 2232 22332010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 2234 2235 * dpadd.mk: use LDADD_* if defined. 2236 22372010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 2238 2239 * install-mk (MK_VERSION): bump version to 20100420 2240 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 2241 * autoconf.mk allow AUTO_AUTOCONF 2242 22432010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 2244 2245 * obj.mk: add objwarn to keep freebsd makefiles happy 2246 * auto.obj.mk: ensure Mkdirs is available. 2247 * FILES: add auto.dep.mk - a simpler version of autodep.mk 2248 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 2249 asked to do that. 2250 fix/simplify the tests for when to run mkdep. 2251 * auto.dep.mk: add some explanation of how/what we do. 2252 * autodep.mk: skip the .OPTIONAL frobbing of .depend 2253 bmake's FROM_DEPEND flag makes it redundant. 2254 22552010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 2256 2257 * install-mk (MK_VERSION): bump version to 20100404 2258 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 2259 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 2260 Also create a target _SUBDIRUSE so that we can be used without 2261 subdir.mk 2262 22632010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 2264 2265 * dep.mk: use <> when .including so can override. 2266 22672010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 2268 2269 * lib.mk (SHLIB_LINKS): ensure a string comparison. 2270 22712010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 2272 2273 * install-mk (MK_VERSION): bump version to 20100102 2274 * own.mk: ensure PRINTOBJDIR works 2275 * autoconf.mk: pass on CONFIGURE_ARGS 2276 * init.mk: handle COPTS.${.IMPSRC:T} etc. 2277 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 2278 fix handling of symlinks for darwin 2279 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 2280 * man.mk: suppress chown when not root. 2281 * rst2htm.mk: allow srcs from multiple locations. 2282 * sys.mk: M_whence, stop after 1st line of output. 2283 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 2284 * sys/SunOS.mk: we need to export PATH 2285 22862009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 2287 2288 * install-mk (MK_VERSION): bump version 2289 include rst2htm.mk 2290 22912009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 2292 2293 * sys.mk,libnames.mk add .-include <local.*> 2294 this allows local customization without the need to edit the 2295 distributed files. 2296 22972009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 2298 2299 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 2300 older versions already installed. 2301 23022009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 2303 2304 * stage.mk (.stage-install): generalize lib.mk's .libinstall 2305 * rules.mk rules for generic Makefile. 2306 * inc.mk install for includes. 2307 23082009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 2309 2310 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 2311 this, so provide it if using native make. 2312 23132009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 2314 2315 * FILES: move all the platform *.sys.mk files to sys/*.mk 2316 * Rename Generic.sys.mk to sys.mk - we always want it. 2317 23182009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 2319 2320 * install-mk (MK_VERSION): bump version 2321 * host-target.mk: only export the expensive stuff 2322 * Generic.sys.mk (sys_mk): for SunOS we need to look for 2323 ${HOST_OS}.${HOST_OSMAJOR} too! 2324 23252009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 2326 2327 * install-mk (MK_VERSION): bump version 2328 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 2329 based on patch from Greg Olszewski. 2330 * Generic.sys.mk: if we have nothing to work with 2331 set LORDER etc only if we can find it. 2332 23332009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 2334 2335 * install-mk (MK_VERSION): bump version 2336 * man.mk: cleanman: remove CLEANMAN if defined. 2337 23382009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 2339 2340 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 2341 23422009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 2343 2344 * install-mk (MK_VERSION): bump version 2345 include auto.obj.mk 2346 2347 23482009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 2349 2350 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 2351 23522008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 2353 2354 * install-mk (MK_VERSION): bump version 2355 man.mk: ensure we generate *.cat1 etc in . 2356 23572008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 2358 2359 * install-mk (MK_VERSION): bump version 2360 add prlist.mk 2361 23622007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 2363 2364 * Generic.sys.mk: Allow os specific sys.mk to be in a 2365 subdir of ${.PARSEDIR} 2366 23672007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 2368 2369 * install-mk (MK_VERSION): bump version 2370 * general cleanup 2371 * dpadd.mk introduce DPMAGIC_LIBS_* 2372 23732007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 2374 2375 * install-mk (MK_VERSION): bump version 2376 2377 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 2378 depend files and ensure clean is called for each lib/prog. 2379 23802007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 2381 2382 * autodep.mk (.depend): delete lines that do not start with 2383 space and do not contain ':' 2384 23852007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 2386 2387 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 2388 so make sure the transform for .OPTIONAL copes. 2389 23902007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2391 2392 * install-mk (MK_VERSION): bump version 2393 2394 * own.mk: make sure RM and LN are defined. 2395 2396 * obj.mk: fix a typo, and objlink target. 2397 23982006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 2399 2400 * install-mk (MK_VERSION): bump version 2401 * added libs.mk - analogous to progs.mk 2402 make both of them always inlcude {lib,prog}.mk 2403 24042006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 2405 2406 * progs.mk: add a means of building multiple apps in one dir. 2407 24082006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 2409 2410 * install-mk (MK_VERSION): bump version to 20061126 2411 2412 * warnings.mk: detect invalid WARNINGS_SET 2413 2414 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 2415 specific warnings. 2416 2417 * For .cc sources, turn off warnings that g++ vomits on. 2418 24192006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 2420 2421 * own.mk: if __initialized__ target doesn't exist and we are 2422 FreeBSD we got here directly from sys.mk 2423 24242006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 2425 2426 * install-mk (MK_VERSION): bump version to 20061106 2427 add scripts.mk 2428 24292006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 2430 2431 * install-mk (MK_VERSION): bump version to 20060318 2432 2433 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 2434 24352006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 2436 2437 * install-mk (MK_VERSION): bump version to 20060302 2438 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 2439 24402006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 2441 2442 * install-mk (MK_VERSION): bump version to 20060301 2443 * autodep.mk (.depend): 2444 if MAKE_VERSION is newer than 20050530 we can make .END depend on 2445 .depend and make .depend depend on __depsrcs that exist. 2446 * dpadd.mk: add SRC_PATHADD 2447 24482005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2449 2450 * install-mk (MK_VERSION): bump version to 20051104 2451 * prog.mk: remove all the LIBC?= junk, use 2452 .-include libnames.mk instead (none by default). 2453 also if USE_DPADD_MK is set, include that. 2454 24552005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2456 2457 * install-mk (MK_VERSION): bump version to 20051001 2458 Add UnixWare.sys.mk from Klaus Heinz. 2459 24602005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 2461 2462 * install-mk: always install *.sys.mk and if need be symlink one 2463 to sys.mk 2464 24652005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 2466 2467 * subdir.mk, own.mk: use .MAKE rather than MAKE 2468 24692004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2470 2471 * own.mk: don't use NetBSD's _SRC_TOP_ it can 2472 cause confusion. Also don't take just 'mk' as a 2473 srctop indicator. 2474 24752004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 2476 2477 * warnings.mk: overhauled, now very powerful. 2478 24792004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2480 2481 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 2482 24832004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 2484 2485 * install-mk (MK_VERSION): bump version to 20040201 2486 * extract HOST_TARGET stuff to host-target.mk so own.mk and 2487 Generic.sys.mk can share. 2488 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 2489 24902003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 2491 2492 * install-mk (MK_VERSION): 20030930 2493 * rename generic.sys.mk to Generic.sys.mk 2494 so that it does not get installed (unless being used as sys.mk) 2495 * set OS and ROOT_GROUP for those that we know the value. 2496 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 2497 we don't do it again for each sub-make. 2498 24992003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2500 2501 * install-mk (MK_VERSION): 20030928 2502 Add some extra *.sys.mk from bootstrap-pkgsrc 2503 some of these likely still need work. 2504 Make everything default to root:wheel ownership, 2505 sys.mk can set ROOT_GROUP accordingly. 2506 25072003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 2508 2509 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 2510 not the portable ones. 2511 25122003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2513 2514 * install-mk: add ability to use cp -f when updating 2515 destination .mk files. Also now possible to play games with 2516 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 2517 into dest - not recommended unless you seriously want to. 2518 25192003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2520 2521 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 2522 for semi-compatability with NetBSD. 2523 25242003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2525 2526 * install-mk: add a version indicator 2527 25282003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 2529 2530 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 2531 2532 * install-mk: Allow FORCE_SYS_MK to come from env 2533 2534 2535 2536