12025-03-14 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * install-mk (MK_VERSION): 20250314 4 5 * meta.stage.mk: StageFiles --subdir: preserve the dir part of 6 each file under $dest 7 82025-03-12 Simon J Gerraty <sjg@beast.crufty.net> 9 10 * meta.autodep.mk: do a better job of handling MAKESYSPATH in 11 GENDIRDEPS_ENV. If we have MAKE_VERSION >= 20230123 we can just 12 use .SYSPATH, otherwise it is a bit more complicated. 13 142025-01-10 Simon J Gerraty <sjg@beast.crufty.net> 15 16 * rust.mk: use RUST_LIBS and RUST_PROGS 17 182025-01-01 Simon J Gerraty <sjg@beast.crufty.net> 19 20 * install-mk (MK_VERSION): 20250101 21 22 * use W flag to :S and :C rather than :tW 23 242024-12-16 Simon J Gerraty <sjg@beast.crufty.net> 25 26 * rust.mk: add RUSTFLAGS if needed 27 282024-12-12 Simon J Gerraty <sjg@beast.crufty.net> 29 30 * init.mk (OBJS_SRCS_FILTER): apply this as 31 ${OBJS_SRCS_FILTER:ts:} as we do in FreeBSD. 32 332024-12-03 Simon J Gerraty <sjg@beast.crufty.net> 34 35 * install-mk (MK_VERSION): 20241202 36 37 * setopts.sh: needed by newlog.sh 38 392024-11-22 Simon J Gerraty <sjg@beast.crufty.net> 40 41 * meta.sys.mk: add META_MODE_XTRAS to META_MODE to make it 42 easier to add things like 'env' when debugging. 43 44 * install-mk (MK_VERSION): 20241122 45 46 * rust.mk: rename CARGO* to RUST_CARGO* so I don't feel 47 like this makefile should be renamed to cargo.mk 48 492024-11-11 Simon J Gerraty <sjg@beast.crufty.net> 50 51 * dirdeps.mk: add DIRDEPS_CACHED_ENV to dirdeps-cached and 52 DIRDEP_USE_EPILOGUE to _DIRDEP_USE 53 542024-10-30 Simon J Gerraty <sjg@beast.crufty.net> 55 56 * meta.sys.mk: if MK_META_ERROR_TARGET is yes and NEWLOG_SH is 57 set, and ERROR_LOGDIR already exists, hook _rotateErrorLog to 58 .BEGIN target. 59 602024-10-27 Simon J Gerraty <sjg@beast.crufty.net> 61 62 * options.mk: add support for DEBUG_OPTIONS (similar to 63 DEBUG_DIRDEPS) to allow us to see where options get set. 64 Eg. DEBUG_OPTIONS="STAGING*" gives: 65 66 bmake[1]: "mk/options.mk" line 89: sys.mk: MK_STAGING=yes (MK_DIRDEPS_BUILD=no) 67 bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING=yes 68 bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING_PROG=no 69 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_MAN=yes (MK_STAGING=yes) 70 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_PROG=no (MK_STAGING=yes) 71 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_RUST=no (MK_STAGING_PROG=no) 72 73 * own.mk: fix setting of STAGE_OBJTOP (normally set by sys.dirdeps.mk) 74 752024-10-26 Simon J Gerraty <sjg@beast.crufty.net> 76 77 * rust.mk: add some documentation and support for staging 78 792024-10-25 Simon J Gerraty <sjg@beast.crufty.net> 80 81 * rust.mk: a means of integrating Rust projects into a larger build. 82 832024-10-18 Simon J Gerraty <sjg@beast.crufty.net> 84 85 * dirdeps-targets.mk: if DEBUG_DIRDEPS_TARGETS and we found 86 STATIC_DIRDEPS_CACHE, report its relative path. 87 882024-09-30 Simon J Gerraty <sjg@beast.crufty.net> 89 90 * dirdeps.mk: tweak the debug message for "Loading" a 91 Makefile.depend file, always report what the actual makefile is 92 with the DIRDEP it is for. 93 Remove the redundant "Looking" message. 94 952024-09-26 Simon J Gerraty <sjg@beast.crufty.net> 96 97 * meta2deps.py: when raising AssertionError include meta file name 98 with $SB trimmed if possible. 99 1002024-09-23 Simon J Gerraty <sjg@beast.crufty.net> 101 102 * meta2deps.py: replace assert() with raise AssertionError when we 103 detect missing eXits, to ensure a meaningful message gets into 104 log. 105 1062024-09-21 Simon J Gerraty <sjg@beast.crufty.net> 107 108 * install-mk (MK_VERSION): 20240921 109 110 * FILES: add genfiles.mk 111 1122024-09-20 Simon J Gerraty <sjg@beast.crufty.net> 113 114 * install-mk (MK_VERSION): 20240920 115 116 * cython.mk: Get PYTHON_VERSION from PYTHON 117 1182024-08-31 Simon J Gerraty <sjg@beast.crufty.net> 119 120 * subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*} 121 and handle subdir with '-' in its name. 122 1232024-08-23 Simon J Gerraty <sjg@beast.crufty.net> 124 125 * install-mk (MK_VERSION): 20240820 126 127 * links.mk: Allow a filter to be applied to SYMLINKS etc. 128 It is up to [BUILD_][SYM]LINKS_FILTER to do something sane. 129 Also only claim we are making a symlink if the value changed. 130 1312024-06-22 Simon J Gerraty <sjg@beast.crufty.net> 132 133 * install-mk (MK_VERSION): 20240616 134 135 * dirdeps.mk: apply DEP_DIRDEPS_BUILD_DIR_FILTER after we have 136 computed build dirs, since some filters cannot be easily expressed via 137 DEP_DIRDEPS_FILTER. 138 1392024-05-31 Simon J Gerraty <sjg@beast.crufty.net> 140 141 * dirdeps.mk: move reset of DIRDEPS_EXPORT_VARS 142 until after we a finished with it if building a cache. 143 1442024-05-04 Simon J Gerraty <sjg@beast.crufty.net> 145 146 * install-mk (MK_VERSION): 20240504 147 148 * dirdeps.mk: allow BUILD_DIRDEPS_OVERRIDES to pass overrides to 149 sub-make building DIRDEPS_CACHE. 150 1512024-04-24 Simon J Gerraty <sjg@beast.crufty.net> 152 153 * meta.autodep.mk: do not override start_utc 154 1552024-04-18 Simon J Gerraty <sjg@beast.crufty.net> 156 157 * sys.dirdeps.mk: set defaults for DEP_* at level 0 too. 158 These help when first include of Makefile.depend happens in a leaf 159 dir. 160 161 * install-mk (MK_VERSION): 20240414 162 1632024-04-09 Simon J Gerraty <sjg@beast.crufty.net> 164 165 * install-mk (MK_VERSION): 20240408 166 167 * init.mk: allow for _ as well as . to join V 168 and Q from QUALIFIED_VAR_LIST and VAR_QUALIFIER_LIST. 169 170 * progs.mk: avoid overlap between PROG_VARS and 171 init.mk's QUALIFIED_VAR_LIST since PROG would also 172 match its VAR_QUALIFIER_LIST, 173 libs.mk does not have the same issue. 174 175 * subdir.mk: _SUBDIRUSE for realinstall should run install 176 remove include of ${.CURDIR}/Makefile.inc that can be done via 177 local.subdir.mk where needed 178 179 * own.mk: do not conflict with man.mk 180 1812024-03-19 Simon J Gerraty <sjg@beast.crufty.net> 182 183 * install-mk (MK_VERSION): 20240314 184 185 * add sys/Cygwin.mk from Christian Franke 186 1872024-03-09 Simon J Gerraty <sjg@beast.crufty.net> 188 189 * install-mk (MK_VERSION): 20240309 190 191 * meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not 192 want to save the .ERROR_META_FILE 193 1942024-02-20 Simon J Gerraty <sjg@beast.crufty.net> 195 196 * install-mk (MK_VERSION): 20240220 197 198 * sys.dirdeps.mk, dirdeps-targets.mk, init.mk: 199 do not set .MAIN: dirdeps in sys.dirdeps.mk 200 dirdeps-targets.mk will do that for top-level builds 201 and init.mk will do it for others. 202 This allows a Makefile which has no need of 'dirdeps' to 203 set .MAIN for itself and "just work". 204 2052024-02-18 Simon J Gerraty <sjg@beast.crufty.net> 206 207 * bsd.*.mk: for makefiles that get a bsd. symlink, 208 use _this in multiple inclusion tags since .PARSEFILE will not 209 DTRT when such a makefile is included directly by Makefile and 210 automatically (without bsd. prefix). 211 Since we cannot guarantee that our sys.mk will be used, we provide 212 a default _this in each makefile that gets a bsd. prefix such that 213 the value is the same regardless of bsd. prefix. 214 215 * subdir.mk: drop the !target guard on $SUBDIR_TARGETS 216 2172024-02-12 Simon J Gerraty <sjg@beast.crufty.net> 218 219 * install-mk (MK_VERSION): 20240212 220 221 * SPDX-License-Identifier: BSD-2-Clause 222 Add SPDX-License-Identifier to inidicate that I consider 223 my copyright on any of these makefiles equivalent to BSD-2-Clause 224 225 * autoconf.mk: allow for configure.ac as currently recommended 226 227 * subdir.mk: support @auto 228 which is replaced with each subdir that 229 has a [Mm]akefile. 230 231 * subdir.mk: include local.subdir.mk if it exists. 232 233 * subdir.mk: rework to handle .WAIT 234 2352024-02-11 Simon J Gerraty <sjg@beast.crufty.net> 236 237 * subdir.mk: _SUBDIRUSE report the target we are entering subdirs for. 238 2392024-02-10 Simon J Gerraty <sjg@beast.crufty.net> 240 241 * prog.mk: treat empty SRCS the same as undefined 242 2432024-02-02 Simon J Gerraty <sjg@beast.crufty.net> 244 245 * Avoid undefined errors in lint (-dL) mode 246 247 * man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7) 248 2492024-01-28 Simon J Gerraty <sjg@beast.crufty.net> 250 251 * install-mk (MK_VERSION): 20240128 252 253 * FILES: add ccm.dep.mk for C++ modules 254 add suffixes.mk for common location for generic SUFFIX rules. 255 256 * auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk 257 replace OBJ_EXTENSIONS with OBJ_SUFFIXES 258 259 * autodep.mk: leverage CXX_SUFFIXES for __depsrcs 260 and update style (spaces around = etc) 261 262 * init.mk: add OBJS_SRCS_FILTER to filter SRCS when 263 setting OBJS 264 265 * meta2deps.py: handle multiple ./ embedded in path better. 266 2672024-01-05 Simon J Gerraty <sjg@beast.crufty.net> 268 269 * install-mk (MK_VERSION): 20240105 270 * dirdeps.mk: for MAKE_VERSION 20240105 we do not have the same 271 limits on command line length, so skip export of lists to env. 272 2732023-12-24 Simon J Gerraty <sjg@beast.crufty.net> 274 275 * man.mk: add logic for staging man pages 276 2772023-11-28 Simon J Gerraty <sjg@beast.crufty.net> 278 279 * jobs.mk: avoid C suffix in JOB_MAX_C if factor is floating 280 point. This keeps JOB_MAX numeric incase another makefile does 281 comparisons. 282 2832023-11-04 Simon J Gerraty <sjg@beast.crufty.net> 284 285 * dpadd.mk: add support for DPLIBS_QUALIFIER_LIST 286 287 * gendirdeps.mk: if META_XTRAS is passed to us, add to META_FILES 288 2892023-10-03 Simon J Gerraty <sjg@beast.crufty.net> 290 291 * compiler.mk (COMPILER_VERSION): clang at least is into 292 double digit major versions. 293 2942023-10-02 Simon J Gerraty <sjg@beast.crufty.net> 295 296 * install-mk (MK_VERSION): 20231001 297 298 * set _CCLINK in init.mk so lib.mk can use it for default SHLIB_LD 299 300 * lib.mk (cleanlib): use LD_solink so we remove all the right files. 301 Use -Wl for -soname since we now default to linking with CC 302 We should not need SHLIB_LDSTARTFILE or SHLIB_LDENDFILE when linking 303 with CC. 304 3052023-09-24 Simon J Gerraty <sjg@beast.crufty.net> 306 307 * init.mk (QUALIFIED_VAR_LIST): Add SRCS 308 3092023-09-09 Simon J Gerraty <sjg@beast.crufty.net> 310 311 * jobs.mk (JOB_MAX): use -jC if we can 312 we actually use JOB_MAX_C which defaults to 1.33C 313 3142023-08-18 Simon J Gerraty <sjg@beast.crufty.net> 315 316 * now_utc: %s only works with :localtime 317 3182023-07-14 Simon J Gerraty <sjg@beast.crufty.net> 319 320 * install-sh: ignore -c as claimed and only insist on 321 a directory for destination when more than one file to copy. 322 323 * sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and 324 ${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64) 325 3262023-07-13 Simon J Gerraty <sjg@beast.crufty.net> 327 328 * install-mk (MK_VERSION): 20230711 329 330 * sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible 331 install(1) 332 333 * sys/IRIX.mk: when setting ROOT_GROUP only match the first :0: 334 set INSTALL to install-sh rather than pathname that may not exist 335 (yet). 336 3372023-07-07 Simon J Gerraty <sjg@beast.crufty.net> 338 339 * dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE 340 normally this is empty - for the default target, but there are 341 use-cases where we might set it to something else. 342 3432023-07-04 Simon J Gerraty <sjg@beast.crufty.net> 344 345 * install-mk (MK_VERSION): 20230704 346 347 * dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output 348 when DEBUG_DIRDEPS is in effect. 349 Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n 350 can greatly improve readability. 351 3522023-05-25 Simon J Gerraty <sjg@beast.crufty.net> 353 354 * meta.autodep.mk (beforegendirdeps): allow tasks to be done 355 at END but before gendirdeps 356 3572023-05-22 Simon J Gerraty <sjg@beast.crufty.net> 358 359 * install-mk (MK_VERSION): 20230522 360 361 * host-target.mk: deal with garbage from uname -m on 362 Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH 363 these days so just leave it be. 364 For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get 365 arm64 and x86_64 in HOST_TARGET. 366 3672023-05-15 Simon J Gerraty <sjg@beast.crufty.net> 368 369 * sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older 370 versions of bmake. 371 372 * dirdeps.mk (TARGET_SPEC_VARS.host): 373 While *most* projects need only DEP_MACHINE for host, 374 there is always an exception. So we allow for 375 TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS. 376 The default will *just work* for most projects. 377 We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC 378 based on DEP_MACHINE. 379 Allow for M_dep_qual_fixes.host to be different too 380 and take care to apply the right set. 381 3822023-05-14 Simon J Gerraty <sjg@beast.crufty.net> 383 384 * sys.dirdeps.mk: we *do* want to override OBJTOP 385 and if MAKEOBJDIR was not in env as we want it; 386 put it there - carefully. 387 Ensure OBJROOT ends in / or - (/ preferred) 388 Add more comments to explain what/why. 389 3902023-05-13 Simon J Gerraty <sjg@beast.crufty.net> 391 392 * install-mk (MK_VERSION): 20230512 393 394 * dirdeps.mk: take care not to qualify "host" dirdeps 395 396 * sys.dirdeps.mk (OBJTOP): must use ?= 397 3982023-05-10 Simon J Gerraty <sjg@beast.crufty.net> 399 400 * meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no" 401 suppress processing of .depend 402 4032023-05-09 Simon J Gerraty <sjg@beast.crufty.net> 404 405 * dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP 406 407 * meta.sys.mk sys.dirdeps.mk: 408 originally DIRDEPS_BUILD and META_MODE were the same thing, 409 but META_MODE is useful by itself. 410 Move things from meta.sys.mk which actually pertain to 411 DIRDEPS_BUILD to sys.dirdeps.mk 412 4132023-05-04 Simon J Gerraty <sjg@beast.crufty.net> 414 415 * install-mk (MK_VERSION): 20230504 May the Forth be with you 416 417 * dirdeps.mk: as with meta.sys.mk we treat "host" as special. 418 DEP_TARGET_SPEC is just ${DEP_MACHINE} 419 420 * meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at 421 level > 0 since these are often refered to in Makefile.depend* 422 4232023-04-26 Simon J Gerraty <sjg@beast.crufty.net> 424 425 * jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and 426 anything in ${JOB_LOG_START} 427 428 * jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}} 429 or a scripts subdir before searching $PATH. 430 431 * FILES: include newlog.sh for jobs.mk 432 4332023-04-20 Simon J Gerraty <sjg@beast.crufty.net> 434 435 * install-mk (MK_VERSION): 20230420 436 437 * lib.mk: include LDFLAGS and LDADD when linking shared libs 438 439 * gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc 440 via local.meta.sys.mk rather than local.gendirdeps.mk 441 so DEP_* variables can be set at level 1+ to avoid syntax errors 442 when used in conditionals in manually maintained Makefile.depend 443 files. 444 445 * dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines 446 4472023-04-18 Simon J Gerraty <sjg@beast.crufty.net> 448 449 * dirdeps.mk: check we were not included by 450 Makefile.depend.options as the result is bad. 451 4522023-04-14 Simon J Gerraty <sjg@beast.crufty.net> 453 454 * install-mk (MK_VERSION): 20230414 455 456 * meta.sys.mk: since we have :range we can put the logic for 457 processing TARGET_SPEC from env here. 458 459 * dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including 460 local.dirdeps-missing.mk, also improve debug output. 461 462 * dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC 463 we need to use :M*[/.]* same as for when actually setting DIRDEPS 464 from the targets on command line. 465 4662023-04-12 Simon J Gerraty <sjg@beast.crufty.net> 467 468 * Add jobs.mk 469 4702023-03-21 Simon J Gerraty <sjg@beast.crufty.net> 471 472 * install-mk (MK_VERSION): 20230321 473 474 * meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter 475 STAGE_LIBS for SHLIB_LINKS. 476 477 * autoconf.mk: add .WAIT after config.status 478 4792023-02-17 Simon J Gerraty <sjg@beast.crufty.net> 480 481 * sys.vars.mk: add M_Index to report the index of a word in a list. 482 4832023-02-15 Simon J Gerraty <sjg@beast.crufty.net> 484 485 * install-mk (MK_VERSION): 20230215 486 487 * warnings.mk: allow better control of -Werror 488 allow -Wno-error or similar to be added if 489 WARNINGS_SET < WERROR_SET 490 account for COMPILER_TYPE 491 4922023-01-29 Simon J Gerraty <sjg@beast.crufty.net> 493 494 * autoconf.mk: hook config.status to beforebuild. 495 496 * whats.mk: what*.c is NOTMAIN 497 4982023-01-27 Simon J Gerraty <sjg@beast.crufty.net> 499 500 * install-mk (MK_VERSION): 20230127 501 control umask so directories are created with suitable mode. 502 5032023-01-20 Simon J Gerraty <sjg@beast.crufty.net> 504 505 * install-mk (MK_VERSION): 20230120 506 507 * sys.vars.mk: add M_On and M_Onr also cleanup to be more 508 consistent wrt testing MAKE_VERSION 509 5102023-01-12 Simon J Gerraty <sjg@beast.crufty.net> 511 512 * install-mk (MK_VERSION): 20230112 513 514 * meta2deps.{py,sh}: assert if filemon data is truncated 515 we should see the '# Bye bye' record - assert if we do not. 516 5172022-09-09 Simon J Gerraty <sjg@beast.crufty.net> 518 519 * install-mk (MK_VERSION): 20220909 520 521 * sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings 522 5232022-09-06 Simon J Gerraty <sjg@beast.crufty.net> 524 525 * dirdeps-options.mk: explain the need to use 526 ${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to 527 ${TARGET_SPEC_VAR} 528 5292022-09-03 Simon J Gerraty <sjg@beast.crufty.net> 530 531 * install-mk (MK_VERSION): 20220903 532 533 * M_cmpv handle more than 3 dots and clear leading 0's 534 5352022-07-20 Simon J Gerraty <sjg@beast.crufty.net> 536 537 * install-mk (MK_VERSION): 20220720 538 539 * prog.mk: handle PROG_CXX for more than just NetBSD 540 5412022-06-20 Simon J Gerraty <sjg@beast.crufty.net> 542 543 * install-mk (MK_VERSION): 20220620 544 545 * yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER 546 rather than just suffix rules 547 5482022-04-23 Simon J Gerraty <sjg@beast.crufty.net> 549 550 * install-mk (MK_VERSION): 20220422 551 552 * gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no" 553 do not capture any local depends in Makefile.depend 554 5552022-03-25 Simon J Gerraty <sjg@beast.crufty.net> 556 557 * install-mk (MK_VERSION): 20220323 558 * posix.mk: default rules for .POSIX: 559 5602022-03-17 Simon J Gerraty <sjg@beast.crufty.net> 561 562 * sys/*.mk: remove l from ARFLAGS 563 5642022-03-14 Simon J Gerraty <sjg@beast.crufty.net> 565 566 * install-mk (MK_VERSION): 20220314 567 568 * dirdeps-options.mk: allow options to be per RELDIR 569 try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed 570 with ${DEP_RELDIR}. 571 5722022-02-14 Simon J Gerraty <sjg@beast.crufty.net> 573 574 * install-mk (MK_VERSION): 20220214 575 576 * cc-wrap.mk: fix :@ modifier 577 5782022-02-06 Simon J Gerraty <sjg@beast.crufty.net> 579 580 * install-mk (MK_VERSION): 20220206 581 582 * cc-wrap.mk: docuement how CCACHE etc might be set for 583 maximum flexibility 584 5852022-02-05 Simon J Gerraty <sjg@beast.crufty.net> 586 587 * sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT 588 5892022-02-04 Simon J Gerraty <sjg@beast.crufty.net> 590 591 * install-mk (MK_VERSION): 20220204 592 593 * host-target.mk: use .MAKE.OS if available 594 5952022-02-02 Simon J Gerraty <sjg@beast.crufty.net> 596 597 * install-mk (MK_VERSION): 20220202 598 599 * cc-wrap.mk: allow other entries in CC_WRAP_FILTER 600 We add our filter on extensions last, so prior filters 601 can apply to the whole value of .IMPSRC 602 6032022-02-01 Simon J Gerraty <sjg@beast.crufty.net> 604 605 * cc-wrap.mk: take advantage of target local variables to 606 wrap compilers like CC CXX with wrappers like ccache distcc etc 607 6082022-01-28 Simon J Gerraty <sjg@beast.crufty.net> 609 610 * meta2deps: we do not expect any trace data for setid apps 611 6122022-01-26 Simon J Gerraty <sjg@beast.crufty.net> 613 614 * dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed 615 to sub-make using DIRDEPS_CACHE 616 6172022-01-07 Simon J Gerraty <sjg@beast.crufty.net> 618 619 * dirdeps.mk: use _cache_script to minimize the number of shells 620 forked when generating dirdeps.cache 621 6222022-01-02 Simon J Gerraty <sjg@beast.crufty.net> 623 624 * install-mk (MK_VERSION): 20220101 625 626 * dirdeps.mk: initialize DEP_* and _debug_reldir earlier. 627 If initial DIRDEPS are from command line, create the target 628 _dirdeps_cmdline as an indication. 629 6302022-01-01 Simon J Gerraty <sjg@beast.crufty.net> 631 632 * init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD 633 at top-level only some targets are allowed at level 0, 634 for leaf makefiles only the default (all) target is restricted 635 6362021-12-28 Simon J Gerraty <sjg@beast.crufty.net> 637 638 * install-mk (MK_VERSION): 20211228 639 640 * meta2deps.py: filemon on Linux is not as reliable as we might 641 like, we do not want to update DIRDEPS if filemon output is 642 incomplete. Track pids that we 'E'xec and make sure we see an 643 e'X'it for each one. Throw an error if we are missing any 'X' 644 records. 645 6462021-12-12 Simon J Gerraty <sjg@beast.crufty.net> 647 648 * sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes. 649 650 * meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON 651 is something else. 652 653 * meta.autodep.mk: we can now reference ${.SUFFIXES} 654 655 * meta2deps.py: derive a list of dirdep extensions from 656 TARGET_SPEC to trim from dirdeps. 657 658 * dirdeps.mk: flip the computation of qualified vs unqualified 659 dirdeps - it is much simpler to check for unqualified first. 660 6612021-12-11 Simon J Gerraty <sjg@beast.crufty.net> 662 663 * install-mk (MK_VERSION): 20211212 664 665 * auto.dep.mk: rearrange so that the trivial implementation 666 for recent bmake is more obvious. 667 6682021-12-07 Simon J Gerraty <sjg@beast.crufty.net> 669 670 * install-mk (MK_VERSION): 20211207 671 672 * Ensure guard targets are .NOTMAIN 673 674 * meta.sys.mk: check for nofilemon support when we skip level 0 675 676 * auto.dep.mk: make this usable in meta mode 677 for platforms that cannot use meta.autodep.mk 678 679 * meta2deps.py: avoid confusion if MACHINE and another 680 TARGET_SPEC_VAR have same value. 681 6822021-11-27 Simon J Gerraty <sjg@beast.crufty.net> 683 684 * dirdeps.mk: when building dirdeps.cache, minimize the amount of 685 data put into env, by stripping ${SRCTOP}/ from each entry. 686 A long sandbox name can double the amount of memory consumed and 687 in extreme cases cause failure. 688 While we are at it, strip ${SRCTOP}/ from a lot of the debug output. 689 6902021-11-11 Simon J Gerraty <sjg@beast.crufty.net> 691 692 * install-mk (MK_VERSION): 20211111 693 694 * meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail 695 so fallback to cp if necessary. 696 6972021-10-30 Simon J Gerraty <sjg@beast.crufty.net> 698 699 * man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year 700 old cmt2doc.pl 701 7022021-10-24 Simon J Gerraty <sjg@beast.crufty.net> 703 704 * meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f} 705 as the symlink (rare) 706 7072021-10-16 Simon J Gerraty <sjg@beast.crufty.net> 708 709 * autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not 710 been read, throw an error after running configure telling user to 711 restart. 712 7132021-10-13 Simon J Gerraty <sjg@beast.crufty.net> 714 715 * install-mk (MK_VERSION): 20211011 716 717 * Add support for SCO_SV 718 7192021-10-01 Simon J Gerraty <sjg@beast.crufty.net> 720 721 * install-mk (MK_VERSION): 20211001 722 723 * man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more 724 flexibility 725 7262021-09-13 Simon J Gerraty <sjg@beast.crufty.net> 727 728 * options.mk (describe-options): print options and their values 729 and optional description 730 7312021-09-11 Simon J Gerraty <sjg@beast.crufty.net> 732 733 * install-mk (MK_VERSION): 20210911 734 735 * options.mk (show-options): print options and their values 736 7372021-09-08 Simon J Gerraty <sjg@beast.crufty.net> 738 739 * install-mk (MK_VERSION): 20210909 740 741 * lib.mk: apply patch from <daniel@octaforge.org> 742 to fix shared libs on Linux 743 7442021-08-08 Simon J Gerraty <sjg@beast.crufty.net> 745 746 * install-mk (MK_VERSION): 20210808 747 748 * options.mk: issue warning for WITH_*=no 749 7502021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 751 752 * install-mk (MK_VERSION): 20210616 753 754 * dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find 755 depend files to read, anchor MACHINE at , or end of string 756 to avoid prefix match. 757 7582021-05-04 Simon J Gerraty <sjg@beast.crufty.net> 759 760 * install-mk (MK_VERSION): 20210504 761 762 * dirdeps.mk: re-implement ALL_MACHINES support to better 763 cater for local complexities, when ONLY_TARGET_SPEC_LIST 764 is not set. local.dirdeps.mk can set 765 DIRDEPS_ALL_MACHINES_FILTER and/or 766 DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get 767 from listing all existing Makefile.depend.* 768 7692021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 770 771 * install-mk (MK_VERSION): 20210420 772 773 * dirdeps.mk: revert previous - not always safe. 774 7752021-03-20 Simon J Gerraty <sjg@beast.crufty.net> 776 777 * install-mk (MK_VERSION): 20210321 778 779 * dirdeps.mk: when generating dirdeps.cache 780 we only need to hook the initial DIRDEPS to the 781 dirdeps target. That and any _build_xtra_dirs (like tests which 782 should not be hooked directly to the dependency graph - to avoid 783 cycles) 784 7852021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 786 787 * install-mk (MK_VERSION): 20210130 788 789 * dirdeps.mk: expr 2 - 1 - 1 exits with a bad status 790 we need to guard against this in DIRDEP_LOADAVG_REPORT. 791 792 * dirdeps.mk: restore respect for TARGET_MACHINE 793 7942021-01-06 Simon J Gerraty <sjg@beast.crufty.net> 795 796 * install-mk (MK_VERSION): 20210101 797 798 * dirdeps.mk: first time we are read, just use TARGET_SPEC for 799 _DEP_TARGET_SPEC 800 8012020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 802 803 * sys.mk (MAKE_SHELL): use ${.SHELL:Ush} 804 and use := when setting SHELL 805 8062020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 807 808 * install-mk (MK_VERSION): 20201221 809 810 * dirdeps-options.mk: latest bmake allows only one arg to .undef 811 8122020-12-11 Simon J Gerraty <sjg@beast.crufty.net> 813 814 * dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS 815 so that any directory can be treated as a target. 816 8172020-11-26 Simon J Gerraty <sjg@beast.crufty.net> 818 819 * install-mk (MK_VERSION): 20201126 820 821 * own.mk: use .MAKE.{UID,GID} if available. 822 823 * init.mk: suppress _SKIP_BUILD warning if doing -V 824 8252020-11-20 Simon J Gerraty <sjg@beast.crufty.net> 826 827 * install-mk (MK_VERSION): 20201120 828 829 * init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS 830 831 * dirdeps-targets.mk: fix typo in comment 832 8332020-11-06 Simon J Gerraty <sjg@beast.crufty.net> 834 835 * install-mk (MK_VERSION): 20201106 836 837 * meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed 838 args to tweak extensions for local deps. 839 8402020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 841 842 * install-mk (MK_VERSION): 20201101 843 844 * dirdeps.mk: most leaf makefiles are not suitable for building 845 dirdeps.cache so if RELDIR is not "." use dirdeps.mk 846 8472020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 848 849 * install-mk (MK_VERSION): 20201028 850 851 * dirdeps.mk: if we don't have :range use equivalent of M_RANGE 852 when building dirdeps.cache for leaf directory use -f dirdeps.mk 853 854 * sys.vars.mk: add M_JOT and M_RANGE 855 8562020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 857 858 * install-mk (MK_VERSION): 20201001 859 860 * meta2deps.{py,sh}: throw an error if we don't see filemon version 861 8622020-09-09 Simon J Gerraty <sjg@beast.crufty.net> 863 864 * install-mk (MK_VERSION): 20200909 865 866 * dirdeps-cache-update.mk: use cache_update_dirdep as guard target 867 8682020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 869 870 * dirdeps.mk: ensure we cannot confuse a static cache for dynamic 871 (even more rare that use of static cache is playing clever tricks 872 with it) 873 8742020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 875 876 * dirdeps-cache-update.mk: allow 877 MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we 878 actually update STATIC_DIRDEPS_CACHE. 879 880 * stage-install.sh: create dest directory if needed 881 before running install(1) 882 8832020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 884 885 * dirdeps-targets.mk: include Makefile.dirdeps.options 886 887 * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE 888 8892020-08-09 Simon J Gerraty <sjg@beast.crufty.net> 890 891 * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty 892 893 * dirdeps-cache-update.mk: building parallel cache update 894 under the context of dirdeps-cached would be ideal, but 895 is problematic, so it runs as a sibling. 896 Use cache-built target to ensure we wait for it to complete if 897 necessary. 898 8992020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 900 901 * install-mk (MK_VERSION): 20200806 902 903 * dirdeps-options: allow TARGET_SPEC to affect option values. 904 Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_* 905 906 * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined 907 before looking for STATIC_DIRDEPS_CACHE 908 9092020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 910 911 * host-target.mk: Darwin use MACHINE for HOST_ARCH too 912 913 * dirdeps-options.mk: improve debug output 914 9152020-07-22 Simon J Gerraty <sjg@beast.crufty.net> 916 917 * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE 918 for use by dirdeps-cache-update.mk 919 920 * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE 921 for use by dirdeps-cache-update.mk even if we don't use it. 922 923 * dirdeps-cache-update.mk: we only need worry about the background 924 update case, with the above, the update from DIRDEPS_CACHE is 925 simple. 926 927 * meta2deps.py: R 1234 . is not interesting 928 9292020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 930 931 * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE 932 933 * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS 934 allows use of lower case for pseudo options. 935 936 * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE 937 9382020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 939 940 * dirdeps-targets.mk: Look for Makefile.dirdeps.cache 941 which allows us to have a static cache for expensive targets. 942 Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE 943 to regenerate the dirdeps.cache it is a copy of. 944 9452020-07-17 Simon J Gerraty <sjg@beast.crufty.net> 946 947 * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense. 948 9492020-07-16 Simon J Gerraty <sjg@beast.crufty.net> 950 951 * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record 952 load averages at intervals during build. 953 9542020-07-15 Simon J Gerraty <sjg@beast.crufty.net> 955 956 * install-mk (MK_VERSION): 20200715 957 958 * dirdeps.mk: tweak Checking line to make matching Finished 959 lines for post-build analysis easier. 960 961 * meta.autodep.mk: use !defined(WITHOUT_META_STATS) 962 963 * progs.mk: avoid prog.mk outputting multiple Finished lines 964 9652020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 966 967 * dirdeps.mk: further optimize dirdeps.cache 968 generate a DIRDEPS.${.TARGET} list for other purposes 969 and improve the layout. 970 9712020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 972 973 * dirdeps.mk: optimize content of dirdeps.cache 974 9752020-06-28 Simon J Gerraty <sjg@beast.crufty.net> 976 977 * sys/*.mk: make it easier for local*sys.mk to customize by 978 using ?= 979 9802020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 981 982 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0 983 it is much safer to guard local depends with a simple check for 984 .MAKE.LEVEL > 0 985 9862020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 987 988 * install-mk (MK_VERSION): 20200610 989 990 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok 991 9922020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 993 994 * install-mk (MK_VERSION): 20200606 995 996 * dirdeps-targets.mk: allow for filtering of .TARGETS 997 998 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove 999 entries - and we don't care about 'W'rite entries. 1000 Also ignore absolute paths that do not exist. 1001 10022020-05-25 Simon J Gerraty <sjg@beast.crufty.net> 1003 1004 * install-mk (MK_VERSION): 20200525 1005 1006 * init.mk: expand and simplify handling of qualified vars 1007 like CPPFLAGS.${.TARGET:T} 1008 10092020-05-15 Simon J Gerraty <sjg@beast.crufty.net> 1010 1011 * install-mk (MK_VERSION): 20200515 1012 1013 * dirdeps.mk: set _debug_* earlier and allow passing -d* 1014 flags to submake when building DIRDEPS_CACHE 1015 10162020-05-09 Simon J Gerraty <sjg@beast.crufty.net> 1017 1018 * whats.mk: more easily extensible 1019 10202020-05-02 Simon J Gerraty <sjg@beast.crufty.net> 1021 1022 * whats.mk: greatly simplify by adding what.c to SRCS 1023 10242020-05-01 Simon J Gerraty <sjg@beast.crufty.net> 1025 1026 * whats.mk: for libs take care how we add to *OBJS 1027 1028 * lib.mk: : works better with whats.mk 1029 10302020-04-25 Simon J Gerraty <sjg@beast.crufty.net> 1031 1032 * install-mk (MK_VERSION): 20200420 1033 1034 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep 1035 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC} 1036 10372020-04-16 Simon J Gerraty <sjg@beast.crufty.net> 1038 1039 * install-mk (MK_VERSION): 20200416 1040 1041 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to 1042 interfere with user env. 1043 1044 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL 1045 1046 * autodep.mk: use MAKE_SHELL. 1047 10482019-11-21 Simon J Gerraty <sjg@beast.crufty.net> 1049 1050 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of 1051 wasted effort, and unexport _meta_files when no longer needed as 1052 it consumes space we need for command line. 1053 10542019-11-11 Simon J Gerraty <sjg@beast.crufty.net> 1055 1056 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add 1057 DIRDEP_USE_PRELUDE at start - facilitates job distribution 1058 10592019-10-04 Simon J Gerraty <sjg@beast.crufty.net> 1060 1061 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST 1062 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid 1063 TARGET_SPEC qualified depend files. 1064 10652019-10-02 Simon J Gerraty <sjg@beast.crufty.net> 1066 1067 * dirdeps-targets.mk: encapsulate logic for finding top-level 1068 targets to set initial DIRDEPS for DIRDEPS_BUILD 1069 10702019-09-27 Simon J Gerraty <sjg@beast.crufty.net> 1071 1072 * install-mk (MK_VERSION): 20190911 1073 1074 * compiler.mk: set COMPILER_TYPE 1075 10762019-07-17 Simon J Gerraty <sjg@beast.crufty.net> 1077 1078 * install-mk (MK_VERSION): 20190704 1079 1080 * sys/Darwin.mk: support for Objective-C and clang 1081 10822019-05-30 Simon J Gerraty <sjg@beast.crufty.net> 1083 1084 * dirdeps.mk: avoid insanely long command line when generating cache 1085 10862019-05-23 Simon J Gerraty <sjg@beast.crufty.net> 1087 1088 * install-mk (MK_VERSION): 20190505 1089 1090 * whats.mk: handle corner case SHLIB defined but not LIB 1091 10922018-09-19 Simon J Gerraty <sjg@beast.crufty.net> 1093 1094 * install-mk (MK_VERSION): 20180919 1095 1096 * dirdeps-options.mk: .undef cannot handle var that expands to 1097 more than one var. 1098 10992018-07-08 Simon J Gerraty <sjg@beast.crufty.net> 1100 1101 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc. 1102 11032018-06-01 Simon J Gerraty <sjg@beast.crufty.net> 1104 1105 * meta.autodep.mk: export META_FILES to avoid command line limit 1106 * gendirdeps.mk: if we have lots of .meta files put them in 1107 an @list 1108 11092018-05-28 Simon J Gerraty <sjg@beast.crufty.net> 1110 1111 * dirdeps-options.mk: use local.dirdeps-options.mk 1112 not local.dirdeps-option.mk 1113 11142018-04-20 Simon J Gerraty <sjg@beast.crufty.net> 1115 1116 * install-mk (MK_VERSION): 20180420 1117 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0 1118 ie. we are building something. 1119 11202018-04-14 Simon J Gerraty <sjg@beast.crufty.net> 1121 1122 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS. 1123 11242018-04-05 Simon J Gerraty <sjg@beast.crufty.net> 1125 1126 * install-mk (MK_VERSION): 20180405 1127 1128 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER 1129 if needed. 1130 11312018-01-18 Simon J Gerraty <sjg@beast.crufty.net> 1132 1133 * install-mk (MK_VERSION): 20180118 1134 1135 * ldorder.mk: let make compute correct link order 1136 11372017-12-12 Simon J Gerraty <sjg@beast.crufty.net> 1138 1139 * install-mk (MK_VERSION): 20171212 1140 1141 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER 1142 11432017-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1144 1145 * install-mk (MK_VERSION): 20171111 1146 1147 * lib.mk: ensure META_NOECHO is set 1148 11492017-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 1150 1151 * Allow for host32 on rare occasions. 1152 11532017-10-18 Simon J. Gerraty <sjg@bad.crufty.net> 1154 1155 * install-mk (MK_VERSION): 20171018 1156 1157 * whats.mk: include what_thing in what_uuid to avoid problem 1158 when building multiple apps in the same directory. 1159 11602017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 1161 1162 * install-mk (MK_VERSION): 20170812 1163 1164 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can 1165 add dependencies for config.recheck and config.gen 1166 11672017-06-30 Simon J. Gerraty <sjg@bad.crufty.net> 1168 1169 * install-mk (MK_VERSION): 20170630 1170 1171 * meta.stage.mk: avoid triggering stage_* targets with nothing to do. 1172 11732017-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 1174 1175 * meta2deps.py: take special care of '..' 1176 11772017-05-15 Simon J. Gerraty <sjg@bad.crufty.net> 1178 1179 * install-mk (MK_VERSION): 20170515 1180 1181 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is 1182 useful/necessary for a Makefile.depend file to export some knobs. 1183 This is complicated when we are doing DIRDEPS_CACHE, so we will 1184 handle export of any variables listed in DEP_EXPORT_VARS. 1185 11862017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 1187 1188 * install-mk (MK_VERSION): 20170505 1189 1190 * meta2deps.py: fix botched indenation. 1191 11922017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1193 1194 * sys/*.mk: Remove setting of MAKE it is unnecessary and 1195 in many cases wrong (basname rather than full path) 1196 1197 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk 1198 1199 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc 1200 12012017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1202 1203 * install-mk (MK_VERSION): 20170501 1204 1205 * doc.mk: fix typo in DOC_INSTALL_OWN 1206 1207 * inc.mk: handle INCGROUPS similar to freebsd 1208 1209 * files.mk: add something for files too 1210 1211 * add staging logic to lib.mk prog.mk etc. 1212 12132017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 1214 1215 * install-mk (MK_VERSION): 20170424 1216 1217 * dirdeps.mk: set NO_DIRDEPS when bootstrapping. 1218 also target of bootstrap-this when sed is needed should be ${_want:T} 1219 12202017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1221 1222 * install-mk (MK_VERSION): 20170418 1223 1224 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a 1225 prefix match for .CURDIR - in which case .CURDIR *is* __objdir. 1226 12272017-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1228 1229 * install-mk (MK_VERSION): 20170401 1230 1231 * meta2deps.py: add is_src so we can check if obj dependency 1232 is also a src dependency. 1233 12342017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 1235 1236 * install-mk (MK_VERSION): 20170326 1237 1238 * meta.stage.mk: do nothing if NO_STAGING is defined. 1239 12402017-03-24 Simon J. Gerraty <sjg@bad.crufty.net> 1241 1242 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc. 1243 12442017-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1245 1246 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_* 1247 12482017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1249 1250 * install-mk (MK_VERSION): 20170301 1251 1252 * dirdeps.mk (_build_all_dirs): update this outside test for empty 1253 DIRDEPS. 1254 1255 * meta.stage.mk: allow multiple inclusion to the extent it makes 1256 sense. 1257 12582017-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1259 1260 * prog.mk (install_links): depends on realinstall 1261 12622017-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 1263 1264 * install-mk (MK_VERSION): 20170212 1265 1266 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries 1267 12682017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 1269 1270 * install-mk (MK_VERSION): 20170130 1271 1272 * dirdeps.mk: use :range if we can. 1273 1274 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130 1275 1276 * meta2deps.py: clean paths without using realpath() where possible. 1277 fix sort_unique. 1278 12792016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1280 1281 * install-mk (MK_VERSION): 20161212 1282 1283 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, 1284 rather than when we detect pid change. 1285 12862016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 1287 1288 * install-mk (MK_VERSION): 20161207 1289 1290 * meta.stage.mk: add stage_as_and_symlink for staging packages. 1291 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able 1292 to use foo.tgz to reference the latest staged version - so we 1293 make foo.tgz a symlink to it. 1294 Using a target to do both operations ensures we stay in sync. 1295 12962016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1297 1298 * install-mk (MK_VERSION): 20161126 1299 1300 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk 1301 so it can add dependencies. 1302 13032016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1304 1305 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE 1306 do that they can influence the result correctly. 1307 1308 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC 1309 1310 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST 1311 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 1312 13132016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 1314 1315 * dirdeps.mk: remove dependence on jot (normal situations anyway). 1316 Before we read another Makefile.depend* set DEP_* vars from 1317 _DEP_TARGET_SPEC in case it uses any of them with := 1318 When bootstrapping, trim any ,* from extention of chosen _src 1319 Makefile.depend* to get the machine value we subst for. 1320 13212016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> 1322 1323 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to 1324 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER 1325 1326 * sys.mk: extract some bits to sys.{debug,vars}.mk 1327 for easier re-use by others. 1328 13292016-09-23 Simon Gerraty <sjg@sjg-mba13> 1330 1331 * lib.mk: Use ${PICO} for extension for PIC objects. 1332 default to .pico (like NetBSD) safe on case insensitive filesystem. 1333 13342016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> 1335 1336 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default 1337 13382016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 1339 1340 * install-mk (MK_VERSION): 20160815 1341 1342 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only 1343 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date. 1344 13452016-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 1346 1347 * meta.sys.mk (.MAKE.META.IGNORE_PATHS): 1348 in meta mode we can ignore the mtime of makefiles 1349 13502016-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1351 1352 * install-mk (MK_VERSION): 20160802 1353 1354 * lib.mk (libinstall): depends on beforinstall 1355 1356 * prog.mk (proginstall): depends on beforinstall 1357 patch from Lauri Tirkkonen 1358 1359 * dirdeps.mk (bootstrap): When bootstrapping; creat 1360 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via 1361 .MAKE.DEPENDFILE_BOOTSTRAP_SED 1362 1363 * dirdeps.mk: move some comments to where they make sense. 1364 13652016-07-27 Simon J. Gerraty <sjg@bad.crufty.net> 1366 1367 * dirdeps.mk (DIRDEPS_CACHE): no dirname. 1368 13692016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1370 1371 * install-mk (MK_VERSION): 20160602 1372 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk 1373 do not apply :T to META_XTRAS 1374 patch from Bryan Drewery at FreeBSD.org. 1375 13762016-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 1377 1378 * install-mk (MK_VERSION): 20160530 1379 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH 1380 make it so. 1381 13822016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 1383 1384 * install-mk (MK_VERSION): 20160512 1385 1386 * dpadd.mk: always include local.dpadd.mk if it exists 1387 remove some things that better belong in local.dpadd.mk 1388 skip INCLUDES_* for staged libs unless SRC_* defined. 1389 1390 * own.mk: add INCLUDEDIR 1391 13922016-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1393 1394 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no 1395 TARGET_MACHINE - :E will be empty or match part of path, use 1396 ${MACHINE} 1397 13982016-04-07 Simon J. Gerraty <sjg@bad.crufty.net> 1399 1400 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to 1401 NO_FILEMON_COOKIE 1402 1403 * dirdeps.mk: move the logic that allows for 1404 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1405 inside the check for !target(_DIRDEP_USE) 1406 14072016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 1408 1409 * Use <> when including local*.mk and others which may exist 1410 elsewhere so that user can better control what they get. 1411 1412 * meta.autodep.mk (NO_FILEMON_COOKIE): 1413 create a cookie if we ever build dir with nofilemon 1414 so that UPDATE_DEPENDFILE will be forced to NO until cleaned. 1415 14162016-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1417 1418 * install-mk (MK_VERSION): 20160401 1419 1420 * meta2deps.py: fix old print statement when debugging. 1421 1422 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X 1423 patch from Bryan Drewery 1424 14252016-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 1426 1427 * install-mk (MK_VERSION): 20160317 (St. Pats) 1428 1429 * warnings.mk: g++ does not like -Wimplicit 1430 1431 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the 1432 pelthora of common suffixes for C++ 1433 1434 * lib.mk: use .So for shared objects 1435 14362016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1437 1438 * install-mk (MK_VERSION): 20160315 1439 1440 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 1441 normally only applies to scripts. 1442 1443 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 1444 well as outside it. 1445 14462016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1447 1448 * install-mk (MK_VERSION): 20160310 1449 1450 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 1451 we have processed; the list gets very inefficient as number of 1452 DIRDEPS gets large. 1453 1454 * sys.dependfile.mk: fix comment wrt MACHINE 1455 1456 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 1457 patch from Bryan Drewery 1458 14592016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 1460 1461 * meta2deps.sh: don't ignore subdirs. 1462 patch from Bryan Drewery 1463 14642016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1465 1466 * install-mk (MK_VERSION): 20160226 1467 1468 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 1469 14702016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 1471 1472 * dirdeps.mk: we shouldn't normally include .depend but if we do 1473 use .dinclude if we can. 1474 14752016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1476 1477 * install-mk (MK_VERSION): 20160218 1478 * sys.clean-env.mk: with recent change to Var_Subst() 1479 we cannot use the '$$' trick, but .export-literal does the job 1480 we need. 1481 * auto.dep.mk: make use .dinclude if we can. 1482 1483 14842016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 1485 1486 * dirdeps.mk: 1487 Add _build_all_dirs such that local.dirdeps.mk can 1488 add fully qualified dirs to it. 1489 These will be built normally but the current 1490 DEP_RELDIR will not depend on then (to avoid cycles). 1491 This makes it easy to hook things like unit-tests into build. 1492 1493 14942016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 1495 1496 * dirdeps.mk: add bootstrap-empty 1497 14982015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1499 1500 * install-mk (MK_VERSION): 20151212 1501 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 1502 only apply :tA to __objdir when comparing to .OBJDIR 1503 15042015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1505 1506 * install-mk (MK_VERSION): 20151111 1507 1508 * meta.sys.mk: include sys.dependfile.mk 1509 1510 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 1511 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 1512 include local.sys.env.mk early 1513 include local.sys.mk later 1514 1515 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 1516 15172015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1518 1519 * meta.sys.mk (META_COOKIE_TOUCH): 1520 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 1521 1522 * meta.stage.mk: stage_libs should ignore SYMLINKS. 1523 15242015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 1525 1526 * install-mk (MK_VERSION): 20151022 1527 1528 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 1529 15302015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1531 1532 * install-mk (MK_VERSION): 20151020 1533 1534 * dirdeps.mk: Add logic for 1535 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1536 15372015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 1538 1539 * install-mk (MK_VERSION): 20151010 1540 15412015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 1542 1543 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 1544 to have stage_lins run last in non-jobs mode. 1545 Use .ORDER only for jobs mode. 1546 15472015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1548 1549 * rst2htm.mk: allow for per target flags etc. 1550 15512015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1552 1553 * install-mk (MK_VERSION): 20150901 1554 1555 * doc.mk: create dir if needed use DOC_INSTALL_OWN 1556 15572015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 1558 1559 * install-mk (MK_VERSION): 20150615 1560 1561 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 1562 Follow make's normal precedence rules. 1563 1564 * gendirdeps.mk: allow customization of the header. 1565 eg. for FreeBSD: 1566 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 1567 1568 * meta.autodep.mk: ignore dirdeps.cache* 1569 1570 * meta.stage.mk: when bootstrapping options it can be handy to 1571 throw warnings rather than errors for staging conflicts. 1572 1573 * meta.sys.mk: include local.meta.sys.mk for customization 1574 15752015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1576 1577 * install-mk (MK_VERSION): 20150606 1578 1579 * dirdeps.mk: don't rely on manually maintained Makefile.depend 1580 to set DEP_RELDIR and reset DIRDEPS. 1581 By setting DEP_RELDIR ourselves we can skip :tA 1582 1583 * gendirdeps.mk: skip setting DEP_RELDIR. 1584 15852015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1586 1587 * dirdeps.mk: avoid wildcards like make(bootstrap*) 1588 15892015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1590 1591 * install-mk (MK_VERSION): 20150520 1592 1593 * dirdeps.mk: when we are building dirdeps cache file we *want* 1594 meta_oodate to look at all the Makefile.depend files, so 1595 set .MAKE.DEPENDFILE to something that won't match. 1596 1597 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 1598 so first use absolute path as key. 1599 Also skip staging at level 0. 1600 16012015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1602 1603 * install-mk (MK_VERSION): 20150430 1604 1605 * dirdeps.mk: fix _count_dirdeps for non-cache case. 1606 16072015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 1608 1609 * install-mk (MK_VERSION): 20150411 1610 bump version 1611 1612 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 1613 it is here mainly for documentation purposes, since 1614 if using auto.obj.mk it is better done via sys.mk 1615 16162015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1617 1618 * install-mk (MK_VERSION): 20150401 1619 1620 * meta2deps.sh: support @list 1621 1622 * meta2deps.py: updates from Juniper 1623 o add EXCLUDES 1624 o skip bogus input files. 1625 o treat 'M' and 'L' as both an 'R' and a 'W' 1626 16272015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1628 1629 * install-mk (MK_VERSION): 20150303 1630 1631 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 1632 which is built via sub-make so we have a .meta file to tell if 1633 it is out-of-date. 1634 The dirdeps-cache contains the same dependency rules that we 1635 normaly construct on the fly. 1636 This adds a few seconds overhead when the cache is out of date, 1637 but for a large target, the savings can be significant (10-20min). 1638 16392014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 1640 1641 * install-mk (MK_VERSION): 20141118 1642 1643 * meta.stage.mk: add stale_staged 1644 1645 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 1646 only useful under very rare conditions such as 1647 FreeBSD's make universe. 1648 1649 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 1650 16512014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1652 1653 * install-mk (MK_VERSION): 20141111 1654 1655 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 1656 16572014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1658 1659 * FILES: include mkopt.sh which allows handling options in shell 1660 scripts in a manner compatible with options.mk 1661 16622014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1663 1664 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 1665 for GENDIRDEPS_FILTER to avoid surprises. 1666 16672014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1668 1669 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 1670 the time it is applied to __depdirs they have. 1671 1672 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 1673 expects patterns like *.${MACHINE} 1674 1675 * cython.mk (pyprefix?): use pyprefix to find python bits 1676 since prefix might be something else (where we install our 1677 stuff) 1678 16792014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1680 1681 * install-mk (MK_VERSION): 20140911 1682 1683 * dirdeps.mk: add bootstrap target to simplify adding support for 1684 new MACHINE. 1685 16862014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1687 1688 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 1689 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 1690 Makefile.depend files. 1691 16922014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1693 1694 * install-mk (MK_VERSION): 20140828 1695 1696 * cython.mk: capture logic for building python extension modules 1697 with Cython. 1698 16992014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1700 1701 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 1702 17032014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1704 1705 * install-mk (MK_VERSION): 20140801 1706 1707 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 1708 identify the autodep.mk variant. 1709 1710 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 1711 initial value does not match .MAKE.DEPENDFILE_PREFIX 1712 1713 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 1714 17152014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1716 1717 * install-mk (MK_VERSION): 20140522 1718 1719 * lib.mk: use CC to link shlib for linux too 1720 patch from Brendan MacDonell 1721 17222014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1723 1724 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 1725 if WITH_META_STATS is defined. 1726 17272014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1728 1729 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 1730 to supress dirdeps outside of .CURDIR. 1731 17322014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1733 1734 * Fix spelling errors - patch from Pedro Giffuni 1735 17362014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 1737 1738 * install-mk (MK_VERSION): 20140314 1739 1740 * dirdeps.mk (beforedirdeps): a handy hook 1741 1742 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 1743 to visit leaf dirs to be intercepted (eg. for distributed 1744 build). 1745 1746 * dirdeps.mk (__depdirs): ensure // don't sneak in 1747 1748 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 1749 1750 17512014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 1752 1753 * rst2htm.mk (RST2PDF): add support for rst2pdf 1754 17552014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1756 1757 * install-mk (MK_VERSION): bump version 1758 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 1759 available. 1760 17612014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1762 1763 * options.mk: avoid :U so this isn't bmake dependent 1764 17652014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 1766 1767 * options.mk: cleanup and simplify semanitcs 1768 NO_* dominates all, if both WITH_* and WITHOUT_* 1769 are defined then result is DOMINATE_* which defaults to "no". 1770 Ie. WITHOUT_ normally wins. 1771 17722013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1773 1774 * install-mk (MK_VERSION): bump version 1775 * meta2deps.py: convert to print function for python3 compat. 1776 we also need to open files with mode 'r' rather than 'rb' 1777 otherwise we get bytes instead of strings. 1778 17792013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1780 1781 * install-mk (MK_VERSION): bump version 1782 1783 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 1784 apply the same filtering (M_dep_qual_fixes) when setting _machines 1785 as _build_dirs. 1786 Also fix the filtering of Makefile.depend files - for reporting 1787 what we are looking for (M_dep_qual_fixes can get confused by 1788 Makefile.depend) 1789 Add some more debug info. 1790 17912013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1792 1793 * gendirdeps.mk (_objtops): fix typo also 1794 while processing M2D_OBJROOTS to gather qualdir_list 1795 qualify $ql with loop iterator to ensure correct results. 1796 17972013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1798 1799 * install-mk (MK_VERSION): 20130801 1800 * libs.mk: update to match progs.mk 1801 18022013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 1803 1804 * install-mk (MK_VERSION): 20130726 1805 some updates from Juniper and FreeBSD 1806 o meta2deps.py: indicate file and line number when we hit parse 1807 errors 1808 also allow @file to provide huge list of .meta files. 1809 * meta2deps.py: add try_parse() to cleanup the above. 1810 18112013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1812 1813 * install-mk (MK_VERSION): 20130716 1814 * own.mk: add GPROG as an option 1815 * prog.mk: honor MK_GPROF==yes 1816 18172013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1818 1819 * install-mk (MK_VERSION): 20130505 1820 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 1821 for when $MACHINE isn't enough for objdir distinction. 1822 Bring meta2deps.sh closer to par with meta2deps.py. 1823 18242013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1825 1826 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 1827 also if the target 'beforeinstall' exists, make it depend on 1828 .dirdep (incase it uses STAGE_INSTALL). 1829 18302013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1831 1832 * install-mk (MK_VERSION): 20130401 ;-) 1833 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 1834 wrapper around install(1). 1835 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 1836 18372013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1838 1839 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 1840 * install-mk (MK_VERSION): bump version 1841 18422013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 1843 1844 * install-mk (MK_VERSION): bump version 1845 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 1846 any trailing /., rather apply :tA only when needed. 1847 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 1848 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 1849 consistently. 1850 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 1851 18522013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1853 1854 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 1855 it is simpler to just not update when say building for "host" 1856 (where we know we apply filters to DIRDEPS), and using a 1857 non-machine qualified dependfile. 1858 18592013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1860 1861 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 1862 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 1863 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 1864 * meta2deps.py: if machine is "host", then also trim 1865 self.host_target from any OBJROOTS. 1866 1867 18682013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1869 1870 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 1871 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 1872 but _DEPENDFILE does not, compare the new _DEPENDFILE against 1873 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 1874 18752013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 1876 1877 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 1878 and hook to all: via staging: 1879 18802013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1881 1882 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 1883 use a separate variable for the default .MAKE.DEPENDFILE value 1884 so that it can be controlled independently of 1885 .MAKE.DEPENDFILE_PREFERENCE 1886 1887 * meta.stage.mk: throw error if cp fails etc. 1888 Stage*() return early if passed no args. 1889 .ORDER stage_* 1890 18912013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1892 1893 * install-mk (MK_VERSION): bump version 1894 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 1895 18962013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1897 1898 * install-mk (MK_VERSION): bump version to 20130210 1899 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 1900 from Juniper. 1901 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 1902 than just MACHINE. 1903 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 1904 19052013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 1906 1907 * install-mk (MK_VERSION): bump version to 20130123 1908 * meta.stage.mk: add stage_links (hard links). 1909 if doing hard links, we add dest to link as well. 1910 Default the stage dir for [sym]links to STAGE_OBJTOP since 1911 these are typically specified as absolute paths. 1912 Add -m "mode" flag to StageFiles and StageAs. 1913 19142012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1915 1916 * install-mk (MK_VERSION): bump version to 20121111 1917 * autoconf.mk: avoid meta mode seeing changed commands for config.status 1918 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 1919 in case we were found via .../mk 1920 * sys.clean-env.mk: move it from examples, we and others use it 1921 "as is". 1922 * FILES: add srctop.mk and options.mk 1923 * own.mk: convert to using options.mk 1924 which is modeled after FreeBSD's handling of MK_* 1925 but more flexible. 1926 This allows MK_* for boolean knobs to not be confused 1927 with MK* which can be commands. 1928 1929 * examples/sys.clean-env.mk: add WITH[OUT]_ to 1930 MAKE_ENV_SAVE_PREFIX_LIST. 1931 Mention that HOME=/var/empty might be a good idea. 1932 19332012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 1934 1935 * sys.dependfile.mk: if not depend file exists, $MACHINE 1936 specific ones are supported but not the default, 1937 check if any exist and follow suit. 1938 19392012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 1940 1941 * install-mk (MK_VERSION): bump version to 20121106 1942 19432012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 1944 1945 * import latest dirdeps.mk and meta2deps.py from Juniper. 1946 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 1947 also add PROGS_TARGETS and pass on PROG_CXX if it seems 1948 appropriate. 1949 19502012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 1951 1952 * meta.stage.mk: update CLEANFILES 1953 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 1954 * progs.mk: Add LDADD to PROG_VARS 1955 19562012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1957 1958 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 1959 _STAGED_DIRS so that these can be turned into filters for 1960 GENDIRDEPS_FILTER. 1961 19622012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1963 1964 * install-mk (MK_VERSION): bump version to 20121010 1965 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 1966 target.dirdep matches .dirdep 1967 19682012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1969 1970 * install-mk (MK_VERSION): bump version to 20120808 1971 * import latest meta2deps.py from Juniper. 1972 19732012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 1974 1975 * install-mk (MK_VERSION): bump version to 20120711 1976 * dep.mk: add explicit dependencies on SRCS after applying 1977 SRCS_DEP_FILTER 1978 * meta.autodep.mk: add explicit dependencies on SRCS after 1979 applying SRCS_DEP_FILTER 1980 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 1981 19822012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 1983 1984 * install-mk (MK_VERSION): bump version to 20120626 1985 * meta.sys.mk: ignore PYTHON if it does not exist 1986 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 1987 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 1988 entries ending in .${MACHINE} to decide if qualified _dirdep is 1989 needed. 1990 * gendirdeps.mk: only produce unqualified deps if no 1991 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 1992 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 1993 19942012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1995 1996 * install-mk (MK_VERSION): bump version to 20120420 1997 * add sys.dependfile.mk so we can experiment with 1998 .MAKE.DEPENDFILE_PREFERENCE 1999 * meta.autodep.mk: _DEPENDFILE is precious! 2000 20012012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 2002 2003 * install-mk (MK_VERSION): bump version to 20120315 2004 * install-new.mk: avoid being interrupted 2005 20062012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 2007 2008 * man.mk: MAN might have multiple values so be careful with exists(). 2009 20102012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 2011 2012 * install-mk (MK_VERSION): bump version to 20120112 2013 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 2014 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 2015 20162011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 2017 2018 * install-mk (MK_VERSION): bump version to 20111201 2019 * import dirdeps.mk from Juniper sjg@ 2020 o more consistent handling of DEP_MACHINE, especially when 2021 dealing with an odd Makefile.depend, when normally using 2022 Makefile.depend.${MACHINE} 2023 20242011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 2025 2026 * install-mk (MK_VERSION): bump version to 20111122 2027 * meta.autodep.mk: add some debug output, be more crisp about 2028 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 2029 20302011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 2031 2032 * install-mk (MK_VERSION): bump version to 20111111 2033 it's too cool to miss 2034 * import meta* updates from Juniper sjg@ 2035 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 2036 normally using Makefile.depend.${MACHINE}), handy for 2037 read-only manually maintained dependencies. 2038 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 2039 o gendirdeps.mk if ERROR: from meta2deps.py do not update 2040 anything. 2041 20422011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 2043 2044 * install-new.mk separate the cmp and copy logic to its own function. 2045 20462011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 2047 2048 * install-mk (MK_VERSION): bump version to 20111028 2049 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 2050 * subdir.mk: ensure _SUBDIRUSE is provided 2051 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 2052 * meta.subdir.mk: always allow for Makefile.depend 2053 20542011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 2055 2056 * install-mk (MK_VERSION): bump version to 20111010 2057 o minor tweak to *dirdeps.mk from Juniper sjg@ 2058 20592011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 2060 2061 * install-mk (MK_VERSION): bump version to 20111001 2062 o add meta2deps.py from Juniper sjg@ 2063 o tweak gendirdeps.mk to work with meta2deps.py when not 2064 cross-building 2065 * autoconf.mk: add autoconf-input as a hook for regenerating 2066 AUTOCONF_INPUTS (configure). 2067 20682011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 2069 2070 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 2071 trigger for updating Makefile.depend* 2072 20732011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 2074 2075 * install-mk (MK_VERSION): bump version to 20110808 2076 * obj.mk: minor cleanup 2077 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 2078 20792011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 2080 2081 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 2082 specified dir. 2083 20842011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 2085 2086 * meta.autodep.mk: if XMAKE_META_FILE is set 2087 the makefile uses a foreign make, and so dependencies 2088 can only be gathered from a clean tree build. 2089 20902011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 2091 2092 * install-mk (MK_VERSION): bump version to 20110622 2093 * meta.autodep.mk: improve bootstraping 2094 20952011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 2096 2097 * yacc.mk: handle the corner case of .c being removed 2098 while .h remains. 2099 21002011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 2101 2102 * yacc.mk: do .y.h and .y.c separately 2103 21042011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 2105 2106 * install-mk (MK_VERSION): bump version to 20110606 2107 * don't store SRC_DIRDEPS in Makefile.depend* by default 2108 not everyone needs it. 2109 21102011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 2111 2112 * install-mk (MK_VERSION): bump version to 20110505 2113 first release including meta mode makefiles 2114 21152011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 2116 2117 * meta.stage.mk: add STAGE_AS_SETS and stage_as 2118 for things that need to be staged with different names. 2119 21202011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 2121 2122 * meta.stage.mk: add notion of STAGE_SETS 2123 so a makefile can stage to multiple dirs 2124 21252011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 2126 2127 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 2128 on target name. 2129 21302011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 2131 2132 * install-mk (MK_VERSION): bump version to 20110330 2133 21342011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 2135 2136 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 2137 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 2138 * sys.mk: re-define M_whence in terms of M_type. 2139 M_type is useful for checking if something is a builtin. 2140 21412011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 2142 2143 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 2144 stage_libs 2145 21462011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 2147 2148 * dirdeps.mk: correct value for _depdir_files depends on 2149 .MAKE.DEPENDFILE 2150 Add our copyright - just to make it clear we have frobbed this 2151 quite a bit. 2152 DEP_MACHINE needs to be set to MACHINE each time, if using only 2153 Makefile.depend (cf. Makefile.depend.${MACHINE}) 2154 2155 * meta.stage.mk: meta mode version of staging 2156 2157 * init.mk, final.mk: include local.*.mk to simplify customization 2158 21592011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 2160 2161 * auto.obj.mk: just because we are doing mk destroy, we should 2162 still set .OBJDIR correctly if it exists. 2163 2164 * install-mk (mksrc): do not exclude meta.sys.mk 2165 21662011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 2167 2168 * host-target.mk: set/export _HOST_ARCH etc separately, 2169 catch junk resulting from uname -p, so we can find sys/Linux.mk 2170 correctly. 2171 21722011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 2173 2174 * meta.sys.mk: throw an error if /dev/filemon is missing and we 2175 expected to be updating Makefile.depend* 2176 21772011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 2178 2179 * install-mk (MK_VERSION): bump version to 20110214 2180 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 2181 21822010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 2183 2184 * meta.sys.mk: not valid for older bmake 2185 21862010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 2187 2188 * install-mk (MK_VERSION): bump version to 20100919 2189 include dirdeps.mk et al from Juniper Networks, 2190 for meta mode - requires filemon(9). 2191 * sys.mk, subdir.mk: Add hooks for meta mode. 2192 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 2193 to make turning it on/off simple. 2194 21952010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 2196 2197 * install-mk (MK_VERSION): bump version to 20100616 2198 * fix typo in sys.mk 2199 22002010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 2201 2202 * install-mk (MK_VERSION): bump version to 20100612 2203 * lib.mk: remove duplicate addition to SOBJS 2204 22052010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 2206 2207 * sys.mk: Add a means of selectively turning on debug flags. 2208 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 2209 will act as if we did make -dv if .CURDIR ends in lib/sjg 2210 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 2211 the start of sys.mk rather than the end. 2212 This only makes sense for leaf dirs, so we check that 2213 .MAKE.LEVEL > 0 2214 22152010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 2216 2217 * install-mk (MK_VERSION): bump version to 20100608 2218 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 2219 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 2220 also make it easier for folk to tweak 2221 22222010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 2223 2224 * install-mk (MK_VERSION): bump version to 20100606 2225 do not install examples/* 2226 * FILES: add examples/sys.clean-env.mk 2227 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 2228 this requires bmake-20100606 or later to work. 2229 22302010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 2231 2232 * sys.mk (M_tA): better simulate the result of :tA if not available. 2233 22342010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 2235 2236 * sys.mk: canonicalize MAKE_VERSION 2237 old versions reported bmake-<src-date> build-<build-date> 2238 whereas we only care about <src-date> 2239 22402010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 2241 2242 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 2243 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 2244 is !empty 2245 22462010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 2247 2248 * dpadd.mk: use LDADD_* if defined. 2249 22502010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 2251 2252 * install-mk (MK_VERSION): bump version to 20100420 2253 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 2254 * autoconf.mk allow AUTO_AUTOCONF 2255 22562010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 2257 2258 * obj.mk: add objwarn to keep freebsd makefiles happy 2259 * auto.obj.mk: ensure Mkdirs is available. 2260 * FILES: add auto.dep.mk - a simpler version of autodep.mk 2261 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 2262 asked to do that. 2263 fix/simplify the tests for when to run mkdep. 2264 * auto.dep.mk: add some explanation of how/what we do. 2265 * autodep.mk: skip the .OPTIONAL frobbing of .depend 2266 bmake's FROM_DEPEND flag makes it redundant. 2267 22682010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 2269 2270 * install-mk (MK_VERSION): bump version to 20100404 2271 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 2272 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 2273 Also create a target _SUBDIRUSE so that we can be used without 2274 subdir.mk 2275 22762010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 2277 2278 * dep.mk: use <> when .including so can override. 2279 22802010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 2281 2282 * lib.mk (SHLIB_LINKS): ensure a string comparison. 2283 22842010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 2285 2286 * install-mk (MK_VERSION): bump version to 20100102 2287 * own.mk: ensure PRINTOBJDIR works 2288 * autoconf.mk: pass on CONFIGURE_ARGS 2289 * init.mk: handle COPTS.${.IMPSRC:T} etc. 2290 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 2291 fix handling of symlinks for darwin 2292 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 2293 * man.mk: suppress chown when not root. 2294 * rst2htm.mk: allow srcs from multiple locations. 2295 * sys.mk: M_whence, stop after 1st line of output. 2296 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 2297 * sys/SunOS.mk: we need to export PATH 2298 22992009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 2300 2301 * install-mk (MK_VERSION): bump version 2302 include rst2htm.mk 2303 23042009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 2305 2306 * sys.mk,libnames.mk add .-include <local.*> 2307 this allows local customization without the need to edit the 2308 distributed files. 2309 23102009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 2311 2312 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 2313 older versions already installed. 2314 23152009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 2316 2317 * stage.mk (.stage-install): generalize lib.mk's .libinstall 2318 * rules.mk rules for generic Makefile. 2319 * inc.mk install for includes. 2320 23212009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 2322 2323 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 2324 this, so provide it if using native make. 2325 23262009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 2327 2328 * FILES: move all the platform *.sys.mk files to sys/*.mk 2329 * Rename Generic.sys.mk to sys.mk - we always want it. 2330 23312009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 2332 2333 * install-mk (MK_VERSION): bump version 2334 * host-target.mk: only export the expensive stuff 2335 * Generic.sys.mk (sys_mk): for SunOS we need to look for 2336 ${HOST_OS}.${HOST_OSMAJOR} too! 2337 23382009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 2339 2340 * install-mk (MK_VERSION): bump version 2341 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 2342 based on patch from Greg Olszewski. 2343 * Generic.sys.mk: if we have nothing to work with 2344 set LORDER etc only if we can find it. 2345 23462009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 2347 2348 * install-mk (MK_VERSION): bump version 2349 * man.mk: cleanman: remove CLEANMAN if defined. 2350 23512009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 2352 2353 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 2354 23552009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 2356 2357 * install-mk (MK_VERSION): bump version 2358 include auto.obj.mk 2359 2360 23612009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 2362 2363 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 2364 23652008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 2366 2367 * install-mk (MK_VERSION): bump version 2368 man.mk: ensure we generate *.cat1 etc in . 2369 23702008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 2371 2372 * install-mk (MK_VERSION): bump version 2373 add prlist.mk 2374 23752007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 2376 2377 * Generic.sys.mk: Allow os specific sys.mk to be in a 2378 subdir of ${.PARSEDIR} 2379 23802007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 2381 2382 * install-mk (MK_VERSION): bump version 2383 * general cleanup 2384 * dpadd.mk introduce DPMAGIC_LIBS_* 2385 23862007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 2387 2388 * install-mk (MK_VERSION): bump version 2389 2390 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 2391 depend files and ensure clean is called for each lib/prog. 2392 23932007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 2394 2395 * autodep.mk (.depend): delete lines that do not start with 2396 space and do not contain ':' 2397 23982007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 2399 2400 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 2401 so make sure the transform for .OPTIONAL copes. 2402 24032007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2404 2405 * install-mk (MK_VERSION): bump version 2406 2407 * own.mk: make sure RM and LN are defined. 2408 2409 * obj.mk: fix a typo, and objlink target. 2410 24112006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 2412 2413 * install-mk (MK_VERSION): bump version 2414 * added libs.mk - analogous to progs.mk 2415 make both of them always inlcude {lib,prog}.mk 2416 24172006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 2418 2419 * progs.mk: add a means of building multiple apps in one dir. 2420 24212006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 2422 2423 * install-mk (MK_VERSION): bump version to 20061126 2424 2425 * warnings.mk: detect invalid WARNINGS_SET 2426 2427 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 2428 specific warnings. 2429 2430 * For .cc sources, turn off warnings that g++ vomits on. 2431 24322006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 2433 2434 * own.mk: if __initialized__ target doesn't exist and we are 2435 FreeBSD we got here directly from sys.mk 2436 24372006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 2438 2439 * install-mk (MK_VERSION): bump version to 20061106 2440 add scripts.mk 2441 24422006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 2443 2444 * install-mk (MK_VERSION): bump version to 20060318 2445 2446 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 2447 24482006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 2449 2450 * install-mk (MK_VERSION): bump version to 20060302 2451 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 2452 24532006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 2454 2455 * install-mk (MK_VERSION): bump version to 20060301 2456 * autodep.mk (.depend): 2457 if MAKE_VERSION is newer than 20050530 we can make .END depend on 2458 .depend and make .depend depend on __depsrcs that exist. 2459 * dpadd.mk: add SRC_PATHADD 2460 24612005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2462 2463 * install-mk (MK_VERSION): bump version to 20051104 2464 * prog.mk: remove all the LIBC?= junk, use 2465 .-include libnames.mk instead (none by default). 2466 also if USE_DPADD_MK is set, include that. 2467 24682005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2469 2470 * install-mk (MK_VERSION): bump version to 20051001 2471 Add UnixWare.sys.mk from Klaus Heinz. 2472 24732005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 2474 2475 * install-mk: always install *.sys.mk and if need be symlink one 2476 to sys.mk 2477 24782005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 2479 2480 * subdir.mk, own.mk: use .MAKE rather than MAKE 2481 24822004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2483 2484 * own.mk: don't use NetBSD's _SRC_TOP_ it can 2485 cause confusion. Also don't take just 'mk' as a 2486 srctop indicator. 2487 24882004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 2489 2490 * warnings.mk: overhauled, now very powerful. 2491 24922004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2493 2494 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 2495 24962004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 2497 2498 * install-mk (MK_VERSION): bump version to 20040201 2499 * extract HOST_TARGET stuff to host-target.mk so own.mk and 2500 Generic.sys.mk can share. 2501 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 2502 25032003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 2504 2505 * install-mk (MK_VERSION): 20030930 2506 * rename generic.sys.mk to Generic.sys.mk 2507 so that it does not get installed (unless being used as sys.mk) 2508 * set OS and ROOT_GROUP for those that we know the value. 2509 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 2510 we don't do it again for each sub-make. 2511 25122003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2513 2514 * install-mk (MK_VERSION): 20030928 2515 Add some extra *.sys.mk from bootstrap-pkgsrc 2516 some of these likely still need work. 2517 Make everything default to root:wheel ownership, 2518 sys.mk can set ROOT_GROUP accordingly. 2519 25202003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 2521 2522 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 2523 not the portable ones. 2524 25252003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2526 2527 * install-mk: add ability to use cp -f when updating 2528 destination .mk files. Also now possible to play games with 2529 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 2530 into dest - not recommended unless you seriously want to. 2531 25322003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2533 2534 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 2535 for semi-compatability with NetBSD. 2536 25372003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2538 2539 * install-mk: add a version indicator 2540 25412003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 2542 2543 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 2544 2545 * install-mk: Allow FORCE_SYS_MK to come from env 2546 2547 2548 2549