12025-05-28 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * install-mk (MK_VERSION): 20250528 4 5 * add dirdeps2dplibs.mk 6 72025-05-18 Simon J Gerraty <sjg@beast.crufty.net> 8 9 * install-mk (MK_VERSION): 20250518 10 11 * meta.autodep.mk (META_FILES): re-work to fix filtering. 12 if OPTIMIZE_OBJECT_META_FILES==yes 13 provide a default META_FILE_OBJ_FILTER that selects a valid 14 .SUFFIX to match *o.meta, there's no guarantee that it will be as 15 simple as .o or .So etc. 16 We have to defer evaluation until the target script is run 17 for any of these filters to have any effect. 18 Use :S,${.OBJDIR}/,, rather than :T incase there are objects 19 in sub-dirs. 20 21 * lib.mk: leverage ${.SUFFIXES} when setting dependencies. 22 23 * add UPDATE_DEPENDFILE as a dependent option - follows 24 DIRDEPS_BUILD and use MK_UPDATE_DEPENDFILE as default for 25 UPDATE_DEPENDFILE when we think it should be yes. 26 This allows override with -DWITH[OUT]_UPDATE_DEPENDFILE 27 without overriding UPDATE_DEPENDFILE directly - which can lead to 28 trouble. 29 302025-05-16 Simon J Gerraty <sjg@beast.crufty.net> 31 32 * install-mk (MK_VERSION): 20250515 33 34 * meta2deps.py: resolve the target of a Move or Link first 35 and track the last path resolved, then if the src is a relative 36 path we can easily use that last path to resolve the src correctly. 37 38 * meta2deps.sh: for a Move or Link add the dir of target path to 39 the list used to resolve the src path. 40 412025-04-18 Simon J Gerraty <sjg@beast.crufty.net> 42 43 * init.mk: include Skipping ${RELDIR} when _SKIP_BUILD is not empty. 44 452025-04-14 Simon J Gerraty <sjg@beast.crufty.net> 46 47 * install-mk (MK_VERSION): 20250414 48 49 * init.mk: check ONLY_*_LIST and NOT_*_LIST for SKIP_BUILD_VAR_LIST 50 to set _SKIP_BUILD 51 52 * genfiles.mk: add FILTER support 53 54 * rst2htm.mk: latest docutils drops .py extensions 55 562025-03-26 Simon J Gerraty <sjg@beast.crufty.net> 57 58 * install-mk (MK_VERSION): 20250326 59 60 * auto.obj.mk: fix and simplify handling of relative __objdir, 61 convert it to absolute before checking against .OBJDIR 62 632025-03-14 Simon J Gerraty <sjg@beast.crufty.net> 64 65 * install-mk (MK_VERSION): 20250314 66 67 * meta.stage.mk: StageFiles --subdir: preserve the dir part of 68 each file under $dest 69 702025-03-12 Simon J Gerraty <sjg@beast.crufty.net> 71 72 * meta.autodep.mk: do a better job of handling MAKESYSPATH in 73 GENDIRDEPS_ENV. If we have MAKE_VERSION >= 20230123 we can just 74 use .SYSPATH, otherwise it is a bit more complicated. 75 762025-01-10 Simon J Gerraty <sjg@beast.crufty.net> 77 78 * rust.mk: use RUST_LIBS and RUST_PROGS 79 802025-01-01 Simon J Gerraty <sjg@beast.crufty.net> 81 82 * install-mk (MK_VERSION): 20250101 83 84 * use W flag to :S and :C rather than :tW 85 862024-12-16 Simon J Gerraty <sjg@beast.crufty.net> 87 88 * rust.mk: add RUSTFLAGS if needed 89 902024-12-12 Simon J Gerraty <sjg@beast.crufty.net> 91 92 * init.mk (OBJS_SRCS_FILTER): apply this as 93 ${OBJS_SRCS_FILTER:ts:} as we do in FreeBSD. 94 952024-12-03 Simon J Gerraty <sjg@beast.crufty.net> 96 97 * install-mk (MK_VERSION): 20241202 98 99 * setopts.sh: needed by newlog.sh 100 1012024-11-22 Simon J Gerraty <sjg@beast.crufty.net> 102 103 * meta.sys.mk: add META_MODE_XTRAS to META_MODE to make it 104 easier to add things like 'env' when debugging. 105 106 * install-mk (MK_VERSION): 20241122 107 108 * rust.mk: rename CARGO* to RUST_CARGO* so I don't feel 109 like this makefile should be renamed to cargo.mk 110 1112024-11-11 Simon J Gerraty <sjg@beast.crufty.net> 112 113 * dirdeps.mk: add DIRDEPS_CACHED_ENV to dirdeps-cached and 114 DIRDEP_USE_EPILOGUE to _DIRDEP_USE 115 1162024-10-30 Simon J Gerraty <sjg@beast.crufty.net> 117 118 * meta.sys.mk: if MK_META_ERROR_TARGET is yes and NEWLOG_SH is 119 set, and ERROR_LOGDIR already exists, hook _rotateErrorLog to 120 .BEGIN target. 121 1222024-10-27 Simon J Gerraty <sjg@beast.crufty.net> 123 124 * options.mk: add support for DEBUG_OPTIONS (similar to 125 DEBUG_DIRDEPS) to allow us to see where options get set. 126 Eg. DEBUG_OPTIONS="STAGING*" gives: 127 128 bmake[1]: "mk/options.mk" line 89: sys.mk: MK_STAGING=yes (MK_DIRDEPS_BUILD=no) 129 bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING=yes 130 bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING_PROG=no 131 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_MAN=yes (MK_STAGING=yes) 132 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_PROG=no (MK_STAGING=yes) 133 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_RUST=no (MK_STAGING_PROG=no) 134 135 * own.mk: fix setting of STAGE_OBJTOP (normally set by sys.dirdeps.mk) 136 1372024-10-26 Simon J Gerraty <sjg@beast.crufty.net> 138 139 * rust.mk: add some documentation and support for staging 140 1412024-10-25 Simon J Gerraty <sjg@beast.crufty.net> 142 143 * rust.mk: a means of integrating Rust projects into a larger build. 144 1452024-10-18 Simon J Gerraty <sjg@beast.crufty.net> 146 147 * dirdeps-targets.mk: if DEBUG_DIRDEPS_TARGETS and we found 148 STATIC_DIRDEPS_CACHE, report its relative path. 149 1502024-09-30 Simon J Gerraty <sjg@beast.crufty.net> 151 152 * dirdeps.mk: tweak the debug message for "Loading" a 153 Makefile.depend file, always report what the actual makefile is 154 with the DIRDEP it is for. 155 Remove the redundant "Looking" message. 156 1572024-09-26 Simon J Gerraty <sjg@beast.crufty.net> 158 159 * meta2deps.py: when raising AssertionError include meta file name 160 with $SB trimmed if possible. 161 1622024-09-23 Simon J Gerraty <sjg@beast.crufty.net> 163 164 * meta2deps.py: replace assert() with raise AssertionError when we 165 detect missing eXits, to ensure a meaningful message gets into 166 log. 167 1682024-09-21 Simon J Gerraty <sjg@beast.crufty.net> 169 170 * install-mk (MK_VERSION): 20240921 171 172 * FILES: add genfiles.mk 173 1742024-09-20 Simon J Gerraty <sjg@beast.crufty.net> 175 176 * install-mk (MK_VERSION): 20240920 177 178 * cython.mk: Get PYTHON_VERSION from PYTHON 179 1802024-08-31 Simon J Gerraty <sjg@beast.crufty.net> 181 182 * subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*} 183 and handle subdir with '-' in its name. 184 1852024-08-23 Simon J Gerraty <sjg@beast.crufty.net> 186 187 * install-mk (MK_VERSION): 20240820 188 189 * links.mk: Allow a filter to be applied to SYMLINKS etc. 190 It is up to [BUILD_][SYM]LINKS_FILTER to do something sane. 191 Also only claim we are making a symlink if the value changed. 192 1932024-06-22 Simon J Gerraty <sjg@beast.crufty.net> 194 195 * install-mk (MK_VERSION): 20240616 196 197 * dirdeps.mk: apply DEP_DIRDEPS_BUILD_DIR_FILTER after we have 198 computed build dirs, since some filters cannot be easily expressed via 199 DEP_DIRDEPS_FILTER. 200 2012024-05-31 Simon J Gerraty <sjg@beast.crufty.net> 202 203 * dirdeps.mk: move reset of DIRDEPS_EXPORT_VARS 204 until after we a finished with it if building a cache. 205 2062024-05-04 Simon J Gerraty <sjg@beast.crufty.net> 207 208 * install-mk (MK_VERSION): 20240504 209 210 * dirdeps.mk: allow BUILD_DIRDEPS_OVERRIDES to pass overrides to 211 sub-make building DIRDEPS_CACHE. 212 2132024-04-24 Simon J Gerraty <sjg@beast.crufty.net> 214 215 * meta.autodep.mk: do not override start_utc 216 2172024-04-18 Simon J Gerraty <sjg@beast.crufty.net> 218 219 * sys.dirdeps.mk: set defaults for DEP_* at level 0 too. 220 These help when first include of Makefile.depend happens in a leaf 221 dir. 222 223 * install-mk (MK_VERSION): 20240414 224 2252024-04-09 Simon J Gerraty <sjg@beast.crufty.net> 226 227 * install-mk (MK_VERSION): 20240408 228 229 * init.mk: allow for _ as well as . to join V 230 and Q from QUALIFIED_VAR_LIST and VAR_QUALIFIER_LIST. 231 232 * progs.mk: avoid overlap between PROG_VARS and 233 init.mk's QUALIFIED_VAR_LIST since PROG would also 234 match its VAR_QUALIFIER_LIST, 235 libs.mk does not have the same issue. 236 237 * subdir.mk: _SUBDIRUSE for realinstall should run install 238 remove include of ${.CURDIR}/Makefile.inc that can be done via 239 local.subdir.mk where needed 240 241 * own.mk: do not conflict with man.mk 242 2432024-03-19 Simon J Gerraty <sjg@beast.crufty.net> 244 245 * install-mk (MK_VERSION): 20240314 246 247 * add sys/Cygwin.mk from Christian Franke 248 2492024-03-09 Simon J Gerraty <sjg@beast.crufty.net> 250 251 * install-mk (MK_VERSION): 20240309 252 253 * meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not 254 want to save the .ERROR_META_FILE 255 2562024-02-20 Simon J Gerraty <sjg@beast.crufty.net> 257 258 * install-mk (MK_VERSION): 20240220 259 260 * sys.dirdeps.mk, dirdeps-targets.mk, init.mk: 261 do not set .MAIN: dirdeps in sys.dirdeps.mk 262 dirdeps-targets.mk will do that for top-level builds 263 and init.mk will do it for others. 264 This allows a Makefile which has no need of 'dirdeps' to 265 set .MAIN for itself and "just work". 266 2672024-02-18 Simon J Gerraty <sjg@beast.crufty.net> 268 269 * bsd.*.mk: for makefiles that get a bsd. symlink, 270 use _this in multiple inclusion tags since .PARSEFILE will not 271 DTRT when such a makefile is included directly by Makefile and 272 automatically (without bsd. prefix). 273 Since we cannot guarantee that our sys.mk will be used, we provide 274 a default _this in each makefile that gets a bsd. prefix such that 275 the value is the same regardless of bsd. prefix. 276 277 * subdir.mk: drop the !target guard on $SUBDIR_TARGETS 278 2792024-02-12 Simon J Gerraty <sjg@beast.crufty.net> 280 281 * install-mk (MK_VERSION): 20240212 282 283 * SPDX-License-Identifier: BSD-2-Clause 284 Add SPDX-License-Identifier to inidicate that I consider 285 my copyright on any of these makefiles equivalent to BSD-2-Clause 286 287 * autoconf.mk: allow for configure.ac as currently recommended 288 289 * subdir.mk: support @auto 290 which is replaced with each subdir that 291 has a [Mm]akefile. 292 293 * subdir.mk: include local.subdir.mk if it exists. 294 295 * subdir.mk: rework to handle .WAIT 296 2972024-02-11 Simon J Gerraty <sjg@beast.crufty.net> 298 299 * subdir.mk: _SUBDIRUSE report the target we are entering subdirs for. 300 3012024-02-10 Simon J Gerraty <sjg@beast.crufty.net> 302 303 * prog.mk: treat empty SRCS the same as undefined 304 3052024-02-02 Simon J Gerraty <sjg@beast.crufty.net> 306 307 * Avoid undefined errors in lint (-dL) mode 308 309 * man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7) 310 3112024-01-28 Simon J Gerraty <sjg@beast.crufty.net> 312 313 * install-mk (MK_VERSION): 20240128 314 315 * FILES: add ccm.dep.mk for C++ modules 316 add suffixes.mk for common location for generic SUFFIX rules. 317 318 * auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk 319 replace OBJ_EXTENSIONS with OBJ_SUFFIXES 320 321 * autodep.mk: leverage CXX_SUFFIXES for __depsrcs 322 and update style (spaces around = etc) 323 324 * init.mk: add OBJS_SRCS_FILTER to filter SRCS when 325 setting OBJS 326 327 * meta2deps.py: handle multiple ./ embedded in path better. 328 3292024-01-05 Simon J Gerraty <sjg@beast.crufty.net> 330 331 * install-mk (MK_VERSION): 20240105 332 * dirdeps.mk: for MAKE_VERSION 20240105 we do not have the same 333 limits on command line length, so skip export of lists to env. 334 3352023-12-24 Simon J Gerraty <sjg@beast.crufty.net> 336 337 * man.mk: add logic for staging man pages 338 3392023-11-28 Simon J Gerraty <sjg@beast.crufty.net> 340 341 * jobs.mk: avoid C suffix in JOB_MAX_C if factor is floating 342 point. This keeps JOB_MAX numeric incase another makefile does 343 comparisons. 344 3452023-11-04 Simon J Gerraty <sjg@beast.crufty.net> 346 347 * dpadd.mk: add support for DPLIBS_QUALIFIER_LIST 348 349 * gendirdeps.mk: if META_XTRAS is passed to us, add to META_FILES 350 3512023-10-03 Simon J Gerraty <sjg@beast.crufty.net> 352 353 * compiler.mk (COMPILER_VERSION): clang at least is into 354 double digit major versions. 355 3562023-10-02 Simon J Gerraty <sjg@beast.crufty.net> 357 358 * install-mk (MK_VERSION): 20231001 359 360 * set _CCLINK in init.mk so lib.mk can use it for default SHLIB_LD 361 362 * lib.mk (cleanlib): use LD_solink so we remove all the right files. 363 Use -Wl for -soname since we now default to linking with CC 364 We should not need SHLIB_LDSTARTFILE or SHLIB_LDENDFILE when linking 365 with CC. 366 3672023-09-24 Simon J Gerraty <sjg@beast.crufty.net> 368 369 * init.mk (QUALIFIED_VAR_LIST): Add SRCS 370 3712023-09-09 Simon J Gerraty <sjg@beast.crufty.net> 372 373 * jobs.mk (JOB_MAX): use -jC if we can 374 we actually use JOB_MAX_C which defaults to 1.33C 375 3762023-08-18 Simon J Gerraty <sjg@beast.crufty.net> 377 378 * now_utc: %s only works with :localtime 379 3802023-07-14 Simon J Gerraty <sjg@beast.crufty.net> 381 382 * install-sh: ignore -c as claimed and only insist on 383 a directory for destination when more than one file to copy. 384 385 * sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and 386 ${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64) 387 3882023-07-13 Simon J Gerraty <sjg@beast.crufty.net> 389 390 * install-mk (MK_VERSION): 20230711 391 392 * sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible 393 install(1) 394 395 * sys/IRIX.mk: when setting ROOT_GROUP only match the first :0: 396 set INSTALL to install-sh rather than pathname that may not exist 397 (yet). 398 3992023-07-07 Simon J Gerraty <sjg@beast.crufty.net> 400 401 * dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE 402 normally this is empty - for the default target, but there are 403 use-cases where we might set it to something else. 404 4052023-07-04 Simon J Gerraty <sjg@beast.crufty.net> 406 407 * install-mk (MK_VERSION): 20230704 408 409 * dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output 410 when DEBUG_DIRDEPS is in effect. 411 Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n 412 can greatly improve readability. 413 4142023-05-25 Simon J Gerraty <sjg@beast.crufty.net> 415 416 * meta.autodep.mk (beforegendirdeps): allow tasks to be done 417 at END but before gendirdeps 418 4192023-05-22 Simon J Gerraty <sjg@beast.crufty.net> 420 421 * install-mk (MK_VERSION): 20230522 422 423 * host-target.mk: deal with garbage from uname -m on 424 Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH 425 these days so just leave it be. 426 For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get 427 arm64 and x86_64 in HOST_TARGET. 428 4292023-05-15 Simon J Gerraty <sjg@beast.crufty.net> 430 431 * sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older 432 versions of bmake. 433 434 * dirdeps.mk (TARGET_SPEC_VARS.host): 435 While *most* projects need only DEP_MACHINE for host, 436 there is always an exception. So we allow for 437 TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS. 438 The default will *just work* for most projects. 439 We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC 440 based on DEP_MACHINE. 441 Allow for M_dep_qual_fixes.host to be different too 442 and take care to apply the right set. 443 4442023-05-14 Simon J Gerraty <sjg@beast.crufty.net> 445 446 * sys.dirdeps.mk: we *do* want to override OBJTOP 447 and if MAKEOBJDIR was not in env as we want it; 448 put it there - carefully. 449 Ensure OBJROOT ends in / or - (/ preferred) 450 Add more comments to explain what/why. 451 4522023-05-13 Simon J Gerraty <sjg@beast.crufty.net> 453 454 * install-mk (MK_VERSION): 20230512 455 456 * dirdeps.mk: take care not to qualify "host" dirdeps 457 458 * sys.dirdeps.mk (OBJTOP): must use ?= 459 4602023-05-10 Simon J Gerraty <sjg@beast.crufty.net> 461 462 * meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no" 463 suppress processing of .depend 464 4652023-05-09 Simon J Gerraty <sjg@beast.crufty.net> 466 467 * dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP 468 469 * meta.sys.mk sys.dirdeps.mk: 470 originally DIRDEPS_BUILD and META_MODE were the same thing, 471 but META_MODE is useful by itself. 472 Move things from meta.sys.mk which actually pertain to 473 DIRDEPS_BUILD to sys.dirdeps.mk 474 4752023-05-04 Simon J Gerraty <sjg@beast.crufty.net> 476 477 * install-mk (MK_VERSION): 20230504 May the Forth be with you 478 479 * dirdeps.mk: as with meta.sys.mk we treat "host" as special. 480 DEP_TARGET_SPEC is just ${DEP_MACHINE} 481 482 * meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at 483 level > 0 since these are often refered to in Makefile.depend* 484 4852023-04-26 Simon J Gerraty <sjg@beast.crufty.net> 486 487 * jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and 488 anything in ${JOB_LOG_START} 489 490 * jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}} 491 or a scripts subdir before searching $PATH. 492 493 * FILES: include newlog.sh for jobs.mk 494 4952023-04-20 Simon J Gerraty <sjg@beast.crufty.net> 496 497 * install-mk (MK_VERSION): 20230420 498 499 * lib.mk: include LDFLAGS and LDADD when linking shared libs 500 501 * gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc 502 via local.meta.sys.mk rather than local.gendirdeps.mk 503 so DEP_* variables can be set at level 1+ to avoid syntax errors 504 when used in conditionals in manually maintained Makefile.depend 505 files. 506 507 * dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines 508 5092023-04-18 Simon J Gerraty <sjg@beast.crufty.net> 510 511 * dirdeps.mk: check we were not included by 512 Makefile.depend.options as the result is bad. 513 5142023-04-14 Simon J Gerraty <sjg@beast.crufty.net> 515 516 * install-mk (MK_VERSION): 20230414 517 518 * meta.sys.mk: since we have :range we can put the logic for 519 processing TARGET_SPEC from env here. 520 521 * dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including 522 local.dirdeps-missing.mk, also improve debug output. 523 524 * dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC 525 we need to use :M*[/.]* same as for when actually setting DIRDEPS 526 from the targets on command line. 527 5282023-04-12 Simon J Gerraty <sjg@beast.crufty.net> 529 530 * Add jobs.mk 531 5322023-03-21 Simon J Gerraty <sjg@beast.crufty.net> 533 534 * install-mk (MK_VERSION): 20230321 535 536 * meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter 537 STAGE_LIBS for SHLIB_LINKS. 538 539 * autoconf.mk: add .WAIT after config.status 540 5412023-02-17 Simon J Gerraty <sjg@beast.crufty.net> 542 543 * sys.vars.mk: add M_Index to report the index of a word in a list. 544 5452023-02-15 Simon J Gerraty <sjg@beast.crufty.net> 546 547 * install-mk (MK_VERSION): 20230215 548 549 * warnings.mk: allow better control of -Werror 550 allow -Wno-error or similar to be added if 551 WARNINGS_SET < WERROR_SET 552 account for COMPILER_TYPE 553 5542023-01-29 Simon J Gerraty <sjg@beast.crufty.net> 555 556 * autoconf.mk: hook config.status to beforebuild. 557 558 * whats.mk: what*.c is NOTMAIN 559 5602023-01-27 Simon J Gerraty <sjg@beast.crufty.net> 561 562 * install-mk (MK_VERSION): 20230127 563 control umask so directories are created with suitable mode. 564 5652023-01-20 Simon J Gerraty <sjg@beast.crufty.net> 566 567 * install-mk (MK_VERSION): 20230120 568 569 * sys.vars.mk: add M_On and M_Onr also cleanup to be more 570 consistent wrt testing MAKE_VERSION 571 5722023-01-12 Simon J Gerraty <sjg@beast.crufty.net> 573 574 * install-mk (MK_VERSION): 20230112 575 576 * meta2deps.{py,sh}: assert if filemon data is truncated 577 we should see the '# Bye bye' record - assert if we do not. 578 5792022-09-09 Simon J Gerraty <sjg@beast.crufty.net> 580 581 * install-mk (MK_VERSION): 20220909 582 583 * sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings 584 5852022-09-06 Simon J Gerraty <sjg@beast.crufty.net> 586 587 * dirdeps-options.mk: explain the need to use 588 ${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to 589 ${TARGET_SPEC_VAR} 590 5912022-09-03 Simon J Gerraty <sjg@beast.crufty.net> 592 593 * install-mk (MK_VERSION): 20220903 594 595 * M_cmpv handle more than 3 dots and clear leading 0's 596 5972022-07-20 Simon J Gerraty <sjg@beast.crufty.net> 598 599 * install-mk (MK_VERSION): 20220720 600 601 * prog.mk: handle PROG_CXX for more than just NetBSD 602 6032022-06-20 Simon J Gerraty <sjg@beast.crufty.net> 604 605 * install-mk (MK_VERSION): 20220620 606 607 * yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER 608 rather than just suffix rules 609 6102022-04-23 Simon J Gerraty <sjg@beast.crufty.net> 611 612 * install-mk (MK_VERSION): 20220422 613 614 * gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no" 615 do not capture any local depends in Makefile.depend 616 6172022-03-25 Simon J Gerraty <sjg@beast.crufty.net> 618 619 * install-mk (MK_VERSION): 20220323 620 * posix.mk: default rules for .POSIX: 621 6222022-03-17 Simon J Gerraty <sjg@beast.crufty.net> 623 624 * sys/*.mk: remove l from ARFLAGS 625 6262022-03-14 Simon J Gerraty <sjg@beast.crufty.net> 627 628 * install-mk (MK_VERSION): 20220314 629 630 * dirdeps-options.mk: allow options to be per RELDIR 631 try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed 632 with ${DEP_RELDIR}. 633 6342022-02-14 Simon J Gerraty <sjg@beast.crufty.net> 635 636 * install-mk (MK_VERSION): 20220214 637 638 * cc-wrap.mk: fix :@ modifier 639 6402022-02-06 Simon J Gerraty <sjg@beast.crufty.net> 641 642 * install-mk (MK_VERSION): 20220206 643 644 * cc-wrap.mk: docuement how CCACHE etc might be set for 645 maximum flexibility 646 6472022-02-05 Simon J Gerraty <sjg@beast.crufty.net> 648 649 * sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT 650 6512022-02-04 Simon J Gerraty <sjg@beast.crufty.net> 652 653 * install-mk (MK_VERSION): 20220204 654 655 * host-target.mk: use .MAKE.OS if available 656 6572022-02-02 Simon J Gerraty <sjg@beast.crufty.net> 658 659 * install-mk (MK_VERSION): 20220202 660 661 * cc-wrap.mk: allow other entries in CC_WRAP_FILTER 662 We add our filter on extensions last, so prior filters 663 can apply to the whole value of .IMPSRC 664 6652022-02-01 Simon J Gerraty <sjg@beast.crufty.net> 666 667 * cc-wrap.mk: take advantage of target local variables to 668 wrap compilers like CC CXX with wrappers like ccache distcc etc 669 6702022-01-28 Simon J Gerraty <sjg@beast.crufty.net> 671 672 * meta2deps: we do not expect any trace data for setid apps 673 6742022-01-26 Simon J Gerraty <sjg@beast.crufty.net> 675 676 * dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed 677 to sub-make using DIRDEPS_CACHE 678 6792022-01-07 Simon J Gerraty <sjg@beast.crufty.net> 680 681 * dirdeps.mk: use _cache_script to minimize the number of shells 682 forked when generating dirdeps.cache 683 6842022-01-02 Simon J Gerraty <sjg@beast.crufty.net> 685 686 * install-mk (MK_VERSION): 20220101 687 688 * dirdeps.mk: initialize DEP_* and _debug_reldir earlier. 689 If initial DIRDEPS are from command line, create the target 690 _dirdeps_cmdline as an indication. 691 6922022-01-01 Simon J Gerraty <sjg@beast.crufty.net> 693 694 * init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD 695 at top-level only some targets are allowed at level 0, 696 for leaf makefiles only the default (all) target is restricted 697 6982021-12-28 Simon J Gerraty <sjg@beast.crufty.net> 699 700 * install-mk (MK_VERSION): 20211228 701 702 * meta2deps.py: filemon on Linux is not as reliable as we might 703 like, we do not want to update DIRDEPS if filemon output is 704 incomplete. Track pids that we 'E'xec and make sure we see an 705 e'X'it for each one. Throw an error if we are missing any 'X' 706 records. 707 7082021-12-12 Simon J Gerraty <sjg@beast.crufty.net> 709 710 * sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes. 711 712 * meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON 713 is something else. 714 715 * meta.autodep.mk: we can now reference ${.SUFFIXES} 716 717 * meta2deps.py: derive a list of dirdep extensions from 718 TARGET_SPEC to trim from dirdeps. 719 720 * dirdeps.mk: flip the computation of qualified vs unqualified 721 dirdeps - it is much simpler to check for unqualified first. 722 7232021-12-11 Simon J Gerraty <sjg@beast.crufty.net> 724 725 * install-mk (MK_VERSION): 20211212 726 727 * auto.dep.mk: rearrange so that the trivial implementation 728 for recent bmake is more obvious. 729 7302021-12-07 Simon J Gerraty <sjg@beast.crufty.net> 731 732 * install-mk (MK_VERSION): 20211207 733 734 * Ensure guard targets are .NOTMAIN 735 736 * meta.sys.mk: check for nofilemon support when we skip level 0 737 738 * auto.dep.mk: make this usable in meta mode 739 for platforms that cannot use meta.autodep.mk 740 741 * meta2deps.py: avoid confusion if MACHINE and another 742 TARGET_SPEC_VAR have same value. 743 7442021-11-27 Simon J Gerraty <sjg@beast.crufty.net> 745 746 * dirdeps.mk: when building dirdeps.cache, minimize the amount of 747 data put into env, by stripping ${SRCTOP}/ from each entry. 748 A long sandbox name can double the amount of memory consumed and 749 in extreme cases cause failure. 750 While we are at it, strip ${SRCTOP}/ from a lot of the debug output. 751 7522021-11-11 Simon J Gerraty <sjg@beast.crufty.net> 753 754 * install-mk (MK_VERSION): 20211111 755 756 * meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail 757 so fallback to cp if necessary. 758 7592021-10-30 Simon J Gerraty <sjg@beast.crufty.net> 760 761 * man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year 762 old cmt2doc.pl 763 7642021-10-24 Simon J Gerraty <sjg@beast.crufty.net> 765 766 * meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f} 767 as the symlink (rare) 768 7692021-10-16 Simon J Gerraty <sjg@beast.crufty.net> 770 771 * autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not 772 been read, throw an error after running configure telling user to 773 restart. 774 7752021-10-13 Simon J Gerraty <sjg@beast.crufty.net> 776 777 * install-mk (MK_VERSION): 20211011 778 779 * Add support for SCO_SV 780 7812021-10-01 Simon J Gerraty <sjg@beast.crufty.net> 782 783 * install-mk (MK_VERSION): 20211001 784 785 * man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more 786 flexibility 787 7882021-09-13 Simon J Gerraty <sjg@beast.crufty.net> 789 790 * options.mk (describe-options): print options and their values 791 and optional description 792 7932021-09-11 Simon J Gerraty <sjg@beast.crufty.net> 794 795 * install-mk (MK_VERSION): 20210911 796 797 * options.mk (show-options): print options and their values 798 7992021-09-08 Simon J Gerraty <sjg@beast.crufty.net> 800 801 * install-mk (MK_VERSION): 20210909 802 803 * lib.mk: apply patch from <daniel@octaforge.org> 804 to fix shared libs on Linux 805 8062021-08-08 Simon J Gerraty <sjg@beast.crufty.net> 807 808 * install-mk (MK_VERSION): 20210808 809 810 * options.mk: issue warning for WITH_*=no 811 8122021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 813 814 * install-mk (MK_VERSION): 20210616 815 816 * dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find 817 depend files to read, anchor MACHINE at , or end of string 818 to avoid prefix match. 819 8202021-05-04 Simon J Gerraty <sjg@beast.crufty.net> 821 822 * install-mk (MK_VERSION): 20210504 823 824 * dirdeps.mk: re-implement ALL_MACHINES support to better 825 cater for local complexities, when ONLY_TARGET_SPEC_LIST 826 is not set. local.dirdeps.mk can set 827 DIRDEPS_ALL_MACHINES_FILTER and/or 828 DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get 829 from listing all existing Makefile.depend.* 830 8312021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 832 833 * install-mk (MK_VERSION): 20210420 834 835 * dirdeps.mk: revert previous - not always safe. 836 8372021-03-20 Simon J Gerraty <sjg@beast.crufty.net> 838 839 * install-mk (MK_VERSION): 20210321 840 841 * dirdeps.mk: when generating dirdeps.cache 842 we only need to hook the initial DIRDEPS to the 843 dirdeps target. That and any _build_xtra_dirs (like tests which 844 should not be hooked directly to the dependency graph - to avoid 845 cycles) 846 8472021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 848 849 * install-mk (MK_VERSION): 20210130 850 851 * dirdeps.mk: expr 2 - 1 - 1 exits with a bad status 852 we need to guard against this in DIRDEP_LOADAVG_REPORT. 853 854 * dirdeps.mk: restore respect for TARGET_MACHINE 855 8562021-01-06 Simon J Gerraty <sjg@beast.crufty.net> 857 858 * install-mk (MK_VERSION): 20210101 859 860 * dirdeps.mk: first time we are read, just use TARGET_SPEC for 861 _DEP_TARGET_SPEC 862 8632020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 864 865 * sys.mk (MAKE_SHELL): use ${.SHELL:Ush} 866 and use := when setting SHELL 867 8682020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 869 870 * install-mk (MK_VERSION): 20201221 871 872 * dirdeps-options.mk: latest bmake allows only one arg to .undef 873 8742020-12-11 Simon J Gerraty <sjg@beast.crufty.net> 875 876 * dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS 877 so that any directory can be treated as a target. 878 8792020-11-26 Simon J Gerraty <sjg@beast.crufty.net> 880 881 * install-mk (MK_VERSION): 20201126 882 883 * own.mk: use .MAKE.{UID,GID} if available. 884 885 * init.mk: suppress _SKIP_BUILD warning if doing -V 886 8872020-11-20 Simon J Gerraty <sjg@beast.crufty.net> 888 889 * install-mk (MK_VERSION): 20201120 890 891 * init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS 892 893 * dirdeps-targets.mk: fix typo in comment 894 8952020-11-06 Simon J Gerraty <sjg@beast.crufty.net> 896 897 * install-mk (MK_VERSION): 20201106 898 899 * meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed 900 args to tweak extensions for local deps. 901 9022020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 903 904 * install-mk (MK_VERSION): 20201101 905 906 * dirdeps.mk: most leaf makefiles are not suitable for building 907 dirdeps.cache so if RELDIR is not "." use dirdeps.mk 908 9092020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 910 911 * install-mk (MK_VERSION): 20201028 912 913 * dirdeps.mk: if we don't have :range use equivalent of M_RANGE 914 when building dirdeps.cache for leaf directory use -f dirdeps.mk 915 916 * sys.vars.mk: add M_JOT and M_RANGE 917 9182020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 919 920 * install-mk (MK_VERSION): 20201001 921 922 * meta2deps.{py,sh}: throw an error if we don't see filemon version 923 9242020-09-09 Simon J Gerraty <sjg@beast.crufty.net> 925 926 * install-mk (MK_VERSION): 20200909 927 928 * dirdeps-cache-update.mk: use cache_update_dirdep as guard target 929 9302020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 931 932 * dirdeps.mk: ensure we cannot confuse a static cache for dynamic 933 (even more rare that use of static cache is playing clever tricks 934 with it) 935 9362020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 937 938 * dirdeps-cache-update.mk: allow 939 MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we 940 actually update STATIC_DIRDEPS_CACHE. 941 942 * stage-install.sh: create dest directory if needed 943 before running install(1) 944 9452020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 946 947 * dirdeps-targets.mk: include Makefile.dirdeps.options 948 949 * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE 950 9512020-08-09 Simon J Gerraty <sjg@beast.crufty.net> 952 953 * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty 954 955 * dirdeps-cache-update.mk: building parallel cache update 956 under the context of dirdeps-cached would be ideal, but 957 is problematic, so it runs as a sibling. 958 Use cache-built target to ensure we wait for it to complete if 959 necessary. 960 9612020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 962 963 * install-mk (MK_VERSION): 20200806 964 965 * dirdeps-options: allow TARGET_SPEC to affect option values. 966 Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_* 967 968 * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined 969 before looking for STATIC_DIRDEPS_CACHE 970 9712020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 972 973 * host-target.mk: Darwin use MACHINE for HOST_ARCH too 974 975 * dirdeps-options.mk: improve debug output 976 9772020-07-22 Simon J Gerraty <sjg@beast.crufty.net> 978 979 * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE 980 for use by dirdeps-cache-update.mk 981 982 * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE 983 for use by dirdeps-cache-update.mk even if we don't use it. 984 985 * dirdeps-cache-update.mk: we only need worry about the background 986 update case, with the above, the update from DIRDEPS_CACHE is 987 simple. 988 989 * meta2deps.py: R 1234 . is not interesting 990 9912020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 992 993 * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE 994 995 * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS 996 allows use of lower case for pseudo options. 997 998 * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE 999 10002020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 1001 1002 * dirdeps-targets.mk: Look for Makefile.dirdeps.cache 1003 which allows us to have a static cache for expensive targets. 1004 Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE 1005 to regenerate the dirdeps.cache it is a copy of. 1006 10072020-07-17 Simon J Gerraty <sjg@beast.crufty.net> 1008 1009 * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense. 1010 10112020-07-16 Simon J Gerraty <sjg@beast.crufty.net> 1012 1013 * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record 1014 load averages at intervals during build. 1015 10162020-07-15 Simon J Gerraty <sjg@beast.crufty.net> 1017 1018 * install-mk (MK_VERSION): 20200715 1019 1020 * dirdeps.mk: tweak Checking line to make matching Finished 1021 lines for post-build analysis easier. 1022 1023 * meta.autodep.mk: use !defined(WITHOUT_META_STATS) 1024 1025 * progs.mk: avoid prog.mk outputting multiple Finished lines 1026 10272020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 1028 1029 * dirdeps.mk: further optimize dirdeps.cache 1030 generate a DIRDEPS.${.TARGET} list for other purposes 1031 and improve the layout. 1032 10332020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 1034 1035 * dirdeps.mk: optimize content of dirdeps.cache 1036 10372020-06-28 Simon J Gerraty <sjg@beast.crufty.net> 1038 1039 * sys/*.mk: make it easier for local*sys.mk to customize by 1040 using ?= 1041 10422020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 1043 1044 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0 1045 it is much safer to guard local depends with a simple check for 1046 .MAKE.LEVEL > 0 1047 10482020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 1049 1050 * install-mk (MK_VERSION): 20200610 1051 1052 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok 1053 10542020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 1055 1056 * install-mk (MK_VERSION): 20200606 1057 1058 * dirdeps-targets.mk: allow for filtering of .TARGETS 1059 1060 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove 1061 entries - and we don't care about 'W'rite entries. 1062 Also ignore absolute paths that do not exist. 1063 10642020-05-25 Simon J Gerraty <sjg@beast.crufty.net> 1065 1066 * install-mk (MK_VERSION): 20200525 1067 1068 * init.mk: expand and simplify handling of qualified vars 1069 like CPPFLAGS.${.TARGET:T} 1070 10712020-05-15 Simon J Gerraty <sjg@beast.crufty.net> 1072 1073 * install-mk (MK_VERSION): 20200515 1074 1075 * dirdeps.mk: set _debug_* earlier and allow passing -d* 1076 flags to submake when building DIRDEPS_CACHE 1077 10782020-05-09 Simon J Gerraty <sjg@beast.crufty.net> 1079 1080 * whats.mk: more easily extensible 1081 10822020-05-02 Simon J Gerraty <sjg@beast.crufty.net> 1083 1084 * whats.mk: greatly simplify by adding what.c to SRCS 1085 10862020-05-01 Simon J Gerraty <sjg@beast.crufty.net> 1087 1088 * whats.mk: for libs take care how we add to *OBJS 1089 1090 * lib.mk: : works better with whats.mk 1091 10922020-04-25 Simon J Gerraty <sjg@beast.crufty.net> 1093 1094 * install-mk (MK_VERSION): 20200420 1095 1096 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep 1097 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC} 1098 10992020-04-16 Simon J Gerraty <sjg@beast.crufty.net> 1100 1101 * install-mk (MK_VERSION): 20200416 1102 1103 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to 1104 interfere with user env. 1105 1106 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL 1107 1108 * autodep.mk: use MAKE_SHELL. 1109 11102019-11-21 Simon J Gerraty <sjg@beast.crufty.net> 1111 1112 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of 1113 wasted effort, and unexport _meta_files when no longer needed as 1114 it consumes space we need for command line. 1115 11162019-11-11 Simon J Gerraty <sjg@beast.crufty.net> 1117 1118 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add 1119 DIRDEP_USE_PRELUDE at start - facilitates job distribution 1120 11212019-10-04 Simon J Gerraty <sjg@beast.crufty.net> 1122 1123 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST 1124 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid 1125 TARGET_SPEC qualified depend files. 1126 11272019-10-02 Simon J Gerraty <sjg@beast.crufty.net> 1128 1129 * dirdeps-targets.mk: encapsulate logic for finding top-level 1130 targets to set initial DIRDEPS for DIRDEPS_BUILD 1131 11322019-09-27 Simon J Gerraty <sjg@beast.crufty.net> 1133 1134 * install-mk (MK_VERSION): 20190911 1135 1136 * compiler.mk: set COMPILER_TYPE 1137 11382019-07-17 Simon J Gerraty <sjg@beast.crufty.net> 1139 1140 * install-mk (MK_VERSION): 20190704 1141 1142 * sys/Darwin.mk: support for Objective-C and clang 1143 11442019-05-30 Simon J Gerraty <sjg@beast.crufty.net> 1145 1146 * dirdeps.mk: avoid insanely long command line when generating cache 1147 11482019-05-23 Simon J Gerraty <sjg@beast.crufty.net> 1149 1150 * install-mk (MK_VERSION): 20190505 1151 1152 * whats.mk: handle corner case SHLIB defined but not LIB 1153 11542018-09-19 Simon J Gerraty <sjg@beast.crufty.net> 1155 1156 * install-mk (MK_VERSION): 20180919 1157 1158 * dirdeps-options.mk: .undef cannot handle var that expands to 1159 more than one var. 1160 11612018-07-08 Simon J Gerraty <sjg@beast.crufty.net> 1162 1163 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc. 1164 11652018-06-01 Simon J Gerraty <sjg@beast.crufty.net> 1166 1167 * meta.autodep.mk: export META_FILES to avoid command line limit 1168 * gendirdeps.mk: if we have lots of .meta files put them in 1169 an @list 1170 11712018-05-28 Simon J Gerraty <sjg@beast.crufty.net> 1172 1173 * dirdeps-options.mk: use local.dirdeps-options.mk 1174 not local.dirdeps-option.mk 1175 11762018-04-20 Simon J Gerraty <sjg@beast.crufty.net> 1177 1178 * install-mk (MK_VERSION): 20180420 1179 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0 1180 ie. we are building something. 1181 11822018-04-14 Simon J Gerraty <sjg@beast.crufty.net> 1183 1184 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS. 1185 11862018-04-05 Simon J Gerraty <sjg@beast.crufty.net> 1187 1188 * install-mk (MK_VERSION): 20180405 1189 1190 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER 1191 if needed. 1192 11932018-01-18 Simon J Gerraty <sjg@beast.crufty.net> 1194 1195 * install-mk (MK_VERSION): 20180118 1196 1197 * ldorder.mk: let make compute correct link order 1198 11992017-12-12 Simon J Gerraty <sjg@beast.crufty.net> 1200 1201 * install-mk (MK_VERSION): 20171212 1202 1203 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER 1204 12052017-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1206 1207 * install-mk (MK_VERSION): 20171111 1208 1209 * lib.mk: ensure META_NOECHO is set 1210 12112017-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 1212 1213 * Allow for host32 on rare occasions. 1214 12152017-10-18 Simon J. Gerraty <sjg@bad.crufty.net> 1216 1217 * install-mk (MK_VERSION): 20171018 1218 1219 * whats.mk: include what_thing in what_uuid to avoid problem 1220 when building multiple apps in the same directory. 1221 12222017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 1223 1224 * install-mk (MK_VERSION): 20170812 1225 1226 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can 1227 add dependencies for config.recheck and config.gen 1228 12292017-06-30 Simon J. Gerraty <sjg@bad.crufty.net> 1230 1231 * install-mk (MK_VERSION): 20170630 1232 1233 * meta.stage.mk: avoid triggering stage_* targets with nothing to do. 1234 12352017-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 1236 1237 * meta2deps.py: take special care of '..' 1238 12392017-05-15 Simon J. Gerraty <sjg@bad.crufty.net> 1240 1241 * install-mk (MK_VERSION): 20170515 1242 1243 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is 1244 useful/necessary for a Makefile.depend file to export some knobs. 1245 This is complicated when we are doing DIRDEPS_CACHE, so we will 1246 handle export of any variables listed in DEP_EXPORT_VARS. 1247 12482017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 1249 1250 * install-mk (MK_VERSION): 20170505 1251 1252 * meta2deps.py: fix botched indenation. 1253 12542017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1255 1256 * sys/*.mk: Remove setting of MAKE it is unnecessary and 1257 in many cases wrong (basname rather than full path) 1258 1259 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk 1260 1261 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc 1262 12632017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1264 1265 * install-mk (MK_VERSION): 20170501 1266 1267 * doc.mk: fix typo in DOC_INSTALL_OWN 1268 1269 * inc.mk: handle INCGROUPS similar to freebsd 1270 1271 * files.mk: add something for files too 1272 1273 * add staging logic to lib.mk prog.mk etc. 1274 12752017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 1276 1277 * install-mk (MK_VERSION): 20170424 1278 1279 * dirdeps.mk: set NO_DIRDEPS when bootstrapping. 1280 also target of bootstrap-this when sed is needed should be ${_want:T} 1281 12822017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1283 1284 * install-mk (MK_VERSION): 20170418 1285 1286 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a 1287 prefix match for .CURDIR - in which case .CURDIR *is* __objdir. 1288 12892017-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1290 1291 * install-mk (MK_VERSION): 20170401 1292 1293 * meta2deps.py: add is_src so we can check if obj dependency 1294 is also a src dependency. 1295 12962017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 1297 1298 * install-mk (MK_VERSION): 20170326 1299 1300 * meta.stage.mk: do nothing if NO_STAGING is defined. 1301 13022017-03-24 Simon J. Gerraty <sjg@bad.crufty.net> 1303 1304 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc. 1305 13062017-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1307 1308 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_* 1309 13102017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1311 1312 * install-mk (MK_VERSION): 20170301 1313 1314 * dirdeps.mk (_build_all_dirs): update this outside test for empty 1315 DIRDEPS. 1316 1317 * meta.stage.mk: allow multiple inclusion to the extent it makes 1318 sense. 1319 13202017-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1321 1322 * prog.mk (install_links): depends on realinstall 1323 13242017-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 1325 1326 * install-mk (MK_VERSION): 20170212 1327 1328 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries 1329 13302017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 1331 1332 * install-mk (MK_VERSION): 20170130 1333 1334 * dirdeps.mk: use :range if we can. 1335 1336 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130 1337 1338 * meta2deps.py: clean paths without using realpath() where possible. 1339 fix sort_unique. 1340 13412016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1342 1343 * install-mk (MK_VERSION): 20161212 1344 1345 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, 1346 rather than when we detect pid change. 1347 13482016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 1349 1350 * install-mk (MK_VERSION): 20161207 1351 1352 * meta.stage.mk: add stage_as_and_symlink for staging packages. 1353 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able 1354 to use foo.tgz to reference the latest staged version - so we 1355 make foo.tgz a symlink to it. 1356 Using a target to do both operations ensures we stay in sync. 1357 13582016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1359 1360 * install-mk (MK_VERSION): 20161126 1361 1362 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk 1363 so it can add dependencies. 1364 13652016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1366 1367 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE 1368 do that they can influence the result correctly. 1369 1370 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC 1371 1372 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST 1373 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 1374 13752016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 1376 1377 * dirdeps.mk: remove dependence on jot (normal situations anyway). 1378 Before we read another Makefile.depend* set DEP_* vars from 1379 _DEP_TARGET_SPEC in case it uses any of them with := 1380 When bootstrapping, trim any ,* from extention of chosen _src 1381 Makefile.depend* to get the machine value we subst for. 1382 13832016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> 1384 1385 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to 1386 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER 1387 1388 * sys.mk: extract some bits to sys.{debug,vars}.mk 1389 for easier re-use by others. 1390 13912016-09-23 Simon Gerraty <sjg@sjg-mba13> 1392 1393 * lib.mk: Use ${PICO} for extension for PIC objects. 1394 default to .pico (like NetBSD) safe on case insensitive filesystem. 1395 13962016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> 1397 1398 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default 1399 14002016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 1401 1402 * install-mk (MK_VERSION): 20160815 1403 1404 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only 1405 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date. 1406 14072016-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 1408 1409 * meta.sys.mk (.MAKE.META.IGNORE_PATHS): 1410 in meta mode we can ignore the mtime of makefiles 1411 14122016-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1413 1414 * install-mk (MK_VERSION): 20160802 1415 1416 * lib.mk (libinstall): depends on beforinstall 1417 1418 * prog.mk (proginstall): depends on beforinstall 1419 patch from Lauri Tirkkonen 1420 1421 * dirdeps.mk (bootstrap): When bootstrapping; creat 1422 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via 1423 .MAKE.DEPENDFILE_BOOTSTRAP_SED 1424 1425 * dirdeps.mk: move some comments to where they make sense. 1426 14272016-07-27 Simon J. Gerraty <sjg@bad.crufty.net> 1428 1429 * dirdeps.mk (DIRDEPS_CACHE): no dirname. 1430 14312016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1432 1433 * install-mk (MK_VERSION): 20160602 1434 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk 1435 do not apply :T to META_XTRAS 1436 patch from Bryan Drewery at FreeBSD.org. 1437 14382016-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 1439 1440 * install-mk (MK_VERSION): 20160530 1441 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH 1442 make it so. 1443 14442016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 1445 1446 * install-mk (MK_VERSION): 20160512 1447 1448 * dpadd.mk: always include local.dpadd.mk if it exists 1449 remove some things that better belong in local.dpadd.mk 1450 skip INCLUDES_* for staged libs unless SRC_* defined. 1451 1452 * own.mk: add INCLUDEDIR 1453 14542016-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1455 1456 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no 1457 TARGET_MACHINE - :E will be empty or match part of path, use 1458 ${MACHINE} 1459 14602016-04-07 Simon J. Gerraty <sjg@bad.crufty.net> 1461 1462 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to 1463 NO_FILEMON_COOKIE 1464 1465 * dirdeps.mk: move the logic that allows for 1466 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1467 inside the check for !target(_DIRDEP_USE) 1468 14692016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 1470 1471 * Use <> when including local*.mk and others which may exist 1472 elsewhere so that user can better control what they get. 1473 1474 * meta.autodep.mk (NO_FILEMON_COOKIE): 1475 create a cookie if we ever build dir with nofilemon 1476 so that UPDATE_DEPENDFILE will be forced to NO until cleaned. 1477 14782016-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1479 1480 * install-mk (MK_VERSION): 20160401 1481 1482 * meta2deps.py: fix old print statement when debugging. 1483 1484 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X 1485 patch from Bryan Drewery 1486 14872016-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 1488 1489 * install-mk (MK_VERSION): 20160317 (St. Pats) 1490 1491 * warnings.mk: g++ does not like -Wimplicit 1492 1493 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the 1494 pelthora of common suffixes for C++ 1495 1496 * lib.mk: use .So for shared objects 1497 14982016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1499 1500 * install-mk (MK_VERSION): 20160315 1501 1502 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 1503 normally only applies to scripts. 1504 1505 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 1506 well as outside it. 1507 15082016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1509 1510 * install-mk (MK_VERSION): 20160310 1511 1512 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 1513 we have processed; the list gets very inefficient as number of 1514 DIRDEPS gets large. 1515 1516 * sys.dependfile.mk: fix comment wrt MACHINE 1517 1518 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 1519 patch from Bryan Drewery 1520 15212016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 1522 1523 * meta2deps.sh: don't ignore subdirs. 1524 patch from Bryan Drewery 1525 15262016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1527 1528 * install-mk (MK_VERSION): 20160226 1529 1530 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 1531 15322016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 1533 1534 * dirdeps.mk: we shouldn't normally include .depend but if we do 1535 use .dinclude if we can. 1536 15372016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1538 1539 * install-mk (MK_VERSION): 20160218 1540 * sys.clean-env.mk: with recent change to Var_Subst() 1541 we cannot use the '$$' trick, but .export-literal does the job 1542 we need. 1543 * auto.dep.mk: make use .dinclude if we can. 1544 1545 15462016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 1547 1548 * dirdeps.mk: 1549 Add _build_all_dirs such that local.dirdeps.mk can 1550 add fully qualified dirs to it. 1551 These will be built normally but the current 1552 DEP_RELDIR will not depend on then (to avoid cycles). 1553 This makes it easy to hook things like unit-tests into build. 1554 1555 15562016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 1557 1558 * dirdeps.mk: add bootstrap-empty 1559 15602015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1561 1562 * install-mk (MK_VERSION): 20151212 1563 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 1564 only apply :tA to __objdir when comparing to .OBJDIR 1565 15662015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1567 1568 * install-mk (MK_VERSION): 20151111 1569 1570 * meta.sys.mk: include sys.dependfile.mk 1571 1572 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 1573 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 1574 include local.sys.env.mk early 1575 include local.sys.mk later 1576 1577 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 1578 15792015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1580 1581 * meta.sys.mk (META_COOKIE_TOUCH): 1582 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 1583 1584 * meta.stage.mk: stage_libs should ignore SYMLINKS. 1585 15862015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 1587 1588 * install-mk (MK_VERSION): 20151022 1589 1590 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 1591 15922015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1593 1594 * install-mk (MK_VERSION): 20151020 1595 1596 * dirdeps.mk: Add logic for 1597 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1598 15992015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 1600 1601 * install-mk (MK_VERSION): 20151010 1602 16032015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 1604 1605 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 1606 to have stage_lins run last in non-jobs mode. 1607 Use .ORDER only for jobs mode. 1608 16092015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1610 1611 * rst2htm.mk: allow for per target flags etc. 1612 16132015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1614 1615 * install-mk (MK_VERSION): 20150901 1616 1617 * doc.mk: create dir if needed use DOC_INSTALL_OWN 1618 16192015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 1620 1621 * install-mk (MK_VERSION): 20150615 1622 1623 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 1624 Follow make's normal precedence rules. 1625 1626 * gendirdeps.mk: allow customization of the header. 1627 eg. for FreeBSD: 1628 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 1629 1630 * meta.autodep.mk: ignore dirdeps.cache* 1631 1632 * meta.stage.mk: when bootstrapping options it can be handy to 1633 throw warnings rather than errors for staging conflicts. 1634 1635 * meta.sys.mk: include local.meta.sys.mk for customization 1636 16372015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1638 1639 * install-mk (MK_VERSION): 20150606 1640 1641 * dirdeps.mk: don't rely on manually maintained Makefile.depend 1642 to set DEP_RELDIR and reset DIRDEPS. 1643 By setting DEP_RELDIR ourselves we can skip :tA 1644 1645 * gendirdeps.mk: skip setting DEP_RELDIR. 1646 16472015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1648 1649 * dirdeps.mk: avoid wildcards like make(bootstrap*) 1650 16512015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1652 1653 * install-mk (MK_VERSION): 20150520 1654 1655 * dirdeps.mk: when we are building dirdeps cache file we *want* 1656 meta_oodate to look at all the Makefile.depend files, so 1657 set .MAKE.DEPENDFILE to something that won't match. 1658 1659 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 1660 so first use absolute path as key. 1661 Also skip staging at level 0. 1662 16632015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1664 1665 * install-mk (MK_VERSION): 20150430 1666 1667 * dirdeps.mk: fix _count_dirdeps for non-cache case. 1668 16692015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 1670 1671 * install-mk (MK_VERSION): 20150411 1672 bump version 1673 1674 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 1675 it is here mainly for documentation purposes, since 1676 if using auto.obj.mk it is better done via sys.mk 1677 16782015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1679 1680 * install-mk (MK_VERSION): 20150401 1681 1682 * meta2deps.sh: support @list 1683 1684 * meta2deps.py: updates from Juniper 1685 o add EXCLUDES 1686 o skip bogus input files. 1687 o treat 'M' and 'L' as both an 'R' and a 'W' 1688 16892015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1690 1691 * install-mk (MK_VERSION): 20150303 1692 1693 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 1694 which is built via sub-make so we have a .meta file to tell if 1695 it is out-of-date. 1696 The dirdeps-cache contains the same dependency rules that we 1697 normaly construct on the fly. 1698 This adds a few seconds overhead when the cache is out of date, 1699 but for a large target, the savings can be significant (10-20min). 1700 17012014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 1702 1703 * install-mk (MK_VERSION): 20141118 1704 1705 * meta.stage.mk: add stale_staged 1706 1707 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 1708 only useful under very rare conditions such as 1709 FreeBSD's make universe. 1710 1711 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 1712 17132014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1714 1715 * install-mk (MK_VERSION): 20141111 1716 1717 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 1718 17192014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1720 1721 * FILES: include mkopt.sh which allows handling options in shell 1722 scripts in a manner compatible with options.mk 1723 17242014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1725 1726 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 1727 for GENDIRDEPS_FILTER to avoid surprises. 1728 17292014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1730 1731 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 1732 the time it is applied to __depdirs they have. 1733 1734 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 1735 expects patterns like *.${MACHINE} 1736 1737 * cython.mk (pyprefix?): use pyprefix to find python bits 1738 since prefix might be something else (where we install our 1739 stuff) 1740 17412014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1742 1743 * install-mk (MK_VERSION): 20140911 1744 1745 * dirdeps.mk: add bootstrap target to simplify adding support for 1746 new MACHINE. 1747 17482014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1749 1750 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 1751 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 1752 Makefile.depend files. 1753 17542014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1755 1756 * install-mk (MK_VERSION): 20140828 1757 1758 * cython.mk: capture logic for building python extension modules 1759 with Cython. 1760 17612014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1762 1763 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 1764 17652014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1766 1767 * install-mk (MK_VERSION): 20140801 1768 1769 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 1770 identify the autodep.mk variant. 1771 1772 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 1773 initial value does not match .MAKE.DEPENDFILE_PREFIX 1774 1775 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 1776 17772014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1778 1779 * install-mk (MK_VERSION): 20140522 1780 1781 * lib.mk: use CC to link shlib for linux too 1782 patch from Brendan MacDonell 1783 17842014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1785 1786 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 1787 if WITH_META_STATS is defined. 1788 17892014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1790 1791 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 1792 to supress dirdeps outside of .CURDIR. 1793 17942014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1795 1796 * Fix spelling errors - patch from Pedro Giffuni 1797 17982014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 1799 1800 * install-mk (MK_VERSION): 20140314 1801 1802 * dirdeps.mk (beforedirdeps): a handy hook 1803 1804 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 1805 to visit leaf dirs to be intercepted (eg. for distributed 1806 build). 1807 1808 * dirdeps.mk (__depdirs): ensure // don't sneak in 1809 1810 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 1811 1812 18132014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 1814 1815 * rst2htm.mk (RST2PDF): add support for rst2pdf 1816 18172014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1818 1819 * install-mk (MK_VERSION): bump version 1820 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 1821 available. 1822 18232014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1824 1825 * options.mk: avoid :U so this isn't bmake dependent 1826 18272014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 1828 1829 * options.mk: cleanup and simplify semanitcs 1830 NO_* dominates all, if both WITH_* and WITHOUT_* 1831 are defined then result is DOMINATE_* which defaults to "no". 1832 Ie. WITHOUT_ normally wins. 1833 18342013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1835 1836 * install-mk (MK_VERSION): bump version 1837 * meta2deps.py: convert to print function for python3 compat. 1838 we also need to open files with mode 'r' rather than 'rb' 1839 otherwise we get bytes instead of strings. 1840 18412013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1842 1843 * install-mk (MK_VERSION): bump version 1844 1845 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 1846 apply the same filtering (M_dep_qual_fixes) when setting _machines 1847 as _build_dirs. 1848 Also fix the filtering of Makefile.depend files - for reporting 1849 what we are looking for (M_dep_qual_fixes can get confused by 1850 Makefile.depend) 1851 Add some more debug info. 1852 18532013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1854 1855 * gendirdeps.mk (_objtops): fix typo also 1856 while processing M2D_OBJROOTS to gather qualdir_list 1857 qualify $ql with loop iterator to ensure correct results. 1858 18592013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1860 1861 * install-mk (MK_VERSION): 20130801 1862 * libs.mk: update to match progs.mk 1863 18642013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 1865 1866 * install-mk (MK_VERSION): 20130726 1867 some updates from Juniper and FreeBSD 1868 o meta2deps.py: indicate file and line number when we hit parse 1869 errors 1870 also allow @file to provide huge list of .meta files. 1871 * meta2deps.py: add try_parse() to cleanup the above. 1872 18732013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1874 1875 * install-mk (MK_VERSION): 20130716 1876 * own.mk: add GPROG as an option 1877 * prog.mk: honor MK_GPROF==yes 1878 18792013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1880 1881 * install-mk (MK_VERSION): 20130505 1882 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 1883 for when $MACHINE isn't enough for objdir distinction. 1884 Bring meta2deps.sh closer to par with meta2deps.py. 1885 18862013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1887 1888 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 1889 also if the target 'beforeinstall' exists, make it depend on 1890 .dirdep (incase it uses STAGE_INSTALL). 1891 18922013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1893 1894 * install-mk (MK_VERSION): 20130401 ;-) 1895 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 1896 wrapper around install(1). 1897 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 1898 18992013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1900 1901 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 1902 * install-mk (MK_VERSION): bump version 1903 19042013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 1905 1906 * install-mk (MK_VERSION): bump version 1907 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 1908 any trailing /., rather apply :tA only when needed. 1909 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 1910 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 1911 consistently. 1912 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 1913 19142013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1915 1916 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 1917 it is simpler to just not update when say building for "host" 1918 (where we know we apply filters to DIRDEPS), and using a 1919 non-machine qualified dependfile. 1920 19212013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1922 1923 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 1924 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 1925 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 1926 * meta2deps.py: if machine is "host", then also trim 1927 self.host_target from any OBJROOTS. 1928 1929 19302013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1931 1932 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 1933 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 1934 but _DEPENDFILE does not, compare the new _DEPENDFILE against 1935 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 1936 19372013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 1938 1939 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 1940 and hook to all: via staging: 1941 19422013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1943 1944 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 1945 use a separate variable for the default .MAKE.DEPENDFILE value 1946 so that it can be controlled independently of 1947 .MAKE.DEPENDFILE_PREFERENCE 1948 1949 * meta.stage.mk: throw error if cp fails etc. 1950 Stage*() return early if passed no args. 1951 .ORDER stage_* 1952 19532013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1954 1955 * install-mk (MK_VERSION): bump version 1956 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 1957 19582013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1959 1960 * install-mk (MK_VERSION): bump version to 20130210 1961 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 1962 from Juniper. 1963 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 1964 than just MACHINE. 1965 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 1966 19672013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 1968 1969 * install-mk (MK_VERSION): bump version to 20130123 1970 * meta.stage.mk: add stage_links (hard links). 1971 if doing hard links, we add dest to link as well. 1972 Default the stage dir for [sym]links to STAGE_OBJTOP since 1973 these are typically specified as absolute paths. 1974 Add -m "mode" flag to StageFiles and StageAs. 1975 19762012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1977 1978 * install-mk (MK_VERSION): bump version to 20121111 1979 * autoconf.mk: avoid meta mode seeing changed commands for config.status 1980 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 1981 in case we were found via .../mk 1982 * sys.clean-env.mk: move it from examples, we and others use it 1983 "as is". 1984 * FILES: add srctop.mk and options.mk 1985 * own.mk: convert to using options.mk 1986 which is modeled after FreeBSD's handling of MK_* 1987 but more flexible. 1988 This allows MK_* for boolean knobs to not be confused 1989 with MK* which can be commands. 1990 1991 * examples/sys.clean-env.mk: add WITH[OUT]_ to 1992 MAKE_ENV_SAVE_PREFIX_LIST. 1993 Mention that HOME=/var/empty might be a good idea. 1994 19952012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 1996 1997 * sys.dependfile.mk: if not depend file exists, $MACHINE 1998 specific ones are supported but not the default, 1999 check if any exist and follow suit. 2000 20012012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 2002 2003 * install-mk (MK_VERSION): bump version to 20121106 2004 20052012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 2006 2007 * import latest dirdeps.mk and meta2deps.py from Juniper. 2008 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 2009 also add PROGS_TARGETS and pass on PROG_CXX if it seems 2010 appropriate. 2011 20122012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 2013 2014 * meta.stage.mk: update CLEANFILES 2015 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 2016 * progs.mk: Add LDADD to PROG_VARS 2017 20182012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 2019 2020 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 2021 _STAGED_DIRS so that these can be turned into filters for 2022 GENDIRDEPS_FILTER. 2023 20242012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 2025 2026 * install-mk (MK_VERSION): bump version to 20121010 2027 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 2028 target.dirdep matches .dirdep 2029 20302012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 2031 2032 * install-mk (MK_VERSION): bump version to 20120808 2033 * import latest meta2deps.py from Juniper. 2034 20352012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 2036 2037 * install-mk (MK_VERSION): bump version to 20120711 2038 * dep.mk: add explicit dependencies on SRCS after applying 2039 SRCS_DEP_FILTER 2040 * meta.autodep.mk: add explicit dependencies on SRCS after 2041 applying SRCS_DEP_FILTER 2042 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 2043 20442012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 2045 2046 * install-mk (MK_VERSION): bump version to 20120626 2047 * meta.sys.mk: ignore PYTHON if it does not exist 2048 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 2049 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 2050 entries ending in .${MACHINE} to decide if qualified _dirdep is 2051 needed. 2052 * gendirdeps.mk: only produce unqualified deps if no 2053 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 2054 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 2055 20562012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 2057 2058 * install-mk (MK_VERSION): bump version to 20120420 2059 * add sys.dependfile.mk so we can experiment with 2060 .MAKE.DEPENDFILE_PREFERENCE 2061 * meta.autodep.mk: _DEPENDFILE is precious! 2062 20632012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 2064 2065 * install-mk (MK_VERSION): bump version to 20120315 2066 * install-new.mk: avoid being interrupted 2067 20682012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 2069 2070 * man.mk: MAN might have multiple values so be careful with exists(). 2071 20722012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 2073 2074 * install-mk (MK_VERSION): bump version to 20120112 2075 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 2076 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 2077 20782011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 2079 2080 * install-mk (MK_VERSION): bump version to 20111201 2081 * import dirdeps.mk from Juniper sjg@ 2082 o more consistent handling of DEP_MACHINE, especially when 2083 dealing with an odd Makefile.depend, when normally using 2084 Makefile.depend.${MACHINE} 2085 20862011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 2087 2088 * install-mk (MK_VERSION): bump version to 20111122 2089 * meta.autodep.mk: add some debug output, be more crisp about 2090 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 2091 20922011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 2093 2094 * install-mk (MK_VERSION): bump version to 20111111 2095 it's too cool to miss 2096 * import meta* updates from Juniper sjg@ 2097 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 2098 normally using Makefile.depend.${MACHINE}), handy for 2099 read-only manually maintained dependencies. 2100 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 2101 o gendirdeps.mk if ERROR: from meta2deps.py do not update 2102 anything. 2103 21042011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 2105 2106 * install-new.mk separate the cmp and copy logic to its own function. 2107 21082011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 2109 2110 * install-mk (MK_VERSION): bump version to 20111028 2111 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 2112 * subdir.mk: ensure _SUBDIRUSE is provided 2113 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 2114 * meta.subdir.mk: always allow for Makefile.depend 2115 21162011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 2117 2118 * install-mk (MK_VERSION): bump version to 20111010 2119 o minor tweak to *dirdeps.mk from Juniper sjg@ 2120 21212011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 2122 2123 * install-mk (MK_VERSION): bump version to 20111001 2124 o add meta2deps.py from Juniper sjg@ 2125 o tweak gendirdeps.mk to work with meta2deps.py when not 2126 cross-building 2127 * autoconf.mk: add autoconf-input as a hook for regenerating 2128 AUTOCONF_INPUTS (configure). 2129 21302011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 2131 2132 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 2133 trigger for updating Makefile.depend* 2134 21352011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 2136 2137 * install-mk (MK_VERSION): bump version to 20110808 2138 * obj.mk: minor cleanup 2139 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 2140 21412011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 2142 2143 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 2144 specified dir. 2145 21462011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 2147 2148 * meta.autodep.mk: if XMAKE_META_FILE is set 2149 the makefile uses a foreign make, and so dependencies 2150 can only be gathered from a clean tree build. 2151 21522011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 2153 2154 * install-mk (MK_VERSION): bump version to 20110622 2155 * meta.autodep.mk: improve bootstraping 2156 21572011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 2158 2159 * yacc.mk: handle the corner case of .c being removed 2160 while .h remains. 2161 21622011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 2163 2164 * yacc.mk: do .y.h and .y.c separately 2165 21662011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 2167 2168 * install-mk (MK_VERSION): bump version to 20110606 2169 * don't store SRC_DIRDEPS in Makefile.depend* by default 2170 not everyone needs it. 2171 21722011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 2173 2174 * install-mk (MK_VERSION): bump version to 20110505 2175 first release including meta mode makefiles 2176 21772011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 2178 2179 * meta.stage.mk: add STAGE_AS_SETS and stage_as 2180 for things that need to be staged with different names. 2181 21822011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 2183 2184 * meta.stage.mk: add notion of STAGE_SETS 2185 so a makefile can stage to multiple dirs 2186 21872011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 2188 2189 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 2190 on target name. 2191 21922011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 2193 2194 * install-mk (MK_VERSION): bump version to 20110330 2195 21962011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 2197 2198 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 2199 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 2200 * sys.mk: re-define M_whence in terms of M_type. 2201 M_type is useful for checking if something is a builtin. 2202 22032011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 2204 2205 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 2206 stage_libs 2207 22082011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 2209 2210 * dirdeps.mk: correct value for _depdir_files depends on 2211 .MAKE.DEPENDFILE 2212 Add our copyright - just to make it clear we have frobbed this 2213 quite a bit. 2214 DEP_MACHINE needs to be set to MACHINE each time, if using only 2215 Makefile.depend (cf. Makefile.depend.${MACHINE}) 2216 2217 * meta.stage.mk: meta mode version of staging 2218 2219 * init.mk, final.mk: include local.*.mk to simplify customization 2220 22212011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 2222 2223 * auto.obj.mk: just because we are doing mk destroy, we should 2224 still set .OBJDIR correctly if it exists. 2225 2226 * install-mk (mksrc): do not exclude meta.sys.mk 2227 22282011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 2229 2230 * host-target.mk: set/export _HOST_ARCH etc separately, 2231 catch junk resulting from uname -p, so we can find sys/Linux.mk 2232 correctly. 2233 22342011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 2235 2236 * meta.sys.mk: throw an error if /dev/filemon is missing and we 2237 expected to be updating Makefile.depend* 2238 22392011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 2240 2241 * install-mk (MK_VERSION): bump version to 20110214 2242 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 2243 22442010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 2245 2246 * meta.sys.mk: not valid for older bmake 2247 22482010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 2249 2250 * install-mk (MK_VERSION): bump version to 20100919 2251 include dirdeps.mk et al from Juniper Networks, 2252 for meta mode - requires filemon(9). 2253 * sys.mk, subdir.mk: Add hooks for meta mode. 2254 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 2255 to make turning it on/off simple. 2256 22572010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 2258 2259 * install-mk (MK_VERSION): bump version to 20100616 2260 * fix typo in sys.mk 2261 22622010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 2263 2264 * install-mk (MK_VERSION): bump version to 20100612 2265 * lib.mk: remove duplicate addition to SOBJS 2266 22672010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 2268 2269 * sys.mk: Add a means of selectively turning on debug flags. 2270 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 2271 will act as if we did make -dv if .CURDIR ends in lib/sjg 2272 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 2273 the start of sys.mk rather than the end. 2274 This only makes sense for leaf dirs, so we check that 2275 .MAKE.LEVEL > 0 2276 22772010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 2278 2279 * install-mk (MK_VERSION): bump version to 20100608 2280 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 2281 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 2282 also make it easier for folk to tweak 2283 22842010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 2285 2286 * install-mk (MK_VERSION): bump version to 20100606 2287 do not install examples/* 2288 * FILES: add examples/sys.clean-env.mk 2289 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 2290 this requires bmake-20100606 or later to work. 2291 22922010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 2293 2294 * sys.mk (M_tA): better simulate the result of :tA if not available. 2295 22962010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 2297 2298 * sys.mk: canonicalize MAKE_VERSION 2299 old versions reported bmake-<src-date> build-<build-date> 2300 whereas we only care about <src-date> 2301 23022010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 2303 2304 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 2305 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 2306 is !empty 2307 23082010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 2309 2310 * dpadd.mk: use LDADD_* if defined. 2311 23122010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 2313 2314 * install-mk (MK_VERSION): bump version to 20100420 2315 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 2316 * autoconf.mk allow AUTO_AUTOCONF 2317 23182010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 2319 2320 * obj.mk: add objwarn to keep freebsd makefiles happy 2321 * auto.obj.mk: ensure Mkdirs is available. 2322 * FILES: add auto.dep.mk - a simpler version of autodep.mk 2323 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 2324 asked to do that. 2325 fix/simplify the tests for when to run mkdep. 2326 * auto.dep.mk: add some explanation of how/what we do. 2327 * autodep.mk: skip the .OPTIONAL frobbing of .depend 2328 bmake's FROM_DEPEND flag makes it redundant. 2329 23302010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 2331 2332 * install-mk (MK_VERSION): bump version to 20100404 2333 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 2334 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 2335 Also create a target _SUBDIRUSE so that we can be used without 2336 subdir.mk 2337 23382010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 2339 2340 * dep.mk: use <> when .including so can override. 2341 23422010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 2343 2344 * lib.mk (SHLIB_LINKS): ensure a string comparison. 2345 23462010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 2347 2348 * install-mk (MK_VERSION): bump version to 20100102 2349 * own.mk: ensure PRINTOBJDIR works 2350 * autoconf.mk: pass on CONFIGURE_ARGS 2351 * init.mk: handle COPTS.${.IMPSRC:T} etc. 2352 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 2353 fix handling of symlinks for darwin 2354 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 2355 * man.mk: suppress chown when not root. 2356 * rst2htm.mk: allow srcs from multiple locations. 2357 * sys.mk: M_whence, stop after 1st line of output. 2358 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 2359 * sys/SunOS.mk: we need to export PATH 2360 23612009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 2362 2363 * install-mk (MK_VERSION): bump version 2364 include rst2htm.mk 2365 23662009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 2367 2368 * sys.mk,libnames.mk add .-include <local.*> 2369 this allows local customization without the need to edit the 2370 distributed files. 2371 23722009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 2373 2374 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 2375 older versions already installed. 2376 23772009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 2378 2379 * stage.mk (.stage-install): generalize lib.mk's .libinstall 2380 * rules.mk rules for generic Makefile. 2381 * inc.mk install for includes. 2382 23832009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 2384 2385 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 2386 this, so provide it if using native make. 2387 23882009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 2389 2390 * FILES: move all the platform *.sys.mk files to sys/*.mk 2391 * Rename Generic.sys.mk to sys.mk - we always want it. 2392 23932009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 2394 2395 * install-mk (MK_VERSION): bump version 2396 * host-target.mk: only export the expensive stuff 2397 * Generic.sys.mk (sys_mk): for SunOS we need to look for 2398 ${HOST_OS}.${HOST_OSMAJOR} too! 2399 24002009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 2401 2402 * install-mk (MK_VERSION): bump version 2403 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 2404 based on patch from Greg Olszewski. 2405 * Generic.sys.mk: if we have nothing to work with 2406 set LORDER etc only if we can find it. 2407 24082009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 2409 2410 * install-mk (MK_VERSION): bump version 2411 * man.mk: cleanman: remove CLEANMAN if defined. 2412 24132009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 2414 2415 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 2416 24172009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 2418 2419 * install-mk (MK_VERSION): bump version 2420 include auto.obj.mk 2421 2422 24232009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 2424 2425 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 2426 24272008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 2428 2429 * install-mk (MK_VERSION): bump version 2430 man.mk: ensure we generate *.cat1 etc in . 2431 24322008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 2433 2434 * install-mk (MK_VERSION): bump version 2435 add prlist.mk 2436 24372007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 2438 2439 * Generic.sys.mk: Allow os specific sys.mk to be in a 2440 subdir of ${.PARSEDIR} 2441 24422007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 2443 2444 * install-mk (MK_VERSION): bump version 2445 * general cleanup 2446 * dpadd.mk introduce DPMAGIC_LIBS_* 2447 24482007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 2449 2450 * install-mk (MK_VERSION): bump version 2451 2452 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 2453 depend files and ensure clean is called for each lib/prog. 2454 24552007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 2456 2457 * autodep.mk (.depend): delete lines that do not start with 2458 space and do not contain ':' 2459 24602007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 2461 2462 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 2463 so make sure the transform for .OPTIONAL copes. 2464 24652007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2466 2467 * install-mk (MK_VERSION): bump version 2468 2469 * own.mk: make sure RM and LN are defined. 2470 2471 * obj.mk: fix a typo, and objlink target. 2472 24732006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 2474 2475 * install-mk (MK_VERSION): bump version 2476 * added libs.mk - analogous to progs.mk 2477 make both of them always inlcude {lib,prog}.mk 2478 24792006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 2480 2481 * progs.mk: add a means of building multiple apps in one dir. 2482 24832006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 2484 2485 * install-mk (MK_VERSION): bump version to 20061126 2486 2487 * warnings.mk: detect invalid WARNINGS_SET 2488 2489 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 2490 specific warnings. 2491 2492 * For .cc sources, turn off warnings that g++ vomits on. 2493 24942006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 2495 2496 * own.mk: if __initialized__ target doesn't exist and we are 2497 FreeBSD we got here directly from sys.mk 2498 24992006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 2500 2501 * install-mk (MK_VERSION): bump version to 20061106 2502 add scripts.mk 2503 25042006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 2505 2506 * install-mk (MK_VERSION): bump version to 20060318 2507 2508 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 2509 25102006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 2511 2512 * install-mk (MK_VERSION): bump version to 20060302 2513 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 2514 25152006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 2516 2517 * install-mk (MK_VERSION): bump version to 20060301 2518 * autodep.mk (.depend): 2519 if MAKE_VERSION is newer than 20050530 we can make .END depend on 2520 .depend and make .depend depend on __depsrcs that exist. 2521 * dpadd.mk: add SRC_PATHADD 2522 25232005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2524 2525 * install-mk (MK_VERSION): bump version to 20051104 2526 * prog.mk: remove all the LIBC?= junk, use 2527 .-include libnames.mk instead (none by default). 2528 also if USE_DPADD_MK is set, include that. 2529 25302005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2531 2532 * install-mk (MK_VERSION): bump version to 20051001 2533 Add UnixWare.sys.mk from Klaus Heinz. 2534 25352005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 2536 2537 * install-mk: always install *.sys.mk and if need be symlink one 2538 to sys.mk 2539 25402005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 2541 2542 * subdir.mk, own.mk: use .MAKE rather than MAKE 2543 25442004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2545 2546 * own.mk: don't use NetBSD's _SRC_TOP_ it can 2547 cause confusion. Also don't take just 'mk' as a 2548 srctop indicator. 2549 25502004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 2551 2552 * warnings.mk: overhauled, now very powerful. 2553 25542004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2555 2556 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 2557 25582004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 2559 2560 * install-mk (MK_VERSION): bump version to 20040201 2561 * extract HOST_TARGET stuff to host-target.mk so own.mk and 2562 Generic.sys.mk can share. 2563 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 2564 25652003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 2566 2567 * install-mk (MK_VERSION): 20030930 2568 * rename generic.sys.mk to Generic.sys.mk 2569 so that it does not get installed (unless being used as sys.mk) 2570 * set OS and ROOT_GROUP for those that we know the value. 2571 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 2572 we don't do it again for each sub-make. 2573 25742003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2575 2576 * install-mk (MK_VERSION): 20030928 2577 Add some extra *.sys.mk from bootstrap-pkgsrc 2578 some of these likely still need work. 2579 Make everything default to root:wheel ownership, 2580 sys.mk can set ROOT_GROUP accordingly. 2581 25822003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 2583 2584 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 2585 not the portable ones. 2586 25872003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2588 2589 * install-mk: add ability to use cp -f when updating 2590 destination .mk files. Also now possible to play games with 2591 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 2592 into dest - not recommended unless you seriously want to. 2593 25942003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2595 2596 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 2597 for semi-compatability with NetBSD. 2598 25992003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2600 2601 * install-mk: add a version indicator 2602 26032003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 2604 2605 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 2606 2607 * install-mk: Allow FORCE_SYS_MK to come from env 2608 2609 2610 2611