12025-07-04 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * prog.mk: .MADE is a special source not a target! 4 52025-05-28 Simon J Gerraty <sjg@beast.crufty.net> 6 7 * install-mk (MK_VERSION): 20250528 8 9 * add dirdeps2dplibs.mk 10 112025-05-18 Simon J Gerraty <sjg@beast.crufty.net> 12 13 * install-mk (MK_VERSION): 20250518 14 15 * meta.autodep.mk (META_FILES): re-work to fix filtering. 16 if OPTIMIZE_OBJECT_META_FILES==yes 17 provide a default META_FILE_OBJ_FILTER that selects a valid 18 .SUFFIX to match *o.meta, there's no guarantee that it will be as 19 simple as .o or .So etc. 20 We have to defer evaluation until the target script is run 21 for any of these filters to have any effect. 22 Use :S,${.OBJDIR}/,, rather than :T incase there are objects 23 in sub-dirs. 24 25 * lib.mk: leverage ${.SUFFIXES} when setting dependencies. 26 27 * add UPDATE_DEPENDFILE as a dependent option - follows 28 DIRDEPS_BUILD and use MK_UPDATE_DEPENDFILE as default for 29 UPDATE_DEPENDFILE when we think it should be yes. 30 This allows override with -DWITH[OUT]_UPDATE_DEPENDFILE 31 without overriding UPDATE_DEPENDFILE directly - which can lead to 32 trouble. 33 342025-05-16 Simon J Gerraty <sjg@beast.crufty.net> 35 36 * install-mk (MK_VERSION): 20250515 37 38 * meta2deps.py: resolve the target of a Move or Link first 39 and track the last path resolved, then if the src is a relative 40 path we can easily use that last path to resolve the src correctly. 41 42 * meta2deps.sh: for a Move or Link add the dir of target path to 43 the list used to resolve the src path. 44 452025-04-18 Simon J Gerraty <sjg@beast.crufty.net> 46 47 * init.mk: include Skipping ${RELDIR} when _SKIP_BUILD is not empty. 48 492025-04-14 Simon J Gerraty <sjg@beast.crufty.net> 50 51 * install-mk (MK_VERSION): 20250414 52 53 * init.mk: check ONLY_*_LIST and NOT_*_LIST for SKIP_BUILD_VAR_LIST 54 to set _SKIP_BUILD 55 56 * genfiles.mk: add FILTER support 57 58 * rst2htm.mk: latest docutils drops .py extensions 59 602025-03-26 Simon J Gerraty <sjg@beast.crufty.net> 61 62 * install-mk (MK_VERSION): 20250326 63 64 * auto.obj.mk: fix and simplify handling of relative __objdir, 65 convert it to absolute before checking against .OBJDIR 66 672025-03-14 Simon J Gerraty <sjg@beast.crufty.net> 68 69 * install-mk (MK_VERSION): 20250314 70 71 * meta.stage.mk: StageFiles --subdir: preserve the dir part of 72 each file under $dest 73 742025-03-12 Simon J Gerraty <sjg@beast.crufty.net> 75 76 * meta.autodep.mk: do a better job of handling MAKESYSPATH in 77 GENDIRDEPS_ENV. If we have MAKE_VERSION >= 20230123 we can just 78 use .SYSPATH, otherwise it is a bit more complicated. 79 802025-01-10 Simon J Gerraty <sjg@beast.crufty.net> 81 82 * rust.mk: use RUST_LIBS and RUST_PROGS 83 842025-01-01 Simon J Gerraty <sjg@beast.crufty.net> 85 86 * install-mk (MK_VERSION): 20250101 87 88 * use W flag to :S and :C rather than :tW 89 902024-12-16 Simon J Gerraty <sjg@beast.crufty.net> 91 92 * rust.mk: add RUSTFLAGS if needed 93 942024-12-12 Simon J Gerraty <sjg@beast.crufty.net> 95 96 * init.mk (OBJS_SRCS_FILTER): apply this as 97 ${OBJS_SRCS_FILTER:ts:} as we do in FreeBSD. 98 992024-12-03 Simon J Gerraty <sjg@beast.crufty.net> 100 101 * install-mk (MK_VERSION): 20241202 102 103 * setopts.sh: needed by newlog.sh 104 1052024-11-22 Simon J Gerraty <sjg@beast.crufty.net> 106 107 * meta.sys.mk: add META_MODE_XTRAS to META_MODE to make it 108 easier to add things like 'env' when debugging. 109 110 * install-mk (MK_VERSION): 20241122 111 112 * rust.mk: rename CARGO* to RUST_CARGO* so I don't feel 113 like this makefile should be renamed to cargo.mk 114 1152024-11-11 Simon J Gerraty <sjg@beast.crufty.net> 116 117 * dirdeps.mk: add DIRDEPS_CACHED_ENV to dirdeps-cached and 118 DIRDEP_USE_EPILOGUE to _DIRDEP_USE 119 1202024-10-30 Simon J Gerraty <sjg@beast.crufty.net> 121 122 * meta.sys.mk: if MK_META_ERROR_TARGET is yes and NEWLOG_SH is 123 set, and ERROR_LOGDIR already exists, hook _rotateErrorLog to 124 .BEGIN target. 125 1262024-10-27 Simon J Gerraty <sjg@beast.crufty.net> 127 128 * options.mk: add support for DEBUG_OPTIONS (similar to 129 DEBUG_DIRDEPS) to allow us to see where options get set. 130 Eg. DEBUG_OPTIONS="STAGING*" gives: 131 132 bmake[1]: "mk/options.mk" line 89: sys.mk: MK_STAGING=yes (MK_DIRDEPS_BUILD=no) 133 bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING=yes 134 bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING_PROG=no 135 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_MAN=yes (MK_STAGING=yes) 136 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_PROG=no (MK_STAGING=yes) 137 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_RUST=no (MK_STAGING_PROG=no) 138 139 * own.mk: fix setting of STAGE_OBJTOP (normally set by sys.dirdeps.mk) 140 1412024-10-26 Simon J Gerraty <sjg@beast.crufty.net> 142 143 * rust.mk: add some documentation and support for staging 144 1452024-10-25 Simon J Gerraty <sjg@beast.crufty.net> 146 147 * rust.mk: a means of integrating Rust projects into a larger build. 148 1492024-10-18 Simon J Gerraty <sjg@beast.crufty.net> 150 151 * dirdeps-targets.mk: if DEBUG_DIRDEPS_TARGETS and we found 152 STATIC_DIRDEPS_CACHE, report its relative path. 153 1542024-09-30 Simon J Gerraty <sjg@beast.crufty.net> 155 156 * dirdeps.mk: tweak the debug message for "Loading" a 157 Makefile.depend file, always report what the actual makefile is 158 with the DIRDEP it is for. 159 Remove the redundant "Looking" message. 160 1612024-09-26 Simon J Gerraty <sjg@beast.crufty.net> 162 163 * meta2deps.py: when raising AssertionError include meta file name 164 with $SB trimmed if possible. 165 1662024-09-23 Simon J Gerraty <sjg@beast.crufty.net> 167 168 * meta2deps.py: replace assert() with raise AssertionError when we 169 detect missing eXits, to ensure a meaningful message gets into 170 log. 171 1722024-09-21 Simon J Gerraty <sjg@beast.crufty.net> 173 174 * install-mk (MK_VERSION): 20240921 175 176 * FILES: add genfiles.mk 177 1782024-09-20 Simon J Gerraty <sjg@beast.crufty.net> 179 180 * install-mk (MK_VERSION): 20240920 181 182 * cython.mk: Get PYTHON_VERSION from PYTHON 183 1842024-08-31 Simon J Gerraty <sjg@beast.crufty.net> 185 186 * subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*} 187 and handle subdir with '-' in its name. 188 1892024-08-23 Simon J Gerraty <sjg@beast.crufty.net> 190 191 * install-mk (MK_VERSION): 20240820 192 193 * links.mk: Allow a filter to be applied to SYMLINKS etc. 194 It is up to [BUILD_][SYM]LINKS_FILTER to do something sane. 195 Also only claim we are making a symlink if the value changed. 196 1972024-06-22 Simon J Gerraty <sjg@beast.crufty.net> 198 199 * install-mk (MK_VERSION): 20240616 200 201 * dirdeps.mk: apply DEP_DIRDEPS_BUILD_DIR_FILTER after we have 202 computed build dirs, since some filters cannot be easily expressed via 203 DEP_DIRDEPS_FILTER. 204 2052024-05-31 Simon J Gerraty <sjg@beast.crufty.net> 206 207 * dirdeps.mk: move reset of DIRDEPS_EXPORT_VARS 208 until after we a finished with it if building a cache. 209 2102024-05-04 Simon J Gerraty <sjg@beast.crufty.net> 211 212 * install-mk (MK_VERSION): 20240504 213 214 * dirdeps.mk: allow BUILD_DIRDEPS_OVERRIDES to pass overrides to 215 sub-make building DIRDEPS_CACHE. 216 2172024-04-24 Simon J Gerraty <sjg@beast.crufty.net> 218 219 * meta.autodep.mk: do not override start_utc 220 2212024-04-18 Simon J Gerraty <sjg@beast.crufty.net> 222 223 * sys.dirdeps.mk: set defaults for DEP_* at level 0 too. 224 These help when first include of Makefile.depend happens in a leaf 225 dir. 226 227 * install-mk (MK_VERSION): 20240414 228 2292024-04-09 Simon J Gerraty <sjg@beast.crufty.net> 230 231 * install-mk (MK_VERSION): 20240408 232 233 * init.mk: allow for _ as well as . to join V 234 and Q from QUALIFIED_VAR_LIST and VAR_QUALIFIER_LIST. 235 236 * progs.mk: avoid overlap between PROG_VARS and 237 init.mk's QUALIFIED_VAR_LIST since PROG would also 238 match its VAR_QUALIFIER_LIST, 239 libs.mk does not have the same issue. 240 241 * subdir.mk: _SUBDIRUSE for realinstall should run install 242 remove include of ${.CURDIR}/Makefile.inc that can be done via 243 local.subdir.mk where needed 244 245 * own.mk: do not conflict with man.mk 246 2472024-03-19 Simon J Gerraty <sjg@beast.crufty.net> 248 249 * install-mk (MK_VERSION): 20240314 250 251 * add sys/Cygwin.mk from Christian Franke 252 2532024-03-09 Simon J Gerraty <sjg@beast.crufty.net> 254 255 * install-mk (MK_VERSION): 20240309 256 257 * meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not 258 want to save the .ERROR_META_FILE 259 2602024-02-20 Simon J Gerraty <sjg@beast.crufty.net> 261 262 * install-mk (MK_VERSION): 20240220 263 264 * sys.dirdeps.mk, dirdeps-targets.mk, init.mk: 265 do not set .MAIN: dirdeps in sys.dirdeps.mk 266 dirdeps-targets.mk will do that for top-level builds 267 and init.mk will do it for others. 268 This allows a Makefile which has no need of 'dirdeps' to 269 set .MAIN for itself and "just work". 270 2712024-02-18 Simon J Gerraty <sjg@beast.crufty.net> 272 273 * bsd.*.mk: for makefiles that get a bsd. symlink, 274 use _this in multiple inclusion tags since .PARSEFILE will not 275 DTRT when such a makefile is included directly by Makefile and 276 automatically (without bsd. prefix). 277 Since we cannot guarantee that our sys.mk will be used, we provide 278 a default _this in each makefile that gets a bsd. prefix such that 279 the value is the same regardless of bsd. prefix. 280 281 * subdir.mk: drop the !target guard on $SUBDIR_TARGETS 282 2832024-02-12 Simon J Gerraty <sjg@beast.crufty.net> 284 285 * install-mk (MK_VERSION): 20240212 286 287 * SPDX-License-Identifier: BSD-2-Clause 288 Add SPDX-License-Identifier to inidicate that I consider 289 my copyright on any of these makefiles equivalent to BSD-2-Clause 290 291 * autoconf.mk: allow for configure.ac as currently recommended 292 293 * subdir.mk: support @auto 294 which is replaced with each subdir that 295 has a [Mm]akefile. 296 297 * subdir.mk: include local.subdir.mk if it exists. 298 299 * subdir.mk: rework to handle .WAIT 300 3012024-02-11 Simon J Gerraty <sjg@beast.crufty.net> 302 303 * subdir.mk: _SUBDIRUSE report the target we are entering subdirs for. 304 3052024-02-10 Simon J Gerraty <sjg@beast.crufty.net> 306 307 * prog.mk: treat empty SRCS the same as undefined 308 3092024-02-02 Simon J Gerraty <sjg@beast.crufty.net> 310 311 * Avoid undefined errors in lint (-dL) mode 312 313 * man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7) 314 3152024-01-28 Simon J Gerraty <sjg@beast.crufty.net> 316 317 * install-mk (MK_VERSION): 20240128 318 319 * FILES: add ccm.dep.mk for C++ modules 320 add suffixes.mk for common location for generic SUFFIX rules. 321 322 * auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk 323 replace OBJ_EXTENSIONS with OBJ_SUFFIXES 324 325 * autodep.mk: leverage CXX_SUFFIXES for __depsrcs 326 and update style (spaces around = etc) 327 328 * init.mk: add OBJS_SRCS_FILTER to filter SRCS when 329 setting OBJS 330 331 * meta2deps.py: handle multiple ./ embedded in path better. 332 3332024-01-05 Simon J Gerraty <sjg@beast.crufty.net> 334 335 * install-mk (MK_VERSION): 20240105 336 * dirdeps.mk: for MAKE_VERSION 20240105 we do not have the same 337 limits on command line length, so skip export of lists to env. 338 3392023-12-24 Simon J Gerraty <sjg@beast.crufty.net> 340 341 * man.mk: add logic for staging man pages 342 3432023-11-28 Simon J Gerraty <sjg@beast.crufty.net> 344 345 * jobs.mk: avoid C suffix in JOB_MAX_C if factor is floating 346 point. This keeps JOB_MAX numeric incase another makefile does 347 comparisons. 348 3492023-11-04 Simon J Gerraty <sjg@beast.crufty.net> 350 351 * dpadd.mk: add support for DPLIBS_QUALIFIER_LIST 352 353 * gendirdeps.mk: if META_XTRAS is passed to us, add to META_FILES 354 3552023-10-03 Simon J Gerraty <sjg@beast.crufty.net> 356 357 * compiler.mk (COMPILER_VERSION): clang at least is into 358 double digit major versions. 359 3602023-10-02 Simon J Gerraty <sjg@beast.crufty.net> 361 362 * install-mk (MK_VERSION): 20231001 363 364 * set _CCLINK in init.mk so lib.mk can use it for default SHLIB_LD 365 366 * lib.mk (cleanlib): use LD_solink so we remove all the right files. 367 Use -Wl for -soname since we now default to linking with CC 368 We should not need SHLIB_LDSTARTFILE or SHLIB_LDENDFILE when linking 369 with CC. 370 3712023-09-24 Simon J Gerraty <sjg@beast.crufty.net> 372 373 * init.mk (QUALIFIED_VAR_LIST): Add SRCS 374 3752023-09-09 Simon J Gerraty <sjg@beast.crufty.net> 376 377 * jobs.mk (JOB_MAX): use -jC if we can 378 we actually use JOB_MAX_C which defaults to 1.33C 379 3802023-08-18 Simon J Gerraty <sjg@beast.crufty.net> 381 382 * now_utc: %s only works with :localtime 383 3842023-07-14 Simon J Gerraty <sjg@beast.crufty.net> 385 386 * install-sh: ignore -c as claimed and only insist on 387 a directory for destination when more than one file to copy. 388 389 * sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and 390 ${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64) 391 3922023-07-13 Simon J Gerraty <sjg@beast.crufty.net> 393 394 * install-mk (MK_VERSION): 20230711 395 396 * sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible 397 install(1) 398 399 * sys/IRIX.mk: when setting ROOT_GROUP only match the first :0: 400 set INSTALL to install-sh rather than pathname that may not exist 401 (yet). 402 4032023-07-07 Simon J Gerraty <sjg@beast.crufty.net> 404 405 * dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE 406 normally this is empty - for the default target, but there are 407 use-cases where we might set it to something else. 408 4092023-07-04 Simon J Gerraty <sjg@beast.crufty.net> 410 411 * install-mk (MK_VERSION): 20230704 412 413 * dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output 414 when DEBUG_DIRDEPS is in effect. 415 Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n 416 can greatly improve readability. 417 4182023-05-25 Simon J Gerraty <sjg@beast.crufty.net> 419 420 * meta.autodep.mk (beforegendirdeps): allow tasks to be done 421 at END but before gendirdeps 422 4232023-05-22 Simon J Gerraty <sjg@beast.crufty.net> 424 425 * install-mk (MK_VERSION): 20230522 426 427 * host-target.mk: deal with garbage from uname -m on 428 Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH 429 these days so just leave it be. 430 For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get 431 arm64 and x86_64 in HOST_TARGET. 432 4332023-05-15 Simon J Gerraty <sjg@beast.crufty.net> 434 435 * sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older 436 versions of bmake. 437 438 * dirdeps.mk (TARGET_SPEC_VARS.host): 439 While *most* projects need only DEP_MACHINE for host, 440 there is always an exception. So we allow for 441 TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS. 442 The default will *just work* for most projects. 443 We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC 444 based on DEP_MACHINE. 445 Allow for M_dep_qual_fixes.host to be different too 446 and take care to apply the right set. 447 4482023-05-14 Simon J Gerraty <sjg@beast.crufty.net> 449 450 * sys.dirdeps.mk: we *do* want to override OBJTOP 451 and if MAKEOBJDIR was not in env as we want it; 452 put it there - carefully. 453 Ensure OBJROOT ends in / or - (/ preferred) 454 Add more comments to explain what/why. 455 4562023-05-13 Simon J Gerraty <sjg@beast.crufty.net> 457 458 * install-mk (MK_VERSION): 20230512 459 460 * dirdeps.mk: take care not to qualify "host" dirdeps 461 462 * sys.dirdeps.mk (OBJTOP): must use ?= 463 4642023-05-10 Simon J Gerraty <sjg@beast.crufty.net> 465 466 * meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no" 467 suppress processing of .depend 468 4692023-05-09 Simon J Gerraty <sjg@beast.crufty.net> 470 471 * dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP 472 473 * meta.sys.mk sys.dirdeps.mk: 474 originally DIRDEPS_BUILD and META_MODE were the same thing, 475 but META_MODE is useful by itself. 476 Move things from meta.sys.mk which actually pertain to 477 DIRDEPS_BUILD to sys.dirdeps.mk 478 4792023-05-04 Simon J Gerraty <sjg@beast.crufty.net> 480 481 * install-mk (MK_VERSION): 20230504 May the Forth be with you 482 483 * dirdeps.mk: as with meta.sys.mk we treat "host" as special. 484 DEP_TARGET_SPEC is just ${DEP_MACHINE} 485 486 * meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at 487 level > 0 since these are often refered to in Makefile.depend* 488 4892023-04-26 Simon J Gerraty <sjg@beast.crufty.net> 490 491 * jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and 492 anything in ${JOB_LOG_START} 493 494 * jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}} 495 or a scripts subdir before searching $PATH. 496 497 * FILES: include newlog.sh for jobs.mk 498 4992023-04-20 Simon J Gerraty <sjg@beast.crufty.net> 500 501 * install-mk (MK_VERSION): 20230420 502 503 * lib.mk: include LDFLAGS and LDADD when linking shared libs 504 505 * gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc 506 via local.meta.sys.mk rather than local.gendirdeps.mk 507 so DEP_* variables can be set at level 1+ to avoid syntax errors 508 when used in conditionals in manually maintained Makefile.depend 509 files. 510 511 * dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines 512 5132023-04-18 Simon J Gerraty <sjg@beast.crufty.net> 514 515 * dirdeps.mk: check we were not included by 516 Makefile.depend.options as the result is bad. 517 5182023-04-14 Simon J Gerraty <sjg@beast.crufty.net> 519 520 * install-mk (MK_VERSION): 20230414 521 522 * meta.sys.mk: since we have :range we can put the logic for 523 processing TARGET_SPEC from env here. 524 525 * dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including 526 local.dirdeps-missing.mk, also improve debug output. 527 528 * dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC 529 we need to use :M*[/.]* same as for when actually setting DIRDEPS 530 from the targets on command line. 531 5322023-04-12 Simon J Gerraty <sjg@beast.crufty.net> 533 534 * Add jobs.mk 535 5362023-03-21 Simon J Gerraty <sjg@beast.crufty.net> 537 538 * install-mk (MK_VERSION): 20230321 539 540 * meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter 541 STAGE_LIBS for SHLIB_LINKS. 542 543 * autoconf.mk: add .WAIT after config.status 544 5452023-02-17 Simon J Gerraty <sjg@beast.crufty.net> 546 547 * sys.vars.mk: add M_Index to report the index of a word in a list. 548 5492023-02-15 Simon J Gerraty <sjg@beast.crufty.net> 550 551 * install-mk (MK_VERSION): 20230215 552 553 * warnings.mk: allow better control of -Werror 554 allow -Wno-error or similar to be added if 555 WARNINGS_SET < WERROR_SET 556 account for COMPILER_TYPE 557 5582023-01-29 Simon J Gerraty <sjg@beast.crufty.net> 559 560 * autoconf.mk: hook config.status to beforebuild. 561 562 * whats.mk: what*.c is NOTMAIN 563 5642023-01-27 Simon J Gerraty <sjg@beast.crufty.net> 565 566 * install-mk (MK_VERSION): 20230127 567 control umask so directories are created with suitable mode. 568 5692023-01-20 Simon J Gerraty <sjg@beast.crufty.net> 570 571 * install-mk (MK_VERSION): 20230120 572 573 * sys.vars.mk: add M_On and M_Onr also cleanup to be more 574 consistent wrt testing MAKE_VERSION 575 5762023-01-12 Simon J Gerraty <sjg@beast.crufty.net> 577 578 * install-mk (MK_VERSION): 20230112 579 580 * meta2deps.{py,sh}: assert if filemon data is truncated 581 we should see the '# Bye bye' record - assert if we do not. 582 5832022-09-09 Simon J Gerraty <sjg@beast.crufty.net> 584 585 * install-mk (MK_VERSION): 20220909 586 587 * sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings 588 5892022-09-06 Simon J Gerraty <sjg@beast.crufty.net> 590 591 * dirdeps-options.mk: explain the need to use 592 ${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to 593 ${TARGET_SPEC_VAR} 594 5952022-09-03 Simon J Gerraty <sjg@beast.crufty.net> 596 597 * install-mk (MK_VERSION): 20220903 598 599 * M_cmpv handle more than 3 dots and clear leading 0's 600 6012022-07-20 Simon J Gerraty <sjg@beast.crufty.net> 602 603 * install-mk (MK_VERSION): 20220720 604 605 * prog.mk: handle PROG_CXX for more than just NetBSD 606 6072022-06-20 Simon J Gerraty <sjg@beast.crufty.net> 608 609 * install-mk (MK_VERSION): 20220620 610 611 * yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER 612 rather than just suffix rules 613 6142022-04-23 Simon J Gerraty <sjg@beast.crufty.net> 615 616 * install-mk (MK_VERSION): 20220422 617 618 * gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no" 619 do not capture any local depends in Makefile.depend 620 6212022-03-25 Simon J Gerraty <sjg@beast.crufty.net> 622 623 * install-mk (MK_VERSION): 20220323 624 * posix.mk: default rules for .POSIX: 625 6262022-03-17 Simon J Gerraty <sjg@beast.crufty.net> 627 628 * sys/*.mk: remove l from ARFLAGS 629 6302022-03-14 Simon J Gerraty <sjg@beast.crufty.net> 631 632 * install-mk (MK_VERSION): 20220314 633 634 * dirdeps-options.mk: allow options to be per RELDIR 635 try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed 636 with ${DEP_RELDIR}. 637 6382022-02-14 Simon J Gerraty <sjg@beast.crufty.net> 639 640 * install-mk (MK_VERSION): 20220214 641 642 * cc-wrap.mk: fix :@ modifier 643 6442022-02-06 Simon J Gerraty <sjg@beast.crufty.net> 645 646 * install-mk (MK_VERSION): 20220206 647 648 * cc-wrap.mk: docuement how CCACHE etc might be set for 649 maximum flexibility 650 6512022-02-05 Simon J Gerraty <sjg@beast.crufty.net> 652 653 * sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT 654 6552022-02-04 Simon J Gerraty <sjg@beast.crufty.net> 656 657 * install-mk (MK_VERSION): 20220204 658 659 * host-target.mk: use .MAKE.OS if available 660 6612022-02-02 Simon J Gerraty <sjg@beast.crufty.net> 662 663 * install-mk (MK_VERSION): 20220202 664 665 * cc-wrap.mk: allow other entries in CC_WRAP_FILTER 666 We add our filter on extensions last, so prior filters 667 can apply to the whole value of .IMPSRC 668 6692022-02-01 Simon J Gerraty <sjg@beast.crufty.net> 670 671 * cc-wrap.mk: take advantage of target local variables to 672 wrap compilers like CC CXX with wrappers like ccache distcc etc 673 6742022-01-28 Simon J Gerraty <sjg@beast.crufty.net> 675 676 * meta2deps: we do not expect any trace data for setid apps 677 6782022-01-26 Simon J Gerraty <sjg@beast.crufty.net> 679 680 * dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed 681 to sub-make using DIRDEPS_CACHE 682 6832022-01-07 Simon J Gerraty <sjg@beast.crufty.net> 684 685 * dirdeps.mk: use _cache_script to minimize the number of shells 686 forked when generating dirdeps.cache 687 6882022-01-02 Simon J Gerraty <sjg@beast.crufty.net> 689 690 * install-mk (MK_VERSION): 20220101 691 692 * dirdeps.mk: initialize DEP_* and _debug_reldir earlier. 693 If initial DIRDEPS are from command line, create the target 694 _dirdeps_cmdline as an indication. 695 6962022-01-01 Simon J Gerraty <sjg@beast.crufty.net> 697 698 * init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD 699 at top-level only some targets are allowed at level 0, 700 for leaf makefiles only the default (all) target is restricted 701 7022021-12-28 Simon J Gerraty <sjg@beast.crufty.net> 703 704 * install-mk (MK_VERSION): 20211228 705 706 * meta2deps.py: filemon on Linux is not as reliable as we might 707 like, we do not want to update DIRDEPS if filemon output is 708 incomplete. Track pids that we 'E'xec and make sure we see an 709 e'X'it for each one. Throw an error if we are missing any 'X' 710 records. 711 7122021-12-12 Simon J Gerraty <sjg@beast.crufty.net> 713 714 * sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes. 715 716 * meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON 717 is something else. 718 719 * meta.autodep.mk: we can now reference ${.SUFFIXES} 720 721 * meta2deps.py: derive a list of dirdep extensions from 722 TARGET_SPEC to trim from dirdeps. 723 724 * dirdeps.mk: flip the computation of qualified vs unqualified 725 dirdeps - it is much simpler to check for unqualified first. 726 7272021-12-11 Simon J Gerraty <sjg@beast.crufty.net> 728 729 * install-mk (MK_VERSION): 20211212 730 731 * auto.dep.mk: rearrange so that the trivial implementation 732 for recent bmake is more obvious. 733 7342021-12-07 Simon J Gerraty <sjg@beast.crufty.net> 735 736 * install-mk (MK_VERSION): 20211207 737 738 * Ensure guard targets are .NOTMAIN 739 740 * meta.sys.mk: check for nofilemon support when we skip level 0 741 742 * auto.dep.mk: make this usable in meta mode 743 for platforms that cannot use meta.autodep.mk 744 745 * meta2deps.py: avoid confusion if MACHINE and another 746 TARGET_SPEC_VAR have same value. 747 7482021-11-27 Simon J Gerraty <sjg@beast.crufty.net> 749 750 * dirdeps.mk: when building dirdeps.cache, minimize the amount of 751 data put into env, by stripping ${SRCTOP}/ from each entry. 752 A long sandbox name can double the amount of memory consumed and 753 in extreme cases cause failure. 754 While we are at it, strip ${SRCTOP}/ from a lot of the debug output. 755 7562021-11-11 Simon J Gerraty <sjg@beast.crufty.net> 757 758 * install-mk (MK_VERSION): 20211111 759 760 * meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail 761 so fallback to cp if necessary. 762 7632021-10-30 Simon J Gerraty <sjg@beast.crufty.net> 764 765 * man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year 766 old cmt2doc.pl 767 7682021-10-24 Simon J Gerraty <sjg@beast.crufty.net> 769 770 * meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f} 771 as the symlink (rare) 772 7732021-10-16 Simon J Gerraty <sjg@beast.crufty.net> 774 775 * autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not 776 been read, throw an error after running configure telling user to 777 restart. 778 7792021-10-13 Simon J Gerraty <sjg@beast.crufty.net> 780 781 * install-mk (MK_VERSION): 20211011 782 783 * Add support for SCO_SV 784 7852021-10-01 Simon J Gerraty <sjg@beast.crufty.net> 786 787 * install-mk (MK_VERSION): 20211001 788 789 * man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more 790 flexibility 791 7922021-09-13 Simon J Gerraty <sjg@beast.crufty.net> 793 794 * options.mk (describe-options): print options and their values 795 and optional description 796 7972021-09-11 Simon J Gerraty <sjg@beast.crufty.net> 798 799 * install-mk (MK_VERSION): 20210911 800 801 * options.mk (show-options): print options and their values 802 8032021-09-08 Simon J Gerraty <sjg@beast.crufty.net> 804 805 * install-mk (MK_VERSION): 20210909 806 807 * lib.mk: apply patch from <daniel@octaforge.org> 808 to fix shared libs on Linux 809 8102021-08-08 Simon J Gerraty <sjg@beast.crufty.net> 811 812 * install-mk (MK_VERSION): 20210808 813 814 * options.mk: issue warning for WITH_*=no 815 8162021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 817 818 * install-mk (MK_VERSION): 20210616 819 820 * dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find 821 depend files to read, anchor MACHINE at , or end of string 822 to avoid prefix match. 823 8242021-05-04 Simon J Gerraty <sjg@beast.crufty.net> 825 826 * install-mk (MK_VERSION): 20210504 827 828 * dirdeps.mk: re-implement ALL_MACHINES support to better 829 cater for local complexities, when ONLY_TARGET_SPEC_LIST 830 is not set. local.dirdeps.mk can set 831 DIRDEPS_ALL_MACHINES_FILTER and/or 832 DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get 833 from listing all existing Makefile.depend.* 834 8352021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 836 837 * install-mk (MK_VERSION): 20210420 838 839 * dirdeps.mk: revert previous - not always safe. 840 8412021-03-20 Simon J Gerraty <sjg@beast.crufty.net> 842 843 * install-mk (MK_VERSION): 20210321 844 845 * dirdeps.mk: when generating dirdeps.cache 846 we only need to hook the initial DIRDEPS to the 847 dirdeps target. That and any _build_xtra_dirs (like tests which 848 should not be hooked directly to the dependency graph - to avoid 849 cycles) 850 8512021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 852 853 * install-mk (MK_VERSION): 20210130 854 855 * dirdeps.mk: expr 2 - 1 - 1 exits with a bad status 856 we need to guard against this in DIRDEP_LOADAVG_REPORT. 857 858 * dirdeps.mk: restore respect for TARGET_MACHINE 859 8602021-01-06 Simon J Gerraty <sjg@beast.crufty.net> 861 862 * install-mk (MK_VERSION): 20210101 863 864 * dirdeps.mk: first time we are read, just use TARGET_SPEC for 865 _DEP_TARGET_SPEC 866 8672020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 868 869 * sys.mk (MAKE_SHELL): use ${.SHELL:Ush} 870 and use := when setting SHELL 871 8722020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 873 874 * install-mk (MK_VERSION): 20201221 875 876 * dirdeps-options.mk: latest bmake allows only one arg to .undef 877 8782020-12-11 Simon J Gerraty <sjg@beast.crufty.net> 879 880 * dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS 881 so that any directory can be treated as a target. 882 8832020-11-26 Simon J Gerraty <sjg@beast.crufty.net> 884 885 * install-mk (MK_VERSION): 20201126 886 887 * own.mk: use .MAKE.{UID,GID} if available. 888 889 * init.mk: suppress _SKIP_BUILD warning if doing -V 890 8912020-11-20 Simon J Gerraty <sjg@beast.crufty.net> 892 893 * install-mk (MK_VERSION): 20201120 894 895 * init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS 896 897 * dirdeps-targets.mk: fix typo in comment 898 8992020-11-06 Simon J Gerraty <sjg@beast.crufty.net> 900 901 * install-mk (MK_VERSION): 20201106 902 903 * meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed 904 args to tweak extensions for local deps. 905 9062020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 907 908 * install-mk (MK_VERSION): 20201101 909 910 * dirdeps.mk: most leaf makefiles are not suitable for building 911 dirdeps.cache so if RELDIR is not "." use dirdeps.mk 912 9132020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 914 915 * install-mk (MK_VERSION): 20201028 916 917 * dirdeps.mk: if we don't have :range use equivalent of M_RANGE 918 when building dirdeps.cache for leaf directory use -f dirdeps.mk 919 920 * sys.vars.mk: add M_JOT and M_RANGE 921 9222020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 923 924 * install-mk (MK_VERSION): 20201001 925 926 * meta2deps.{py,sh}: throw an error if we don't see filemon version 927 9282020-09-09 Simon J Gerraty <sjg@beast.crufty.net> 929 930 * install-mk (MK_VERSION): 20200909 931 932 * dirdeps-cache-update.mk: use cache_update_dirdep as guard target 933 9342020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 935 936 * dirdeps.mk: ensure we cannot confuse a static cache for dynamic 937 (even more rare that use of static cache is playing clever tricks 938 with it) 939 9402020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 941 942 * dirdeps-cache-update.mk: allow 943 MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we 944 actually update STATIC_DIRDEPS_CACHE. 945 946 * stage-install.sh: create dest directory if needed 947 before running install(1) 948 9492020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 950 951 * dirdeps-targets.mk: include Makefile.dirdeps.options 952 953 * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE 954 9552020-08-09 Simon J Gerraty <sjg@beast.crufty.net> 956 957 * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty 958 959 * dirdeps-cache-update.mk: building parallel cache update 960 under the context of dirdeps-cached would be ideal, but 961 is problematic, so it runs as a sibling. 962 Use cache-built target to ensure we wait for it to complete if 963 necessary. 964 9652020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 966 967 * install-mk (MK_VERSION): 20200806 968 969 * dirdeps-options: allow TARGET_SPEC to affect option values. 970 Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_* 971 972 * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined 973 before looking for STATIC_DIRDEPS_CACHE 974 9752020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 976 977 * host-target.mk: Darwin use MACHINE for HOST_ARCH too 978 979 * dirdeps-options.mk: improve debug output 980 9812020-07-22 Simon J Gerraty <sjg@beast.crufty.net> 982 983 * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE 984 for use by dirdeps-cache-update.mk 985 986 * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE 987 for use by dirdeps-cache-update.mk even if we don't use it. 988 989 * dirdeps-cache-update.mk: we only need worry about the background 990 update case, with the above, the update from DIRDEPS_CACHE is 991 simple. 992 993 * meta2deps.py: R 1234 . is not interesting 994 9952020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 996 997 * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE 998 999 * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS 1000 allows use of lower case for pseudo options. 1001 1002 * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE 1003 10042020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 1005 1006 * dirdeps-targets.mk: Look for Makefile.dirdeps.cache 1007 which allows us to have a static cache for expensive targets. 1008 Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE 1009 to regenerate the dirdeps.cache it is a copy of. 1010 10112020-07-17 Simon J Gerraty <sjg@beast.crufty.net> 1012 1013 * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense. 1014 10152020-07-16 Simon J Gerraty <sjg@beast.crufty.net> 1016 1017 * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record 1018 load averages at intervals during build. 1019 10202020-07-15 Simon J Gerraty <sjg@beast.crufty.net> 1021 1022 * install-mk (MK_VERSION): 20200715 1023 1024 * dirdeps.mk: tweak Checking line to make matching Finished 1025 lines for post-build analysis easier. 1026 1027 * meta.autodep.mk: use !defined(WITHOUT_META_STATS) 1028 1029 * progs.mk: avoid prog.mk outputting multiple Finished lines 1030 10312020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 1032 1033 * dirdeps.mk: further optimize dirdeps.cache 1034 generate a DIRDEPS.${.TARGET} list for other purposes 1035 and improve the layout. 1036 10372020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 1038 1039 * dirdeps.mk: optimize content of dirdeps.cache 1040 10412020-06-28 Simon J Gerraty <sjg@beast.crufty.net> 1042 1043 * sys/*.mk: make it easier for local*sys.mk to customize by 1044 using ?= 1045 10462020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 1047 1048 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0 1049 it is much safer to guard local depends with a simple check for 1050 .MAKE.LEVEL > 0 1051 10522020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 1053 1054 * install-mk (MK_VERSION): 20200610 1055 1056 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok 1057 10582020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 1059 1060 * install-mk (MK_VERSION): 20200606 1061 1062 * dirdeps-targets.mk: allow for filtering of .TARGETS 1063 1064 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove 1065 entries - and we don't care about 'W'rite entries. 1066 Also ignore absolute paths that do not exist. 1067 10682020-05-25 Simon J Gerraty <sjg@beast.crufty.net> 1069 1070 * install-mk (MK_VERSION): 20200525 1071 1072 * init.mk: expand and simplify handling of qualified vars 1073 like CPPFLAGS.${.TARGET:T} 1074 10752020-05-15 Simon J Gerraty <sjg@beast.crufty.net> 1076 1077 * install-mk (MK_VERSION): 20200515 1078 1079 * dirdeps.mk: set _debug_* earlier and allow passing -d* 1080 flags to submake when building DIRDEPS_CACHE 1081 10822020-05-09 Simon J Gerraty <sjg@beast.crufty.net> 1083 1084 * whats.mk: more easily extensible 1085 10862020-05-02 Simon J Gerraty <sjg@beast.crufty.net> 1087 1088 * whats.mk: greatly simplify by adding what.c to SRCS 1089 10902020-05-01 Simon J Gerraty <sjg@beast.crufty.net> 1091 1092 * whats.mk: for libs take care how we add to *OBJS 1093 1094 * lib.mk: : works better with whats.mk 1095 10962020-04-25 Simon J Gerraty <sjg@beast.crufty.net> 1097 1098 * install-mk (MK_VERSION): 20200420 1099 1100 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep 1101 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC} 1102 11032020-04-16 Simon J Gerraty <sjg@beast.crufty.net> 1104 1105 * install-mk (MK_VERSION): 20200416 1106 1107 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to 1108 interfere with user env. 1109 1110 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL 1111 1112 * autodep.mk: use MAKE_SHELL. 1113 11142019-11-21 Simon J Gerraty <sjg@beast.crufty.net> 1115 1116 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of 1117 wasted effort, and unexport _meta_files when no longer needed as 1118 it consumes space we need for command line. 1119 11202019-11-11 Simon J Gerraty <sjg@beast.crufty.net> 1121 1122 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add 1123 DIRDEP_USE_PRELUDE at start - facilitates job distribution 1124 11252019-10-04 Simon J Gerraty <sjg@beast.crufty.net> 1126 1127 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST 1128 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid 1129 TARGET_SPEC qualified depend files. 1130 11312019-10-02 Simon J Gerraty <sjg@beast.crufty.net> 1132 1133 * dirdeps-targets.mk: encapsulate logic for finding top-level 1134 targets to set initial DIRDEPS for DIRDEPS_BUILD 1135 11362019-09-27 Simon J Gerraty <sjg@beast.crufty.net> 1137 1138 * install-mk (MK_VERSION): 20190911 1139 1140 * compiler.mk: set COMPILER_TYPE 1141 11422019-07-17 Simon J Gerraty <sjg@beast.crufty.net> 1143 1144 * install-mk (MK_VERSION): 20190704 1145 1146 * sys/Darwin.mk: support for Objective-C and clang 1147 11482019-05-30 Simon J Gerraty <sjg@beast.crufty.net> 1149 1150 * dirdeps.mk: avoid insanely long command line when generating cache 1151 11522019-05-23 Simon J Gerraty <sjg@beast.crufty.net> 1153 1154 * install-mk (MK_VERSION): 20190505 1155 1156 * whats.mk: handle corner case SHLIB defined but not LIB 1157 11582018-09-19 Simon J Gerraty <sjg@beast.crufty.net> 1159 1160 * install-mk (MK_VERSION): 20180919 1161 1162 * dirdeps-options.mk: .undef cannot handle var that expands to 1163 more than one var. 1164 11652018-07-08 Simon J Gerraty <sjg@beast.crufty.net> 1166 1167 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc. 1168 11692018-06-01 Simon J Gerraty <sjg@beast.crufty.net> 1170 1171 * meta.autodep.mk: export META_FILES to avoid command line limit 1172 * gendirdeps.mk: if we have lots of .meta files put them in 1173 an @list 1174 11752018-05-28 Simon J Gerraty <sjg@beast.crufty.net> 1176 1177 * dirdeps-options.mk: use local.dirdeps-options.mk 1178 not local.dirdeps-option.mk 1179 11802018-04-20 Simon J Gerraty <sjg@beast.crufty.net> 1181 1182 * install-mk (MK_VERSION): 20180420 1183 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0 1184 ie. we are building something. 1185 11862018-04-14 Simon J Gerraty <sjg@beast.crufty.net> 1187 1188 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS. 1189 11902018-04-05 Simon J Gerraty <sjg@beast.crufty.net> 1191 1192 * install-mk (MK_VERSION): 20180405 1193 1194 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER 1195 if needed. 1196 11972018-01-18 Simon J Gerraty <sjg@beast.crufty.net> 1198 1199 * install-mk (MK_VERSION): 20180118 1200 1201 * ldorder.mk: let make compute correct link order 1202 12032017-12-12 Simon J Gerraty <sjg@beast.crufty.net> 1204 1205 * install-mk (MK_VERSION): 20171212 1206 1207 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER 1208 12092017-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1210 1211 * install-mk (MK_VERSION): 20171111 1212 1213 * lib.mk: ensure META_NOECHO is set 1214 12152017-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 1216 1217 * Allow for host32 on rare occasions. 1218 12192017-10-18 Simon J. Gerraty <sjg@bad.crufty.net> 1220 1221 * install-mk (MK_VERSION): 20171018 1222 1223 * whats.mk: include what_thing in what_uuid to avoid problem 1224 when building multiple apps in the same directory. 1225 12262017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 1227 1228 * install-mk (MK_VERSION): 20170812 1229 1230 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can 1231 add dependencies for config.recheck and config.gen 1232 12332017-06-30 Simon J. Gerraty <sjg@bad.crufty.net> 1234 1235 * install-mk (MK_VERSION): 20170630 1236 1237 * meta.stage.mk: avoid triggering stage_* targets with nothing to do. 1238 12392017-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 1240 1241 * meta2deps.py: take special care of '..' 1242 12432017-05-15 Simon J. Gerraty <sjg@bad.crufty.net> 1244 1245 * install-mk (MK_VERSION): 20170515 1246 1247 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is 1248 useful/necessary for a Makefile.depend file to export some knobs. 1249 This is complicated when we are doing DIRDEPS_CACHE, so we will 1250 handle export of any variables listed in DEP_EXPORT_VARS. 1251 12522017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 1253 1254 * install-mk (MK_VERSION): 20170505 1255 1256 * meta2deps.py: fix botched indenation. 1257 12582017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1259 1260 * sys/*.mk: Remove setting of MAKE it is unnecessary and 1261 in many cases wrong (basname rather than full path) 1262 1263 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk 1264 1265 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc 1266 12672017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1268 1269 * install-mk (MK_VERSION): 20170501 1270 1271 * doc.mk: fix typo in DOC_INSTALL_OWN 1272 1273 * inc.mk: handle INCGROUPS similar to freebsd 1274 1275 * files.mk: add something for files too 1276 1277 * add staging logic to lib.mk prog.mk etc. 1278 12792017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 1280 1281 * install-mk (MK_VERSION): 20170424 1282 1283 * dirdeps.mk: set NO_DIRDEPS when bootstrapping. 1284 also target of bootstrap-this when sed is needed should be ${_want:T} 1285 12862017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1287 1288 * install-mk (MK_VERSION): 20170418 1289 1290 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a 1291 prefix match for .CURDIR - in which case .CURDIR *is* __objdir. 1292 12932017-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1294 1295 * install-mk (MK_VERSION): 20170401 1296 1297 * meta2deps.py: add is_src so we can check if obj dependency 1298 is also a src dependency. 1299 13002017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 1301 1302 * install-mk (MK_VERSION): 20170326 1303 1304 * meta.stage.mk: do nothing if NO_STAGING is defined. 1305 13062017-03-24 Simon J. Gerraty <sjg@bad.crufty.net> 1307 1308 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc. 1309 13102017-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1311 1312 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_* 1313 13142017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1315 1316 * install-mk (MK_VERSION): 20170301 1317 1318 * dirdeps.mk (_build_all_dirs): update this outside test for empty 1319 DIRDEPS. 1320 1321 * meta.stage.mk: allow multiple inclusion to the extent it makes 1322 sense. 1323 13242017-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1325 1326 * prog.mk (install_links): depends on realinstall 1327 13282017-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 1329 1330 * install-mk (MK_VERSION): 20170212 1331 1332 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries 1333 13342017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 1335 1336 * install-mk (MK_VERSION): 20170130 1337 1338 * dirdeps.mk: use :range if we can. 1339 1340 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130 1341 1342 * meta2deps.py: clean paths without using realpath() where possible. 1343 fix sort_unique. 1344 13452016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1346 1347 * install-mk (MK_VERSION): 20161212 1348 1349 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, 1350 rather than when we detect pid change. 1351 13522016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 1353 1354 * install-mk (MK_VERSION): 20161207 1355 1356 * meta.stage.mk: add stage_as_and_symlink for staging packages. 1357 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able 1358 to use foo.tgz to reference the latest staged version - so we 1359 make foo.tgz a symlink to it. 1360 Using a target to do both operations ensures we stay in sync. 1361 13622016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1363 1364 * install-mk (MK_VERSION): 20161126 1365 1366 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk 1367 so it can add dependencies. 1368 13692016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1370 1371 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE 1372 do that they can influence the result correctly. 1373 1374 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC 1375 1376 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST 1377 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 1378 13792016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 1380 1381 * dirdeps.mk: remove dependence on jot (normal situations anyway). 1382 Before we read another Makefile.depend* set DEP_* vars from 1383 _DEP_TARGET_SPEC in case it uses any of them with := 1384 When bootstrapping, trim any ,* from extention of chosen _src 1385 Makefile.depend* to get the machine value we subst for. 1386 13872016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> 1388 1389 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to 1390 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER 1391 1392 * sys.mk: extract some bits to sys.{debug,vars}.mk 1393 for easier re-use by others. 1394 13952016-09-23 Simon Gerraty <sjg@sjg-mba13> 1396 1397 * lib.mk: Use ${PICO} for extension for PIC objects. 1398 default to .pico (like NetBSD) safe on case insensitive filesystem. 1399 14002016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> 1401 1402 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default 1403 14042016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 1405 1406 * install-mk (MK_VERSION): 20160815 1407 1408 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only 1409 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date. 1410 14112016-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 1412 1413 * meta.sys.mk (.MAKE.META.IGNORE_PATHS): 1414 in meta mode we can ignore the mtime of makefiles 1415 14162016-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1417 1418 * install-mk (MK_VERSION): 20160802 1419 1420 * lib.mk (libinstall): depends on beforinstall 1421 1422 * prog.mk (proginstall): depends on beforinstall 1423 patch from Lauri Tirkkonen 1424 1425 * dirdeps.mk (bootstrap): When bootstrapping; creat 1426 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via 1427 .MAKE.DEPENDFILE_BOOTSTRAP_SED 1428 1429 * dirdeps.mk: move some comments to where they make sense. 1430 14312016-07-27 Simon J. Gerraty <sjg@bad.crufty.net> 1432 1433 * dirdeps.mk (DIRDEPS_CACHE): no dirname. 1434 14352016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1436 1437 * install-mk (MK_VERSION): 20160602 1438 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk 1439 do not apply :T to META_XTRAS 1440 patch from Bryan Drewery at FreeBSD.org. 1441 14422016-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 1443 1444 * install-mk (MK_VERSION): 20160530 1445 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH 1446 make it so. 1447 14482016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 1449 1450 * install-mk (MK_VERSION): 20160512 1451 1452 * dpadd.mk: always include local.dpadd.mk if it exists 1453 remove some things that better belong in local.dpadd.mk 1454 skip INCLUDES_* for staged libs unless SRC_* defined. 1455 1456 * own.mk: add INCLUDEDIR 1457 14582016-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1459 1460 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no 1461 TARGET_MACHINE - :E will be empty or match part of path, use 1462 ${MACHINE} 1463 14642016-04-07 Simon J. Gerraty <sjg@bad.crufty.net> 1465 1466 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to 1467 NO_FILEMON_COOKIE 1468 1469 * dirdeps.mk: move the logic that allows for 1470 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1471 inside the check for !target(_DIRDEP_USE) 1472 14732016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 1474 1475 * Use <> when including local*.mk and others which may exist 1476 elsewhere so that user can better control what they get. 1477 1478 * meta.autodep.mk (NO_FILEMON_COOKIE): 1479 create a cookie if we ever build dir with nofilemon 1480 so that UPDATE_DEPENDFILE will be forced to NO until cleaned. 1481 14822016-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1483 1484 * install-mk (MK_VERSION): 20160401 1485 1486 * meta2deps.py: fix old print statement when debugging. 1487 1488 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X 1489 patch from Bryan Drewery 1490 14912016-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 1492 1493 * install-mk (MK_VERSION): 20160317 (St. Pats) 1494 1495 * warnings.mk: g++ does not like -Wimplicit 1496 1497 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the 1498 pelthora of common suffixes for C++ 1499 1500 * lib.mk: use .So for shared objects 1501 15022016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1503 1504 * install-mk (MK_VERSION): 20160315 1505 1506 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 1507 normally only applies to scripts. 1508 1509 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 1510 well as outside it. 1511 15122016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1513 1514 * install-mk (MK_VERSION): 20160310 1515 1516 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 1517 we have processed; the list gets very inefficient as number of 1518 DIRDEPS gets large. 1519 1520 * sys.dependfile.mk: fix comment wrt MACHINE 1521 1522 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 1523 patch from Bryan Drewery 1524 15252016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 1526 1527 * meta2deps.sh: don't ignore subdirs. 1528 patch from Bryan Drewery 1529 15302016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1531 1532 * install-mk (MK_VERSION): 20160226 1533 1534 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 1535 15362016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 1537 1538 * dirdeps.mk: we shouldn't normally include .depend but if we do 1539 use .dinclude if we can. 1540 15412016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1542 1543 * install-mk (MK_VERSION): 20160218 1544 * sys.clean-env.mk: with recent change to Var_Subst() 1545 we cannot use the '$$' trick, but .export-literal does the job 1546 we need. 1547 * auto.dep.mk: make use .dinclude if we can. 1548 1549 15502016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 1551 1552 * dirdeps.mk: 1553 Add _build_all_dirs such that local.dirdeps.mk can 1554 add fully qualified dirs to it. 1555 These will be built normally but the current 1556 DEP_RELDIR will not depend on then (to avoid cycles). 1557 This makes it easy to hook things like unit-tests into build. 1558 1559 15602016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 1561 1562 * dirdeps.mk: add bootstrap-empty 1563 15642015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1565 1566 * install-mk (MK_VERSION): 20151212 1567 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 1568 only apply :tA to __objdir when comparing to .OBJDIR 1569 15702015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1571 1572 * install-mk (MK_VERSION): 20151111 1573 1574 * meta.sys.mk: include sys.dependfile.mk 1575 1576 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 1577 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 1578 include local.sys.env.mk early 1579 include local.sys.mk later 1580 1581 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 1582 15832015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1584 1585 * meta.sys.mk (META_COOKIE_TOUCH): 1586 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 1587 1588 * meta.stage.mk: stage_libs should ignore SYMLINKS. 1589 15902015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 1591 1592 * install-mk (MK_VERSION): 20151022 1593 1594 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 1595 15962015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1597 1598 * install-mk (MK_VERSION): 20151020 1599 1600 * dirdeps.mk: Add logic for 1601 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1602 16032015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 1604 1605 * install-mk (MK_VERSION): 20151010 1606 16072015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 1608 1609 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 1610 to have stage_lins run last in non-jobs mode. 1611 Use .ORDER only for jobs mode. 1612 16132015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1614 1615 * rst2htm.mk: allow for per target flags etc. 1616 16172015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1618 1619 * install-mk (MK_VERSION): 20150901 1620 1621 * doc.mk: create dir if needed use DOC_INSTALL_OWN 1622 16232015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 1624 1625 * install-mk (MK_VERSION): 20150615 1626 1627 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 1628 Follow make's normal precedence rules. 1629 1630 * gendirdeps.mk: allow customization of the header. 1631 eg. for FreeBSD: 1632 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 1633 1634 * meta.autodep.mk: ignore dirdeps.cache* 1635 1636 * meta.stage.mk: when bootstrapping options it can be handy to 1637 throw warnings rather than errors for staging conflicts. 1638 1639 * meta.sys.mk: include local.meta.sys.mk for customization 1640 16412015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1642 1643 * install-mk (MK_VERSION): 20150606 1644 1645 * dirdeps.mk: don't rely on manually maintained Makefile.depend 1646 to set DEP_RELDIR and reset DIRDEPS. 1647 By setting DEP_RELDIR ourselves we can skip :tA 1648 1649 * gendirdeps.mk: skip setting DEP_RELDIR. 1650 16512015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1652 1653 * dirdeps.mk: avoid wildcards like make(bootstrap*) 1654 16552015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1656 1657 * install-mk (MK_VERSION): 20150520 1658 1659 * dirdeps.mk: when we are building dirdeps cache file we *want* 1660 meta_oodate to look at all the Makefile.depend files, so 1661 set .MAKE.DEPENDFILE to something that won't match. 1662 1663 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 1664 so first use absolute path as key. 1665 Also skip staging at level 0. 1666 16672015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1668 1669 * install-mk (MK_VERSION): 20150430 1670 1671 * dirdeps.mk: fix _count_dirdeps for non-cache case. 1672 16732015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 1674 1675 * install-mk (MK_VERSION): 20150411 1676 bump version 1677 1678 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 1679 it is here mainly for documentation purposes, since 1680 if using auto.obj.mk it is better done via sys.mk 1681 16822015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1683 1684 * install-mk (MK_VERSION): 20150401 1685 1686 * meta2deps.sh: support @list 1687 1688 * meta2deps.py: updates from Juniper 1689 o add EXCLUDES 1690 o skip bogus input files. 1691 o treat 'M' and 'L' as both an 'R' and a 'W' 1692 16932015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1694 1695 * install-mk (MK_VERSION): 20150303 1696 1697 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 1698 which is built via sub-make so we have a .meta file to tell if 1699 it is out-of-date. 1700 The dirdeps-cache contains the same dependency rules that we 1701 normaly construct on the fly. 1702 This adds a few seconds overhead when the cache is out of date, 1703 but for a large target, the savings can be significant (10-20min). 1704 17052014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 1706 1707 * install-mk (MK_VERSION): 20141118 1708 1709 * meta.stage.mk: add stale_staged 1710 1711 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 1712 only useful under very rare conditions such as 1713 FreeBSD's make universe. 1714 1715 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 1716 17172014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1718 1719 * install-mk (MK_VERSION): 20141111 1720 1721 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 1722 17232014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1724 1725 * FILES: include mkopt.sh which allows handling options in shell 1726 scripts in a manner compatible with options.mk 1727 17282014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1729 1730 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 1731 for GENDIRDEPS_FILTER to avoid surprises. 1732 17332014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1734 1735 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 1736 the time it is applied to __depdirs they have. 1737 1738 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 1739 expects patterns like *.${MACHINE} 1740 1741 * cython.mk (pyprefix?): use pyprefix to find python bits 1742 since prefix might be something else (where we install our 1743 stuff) 1744 17452014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1746 1747 * install-mk (MK_VERSION): 20140911 1748 1749 * dirdeps.mk: add bootstrap target to simplify adding support for 1750 new MACHINE. 1751 17522014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1753 1754 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 1755 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 1756 Makefile.depend files. 1757 17582014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1759 1760 * install-mk (MK_VERSION): 20140828 1761 1762 * cython.mk: capture logic for building python extension modules 1763 with Cython. 1764 17652014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1766 1767 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 1768 17692014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1770 1771 * install-mk (MK_VERSION): 20140801 1772 1773 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 1774 identify the autodep.mk variant. 1775 1776 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 1777 initial value does not match .MAKE.DEPENDFILE_PREFIX 1778 1779 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 1780 17812014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1782 1783 * install-mk (MK_VERSION): 20140522 1784 1785 * lib.mk: use CC to link shlib for linux too 1786 patch from Brendan MacDonell 1787 17882014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1789 1790 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 1791 if WITH_META_STATS is defined. 1792 17932014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1794 1795 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 1796 to supress dirdeps outside of .CURDIR. 1797 17982014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1799 1800 * Fix spelling errors - patch from Pedro Giffuni 1801 18022014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 1803 1804 * install-mk (MK_VERSION): 20140314 1805 1806 * dirdeps.mk (beforedirdeps): a handy hook 1807 1808 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 1809 to visit leaf dirs to be intercepted (eg. for distributed 1810 build). 1811 1812 * dirdeps.mk (__depdirs): ensure // don't sneak in 1813 1814 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 1815 1816 18172014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 1818 1819 * rst2htm.mk (RST2PDF): add support for rst2pdf 1820 18212014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1822 1823 * install-mk (MK_VERSION): bump version 1824 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 1825 available. 1826 18272014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1828 1829 * options.mk: avoid :U so this isn't bmake dependent 1830 18312014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 1832 1833 * options.mk: cleanup and simplify semanitcs 1834 NO_* dominates all, if both WITH_* and WITHOUT_* 1835 are defined then result is DOMINATE_* which defaults to "no". 1836 Ie. WITHOUT_ normally wins. 1837 18382013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1839 1840 * install-mk (MK_VERSION): bump version 1841 * meta2deps.py: convert to print function for python3 compat. 1842 we also need to open files with mode 'r' rather than 'rb' 1843 otherwise we get bytes instead of strings. 1844 18452013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1846 1847 * install-mk (MK_VERSION): bump version 1848 1849 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 1850 apply the same filtering (M_dep_qual_fixes) when setting _machines 1851 as _build_dirs. 1852 Also fix the filtering of Makefile.depend files - for reporting 1853 what we are looking for (M_dep_qual_fixes can get confused by 1854 Makefile.depend) 1855 Add some more debug info. 1856 18572013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1858 1859 * gendirdeps.mk (_objtops): fix typo also 1860 while processing M2D_OBJROOTS to gather qualdir_list 1861 qualify $ql with loop iterator to ensure correct results. 1862 18632013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1864 1865 * install-mk (MK_VERSION): 20130801 1866 * libs.mk: update to match progs.mk 1867 18682013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 1869 1870 * install-mk (MK_VERSION): 20130726 1871 some updates from Juniper and FreeBSD 1872 o meta2deps.py: indicate file and line number when we hit parse 1873 errors 1874 also allow @file to provide huge list of .meta files. 1875 * meta2deps.py: add try_parse() to cleanup the above. 1876 18772013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1878 1879 * install-mk (MK_VERSION): 20130716 1880 * own.mk: add GPROG as an option 1881 * prog.mk: honor MK_GPROF==yes 1882 18832013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1884 1885 * install-mk (MK_VERSION): 20130505 1886 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 1887 for when $MACHINE isn't enough for objdir distinction. 1888 Bring meta2deps.sh closer to par with meta2deps.py. 1889 18902013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1891 1892 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 1893 also if the target 'beforeinstall' exists, make it depend on 1894 .dirdep (incase it uses STAGE_INSTALL). 1895 18962013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1897 1898 * install-mk (MK_VERSION): 20130401 ;-) 1899 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 1900 wrapper around install(1). 1901 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 1902 19032013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1904 1905 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 1906 * install-mk (MK_VERSION): bump version 1907 19082013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 1909 1910 * install-mk (MK_VERSION): bump version 1911 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 1912 any trailing /., rather apply :tA only when needed. 1913 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 1914 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 1915 consistently. 1916 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 1917 19182013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1919 1920 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 1921 it is simpler to just not update when say building for "host" 1922 (where we know we apply filters to DIRDEPS), and using a 1923 non-machine qualified dependfile. 1924 19252013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1926 1927 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 1928 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 1929 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 1930 * meta2deps.py: if machine is "host", then also trim 1931 self.host_target from any OBJROOTS. 1932 1933 19342013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1935 1936 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 1937 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 1938 but _DEPENDFILE does not, compare the new _DEPENDFILE against 1939 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 1940 19412013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 1942 1943 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 1944 and hook to all: via staging: 1945 19462013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1947 1948 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 1949 use a separate variable for the default .MAKE.DEPENDFILE value 1950 so that it can be controlled independently of 1951 .MAKE.DEPENDFILE_PREFERENCE 1952 1953 * meta.stage.mk: throw error if cp fails etc. 1954 Stage*() return early if passed no args. 1955 .ORDER stage_* 1956 19572013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1958 1959 * install-mk (MK_VERSION): bump version 1960 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 1961 19622013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1963 1964 * install-mk (MK_VERSION): bump version to 20130210 1965 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 1966 from Juniper. 1967 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 1968 than just MACHINE. 1969 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 1970 19712013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 1972 1973 * install-mk (MK_VERSION): bump version to 20130123 1974 * meta.stage.mk: add stage_links (hard links). 1975 if doing hard links, we add dest to link as well. 1976 Default the stage dir for [sym]links to STAGE_OBJTOP since 1977 these are typically specified as absolute paths. 1978 Add -m "mode" flag to StageFiles and StageAs. 1979 19802012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1981 1982 * install-mk (MK_VERSION): bump version to 20121111 1983 * autoconf.mk: avoid meta mode seeing changed commands for config.status 1984 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 1985 in case we were found via .../mk 1986 * sys.clean-env.mk: move it from examples, we and others use it 1987 "as is". 1988 * FILES: add srctop.mk and options.mk 1989 * own.mk: convert to using options.mk 1990 which is modeled after FreeBSD's handling of MK_* 1991 but more flexible. 1992 This allows MK_* for boolean knobs to not be confused 1993 with MK* which can be commands. 1994 1995 * examples/sys.clean-env.mk: add WITH[OUT]_ to 1996 MAKE_ENV_SAVE_PREFIX_LIST. 1997 Mention that HOME=/var/empty might be a good idea. 1998 19992012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 2000 2001 * sys.dependfile.mk: if not depend file exists, $MACHINE 2002 specific ones are supported but not the default, 2003 check if any exist and follow suit. 2004 20052012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 2006 2007 * install-mk (MK_VERSION): bump version to 20121106 2008 20092012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 2010 2011 * import latest dirdeps.mk and meta2deps.py from Juniper. 2012 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 2013 also add PROGS_TARGETS and pass on PROG_CXX if it seems 2014 appropriate. 2015 20162012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 2017 2018 * meta.stage.mk: update CLEANFILES 2019 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 2020 * progs.mk: Add LDADD to PROG_VARS 2021 20222012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 2023 2024 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 2025 _STAGED_DIRS so that these can be turned into filters for 2026 GENDIRDEPS_FILTER. 2027 20282012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 2029 2030 * install-mk (MK_VERSION): bump version to 20121010 2031 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 2032 target.dirdep matches .dirdep 2033 20342012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 2035 2036 * install-mk (MK_VERSION): bump version to 20120808 2037 * import latest meta2deps.py from Juniper. 2038 20392012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 2040 2041 * install-mk (MK_VERSION): bump version to 20120711 2042 * dep.mk: add explicit dependencies on SRCS after applying 2043 SRCS_DEP_FILTER 2044 * meta.autodep.mk: add explicit dependencies on SRCS after 2045 applying SRCS_DEP_FILTER 2046 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 2047 20482012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 2049 2050 * install-mk (MK_VERSION): bump version to 20120626 2051 * meta.sys.mk: ignore PYTHON if it does not exist 2052 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 2053 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 2054 entries ending in .${MACHINE} to decide if qualified _dirdep is 2055 needed. 2056 * gendirdeps.mk: only produce unqualified deps if no 2057 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 2058 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 2059 20602012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 2061 2062 * install-mk (MK_VERSION): bump version to 20120420 2063 * add sys.dependfile.mk so we can experiment with 2064 .MAKE.DEPENDFILE_PREFERENCE 2065 * meta.autodep.mk: _DEPENDFILE is precious! 2066 20672012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 2068 2069 * install-mk (MK_VERSION): bump version to 20120315 2070 * install-new.mk: avoid being interrupted 2071 20722012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 2073 2074 * man.mk: MAN might have multiple values so be careful with exists(). 2075 20762012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 2077 2078 * install-mk (MK_VERSION): bump version to 20120112 2079 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 2080 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 2081 20822011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 2083 2084 * install-mk (MK_VERSION): bump version to 20111201 2085 * import dirdeps.mk from Juniper sjg@ 2086 o more consistent handling of DEP_MACHINE, especially when 2087 dealing with an odd Makefile.depend, when normally using 2088 Makefile.depend.${MACHINE} 2089 20902011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 2091 2092 * install-mk (MK_VERSION): bump version to 20111122 2093 * meta.autodep.mk: add some debug output, be more crisp about 2094 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 2095 20962011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 2097 2098 * install-mk (MK_VERSION): bump version to 20111111 2099 it's too cool to miss 2100 * import meta* updates from Juniper sjg@ 2101 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 2102 normally using Makefile.depend.${MACHINE}), handy for 2103 read-only manually maintained dependencies. 2104 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 2105 o gendirdeps.mk if ERROR: from meta2deps.py do not update 2106 anything. 2107 21082011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 2109 2110 * install-new.mk separate the cmp and copy logic to its own function. 2111 21122011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 2113 2114 * install-mk (MK_VERSION): bump version to 20111028 2115 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 2116 * subdir.mk: ensure _SUBDIRUSE is provided 2117 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 2118 * meta.subdir.mk: always allow for Makefile.depend 2119 21202011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 2121 2122 * install-mk (MK_VERSION): bump version to 20111010 2123 o minor tweak to *dirdeps.mk from Juniper sjg@ 2124 21252011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 2126 2127 * install-mk (MK_VERSION): bump version to 20111001 2128 o add meta2deps.py from Juniper sjg@ 2129 o tweak gendirdeps.mk to work with meta2deps.py when not 2130 cross-building 2131 * autoconf.mk: add autoconf-input as a hook for regenerating 2132 AUTOCONF_INPUTS (configure). 2133 21342011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 2135 2136 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 2137 trigger for updating Makefile.depend* 2138 21392011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 2140 2141 * install-mk (MK_VERSION): bump version to 20110808 2142 * obj.mk: minor cleanup 2143 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 2144 21452011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 2146 2147 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 2148 specified dir. 2149 21502011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 2151 2152 * meta.autodep.mk: if XMAKE_META_FILE is set 2153 the makefile uses a foreign make, and so dependencies 2154 can only be gathered from a clean tree build. 2155 21562011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 2157 2158 * install-mk (MK_VERSION): bump version to 20110622 2159 * meta.autodep.mk: improve bootstraping 2160 21612011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 2162 2163 * yacc.mk: handle the corner case of .c being removed 2164 while .h remains. 2165 21662011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 2167 2168 * yacc.mk: do .y.h and .y.c separately 2169 21702011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 2171 2172 * install-mk (MK_VERSION): bump version to 20110606 2173 * don't store SRC_DIRDEPS in Makefile.depend* by default 2174 not everyone needs it. 2175 21762011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 2177 2178 * install-mk (MK_VERSION): bump version to 20110505 2179 first release including meta mode makefiles 2180 21812011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 2182 2183 * meta.stage.mk: add STAGE_AS_SETS and stage_as 2184 for things that need to be staged with different names. 2185 21862011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 2187 2188 * meta.stage.mk: add notion of STAGE_SETS 2189 so a makefile can stage to multiple dirs 2190 21912011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 2192 2193 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 2194 on target name. 2195 21962011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 2197 2198 * install-mk (MK_VERSION): bump version to 20110330 2199 22002011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 2201 2202 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 2203 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 2204 * sys.mk: re-define M_whence in terms of M_type. 2205 M_type is useful for checking if something is a builtin. 2206 22072011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 2208 2209 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 2210 stage_libs 2211 22122011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 2213 2214 * dirdeps.mk: correct value for _depdir_files depends on 2215 .MAKE.DEPENDFILE 2216 Add our copyright - just to make it clear we have frobbed this 2217 quite a bit. 2218 DEP_MACHINE needs to be set to MACHINE each time, if using only 2219 Makefile.depend (cf. Makefile.depend.${MACHINE}) 2220 2221 * meta.stage.mk: meta mode version of staging 2222 2223 * init.mk, final.mk: include local.*.mk to simplify customization 2224 22252011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 2226 2227 * auto.obj.mk: just because we are doing mk destroy, we should 2228 still set .OBJDIR correctly if it exists. 2229 2230 * install-mk (mksrc): do not exclude meta.sys.mk 2231 22322011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 2233 2234 * host-target.mk: set/export _HOST_ARCH etc separately, 2235 catch junk resulting from uname -p, so we can find sys/Linux.mk 2236 correctly. 2237 22382011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 2239 2240 * meta.sys.mk: throw an error if /dev/filemon is missing and we 2241 expected to be updating Makefile.depend* 2242 22432011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 2244 2245 * install-mk (MK_VERSION): bump version to 20110214 2246 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 2247 22482010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 2249 2250 * meta.sys.mk: not valid for older bmake 2251 22522010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 2253 2254 * install-mk (MK_VERSION): bump version to 20100919 2255 include dirdeps.mk et al from Juniper Networks, 2256 for meta mode - requires filemon(9). 2257 * sys.mk, subdir.mk: Add hooks for meta mode. 2258 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 2259 to make turning it on/off simple. 2260 22612010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 2262 2263 * install-mk (MK_VERSION): bump version to 20100616 2264 * fix typo in sys.mk 2265 22662010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 2267 2268 * install-mk (MK_VERSION): bump version to 20100612 2269 * lib.mk: remove duplicate addition to SOBJS 2270 22712010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 2272 2273 * sys.mk: Add a means of selectively turning on debug flags. 2274 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 2275 will act as if we did make -dv if .CURDIR ends in lib/sjg 2276 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 2277 the start of sys.mk rather than the end. 2278 This only makes sense for leaf dirs, so we check that 2279 .MAKE.LEVEL > 0 2280 22812010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 2282 2283 * install-mk (MK_VERSION): bump version to 20100608 2284 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 2285 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 2286 also make it easier for folk to tweak 2287 22882010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 2289 2290 * install-mk (MK_VERSION): bump version to 20100606 2291 do not install examples/* 2292 * FILES: add examples/sys.clean-env.mk 2293 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 2294 this requires bmake-20100606 or later to work. 2295 22962010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 2297 2298 * sys.mk (M_tA): better simulate the result of :tA if not available. 2299 23002010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 2301 2302 * sys.mk: canonicalize MAKE_VERSION 2303 old versions reported bmake-<src-date> build-<build-date> 2304 whereas we only care about <src-date> 2305 23062010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 2307 2308 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 2309 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 2310 is !empty 2311 23122010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 2313 2314 * dpadd.mk: use LDADD_* if defined. 2315 23162010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 2317 2318 * install-mk (MK_VERSION): bump version to 20100420 2319 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 2320 * autoconf.mk allow AUTO_AUTOCONF 2321 23222010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 2323 2324 * obj.mk: add objwarn to keep freebsd makefiles happy 2325 * auto.obj.mk: ensure Mkdirs is available. 2326 * FILES: add auto.dep.mk - a simpler version of autodep.mk 2327 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 2328 asked to do that. 2329 fix/simplify the tests for when to run mkdep. 2330 * auto.dep.mk: add some explanation of how/what we do. 2331 * autodep.mk: skip the .OPTIONAL frobbing of .depend 2332 bmake's FROM_DEPEND flag makes it redundant. 2333 23342010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 2335 2336 * install-mk (MK_VERSION): bump version to 20100404 2337 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 2338 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 2339 Also create a target _SUBDIRUSE so that we can be used without 2340 subdir.mk 2341 23422010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 2343 2344 * dep.mk: use <> when .including so can override. 2345 23462010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 2347 2348 * lib.mk (SHLIB_LINKS): ensure a string comparison. 2349 23502010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 2351 2352 * install-mk (MK_VERSION): bump version to 20100102 2353 * own.mk: ensure PRINTOBJDIR works 2354 * autoconf.mk: pass on CONFIGURE_ARGS 2355 * init.mk: handle COPTS.${.IMPSRC:T} etc. 2356 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 2357 fix handling of symlinks for darwin 2358 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 2359 * man.mk: suppress chown when not root. 2360 * rst2htm.mk: allow srcs from multiple locations. 2361 * sys.mk: M_whence, stop after 1st line of output. 2362 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 2363 * sys/SunOS.mk: we need to export PATH 2364 23652009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 2366 2367 * install-mk (MK_VERSION): bump version 2368 include rst2htm.mk 2369 23702009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 2371 2372 * sys.mk,libnames.mk add .-include <local.*> 2373 this allows local customization without the need to edit the 2374 distributed files. 2375 23762009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 2377 2378 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 2379 older versions already installed. 2380 23812009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 2382 2383 * stage.mk (.stage-install): generalize lib.mk's .libinstall 2384 * rules.mk rules for generic Makefile. 2385 * inc.mk install for includes. 2386 23872009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 2388 2389 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 2390 this, so provide it if using native make. 2391 23922009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 2393 2394 * FILES: move all the platform *.sys.mk files to sys/*.mk 2395 * Rename Generic.sys.mk to sys.mk - we always want it. 2396 23972009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 2398 2399 * install-mk (MK_VERSION): bump version 2400 * host-target.mk: only export the expensive stuff 2401 * Generic.sys.mk (sys_mk): for SunOS we need to look for 2402 ${HOST_OS}.${HOST_OSMAJOR} too! 2403 24042009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 2405 2406 * install-mk (MK_VERSION): bump version 2407 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 2408 based on patch from Greg Olszewski. 2409 * Generic.sys.mk: if we have nothing to work with 2410 set LORDER etc only if we can find it. 2411 24122009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 2413 2414 * install-mk (MK_VERSION): bump version 2415 * man.mk: cleanman: remove CLEANMAN if defined. 2416 24172009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 2418 2419 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 2420 24212009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 2422 2423 * install-mk (MK_VERSION): bump version 2424 include auto.obj.mk 2425 2426 24272009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 2428 2429 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 2430 24312008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 2432 2433 * install-mk (MK_VERSION): bump version 2434 man.mk: ensure we generate *.cat1 etc in . 2435 24362008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 2437 2438 * install-mk (MK_VERSION): bump version 2439 add prlist.mk 2440 24412007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 2442 2443 * Generic.sys.mk: Allow os specific sys.mk to be in a 2444 subdir of ${.PARSEDIR} 2445 24462007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 2447 2448 * install-mk (MK_VERSION): bump version 2449 * general cleanup 2450 * dpadd.mk introduce DPMAGIC_LIBS_* 2451 24522007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 2453 2454 * install-mk (MK_VERSION): bump version 2455 2456 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 2457 depend files and ensure clean is called for each lib/prog. 2458 24592007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 2460 2461 * autodep.mk (.depend): delete lines that do not start with 2462 space and do not contain ':' 2463 24642007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 2465 2466 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 2467 so make sure the transform for .OPTIONAL copes. 2468 24692007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2470 2471 * install-mk (MK_VERSION): bump version 2472 2473 * own.mk: make sure RM and LN are defined. 2474 2475 * obj.mk: fix a typo, and objlink target. 2476 24772006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 2478 2479 * install-mk (MK_VERSION): bump version 2480 * added libs.mk - analogous to progs.mk 2481 make both of them always inlcude {lib,prog}.mk 2482 24832006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 2484 2485 * progs.mk: add a means of building multiple apps in one dir. 2486 24872006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 2488 2489 * install-mk (MK_VERSION): bump version to 20061126 2490 2491 * warnings.mk: detect invalid WARNINGS_SET 2492 2493 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 2494 specific warnings. 2495 2496 * For .cc sources, turn off warnings that g++ vomits on. 2497 24982006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 2499 2500 * own.mk: if __initialized__ target doesn't exist and we are 2501 FreeBSD we got here directly from sys.mk 2502 25032006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 2504 2505 * install-mk (MK_VERSION): bump version to 20061106 2506 add scripts.mk 2507 25082006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 2509 2510 * install-mk (MK_VERSION): bump version to 20060318 2511 2512 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 2513 25142006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 2515 2516 * install-mk (MK_VERSION): bump version to 20060302 2517 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 2518 25192006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 2520 2521 * install-mk (MK_VERSION): bump version to 20060301 2522 * autodep.mk (.depend): 2523 if MAKE_VERSION is newer than 20050530 we can make .END depend on 2524 .depend and make .depend depend on __depsrcs that exist. 2525 * dpadd.mk: add SRC_PATHADD 2526 25272005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2528 2529 * install-mk (MK_VERSION): bump version to 20051104 2530 * prog.mk: remove all the LIBC?= junk, use 2531 .-include libnames.mk instead (none by default). 2532 also if USE_DPADD_MK is set, include that. 2533 25342005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2535 2536 * install-mk (MK_VERSION): bump version to 20051001 2537 Add UnixWare.sys.mk from Klaus Heinz. 2538 25392005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 2540 2541 * install-mk: always install *.sys.mk and if need be symlink one 2542 to sys.mk 2543 25442005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 2545 2546 * subdir.mk, own.mk: use .MAKE rather than MAKE 2547 25482004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2549 2550 * own.mk: don't use NetBSD's _SRC_TOP_ it can 2551 cause confusion. Also don't take just 'mk' as a 2552 srctop indicator. 2553 25542004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 2555 2556 * warnings.mk: overhauled, now very powerful. 2557 25582004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2559 2560 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 2561 25622004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 2563 2564 * install-mk (MK_VERSION): bump version to 20040201 2565 * extract HOST_TARGET stuff to host-target.mk so own.mk and 2566 Generic.sys.mk can share. 2567 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 2568 25692003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 2570 2571 * install-mk (MK_VERSION): 20030930 2572 * rename generic.sys.mk to Generic.sys.mk 2573 so that it does not get installed (unless being used as sys.mk) 2574 * set OS and ROOT_GROUP for those that we know the value. 2575 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 2576 we don't do it again for each sub-make. 2577 25782003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2579 2580 * install-mk (MK_VERSION): 20030928 2581 Add some extra *.sys.mk from bootstrap-pkgsrc 2582 some of these likely still need work. 2583 Make everything default to root:wheel ownership, 2584 sys.mk can set ROOT_GROUP accordingly. 2585 25862003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 2587 2588 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 2589 not the portable ones. 2590 25912003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2592 2593 * install-mk: add ability to use cp -f when updating 2594 destination .mk files. Also now possible to play games with 2595 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 2596 into dest - not recommended unless you seriously want to. 2597 25982003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2599 2600 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 2601 for semi-compatability with NetBSD. 2602 26032003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2604 2605 * install-mk: add a version indicator 2606 26072003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 2608 2609 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 2610 2611 * install-mk: Allow FORCE_SYS_MK to come from env 2612 2613 2614 2615