12025-04-18 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * init.mk: include Skipping ${RELDIR} when _SKIP_BUILD is not empty. 4 52025-04-14 Simon J Gerraty <sjg@beast.crufty.net> 6 7 * install-mk (MK_VERSION): 20250414 8 9 * init.mk: check ONLY_*_LIST and NOT_*_LIST for SKIP_BUILD_VAR_LIST 10 to set _SKIP_BUILD 11 12 * genfiles.mk: add FILTER support 13 14 * rst2htm.mk: latest docutils drops .py extensions 15 162025-03-26 Simon J Gerraty <sjg@beast.crufty.net> 17 18 * install-mk (MK_VERSION): 20250326 19 20 * auto.obj.mk: fix and simplify handling of relative __objdir, 21 convert it to absolute before checking against .OBJDIR 22 232025-03-14 Simon J Gerraty <sjg@beast.crufty.net> 24 25 * install-mk (MK_VERSION): 20250314 26 27 * meta.stage.mk: StageFiles --subdir: preserve the dir part of 28 each file under $dest 29 302025-03-12 Simon J Gerraty <sjg@beast.crufty.net> 31 32 * meta.autodep.mk: do a better job of handling MAKESYSPATH in 33 GENDIRDEPS_ENV. If we have MAKE_VERSION >= 20230123 we can just 34 use .SYSPATH, otherwise it is a bit more complicated. 35 362025-01-10 Simon J Gerraty <sjg@beast.crufty.net> 37 38 * rust.mk: use RUST_LIBS and RUST_PROGS 39 402025-01-01 Simon J Gerraty <sjg@beast.crufty.net> 41 42 * install-mk (MK_VERSION): 20250101 43 44 * use W flag to :S and :C rather than :tW 45 462024-12-16 Simon J Gerraty <sjg@beast.crufty.net> 47 48 * rust.mk: add RUSTFLAGS if needed 49 502024-12-12 Simon J Gerraty <sjg@beast.crufty.net> 51 52 * init.mk (OBJS_SRCS_FILTER): apply this as 53 ${OBJS_SRCS_FILTER:ts:} as we do in FreeBSD. 54 552024-12-03 Simon J Gerraty <sjg@beast.crufty.net> 56 57 * install-mk (MK_VERSION): 20241202 58 59 * setopts.sh: needed by newlog.sh 60 612024-11-22 Simon J Gerraty <sjg@beast.crufty.net> 62 63 * meta.sys.mk: add META_MODE_XTRAS to META_MODE to make it 64 easier to add things like 'env' when debugging. 65 66 * install-mk (MK_VERSION): 20241122 67 68 * rust.mk: rename CARGO* to RUST_CARGO* so I don't feel 69 like this makefile should be renamed to cargo.mk 70 712024-11-11 Simon J Gerraty <sjg@beast.crufty.net> 72 73 * dirdeps.mk: add DIRDEPS_CACHED_ENV to dirdeps-cached and 74 DIRDEP_USE_EPILOGUE to _DIRDEP_USE 75 762024-10-30 Simon J Gerraty <sjg@beast.crufty.net> 77 78 * meta.sys.mk: if MK_META_ERROR_TARGET is yes and NEWLOG_SH is 79 set, and ERROR_LOGDIR already exists, hook _rotateErrorLog to 80 .BEGIN target. 81 822024-10-27 Simon J Gerraty <sjg@beast.crufty.net> 83 84 * options.mk: add support for DEBUG_OPTIONS (similar to 85 DEBUG_DIRDEPS) to allow us to see where options get set. 86 Eg. DEBUG_OPTIONS="STAGING*" gives: 87 88 bmake[1]: "mk/options.mk" line 89: sys.mk: MK_STAGING=yes (MK_DIRDEPS_BUILD=no) 89 bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING=yes 90 bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING_PROG=no 91 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_MAN=yes (MK_STAGING=yes) 92 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_PROG=no (MK_STAGING=yes) 93 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_RUST=no (MK_STAGING_PROG=no) 94 95 * own.mk: fix setting of STAGE_OBJTOP (normally set by sys.dirdeps.mk) 96 972024-10-26 Simon J Gerraty <sjg@beast.crufty.net> 98 99 * rust.mk: add some documentation and support for staging 100 1012024-10-25 Simon J Gerraty <sjg@beast.crufty.net> 102 103 * rust.mk: a means of integrating Rust projects into a larger build. 104 1052024-10-18 Simon J Gerraty <sjg@beast.crufty.net> 106 107 * dirdeps-targets.mk: if DEBUG_DIRDEPS_TARGETS and we found 108 STATIC_DIRDEPS_CACHE, report its relative path. 109 1102024-09-30 Simon J Gerraty <sjg@beast.crufty.net> 111 112 * dirdeps.mk: tweak the debug message for "Loading" a 113 Makefile.depend file, always report what the actual makefile is 114 with the DIRDEP it is for. 115 Remove the redundant "Looking" message. 116 1172024-09-26 Simon J Gerraty <sjg@beast.crufty.net> 118 119 * meta2deps.py: when raising AssertionError include meta file name 120 with $SB trimmed if possible. 121 1222024-09-23 Simon J Gerraty <sjg@beast.crufty.net> 123 124 * meta2deps.py: replace assert() with raise AssertionError when we 125 detect missing eXits, to ensure a meaningful message gets into 126 log. 127 1282024-09-21 Simon J Gerraty <sjg@beast.crufty.net> 129 130 * install-mk (MK_VERSION): 20240921 131 132 * FILES: add genfiles.mk 133 1342024-09-20 Simon J Gerraty <sjg@beast.crufty.net> 135 136 * install-mk (MK_VERSION): 20240920 137 138 * cython.mk: Get PYTHON_VERSION from PYTHON 139 1402024-08-31 Simon J Gerraty <sjg@beast.crufty.net> 141 142 * subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*} 143 and handle subdir with '-' in its name. 144 1452024-08-23 Simon J Gerraty <sjg@beast.crufty.net> 146 147 * install-mk (MK_VERSION): 20240820 148 149 * links.mk: Allow a filter to be applied to SYMLINKS etc. 150 It is up to [BUILD_][SYM]LINKS_FILTER to do something sane. 151 Also only claim we are making a symlink if the value changed. 152 1532024-06-22 Simon J Gerraty <sjg@beast.crufty.net> 154 155 * install-mk (MK_VERSION): 20240616 156 157 * dirdeps.mk: apply DEP_DIRDEPS_BUILD_DIR_FILTER after we have 158 computed build dirs, since some filters cannot be easily expressed via 159 DEP_DIRDEPS_FILTER. 160 1612024-05-31 Simon J Gerraty <sjg@beast.crufty.net> 162 163 * dirdeps.mk: move reset of DIRDEPS_EXPORT_VARS 164 until after we a finished with it if building a cache. 165 1662024-05-04 Simon J Gerraty <sjg@beast.crufty.net> 167 168 * install-mk (MK_VERSION): 20240504 169 170 * dirdeps.mk: allow BUILD_DIRDEPS_OVERRIDES to pass overrides to 171 sub-make building DIRDEPS_CACHE. 172 1732024-04-24 Simon J Gerraty <sjg@beast.crufty.net> 174 175 * meta.autodep.mk: do not override start_utc 176 1772024-04-18 Simon J Gerraty <sjg@beast.crufty.net> 178 179 * sys.dirdeps.mk: set defaults for DEP_* at level 0 too. 180 These help when first include of Makefile.depend happens in a leaf 181 dir. 182 183 * install-mk (MK_VERSION): 20240414 184 1852024-04-09 Simon J Gerraty <sjg@beast.crufty.net> 186 187 * install-mk (MK_VERSION): 20240408 188 189 * init.mk: allow for _ as well as . to join V 190 and Q from QUALIFIED_VAR_LIST and VAR_QUALIFIER_LIST. 191 192 * progs.mk: avoid overlap between PROG_VARS and 193 init.mk's QUALIFIED_VAR_LIST since PROG would also 194 match its VAR_QUALIFIER_LIST, 195 libs.mk does not have the same issue. 196 197 * subdir.mk: _SUBDIRUSE for realinstall should run install 198 remove include of ${.CURDIR}/Makefile.inc that can be done via 199 local.subdir.mk where needed 200 201 * own.mk: do not conflict with man.mk 202 2032024-03-19 Simon J Gerraty <sjg@beast.crufty.net> 204 205 * install-mk (MK_VERSION): 20240314 206 207 * add sys/Cygwin.mk from Christian Franke 208 2092024-03-09 Simon J Gerraty <sjg@beast.crufty.net> 210 211 * install-mk (MK_VERSION): 20240309 212 213 * meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not 214 want to save the .ERROR_META_FILE 215 2162024-02-20 Simon J Gerraty <sjg@beast.crufty.net> 217 218 * install-mk (MK_VERSION): 20240220 219 220 * sys.dirdeps.mk, dirdeps-targets.mk, init.mk: 221 do not set .MAIN: dirdeps in sys.dirdeps.mk 222 dirdeps-targets.mk will do that for top-level builds 223 and init.mk will do it for others. 224 This allows a Makefile which has no need of 'dirdeps' to 225 set .MAIN for itself and "just work". 226 2272024-02-18 Simon J Gerraty <sjg@beast.crufty.net> 228 229 * bsd.*.mk: for makefiles that get a bsd. symlink, 230 use _this in multiple inclusion tags since .PARSEFILE will not 231 DTRT when such a makefile is included directly by Makefile and 232 automatically (without bsd. prefix). 233 Since we cannot guarantee that our sys.mk will be used, we provide 234 a default _this in each makefile that gets a bsd. prefix such that 235 the value is the same regardless of bsd. prefix. 236 237 * subdir.mk: drop the !target guard on $SUBDIR_TARGETS 238 2392024-02-12 Simon J Gerraty <sjg@beast.crufty.net> 240 241 * install-mk (MK_VERSION): 20240212 242 243 * SPDX-License-Identifier: BSD-2-Clause 244 Add SPDX-License-Identifier to inidicate that I consider 245 my copyright on any of these makefiles equivalent to BSD-2-Clause 246 247 * autoconf.mk: allow for configure.ac as currently recommended 248 249 * subdir.mk: support @auto 250 which is replaced with each subdir that 251 has a [Mm]akefile. 252 253 * subdir.mk: include local.subdir.mk if it exists. 254 255 * subdir.mk: rework to handle .WAIT 256 2572024-02-11 Simon J Gerraty <sjg@beast.crufty.net> 258 259 * subdir.mk: _SUBDIRUSE report the target we are entering subdirs for. 260 2612024-02-10 Simon J Gerraty <sjg@beast.crufty.net> 262 263 * prog.mk: treat empty SRCS the same as undefined 264 2652024-02-02 Simon J Gerraty <sjg@beast.crufty.net> 266 267 * Avoid undefined errors in lint (-dL) mode 268 269 * man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7) 270 2712024-01-28 Simon J Gerraty <sjg@beast.crufty.net> 272 273 * install-mk (MK_VERSION): 20240128 274 275 * FILES: add ccm.dep.mk for C++ modules 276 add suffixes.mk for common location for generic SUFFIX rules. 277 278 * auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk 279 replace OBJ_EXTENSIONS with OBJ_SUFFIXES 280 281 * autodep.mk: leverage CXX_SUFFIXES for __depsrcs 282 and update style (spaces around = etc) 283 284 * init.mk: add OBJS_SRCS_FILTER to filter SRCS when 285 setting OBJS 286 287 * meta2deps.py: handle multiple ./ embedded in path better. 288 2892024-01-05 Simon J Gerraty <sjg@beast.crufty.net> 290 291 * install-mk (MK_VERSION): 20240105 292 * dirdeps.mk: for MAKE_VERSION 20240105 we do not have the same 293 limits on command line length, so skip export of lists to env. 294 2952023-12-24 Simon J Gerraty <sjg@beast.crufty.net> 296 297 * man.mk: add logic for staging man pages 298 2992023-11-28 Simon J Gerraty <sjg@beast.crufty.net> 300 301 * jobs.mk: avoid C suffix in JOB_MAX_C if factor is floating 302 point. This keeps JOB_MAX numeric incase another makefile does 303 comparisons. 304 3052023-11-04 Simon J Gerraty <sjg@beast.crufty.net> 306 307 * dpadd.mk: add support for DPLIBS_QUALIFIER_LIST 308 309 * gendirdeps.mk: if META_XTRAS is passed to us, add to META_FILES 310 3112023-10-03 Simon J Gerraty <sjg@beast.crufty.net> 312 313 * compiler.mk (COMPILER_VERSION): clang at least is into 314 double digit major versions. 315 3162023-10-02 Simon J Gerraty <sjg@beast.crufty.net> 317 318 * install-mk (MK_VERSION): 20231001 319 320 * set _CCLINK in init.mk so lib.mk can use it for default SHLIB_LD 321 322 * lib.mk (cleanlib): use LD_solink so we remove all the right files. 323 Use -Wl for -soname since we now default to linking with CC 324 We should not need SHLIB_LDSTARTFILE or SHLIB_LDENDFILE when linking 325 with CC. 326 3272023-09-24 Simon J Gerraty <sjg@beast.crufty.net> 328 329 * init.mk (QUALIFIED_VAR_LIST): Add SRCS 330 3312023-09-09 Simon J Gerraty <sjg@beast.crufty.net> 332 333 * jobs.mk (JOB_MAX): use -jC if we can 334 we actually use JOB_MAX_C which defaults to 1.33C 335 3362023-08-18 Simon J Gerraty <sjg@beast.crufty.net> 337 338 * now_utc: %s only works with :localtime 339 3402023-07-14 Simon J Gerraty <sjg@beast.crufty.net> 341 342 * install-sh: ignore -c as claimed and only insist on 343 a directory for destination when more than one file to copy. 344 345 * sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and 346 ${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64) 347 3482023-07-13 Simon J Gerraty <sjg@beast.crufty.net> 349 350 * install-mk (MK_VERSION): 20230711 351 352 * sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible 353 install(1) 354 355 * sys/IRIX.mk: when setting ROOT_GROUP only match the first :0: 356 set INSTALL to install-sh rather than pathname that may not exist 357 (yet). 358 3592023-07-07 Simon J Gerraty <sjg@beast.crufty.net> 360 361 * dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE 362 normally this is empty - for the default target, but there are 363 use-cases where we might set it to something else. 364 3652023-07-04 Simon J Gerraty <sjg@beast.crufty.net> 366 367 * install-mk (MK_VERSION): 20230704 368 369 * dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output 370 when DEBUG_DIRDEPS is in effect. 371 Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n 372 can greatly improve readability. 373 3742023-05-25 Simon J Gerraty <sjg@beast.crufty.net> 375 376 * meta.autodep.mk (beforegendirdeps): allow tasks to be done 377 at END but before gendirdeps 378 3792023-05-22 Simon J Gerraty <sjg@beast.crufty.net> 380 381 * install-mk (MK_VERSION): 20230522 382 383 * host-target.mk: deal with garbage from uname -m on 384 Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH 385 these days so just leave it be. 386 For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get 387 arm64 and x86_64 in HOST_TARGET. 388 3892023-05-15 Simon J Gerraty <sjg@beast.crufty.net> 390 391 * sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older 392 versions of bmake. 393 394 * dirdeps.mk (TARGET_SPEC_VARS.host): 395 While *most* projects need only DEP_MACHINE for host, 396 there is always an exception. So we allow for 397 TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS. 398 The default will *just work* for most projects. 399 We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC 400 based on DEP_MACHINE. 401 Allow for M_dep_qual_fixes.host to be different too 402 and take care to apply the right set. 403 4042023-05-14 Simon J Gerraty <sjg@beast.crufty.net> 405 406 * sys.dirdeps.mk: we *do* want to override OBJTOP 407 and if MAKEOBJDIR was not in env as we want it; 408 put it there - carefully. 409 Ensure OBJROOT ends in / or - (/ preferred) 410 Add more comments to explain what/why. 411 4122023-05-13 Simon J Gerraty <sjg@beast.crufty.net> 413 414 * install-mk (MK_VERSION): 20230512 415 416 * dirdeps.mk: take care not to qualify "host" dirdeps 417 418 * sys.dirdeps.mk (OBJTOP): must use ?= 419 4202023-05-10 Simon J Gerraty <sjg@beast.crufty.net> 421 422 * meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no" 423 suppress processing of .depend 424 4252023-05-09 Simon J Gerraty <sjg@beast.crufty.net> 426 427 * dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP 428 429 * meta.sys.mk sys.dirdeps.mk: 430 originally DIRDEPS_BUILD and META_MODE were the same thing, 431 but META_MODE is useful by itself. 432 Move things from meta.sys.mk which actually pertain to 433 DIRDEPS_BUILD to sys.dirdeps.mk 434 4352023-05-04 Simon J Gerraty <sjg@beast.crufty.net> 436 437 * install-mk (MK_VERSION): 20230504 May the Forth be with you 438 439 * dirdeps.mk: as with meta.sys.mk we treat "host" as special. 440 DEP_TARGET_SPEC is just ${DEP_MACHINE} 441 442 * meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at 443 level > 0 since these are often refered to in Makefile.depend* 444 4452023-04-26 Simon J Gerraty <sjg@beast.crufty.net> 446 447 * jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and 448 anything in ${JOB_LOG_START} 449 450 * jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}} 451 or a scripts subdir before searching $PATH. 452 453 * FILES: include newlog.sh for jobs.mk 454 4552023-04-20 Simon J Gerraty <sjg@beast.crufty.net> 456 457 * install-mk (MK_VERSION): 20230420 458 459 * lib.mk: include LDFLAGS and LDADD when linking shared libs 460 461 * gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc 462 via local.meta.sys.mk rather than local.gendirdeps.mk 463 so DEP_* variables can be set at level 1+ to avoid syntax errors 464 when used in conditionals in manually maintained Makefile.depend 465 files. 466 467 * dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines 468 4692023-04-18 Simon J Gerraty <sjg@beast.crufty.net> 470 471 * dirdeps.mk: check we were not included by 472 Makefile.depend.options as the result is bad. 473 4742023-04-14 Simon J Gerraty <sjg@beast.crufty.net> 475 476 * install-mk (MK_VERSION): 20230414 477 478 * meta.sys.mk: since we have :range we can put the logic for 479 processing TARGET_SPEC from env here. 480 481 * dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including 482 local.dirdeps-missing.mk, also improve debug output. 483 484 * dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC 485 we need to use :M*[/.]* same as for when actually setting DIRDEPS 486 from the targets on command line. 487 4882023-04-12 Simon J Gerraty <sjg@beast.crufty.net> 489 490 * Add jobs.mk 491 4922023-03-21 Simon J Gerraty <sjg@beast.crufty.net> 493 494 * install-mk (MK_VERSION): 20230321 495 496 * meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter 497 STAGE_LIBS for SHLIB_LINKS. 498 499 * autoconf.mk: add .WAIT after config.status 500 5012023-02-17 Simon J Gerraty <sjg@beast.crufty.net> 502 503 * sys.vars.mk: add M_Index to report the index of a word in a list. 504 5052023-02-15 Simon J Gerraty <sjg@beast.crufty.net> 506 507 * install-mk (MK_VERSION): 20230215 508 509 * warnings.mk: allow better control of -Werror 510 allow -Wno-error or similar to be added if 511 WARNINGS_SET < WERROR_SET 512 account for COMPILER_TYPE 513 5142023-01-29 Simon J Gerraty <sjg@beast.crufty.net> 515 516 * autoconf.mk: hook config.status to beforebuild. 517 518 * whats.mk: what*.c is NOTMAIN 519 5202023-01-27 Simon J Gerraty <sjg@beast.crufty.net> 521 522 * install-mk (MK_VERSION): 20230127 523 control umask so directories are created with suitable mode. 524 5252023-01-20 Simon J Gerraty <sjg@beast.crufty.net> 526 527 * install-mk (MK_VERSION): 20230120 528 529 * sys.vars.mk: add M_On and M_Onr also cleanup to be more 530 consistent wrt testing MAKE_VERSION 531 5322023-01-12 Simon J Gerraty <sjg@beast.crufty.net> 533 534 * install-mk (MK_VERSION): 20230112 535 536 * meta2deps.{py,sh}: assert if filemon data is truncated 537 we should see the '# Bye bye' record - assert if we do not. 538 5392022-09-09 Simon J Gerraty <sjg@beast.crufty.net> 540 541 * install-mk (MK_VERSION): 20220909 542 543 * sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings 544 5452022-09-06 Simon J Gerraty <sjg@beast.crufty.net> 546 547 * dirdeps-options.mk: explain the need to use 548 ${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to 549 ${TARGET_SPEC_VAR} 550 5512022-09-03 Simon J Gerraty <sjg@beast.crufty.net> 552 553 * install-mk (MK_VERSION): 20220903 554 555 * M_cmpv handle more than 3 dots and clear leading 0's 556 5572022-07-20 Simon J Gerraty <sjg@beast.crufty.net> 558 559 * install-mk (MK_VERSION): 20220720 560 561 * prog.mk: handle PROG_CXX for more than just NetBSD 562 5632022-06-20 Simon J Gerraty <sjg@beast.crufty.net> 564 565 * install-mk (MK_VERSION): 20220620 566 567 * yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER 568 rather than just suffix rules 569 5702022-04-23 Simon J Gerraty <sjg@beast.crufty.net> 571 572 * install-mk (MK_VERSION): 20220422 573 574 * gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no" 575 do not capture any local depends in Makefile.depend 576 5772022-03-25 Simon J Gerraty <sjg@beast.crufty.net> 578 579 * install-mk (MK_VERSION): 20220323 580 * posix.mk: default rules for .POSIX: 581 5822022-03-17 Simon J Gerraty <sjg@beast.crufty.net> 583 584 * sys/*.mk: remove l from ARFLAGS 585 5862022-03-14 Simon J Gerraty <sjg@beast.crufty.net> 587 588 * install-mk (MK_VERSION): 20220314 589 590 * dirdeps-options.mk: allow options to be per RELDIR 591 try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed 592 with ${DEP_RELDIR}. 593 5942022-02-14 Simon J Gerraty <sjg@beast.crufty.net> 595 596 * install-mk (MK_VERSION): 20220214 597 598 * cc-wrap.mk: fix :@ modifier 599 6002022-02-06 Simon J Gerraty <sjg@beast.crufty.net> 601 602 * install-mk (MK_VERSION): 20220206 603 604 * cc-wrap.mk: docuement how CCACHE etc might be set for 605 maximum flexibility 606 6072022-02-05 Simon J Gerraty <sjg@beast.crufty.net> 608 609 * sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT 610 6112022-02-04 Simon J Gerraty <sjg@beast.crufty.net> 612 613 * install-mk (MK_VERSION): 20220204 614 615 * host-target.mk: use .MAKE.OS if available 616 6172022-02-02 Simon J Gerraty <sjg@beast.crufty.net> 618 619 * install-mk (MK_VERSION): 20220202 620 621 * cc-wrap.mk: allow other entries in CC_WRAP_FILTER 622 We add our filter on extensions last, so prior filters 623 can apply to the whole value of .IMPSRC 624 6252022-02-01 Simon J Gerraty <sjg@beast.crufty.net> 626 627 * cc-wrap.mk: take advantage of target local variables to 628 wrap compilers like CC CXX with wrappers like ccache distcc etc 629 6302022-01-28 Simon J Gerraty <sjg@beast.crufty.net> 631 632 * meta2deps: we do not expect any trace data for setid apps 633 6342022-01-26 Simon J Gerraty <sjg@beast.crufty.net> 635 636 * dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed 637 to sub-make using DIRDEPS_CACHE 638 6392022-01-07 Simon J Gerraty <sjg@beast.crufty.net> 640 641 * dirdeps.mk: use _cache_script to minimize the number of shells 642 forked when generating dirdeps.cache 643 6442022-01-02 Simon J Gerraty <sjg@beast.crufty.net> 645 646 * install-mk (MK_VERSION): 20220101 647 648 * dirdeps.mk: initialize DEP_* and _debug_reldir earlier. 649 If initial DIRDEPS are from command line, create the target 650 _dirdeps_cmdline as an indication. 651 6522022-01-01 Simon J Gerraty <sjg@beast.crufty.net> 653 654 * init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD 655 at top-level only some targets are allowed at level 0, 656 for leaf makefiles only the default (all) target is restricted 657 6582021-12-28 Simon J Gerraty <sjg@beast.crufty.net> 659 660 * install-mk (MK_VERSION): 20211228 661 662 * meta2deps.py: filemon on Linux is not as reliable as we might 663 like, we do not want to update DIRDEPS if filemon output is 664 incomplete. Track pids that we 'E'xec and make sure we see an 665 e'X'it for each one. Throw an error if we are missing any 'X' 666 records. 667 6682021-12-12 Simon J Gerraty <sjg@beast.crufty.net> 669 670 * sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes. 671 672 * meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON 673 is something else. 674 675 * meta.autodep.mk: we can now reference ${.SUFFIXES} 676 677 * meta2deps.py: derive a list of dirdep extensions from 678 TARGET_SPEC to trim from dirdeps. 679 680 * dirdeps.mk: flip the computation of qualified vs unqualified 681 dirdeps - it is much simpler to check for unqualified first. 682 6832021-12-11 Simon J Gerraty <sjg@beast.crufty.net> 684 685 * install-mk (MK_VERSION): 20211212 686 687 * auto.dep.mk: rearrange so that the trivial implementation 688 for recent bmake is more obvious. 689 6902021-12-07 Simon J Gerraty <sjg@beast.crufty.net> 691 692 * install-mk (MK_VERSION): 20211207 693 694 * Ensure guard targets are .NOTMAIN 695 696 * meta.sys.mk: check for nofilemon support when we skip level 0 697 698 * auto.dep.mk: make this usable in meta mode 699 for platforms that cannot use meta.autodep.mk 700 701 * meta2deps.py: avoid confusion if MACHINE and another 702 TARGET_SPEC_VAR have same value. 703 7042021-11-27 Simon J Gerraty <sjg@beast.crufty.net> 705 706 * dirdeps.mk: when building dirdeps.cache, minimize the amount of 707 data put into env, by stripping ${SRCTOP}/ from each entry. 708 A long sandbox name can double the amount of memory consumed and 709 in extreme cases cause failure. 710 While we are at it, strip ${SRCTOP}/ from a lot of the debug output. 711 7122021-11-11 Simon J Gerraty <sjg@beast.crufty.net> 713 714 * install-mk (MK_VERSION): 20211111 715 716 * meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail 717 so fallback to cp if necessary. 718 7192021-10-30 Simon J Gerraty <sjg@beast.crufty.net> 720 721 * man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year 722 old cmt2doc.pl 723 7242021-10-24 Simon J Gerraty <sjg@beast.crufty.net> 725 726 * meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f} 727 as the symlink (rare) 728 7292021-10-16 Simon J Gerraty <sjg@beast.crufty.net> 730 731 * autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not 732 been read, throw an error after running configure telling user to 733 restart. 734 7352021-10-13 Simon J Gerraty <sjg@beast.crufty.net> 736 737 * install-mk (MK_VERSION): 20211011 738 739 * Add support for SCO_SV 740 7412021-10-01 Simon J Gerraty <sjg@beast.crufty.net> 742 743 * install-mk (MK_VERSION): 20211001 744 745 * man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more 746 flexibility 747 7482021-09-13 Simon J Gerraty <sjg@beast.crufty.net> 749 750 * options.mk (describe-options): print options and their values 751 and optional description 752 7532021-09-11 Simon J Gerraty <sjg@beast.crufty.net> 754 755 * install-mk (MK_VERSION): 20210911 756 757 * options.mk (show-options): print options and their values 758 7592021-09-08 Simon J Gerraty <sjg@beast.crufty.net> 760 761 * install-mk (MK_VERSION): 20210909 762 763 * lib.mk: apply patch from <daniel@octaforge.org> 764 to fix shared libs on Linux 765 7662021-08-08 Simon J Gerraty <sjg@beast.crufty.net> 767 768 * install-mk (MK_VERSION): 20210808 769 770 * options.mk: issue warning for WITH_*=no 771 7722021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 773 774 * install-mk (MK_VERSION): 20210616 775 776 * dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find 777 depend files to read, anchor MACHINE at , or end of string 778 to avoid prefix match. 779 7802021-05-04 Simon J Gerraty <sjg@beast.crufty.net> 781 782 * install-mk (MK_VERSION): 20210504 783 784 * dirdeps.mk: re-implement ALL_MACHINES support to better 785 cater for local complexities, when ONLY_TARGET_SPEC_LIST 786 is not set. local.dirdeps.mk can set 787 DIRDEPS_ALL_MACHINES_FILTER and/or 788 DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get 789 from listing all existing Makefile.depend.* 790 7912021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 792 793 * install-mk (MK_VERSION): 20210420 794 795 * dirdeps.mk: revert previous - not always safe. 796 7972021-03-20 Simon J Gerraty <sjg@beast.crufty.net> 798 799 * install-mk (MK_VERSION): 20210321 800 801 * dirdeps.mk: when generating dirdeps.cache 802 we only need to hook the initial DIRDEPS to the 803 dirdeps target. That and any _build_xtra_dirs (like tests which 804 should not be hooked directly to the dependency graph - to avoid 805 cycles) 806 8072021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 808 809 * install-mk (MK_VERSION): 20210130 810 811 * dirdeps.mk: expr 2 - 1 - 1 exits with a bad status 812 we need to guard against this in DIRDEP_LOADAVG_REPORT. 813 814 * dirdeps.mk: restore respect for TARGET_MACHINE 815 8162021-01-06 Simon J Gerraty <sjg@beast.crufty.net> 817 818 * install-mk (MK_VERSION): 20210101 819 820 * dirdeps.mk: first time we are read, just use TARGET_SPEC for 821 _DEP_TARGET_SPEC 822 8232020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 824 825 * sys.mk (MAKE_SHELL): use ${.SHELL:Ush} 826 and use := when setting SHELL 827 8282020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 829 830 * install-mk (MK_VERSION): 20201221 831 832 * dirdeps-options.mk: latest bmake allows only one arg to .undef 833 8342020-12-11 Simon J Gerraty <sjg@beast.crufty.net> 835 836 * dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS 837 so that any directory can be treated as a target. 838 8392020-11-26 Simon J Gerraty <sjg@beast.crufty.net> 840 841 * install-mk (MK_VERSION): 20201126 842 843 * own.mk: use .MAKE.{UID,GID} if available. 844 845 * init.mk: suppress _SKIP_BUILD warning if doing -V 846 8472020-11-20 Simon J Gerraty <sjg@beast.crufty.net> 848 849 * install-mk (MK_VERSION): 20201120 850 851 * init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS 852 853 * dirdeps-targets.mk: fix typo in comment 854 8552020-11-06 Simon J Gerraty <sjg@beast.crufty.net> 856 857 * install-mk (MK_VERSION): 20201106 858 859 * meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed 860 args to tweak extensions for local deps. 861 8622020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 863 864 * install-mk (MK_VERSION): 20201101 865 866 * dirdeps.mk: most leaf makefiles are not suitable for building 867 dirdeps.cache so if RELDIR is not "." use dirdeps.mk 868 8692020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 870 871 * install-mk (MK_VERSION): 20201028 872 873 * dirdeps.mk: if we don't have :range use equivalent of M_RANGE 874 when building dirdeps.cache for leaf directory use -f dirdeps.mk 875 876 * sys.vars.mk: add M_JOT and M_RANGE 877 8782020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 879 880 * install-mk (MK_VERSION): 20201001 881 882 * meta2deps.{py,sh}: throw an error if we don't see filemon version 883 8842020-09-09 Simon J Gerraty <sjg@beast.crufty.net> 885 886 * install-mk (MK_VERSION): 20200909 887 888 * dirdeps-cache-update.mk: use cache_update_dirdep as guard target 889 8902020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 891 892 * dirdeps.mk: ensure we cannot confuse a static cache for dynamic 893 (even more rare that use of static cache is playing clever tricks 894 with it) 895 8962020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 897 898 * dirdeps-cache-update.mk: allow 899 MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we 900 actually update STATIC_DIRDEPS_CACHE. 901 902 * stage-install.sh: create dest directory if needed 903 before running install(1) 904 9052020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 906 907 * dirdeps-targets.mk: include Makefile.dirdeps.options 908 909 * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE 910 9112020-08-09 Simon J Gerraty <sjg@beast.crufty.net> 912 913 * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty 914 915 * dirdeps-cache-update.mk: building parallel cache update 916 under the context of dirdeps-cached would be ideal, but 917 is problematic, so it runs as a sibling. 918 Use cache-built target to ensure we wait for it to complete if 919 necessary. 920 9212020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 922 923 * install-mk (MK_VERSION): 20200806 924 925 * dirdeps-options: allow TARGET_SPEC to affect option values. 926 Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_* 927 928 * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined 929 before looking for STATIC_DIRDEPS_CACHE 930 9312020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 932 933 * host-target.mk: Darwin use MACHINE for HOST_ARCH too 934 935 * dirdeps-options.mk: improve debug output 936 9372020-07-22 Simon J Gerraty <sjg@beast.crufty.net> 938 939 * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE 940 for use by dirdeps-cache-update.mk 941 942 * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE 943 for use by dirdeps-cache-update.mk even if we don't use it. 944 945 * dirdeps-cache-update.mk: we only need worry about the background 946 update case, with the above, the update from DIRDEPS_CACHE is 947 simple. 948 949 * meta2deps.py: R 1234 . is not interesting 950 9512020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 952 953 * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE 954 955 * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS 956 allows use of lower case for pseudo options. 957 958 * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE 959 9602020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 961 962 * dirdeps-targets.mk: Look for Makefile.dirdeps.cache 963 which allows us to have a static cache for expensive targets. 964 Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE 965 to regenerate the dirdeps.cache it is a copy of. 966 9672020-07-17 Simon J Gerraty <sjg@beast.crufty.net> 968 969 * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense. 970 9712020-07-16 Simon J Gerraty <sjg@beast.crufty.net> 972 973 * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record 974 load averages at intervals during build. 975 9762020-07-15 Simon J Gerraty <sjg@beast.crufty.net> 977 978 * install-mk (MK_VERSION): 20200715 979 980 * dirdeps.mk: tweak Checking line to make matching Finished 981 lines for post-build analysis easier. 982 983 * meta.autodep.mk: use !defined(WITHOUT_META_STATS) 984 985 * progs.mk: avoid prog.mk outputting multiple Finished lines 986 9872020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 988 989 * dirdeps.mk: further optimize dirdeps.cache 990 generate a DIRDEPS.${.TARGET} list for other purposes 991 and improve the layout. 992 9932020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 994 995 * dirdeps.mk: optimize content of dirdeps.cache 996 9972020-06-28 Simon J Gerraty <sjg@beast.crufty.net> 998 999 * sys/*.mk: make it easier for local*sys.mk to customize by 1000 using ?= 1001 10022020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 1003 1004 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0 1005 it is much safer to guard local depends with a simple check for 1006 .MAKE.LEVEL > 0 1007 10082020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 1009 1010 * install-mk (MK_VERSION): 20200610 1011 1012 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok 1013 10142020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 1015 1016 * install-mk (MK_VERSION): 20200606 1017 1018 * dirdeps-targets.mk: allow for filtering of .TARGETS 1019 1020 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove 1021 entries - and we don't care about 'W'rite entries. 1022 Also ignore absolute paths that do not exist. 1023 10242020-05-25 Simon J Gerraty <sjg@beast.crufty.net> 1025 1026 * install-mk (MK_VERSION): 20200525 1027 1028 * init.mk: expand and simplify handling of qualified vars 1029 like CPPFLAGS.${.TARGET:T} 1030 10312020-05-15 Simon J Gerraty <sjg@beast.crufty.net> 1032 1033 * install-mk (MK_VERSION): 20200515 1034 1035 * dirdeps.mk: set _debug_* earlier and allow passing -d* 1036 flags to submake when building DIRDEPS_CACHE 1037 10382020-05-09 Simon J Gerraty <sjg@beast.crufty.net> 1039 1040 * whats.mk: more easily extensible 1041 10422020-05-02 Simon J Gerraty <sjg@beast.crufty.net> 1043 1044 * whats.mk: greatly simplify by adding what.c to SRCS 1045 10462020-05-01 Simon J Gerraty <sjg@beast.crufty.net> 1047 1048 * whats.mk: for libs take care how we add to *OBJS 1049 1050 * lib.mk: : works better with whats.mk 1051 10522020-04-25 Simon J Gerraty <sjg@beast.crufty.net> 1053 1054 * install-mk (MK_VERSION): 20200420 1055 1056 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep 1057 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC} 1058 10592020-04-16 Simon J Gerraty <sjg@beast.crufty.net> 1060 1061 * install-mk (MK_VERSION): 20200416 1062 1063 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to 1064 interfere with user env. 1065 1066 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL 1067 1068 * autodep.mk: use MAKE_SHELL. 1069 10702019-11-21 Simon J Gerraty <sjg@beast.crufty.net> 1071 1072 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of 1073 wasted effort, and unexport _meta_files when no longer needed as 1074 it consumes space we need for command line. 1075 10762019-11-11 Simon J Gerraty <sjg@beast.crufty.net> 1077 1078 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add 1079 DIRDEP_USE_PRELUDE at start - facilitates job distribution 1080 10812019-10-04 Simon J Gerraty <sjg@beast.crufty.net> 1082 1083 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST 1084 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid 1085 TARGET_SPEC qualified depend files. 1086 10872019-10-02 Simon J Gerraty <sjg@beast.crufty.net> 1088 1089 * dirdeps-targets.mk: encapsulate logic for finding top-level 1090 targets to set initial DIRDEPS for DIRDEPS_BUILD 1091 10922019-09-27 Simon J Gerraty <sjg@beast.crufty.net> 1093 1094 * install-mk (MK_VERSION): 20190911 1095 1096 * compiler.mk: set COMPILER_TYPE 1097 10982019-07-17 Simon J Gerraty <sjg@beast.crufty.net> 1099 1100 * install-mk (MK_VERSION): 20190704 1101 1102 * sys/Darwin.mk: support for Objective-C and clang 1103 11042019-05-30 Simon J Gerraty <sjg@beast.crufty.net> 1105 1106 * dirdeps.mk: avoid insanely long command line when generating cache 1107 11082019-05-23 Simon J Gerraty <sjg@beast.crufty.net> 1109 1110 * install-mk (MK_VERSION): 20190505 1111 1112 * whats.mk: handle corner case SHLIB defined but not LIB 1113 11142018-09-19 Simon J Gerraty <sjg@beast.crufty.net> 1115 1116 * install-mk (MK_VERSION): 20180919 1117 1118 * dirdeps-options.mk: .undef cannot handle var that expands to 1119 more than one var. 1120 11212018-07-08 Simon J Gerraty <sjg@beast.crufty.net> 1122 1123 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc. 1124 11252018-06-01 Simon J Gerraty <sjg@beast.crufty.net> 1126 1127 * meta.autodep.mk: export META_FILES to avoid command line limit 1128 * gendirdeps.mk: if we have lots of .meta files put them in 1129 an @list 1130 11312018-05-28 Simon J Gerraty <sjg@beast.crufty.net> 1132 1133 * dirdeps-options.mk: use local.dirdeps-options.mk 1134 not local.dirdeps-option.mk 1135 11362018-04-20 Simon J Gerraty <sjg@beast.crufty.net> 1137 1138 * install-mk (MK_VERSION): 20180420 1139 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0 1140 ie. we are building something. 1141 11422018-04-14 Simon J Gerraty <sjg@beast.crufty.net> 1143 1144 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS. 1145 11462018-04-05 Simon J Gerraty <sjg@beast.crufty.net> 1147 1148 * install-mk (MK_VERSION): 20180405 1149 1150 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER 1151 if needed. 1152 11532018-01-18 Simon J Gerraty <sjg@beast.crufty.net> 1154 1155 * install-mk (MK_VERSION): 20180118 1156 1157 * ldorder.mk: let make compute correct link order 1158 11592017-12-12 Simon J Gerraty <sjg@beast.crufty.net> 1160 1161 * install-mk (MK_VERSION): 20171212 1162 1163 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER 1164 11652017-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1166 1167 * install-mk (MK_VERSION): 20171111 1168 1169 * lib.mk: ensure META_NOECHO is set 1170 11712017-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 1172 1173 * Allow for host32 on rare occasions. 1174 11752017-10-18 Simon J. Gerraty <sjg@bad.crufty.net> 1176 1177 * install-mk (MK_VERSION): 20171018 1178 1179 * whats.mk: include what_thing in what_uuid to avoid problem 1180 when building multiple apps in the same directory. 1181 11822017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 1183 1184 * install-mk (MK_VERSION): 20170812 1185 1186 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can 1187 add dependencies for config.recheck and config.gen 1188 11892017-06-30 Simon J. Gerraty <sjg@bad.crufty.net> 1190 1191 * install-mk (MK_VERSION): 20170630 1192 1193 * meta.stage.mk: avoid triggering stage_* targets with nothing to do. 1194 11952017-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 1196 1197 * meta2deps.py: take special care of '..' 1198 11992017-05-15 Simon J. Gerraty <sjg@bad.crufty.net> 1200 1201 * install-mk (MK_VERSION): 20170515 1202 1203 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is 1204 useful/necessary for a Makefile.depend file to export some knobs. 1205 This is complicated when we are doing DIRDEPS_CACHE, so we will 1206 handle export of any variables listed in DEP_EXPORT_VARS. 1207 12082017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 1209 1210 * install-mk (MK_VERSION): 20170505 1211 1212 * meta2deps.py: fix botched indenation. 1213 12142017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1215 1216 * sys/*.mk: Remove setting of MAKE it is unnecessary and 1217 in many cases wrong (basname rather than full path) 1218 1219 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk 1220 1221 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc 1222 12232017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1224 1225 * install-mk (MK_VERSION): 20170501 1226 1227 * doc.mk: fix typo in DOC_INSTALL_OWN 1228 1229 * inc.mk: handle INCGROUPS similar to freebsd 1230 1231 * files.mk: add something for files too 1232 1233 * add staging logic to lib.mk prog.mk etc. 1234 12352017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 1236 1237 * install-mk (MK_VERSION): 20170424 1238 1239 * dirdeps.mk: set NO_DIRDEPS when bootstrapping. 1240 also target of bootstrap-this when sed is needed should be ${_want:T} 1241 12422017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1243 1244 * install-mk (MK_VERSION): 20170418 1245 1246 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a 1247 prefix match for .CURDIR - in which case .CURDIR *is* __objdir. 1248 12492017-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1250 1251 * install-mk (MK_VERSION): 20170401 1252 1253 * meta2deps.py: add is_src so we can check if obj dependency 1254 is also a src dependency. 1255 12562017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 1257 1258 * install-mk (MK_VERSION): 20170326 1259 1260 * meta.stage.mk: do nothing if NO_STAGING is defined. 1261 12622017-03-24 Simon J. Gerraty <sjg@bad.crufty.net> 1263 1264 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc. 1265 12662017-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1267 1268 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_* 1269 12702017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1271 1272 * install-mk (MK_VERSION): 20170301 1273 1274 * dirdeps.mk (_build_all_dirs): update this outside test for empty 1275 DIRDEPS. 1276 1277 * meta.stage.mk: allow multiple inclusion to the extent it makes 1278 sense. 1279 12802017-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1281 1282 * prog.mk (install_links): depends on realinstall 1283 12842017-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 1285 1286 * install-mk (MK_VERSION): 20170212 1287 1288 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries 1289 12902017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 1291 1292 * install-mk (MK_VERSION): 20170130 1293 1294 * dirdeps.mk: use :range if we can. 1295 1296 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130 1297 1298 * meta2deps.py: clean paths without using realpath() where possible. 1299 fix sort_unique. 1300 13012016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1302 1303 * install-mk (MK_VERSION): 20161212 1304 1305 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, 1306 rather than when we detect pid change. 1307 13082016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 1309 1310 * install-mk (MK_VERSION): 20161207 1311 1312 * meta.stage.mk: add stage_as_and_symlink for staging packages. 1313 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able 1314 to use foo.tgz to reference the latest staged version - so we 1315 make foo.tgz a symlink to it. 1316 Using a target to do both operations ensures we stay in sync. 1317 13182016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1319 1320 * install-mk (MK_VERSION): 20161126 1321 1322 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk 1323 so it can add dependencies. 1324 13252016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1326 1327 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE 1328 do that they can influence the result correctly. 1329 1330 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC 1331 1332 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST 1333 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 1334 13352016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 1336 1337 * dirdeps.mk: remove dependence on jot (normal situations anyway). 1338 Before we read another Makefile.depend* set DEP_* vars from 1339 _DEP_TARGET_SPEC in case it uses any of them with := 1340 When bootstrapping, trim any ,* from extention of chosen _src 1341 Makefile.depend* to get the machine value we subst for. 1342 13432016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> 1344 1345 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to 1346 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER 1347 1348 * sys.mk: extract some bits to sys.{debug,vars}.mk 1349 for easier re-use by others. 1350 13512016-09-23 Simon Gerraty <sjg@sjg-mba13> 1352 1353 * lib.mk: Use ${PICO} for extension for PIC objects. 1354 default to .pico (like NetBSD) safe on case insensitive filesystem. 1355 13562016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> 1357 1358 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default 1359 13602016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 1361 1362 * install-mk (MK_VERSION): 20160815 1363 1364 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only 1365 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date. 1366 13672016-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 1368 1369 * meta.sys.mk (.MAKE.META.IGNORE_PATHS): 1370 in meta mode we can ignore the mtime of makefiles 1371 13722016-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1373 1374 * install-mk (MK_VERSION): 20160802 1375 1376 * lib.mk (libinstall): depends on beforinstall 1377 1378 * prog.mk (proginstall): depends on beforinstall 1379 patch from Lauri Tirkkonen 1380 1381 * dirdeps.mk (bootstrap): When bootstrapping; creat 1382 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via 1383 .MAKE.DEPENDFILE_BOOTSTRAP_SED 1384 1385 * dirdeps.mk: move some comments to where they make sense. 1386 13872016-07-27 Simon J. Gerraty <sjg@bad.crufty.net> 1388 1389 * dirdeps.mk (DIRDEPS_CACHE): no dirname. 1390 13912016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1392 1393 * install-mk (MK_VERSION): 20160602 1394 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk 1395 do not apply :T to META_XTRAS 1396 patch from Bryan Drewery at FreeBSD.org. 1397 13982016-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 1399 1400 * install-mk (MK_VERSION): 20160530 1401 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH 1402 make it so. 1403 14042016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 1405 1406 * install-mk (MK_VERSION): 20160512 1407 1408 * dpadd.mk: always include local.dpadd.mk if it exists 1409 remove some things that better belong in local.dpadd.mk 1410 skip INCLUDES_* for staged libs unless SRC_* defined. 1411 1412 * own.mk: add INCLUDEDIR 1413 14142016-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1415 1416 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no 1417 TARGET_MACHINE - :E will be empty or match part of path, use 1418 ${MACHINE} 1419 14202016-04-07 Simon J. Gerraty <sjg@bad.crufty.net> 1421 1422 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to 1423 NO_FILEMON_COOKIE 1424 1425 * dirdeps.mk: move the logic that allows for 1426 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1427 inside the check for !target(_DIRDEP_USE) 1428 14292016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 1430 1431 * Use <> when including local*.mk and others which may exist 1432 elsewhere so that user can better control what they get. 1433 1434 * meta.autodep.mk (NO_FILEMON_COOKIE): 1435 create a cookie if we ever build dir with nofilemon 1436 so that UPDATE_DEPENDFILE will be forced to NO until cleaned. 1437 14382016-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1439 1440 * install-mk (MK_VERSION): 20160401 1441 1442 * meta2deps.py: fix old print statement when debugging. 1443 1444 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X 1445 patch from Bryan Drewery 1446 14472016-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 1448 1449 * install-mk (MK_VERSION): 20160317 (St. Pats) 1450 1451 * warnings.mk: g++ does not like -Wimplicit 1452 1453 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the 1454 pelthora of common suffixes for C++ 1455 1456 * lib.mk: use .So for shared objects 1457 14582016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1459 1460 * install-mk (MK_VERSION): 20160315 1461 1462 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 1463 normally only applies to scripts. 1464 1465 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 1466 well as outside it. 1467 14682016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1469 1470 * install-mk (MK_VERSION): 20160310 1471 1472 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 1473 we have processed; the list gets very inefficient as number of 1474 DIRDEPS gets large. 1475 1476 * sys.dependfile.mk: fix comment wrt MACHINE 1477 1478 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 1479 patch from Bryan Drewery 1480 14812016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 1482 1483 * meta2deps.sh: don't ignore subdirs. 1484 patch from Bryan Drewery 1485 14862016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1487 1488 * install-mk (MK_VERSION): 20160226 1489 1490 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 1491 14922016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 1493 1494 * dirdeps.mk: we shouldn't normally include .depend but if we do 1495 use .dinclude if we can. 1496 14972016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1498 1499 * install-mk (MK_VERSION): 20160218 1500 * sys.clean-env.mk: with recent change to Var_Subst() 1501 we cannot use the '$$' trick, but .export-literal does the job 1502 we need. 1503 * auto.dep.mk: make use .dinclude if we can. 1504 1505 15062016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 1507 1508 * dirdeps.mk: 1509 Add _build_all_dirs such that local.dirdeps.mk can 1510 add fully qualified dirs to it. 1511 These will be built normally but the current 1512 DEP_RELDIR will not depend on then (to avoid cycles). 1513 This makes it easy to hook things like unit-tests into build. 1514 1515 15162016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 1517 1518 * dirdeps.mk: add bootstrap-empty 1519 15202015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1521 1522 * install-mk (MK_VERSION): 20151212 1523 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 1524 only apply :tA to __objdir when comparing to .OBJDIR 1525 15262015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1527 1528 * install-mk (MK_VERSION): 20151111 1529 1530 * meta.sys.mk: include sys.dependfile.mk 1531 1532 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 1533 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 1534 include local.sys.env.mk early 1535 include local.sys.mk later 1536 1537 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 1538 15392015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1540 1541 * meta.sys.mk (META_COOKIE_TOUCH): 1542 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 1543 1544 * meta.stage.mk: stage_libs should ignore SYMLINKS. 1545 15462015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 1547 1548 * install-mk (MK_VERSION): 20151022 1549 1550 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 1551 15522015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1553 1554 * install-mk (MK_VERSION): 20151020 1555 1556 * dirdeps.mk: Add logic for 1557 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1558 15592015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 1560 1561 * install-mk (MK_VERSION): 20151010 1562 15632015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 1564 1565 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 1566 to have stage_lins run last in non-jobs mode. 1567 Use .ORDER only for jobs mode. 1568 15692015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1570 1571 * rst2htm.mk: allow for per target flags etc. 1572 15732015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1574 1575 * install-mk (MK_VERSION): 20150901 1576 1577 * doc.mk: create dir if needed use DOC_INSTALL_OWN 1578 15792015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 1580 1581 * install-mk (MK_VERSION): 20150615 1582 1583 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 1584 Follow make's normal precedence rules. 1585 1586 * gendirdeps.mk: allow customization of the header. 1587 eg. for FreeBSD: 1588 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 1589 1590 * meta.autodep.mk: ignore dirdeps.cache* 1591 1592 * meta.stage.mk: when bootstrapping options it can be handy to 1593 throw warnings rather than errors for staging conflicts. 1594 1595 * meta.sys.mk: include local.meta.sys.mk for customization 1596 15972015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1598 1599 * install-mk (MK_VERSION): 20150606 1600 1601 * dirdeps.mk: don't rely on manually maintained Makefile.depend 1602 to set DEP_RELDIR and reset DIRDEPS. 1603 By setting DEP_RELDIR ourselves we can skip :tA 1604 1605 * gendirdeps.mk: skip setting DEP_RELDIR. 1606 16072015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1608 1609 * dirdeps.mk: avoid wildcards like make(bootstrap*) 1610 16112015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1612 1613 * install-mk (MK_VERSION): 20150520 1614 1615 * dirdeps.mk: when we are building dirdeps cache file we *want* 1616 meta_oodate to look at all the Makefile.depend files, so 1617 set .MAKE.DEPENDFILE to something that won't match. 1618 1619 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 1620 so first use absolute path as key. 1621 Also skip staging at level 0. 1622 16232015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1624 1625 * install-mk (MK_VERSION): 20150430 1626 1627 * dirdeps.mk: fix _count_dirdeps for non-cache case. 1628 16292015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 1630 1631 * install-mk (MK_VERSION): 20150411 1632 bump version 1633 1634 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 1635 it is here mainly for documentation purposes, since 1636 if using auto.obj.mk it is better done via sys.mk 1637 16382015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1639 1640 * install-mk (MK_VERSION): 20150401 1641 1642 * meta2deps.sh: support @list 1643 1644 * meta2deps.py: updates from Juniper 1645 o add EXCLUDES 1646 o skip bogus input files. 1647 o treat 'M' and 'L' as both an 'R' and a 'W' 1648 16492015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1650 1651 * install-mk (MK_VERSION): 20150303 1652 1653 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 1654 which is built via sub-make so we have a .meta file to tell if 1655 it is out-of-date. 1656 The dirdeps-cache contains the same dependency rules that we 1657 normaly construct on the fly. 1658 This adds a few seconds overhead when the cache is out of date, 1659 but for a large target, the savings can be significant (10-20min). 1660 16612014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 1662 1663 * install-mk (MK_VERSION): 20141118 1664 1665 * meta.stage.mk: add stale_staged 1666 1667 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 1668 only useful under very rare conditions such as 1669 FreeBSD's make universe. 1670 1671 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 1672 16732014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1674 1675 * install-mk (MK_VERSION): 20141111 1676 1677 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 1678 16792014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1680 1681 * FILES: include mkopt.sh which allows handling options in shell 1682 scripts in a manner compatible with options.mk 1683 16842014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1685 1686 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 1687 for GENDIRDEPS_FILTER to avoid surprises. 1688 16892014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1690 1691 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 1692 the time it is applied to __depdirs they have. 1693 1694 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 1695 expects patterns like *.${MACHINE} 1696 1697 * cython.mk (pyprefix?): use pyprefix to find python bits 1698 since prefix might be something else (where we install our 1699 stuff) 1700 17012014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1702 1703 * install-mk (MK_VERSION): 20140911 1704 1705 * dirdeps.mk: add bootstrap target to simplify adding support for 1706 new MACHINE. 1707 17082014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1709 1710 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 1711 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 1712 Makefile.depend files. 1713 17142014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1715 1716 * install-mk (MK_VERSION): 20140828 1717 1718 * cython.mk: capture logic for building python extension modules 1719 with Cython. 1720 17212014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1722 1723 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 1724 17252014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1726 1727 * install-mk (MK_VERSION): 20140801 1728 1729 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 1730 identify the autodep.mk variant. 1731 1732 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 1733 initial value does not match .MAKE.DEPENDFILE_PREFIX 1734 1735 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 1736 17372014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1738 1739 * install-mk (MK_VERSION): 20140522 1740 1741 * lib.mk: use CC to link shlib for linux too 1742 patch from Brendan MacDonell 1743 17442014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1745 1746 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 1747 if WITH_META_STATS is defined. 1748 17492014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1750 1751 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 1752 to supress dirdeps outside of .CURDIR. 1753 17542014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1755 1756 * Fix spelling errors - patch from Pedro Giffuni 1757 17582014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 1759 1760 * install-mk (MK_VERSION): 20140314 1761 1762 * dirdeps.mk (beforedirdeps): a handy hook 1763 1764 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 1765 to visit leaf dirs to be intercepted (eg. for distributed 1766 build). 1767 1768 * dirdeps.mk (__depdirs): ensure // don't sneak in 1769 1770 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 1771 1772 17732014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 1774 1775 * rst2htm.mk (RST2PDF): add support for rst2pdf 1776 17772014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1778 1779 * install-mk (MK_VERSION): bump version 1780 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 1781 available. 1782 17832014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1784 1785 * options.mk: avoid :U so this isn't bmake dependent 1786 17872014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 1788 1789 * options.mk: cleanup and simplify semanitcs 1790 NO_* dominates all, if both WITH_* and WITHOUT_* 1791 are defined then result is DOMINATE_* which defaults to "no". 1792 Ie. WITHOUT_ normally wins. 1793 17942013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1795 1796 * install-mk (MK_VERSION): bump version 1797 * meta2deps.py: convert to print function for python3 compat. 1798 we also need to open files with mode 'r' rather than 'rb' 1799 otherwise we get bytes instead of strings. 1800 18012013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1802 1803 * install-mk (MK_VERSION): bump version 1804 1805 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 1806 apply the same filtering (M_dep_qual_fixes) when setting _machines 1807 as _build_dirs. 1808 Also fix the filtering of Makefile.depend files - for reporting 1809 what we are looking for (M_dep_qual_fixes can get confused by 1810 Makefile.depend) 1811 Add some more debug info. 1812 18132013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1814 1815 * gendirdeps.mk (_objtops): fix typo also 1816 while processing M2D_OBJROOTS to gather qualdir_list 1817 qualify $ql with loop iterator to ensure correct results. 1818 18192013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1820 1821 * install-mk (MK_VERSION): 20130801 1822 * libs.mk: update to match progs.mk 1823 18242013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 1825 1826 * install-mk (MK_VERSION): 20130726 1827 some updates from Juniper and FreeBSD 1828 o meta2deps.py: indicate file and line number when we hit parse 1829 errors 1830 also allow @file to provide huge list of .meta files. 1831 * meta2deps.py: add try_parse() to cleanup the above. 1832 18332013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1834 1835 * install-mk (MK_VERSION): 20130716 1836 * own.mk: add GPROG as an option 1837 * prog.mk: honor MK_GPROF==yes 1838 18392013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1840 1841 * install-mk (MK_VERSION): 20130505 1842 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 1843 for when $MACHINE isn't enough for objdir distinction. 1844 Bring meta2deps.sh closer to par with meta2deps.py. 1845 18462013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1847 1848 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 1849 also if the target 'beforeinstall' exists, make it depend on 1850 .dirdep (incase it uses STAGE_INSTALL). 1851 18522013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1853 1854 * install-mk (MK_VERSION): 20130401 ;-) 1855 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 1856 wrapper around install(1). 1857 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 1858 18592013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1860 1861 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 1862 * install-mk (MK_VERSION): bump version 1863 18642013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 1865 1866 * install-mk (MK_VERSION): bump version 1867 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 1868 any trailing /., rather apply :tA only when needed. 1869 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 1870 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 1871 consistently. 1872 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 1873 18742013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1875 1876 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 1877 it is simpler to just not update when say building for "host" 1878 (where we know we apply filters to DIRDEPS), and using a 1879 non-machine qualified dependfile. 1880 18812013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1882 1883 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 1884 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 1885 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 1886 * meta2deps.py: if machine is "host", then also trim 1887 self.host_target from any OBJROOTS. 1888 1889 18902013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1891 1892 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 1893 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 1894 but _DEPENDFILE does not, compare the new _DEPENDFILE against 1895 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 1896 18972013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 1898 1899 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 1900 and hook to all: via staging: 1901 19022013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1903 1904 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 1905 use a separate variable for the default .MAKE.DEPENDFILE value 1906 so that it can be controlled independently of 1907 .MAKE.DEPENDFILE_PREFERENCE 1908 1909 * meta.stage.mk: throw error if cp fails etc. 1910 Stage*() return early if passed no args. 1911 .ORDER stage_* 1912 19132013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1914 1915 * install-mk (MK_VERSION): bump version 1916 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 1917 19182013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1919 1920 * install-mk (MK_VERSION): bump version to 20130210 1921 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 1922 from Juniper. 1923 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 1924 than just MACHINE. 1925 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 1926 19272013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 1928 1929 * install-mk (MK_VERSION): bump version to 20130123 1930 * meta.stage.mk: add stage_links (hard links). 1931 if doing hard links, we add dest to link as well. 1932 Default the stage dir for [sym]links to STAGE_OBJTOP since 1933 these are typically specified as absolute paths. 1934 Add -m "mode" flag to StageFiles and StageAs. 1935 19362012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1937 1938 * install-mk (MK_VERSION): bump version to 20121111 1939 * autoconf.mk: avoid meta mode seeing changed commands for config.status 1940 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 1941 in case we were found via .../mk 1942 * sys.clean-env.mk: move it from examples, we and others use it 1943 "as is". 1944 * FILES: add srctop.mk and options.mk 1945 * own.mk: convert to using options.mk 1946 which is modeled after FreeBSD's handling of MK_* 1947 but more flexible. 1948 This allows MK_* for boolean knobs to not be confused 1949 with MK* which can be commands. 1950 1951 * examples/sys.clean-env.mk: add WITH[OUT]_ to 1952 MAKE_ENV_SAVE_PREFIX_LIST. 1953 Mention that HOME=/var/empty might be a good idea. 1954 19552012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 1956 1957 * sys.dependfile.mk: if not depend file exists, $MACHINE 1958 specific ones are supported but not the default, 1959 check if any exist and follow suit. 1960 19612012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 1962 1963 * install-mk (MK_VERSION): bump version to 20121106 1964 19652012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 1966 1967 * import latest dirdeps.mk and meta2deps.py from Juniper. 1968 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 1969 also add PROGS_TARGETS and pass on PROG_CXX if it seems 1970 appropriate. 1971 19722012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 1973 1974 * meta.stage.mk: update CLEANFILES 1975 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 1976 * progs.mk: Add LDADD to PROG_VARS 1977 19782012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1979 1980 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 1981 _STAGED_DIRS so that these can be turned into filters for 1982 GENDIRDEPS_FILTER. 1983 19842012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1985 1986 * install-mk (MK_VERSION): bump version to 20121010 1987 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 1988 target.dirdep matches .dirdep 1989 19902012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1991 1992 * install-mk (MK_VERSION): bump version to 20120808 1993 * import latest meta2deps.py from Juniper. 1994 19952012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 1996 1997 * install-mk (MK_VERSION): bump version to 20120711 1998 * dep.mk: add explicit dependencies on SRCS after applying 1999 SRCS_DEP_FILTER 2000 * meta.autodep.mk: add explicit dependencies on SRCS after 2001 applying SRCS_DEP_FILTER 2002 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 2003 20042012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 2005 2006 * install-mk (MK_VERSION): bump version to 20120626 2007 * meta.sys.mk: ignore PYTHON if it does not exist 2008 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 2009 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 2010 entries ending in .${MACHINE} to decide if qualified _dirdep is 2011 needed. 2012 * gendirdeps.mk: only produce unqualified deps if no 2013 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 2014 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 2015 20162012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 2017 2018 * install-mk (MK_VERSION): bump version to 20120420 2019 * add sys.dependfile.mk so we can experiment with 2020 .MAKE.DEPENDFILE_PREFERENCE 2021 * meta.autodep.mk: _DEPENDFILE is precious! 2022 20232012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 2024 2025 * install-mk (MK_VERSION): bump version to 20120315 2026 * install-new.mk: avoid being interrupted 2027 20282012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 2029 2030 * man.mk: MAN might have multiple values so be careful with exists(). 2031 20322012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 2033 2034 * install-mk (MK_VERSION): bump version to 20120112 2035 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 2036 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 2037 20382011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 2039 2040 * install-mk (MK_VERSION): bump version to 20111201 2041 * import dirdeps.mk from Juniper sjg@ 2042 o more consistent handling of DEP_MACHINE, especially when 2043 dealing with an odd Makefile.depend, when normally using 2044 Makefile.depend.${MACHINE} 2045 20462011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 2047 2048 * install-mk (MK_VERSION): bump version to 20111122 2049 * meta.autodep.mk: add some debug output, be more crisp about 2050 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 2051 20522011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 2053 2054 * install-mk (MK_VERSION): bump version to 20111111 2055 it's too cool to miss 2056 * import meta* updates from Juniper sjg@ 2057 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 2058 normally using Makefile.depend.${MACHINE}), handy for 2059 read-only manually maintained dependencies. 2060 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 2061 o gendirdeps.mk if ERROR: from meta2deps.py do not update 2062 anything. 2063 20642011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 2065 2066 * install-new.mk separate the cmp and copy logic to its own function. 2067 20682011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 2069 2070 * install-mk (MK_VERSION): bump version to 20111028 2071 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 2072 * subdir.mk: ensure _SUBDIRUSE is provided 2073 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 2074 * meta.subdir.mk: always allow for Makefile.depend 2075 20762011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 2077 2078 * install-mk (MK_VERSION): bump version to 20111010 2079 o minor tweak to *dirdeps.mk from Juniper sjg@ 2080 20812011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 2082 2083 * install-mk (MK_VERSION): bump version to 20111001 2084 o add meta2deps.py from Juniper sjg@ 2085 o tweak gendirdeps.mk to work with meta2deps.py when not 2086 cross-building 2087 * autoconf.mk: add autoconf-input as a hook for regenerating 2088 AUTOCONF_INPUTS (configure). 2089 20902011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 2091 2092 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 2093 trigger for updating Makefile.depend* 2094 20952011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 2096 2097 * install-mk (MK_VERSION): bump version to 20110808 2098 * obj.mk: minor cleanup 2099 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 2100 21012011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 2102 2103 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 2104 specified dir. 2105 21062011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 2107 2108 * meta.autodep.mk: if XMAKE_META_FILE is set 2109 the makefile uses a foreign make, and so dependencies 2110 can only be gathered from a clean tree build. 2111 21122011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 2113 2114 * install-mk (MK_VERSION): bump version to 20110622 2115 * meta.autodep.mk: improve bootstraping 2116 21172011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 2118 2119 * yacc.mk: handle the corner case of .c being removed 2120 while .h remains. 2121 21222011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 2123 2124 * yacc.mk: do .y.h and .y.c separately 2125 21262011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 2127 2128 * install-mk (MK_VERSION): bump version to 20110606 2129 * don't store SRC_DIRDEPS in Makefile.depend* by default 2130 not everyone needs it. 2131 21322011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 2133 2134 * install-mk (MK_VERSION): bump version to 20110505 2135 first release including meta mode makefiles 2136 21372011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 2138 2139 * meta.stage.mk: add STAGE_AS_SETS and stage_as 2140 for things that need to be staged with different names. 2141 21422011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 2143 2144 * meta.stage.mk: add notion of STAGE_SETS 2145 so a makefile can stage to multiple dirs 2146 21472011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 2148 2149 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 2150 on target name. 2151 21522011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 2153 2154 * install-mk (MK_VERSION): bump version to 20110330 2155 21562011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 2157 2158 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 2159 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 2160 * sys.mk: re-define M_whence in terms of M_type. 2161 M_type is useful for checking if something is a builtin. 2162 21632011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 2164 2165 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 2166 stage_libs 2167 21682011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 2169 2170 * dirdeps.mk: correct value for _depdir_files depends on 2171 .MAKE.DEPENDFILE 2172 Add our copyright - just to make it clear we have frobbed this 2173 quite a bit. 2174 DEP_MACHINE needs to be set to MACHINE each time, if using only 2175 Makefile.depend (cf. Makefile.depend.${MACHINE}) 2176 2177 * meta.stage.mk: meta mode version of staging 2178 2179 * init.mk, final.mk: include local.*.mk to simplify customization 2180 21812011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 2182 2183 * auto.obj.mk: just because we are doing mk destroy, we should 2184 still set .OBJDIR correctly if it exists. 2185 2186 * install-mk (mksrc): do not exclude meta.sys.mk 2187 21882011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 2189 2190 * host-target.mk: set/export _HOST_ARCH etc separately, 2191 catch junk resulting from uname -p, so we can find sys/Linux.mk 2192 correctly. 2193 21942011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 2195 2196 * meta.sys.mk: throw an error if /dev/filemon is missing and we 2197 expected to be updating Makefile.depend* 2198 21992011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 2200 2201 * install-mk (MK_VERSION): bump version to 20110214 2202 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 2203 22042010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 2205 2206 * meta.sys.mk: not valid for older bmake 2207 22082010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 2209 2210 * install-mk (MK_VERSION): bump version to 20100919 2211 include dirdeps.mk et al from Juniper Networks, 2212 for meta mode - requires filemon(9). 2213 * sys.mk, subdir.mk: Add hooks for meta mode. 2214 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 2215 to make turning it on/off simple. 2216 22172010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 2218 2219 * install-mk (MK_VERSION): bump version to 20100616 2220 * fix typo in sys.mk 2221 22222010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 2223 2224 * install-mk (MK_VERSION): bump version to 20100612 2225 * lib.mk: remove duplicate addition to SOBJS 2226 22272010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 2228 2229 * sys.mk: Add a means of selectively turning on debug flags. 2230 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 2231 will act as if we did make -dv if .CURDIR ends in lib/sjg 2232 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 2233 the start of sys.mk rather than the end. 2234 This only makes sense for leaf dirs, so we check that 2235 .MAKE.LEVEL > 0 2236 22372010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 2238 2239 * install-mk (MK_VERSION): bump version to 20100608 2240 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 2241 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 2242 also make it easier for folk to tweak 2243 22442010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 2245 2246 * install-mk (MK_VERSION): bump version to 20100606 2247 do not install examples/* 2248 * FILES: add examples/sys.clean-env.mk 2249 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 2250 this requires bmake-20100606 or later to work. 2251 22522010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 2253 2254 * sys.mk (M_tA): better simulate the result of :tA if not available. 2255 22562010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 2257 2258 * sys.mk: canonicalize MAKE_VERSION 2259 old versions reported bmake-<src-date> build-<build-date> 2260 whereas we only care about <src-date> 2261 22622010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 2263 2264 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 2265 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 2266 is !empty 2267 22682010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 2269 2270 * dpadd.mk: use LDADD_* if defined. 2271 22722010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 2273 2274 * install-mk (MK_VERSION): bump version to 20100420 2275 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 2276 * autoconf.mk allow AUTO_AUTOCONF 2277 22782010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 2279 2280 * obj.mk: add objwarn to keep freebsd makefiles happy 2281 * auto.obj.mk: ensure Mkdirs is available. 2282 * FILES: add auto.dep.mk - a simpler version of autodep.mk 2283 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 2284 asked to do that. 2285 fix/simplify the tests for when to run mkdep. 2286 * auto.dep.mk: add some explanation of how/what we do. 2287 * autodep.mk: skip the .OPTIONAL frobbing of .depend 2288 bmake's FROM_DEPEND flag makes it redundant. 2289 22902010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 2291 2292 * install-mk (MK_VERSION): bump version to 20100404 2293 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 2294 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 2295 Also create a target _SUBDIRUSE so that we can be used without 2296 subdir.mk 2297 22982010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 2299 2300 * dep.mk: use <> when .including so can override. 2301 23022010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 2303 2304 * lib.mk (SHLIB_LINKS): ensure a string comparison. 2305 23062010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 2307 2308 * install-mk (MK_VERSION): bump version to 20100102 2309 * own.mk: ensure PRINTOBJDIR works 2310 * autoconf.mk: pass on CONFIGURE_ARGS 2311 * init.mk: handle COPTS.${.IMPSRC:T} etc. 2312 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 2313 fix handling of symlinks for darwin 2314 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 2315 * man.mk: suppress chown when not root. 2316 * rst2htm.mk: allow srcs from multiple locations. 2317 * sys.mk: M_whence, stop after 1st line of output. 2318 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 2319 * sys/SunOS.mk: we need to export PATH 2320 23212009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 2322 2323 * install-mk (MK_VERSION): bump version 2324 include rst2htm.mk 2325 23262009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 2327 2328 * sys.mk,libnames.mk add .-include <local.*> 2329 this allows local customization without the need to edit the 2330 distributed files. 2331 23322009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 2333 2334 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 2335 older versions already installed. 2336 23372009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 2338 2339 * stage.mk (.stage-install): generalize lib.mk's .libinstall 2340 * rules.mk rules for generic Makefile. 2341 * inc.mk install for includes. 2342 23432009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 2344 2345 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 2346 this, so provide it if using native make. 2347 23482009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 2349 2350 * FILES: move all the platform *.sys.mk files to sys/*.mk 2351 * Rename Generic.sys.mk to sys.mk - we always want it. 2352 23532009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 2354 2355 * install-mk (MK_VERSION): bump version 2356 * host-target.mk: only export the expensive stuff 2357 * Generic.sys.mk (sys_mk): for SunOS we need to look for 2358 ${HOST_OS}.${HOST_OSMAJOR} too! 2359 23602009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 2361 2362 * install-mk (MK_VERSION): bump version 2363 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 2364 based on patch from Greg Olszewski. 2365 * Generic.sys.mk: if we have nothing to work with 2366 set LORDER etc only if we can find it. 2367 23682009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 2369 2370 * install-mk (MK_VERSION): bump version 2371 * man.mk: cleanman: remove CLEANMAN if defined. 2372 23732009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 2374 2375 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 2376 23772009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 2378 2379 * install-mk (MK_VERSION): bump version 2380 include auto.obj.mk 2381 2382 23832009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 2384 2385 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 2386 23872008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 2388 2389 * install-mk (MK_VERSION): bump version 2390 man.mk: ensure we generate *.cat1 etc in . 2391 23922008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 2393 2394 * install-mk (MK_VERSION): bump version 2395 add prlist.mk 2396 23972007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 2398 2399 * Generic.sys.mk: Allow os specific sys.mk to be in a 2400 subdir of ${.PARSEDIR} 2401 24022007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 2403 2404 * install-mk (MK_VERSION): bump version 2405 * general cleanup 2406 * dpadd.mk introduce DPMAGIC_LIBS_* 2407 24082007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 2409 2410 * install-mk (MK_VERSION): bump version 2411 2412 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 2413 depend files and ensure clean is called for each lib/prog. 2414 24152007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 2416 2417 * autodep.mk (.depend): delete lines that do not start with 2418 space and do not contain ':' 2419 24202007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 2421 2422 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 2423 so make sure the transform for .OPTIONAL copes. 2424 24252007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2426 2427 * install-mk (MK_VERSION): bump version 2428 2429 * own.mk: make sure RM and LN are defined. 2430 2431 * obj.mk: fix a typo, and objlink target. 2432 24332006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 2434 2435 * install-mk (MK_VERSION): bump version 2436 * added libs.mk - analogous to progs.mk 2437 make both of them always inlcude {lib,prog}.mk 2438 24392006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 2440 2441 * progs.mk: add a means of building multiple apps in one dir. 2442 24432006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 2444 2445 * install-mk (MK_VERSION): bump version to 20061126 2446 2447 * warnings.mk: detect invalid WARNINGS_SET 2448 2449 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 2450 specific warnings. 2451 2452 * For .cc sources, turn off warnings that g++ vomits on. 2453 24542006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 2455 2456 * own.mk: if __initialized__ target doesn't exist and we are 2457 FreeBSD we got here directly from sys.mk 2458 24592006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 2460 2461 * install-mk (MK_VERSION): bump version to 20061106 2462 add scripts.mk 2463 24642006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 2465 2466 * install-mk (MK_VERSION): bump version to 20060318 2467 2468 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 2469 24702006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 2471 2472 * install-mk (MK_VERSION): bump version to 20060302 2473 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 2474 24752006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 2476 2477 * install-mk (MK_VERSION): bump version to 20060301 2478 * autodep.mk (.depend): 2479 if MAKE_VERSION is newer than 20050530 we can make .END depend on 2480 .depend and make .depend depend on __depsrcs that exist. 2481 * dpadd.mk: add SRC_PATHADD 2482 24832005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2484 2485 * install-mk (MK_VERSION): bump version to 20051104 2486 * prog.mk: remove all the LIBC?= junk, use 2487 .-include libnames.mk instead (none by default). 2488 also if USE_DPADD_MK is set, include that. 2489 24902005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2491 2492 * install-mk (MK_VERSION): bump version to 20051001 2493 Add UnixWare.sys.mk from Klaus Heinz. 2494 24952005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 2496 2497 * install-mk: always install *.sys.mk and if need be symlink one 2498 to sys.mk 2499 25002005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 2501 2502 * subdir.mk, own.mk: use .MAKE rather than MAKE 2503 25042004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2505 2506 * own.mk: don't use NetBSD's _SRC_TOP_ it can 2507 cause confusion. Also don't take just 'mk' as a 2508 srctop indicator. 2509 25102004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 2511 2512 * warnings.mk: overhauled, now very powerful. 2513 25142004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2515 2516 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 2517 25182004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 2519 2520 * install-mk (MK_VERSION): bump version to 20040201 2521 * extract HOST_TARGET stuff to host-target.mk so own.mk and 2522 Generic.sys.mk can share. 2523 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 2524 25252003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 2526 2527 * install-mk (MK_VERSION): 20030930 2528 * rename generic.sys.mk to Generic.sys.mk 2529 so that it does not get installed (unless being used as sys.mk) 2530 * set OS and ROOT_GROUP for those that we know the value. 2531 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 2532 we don't do it again for each sub-make. 2533 25342003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2535 2536 * install-mk (MK_VERSION): 20030928 2537 Add some extra *.sys.mk from bootstrap-pkgsrc 2538 some of these likely still need work. 2539 Make everything default to root:wheel ownership, 2540 sys.mk can set ROOT_GROUP accordingly. 2541 25422003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 2543 2544 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 2545 not the portable ones. 2546 25472003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2548 2549 * install-mk: add ability to use cp -f when updating 2550 destination .mk files. Also now possible to play games with 2551 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 2552 into dest - not recommended unless you seriously want to. 2553 25542003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2555 2556 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 2557 for semi-compatability with NetBSD. 2558 25592003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2560 2561 * install-mk: add a version indicator 2562 25632003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 2564 2565 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 2566 2567 * install-mk: Allow FORCE_SYS_MK to come from env 2568 2569 2570 2571