12025-07-24 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * install-mk (MK_VERSION): 20250724 4 5 * meta2deps: Allow X record to have 3 or 4 args. 6 V4 filemon on Linux produces 3 7 V5 filemon on FreeBSD produces 4 8 92025-07-22 Simon J Gerraty <sjg@beast.crufty.net> 10 11 * install-mk (MK_VERSION): 20250721 12 13 * meta2deps.{py,sh}: detect corrupted filemon output (an issue on 14 Linux) by checking each record type has the correct number of 15 words. Throw an error if necessary so that gendirdeps.mk will not 16 update Makefile.depend 17 182025-07-04 Simon J Gerraty <sjg@beast.crufty.net> 19 20 * prog.mk: .MADE is a special source not a target! 21 222025-05-28 Simon J Gerraty <sjg@beast.crufty.net> 23 24 * install-mk (MK_VERSION): 20250528 25 26 * add dirdeps2dplibs.mk 27 282025-05-18 Simon J Gerraty <sjg@beast.crufty.net> 29 30 * install-mk (MK_VERSION): 20250518 31 32 * meta.autodep.mk (META_FILES): re-work to fix filtering. 33 if OPTIMIZE_OBJECT_META_FILES==yes 34 provide a default META_FILE_OBJ_FILTER that selects a valid 35 .SUFFIX to match *o.meta, there's no guarantee that it will be as 36 simple as .o or .So etc. 37 We have to defer evaluation until the target script is run 38 for any of these filters to have any effect. 39 Use :S,${.OBJDIR}/,, rather than :T incase there are objects 40 in sub-dirs. 41 42 * lib.mk: leverage ${.SUFFIXES} when setting dependencies. 43 44 * add UPDATE_DEPENDFILE as a dependent option - follows 45 DIRDEPS_BUILD and use MK_UPDATE_DEPENDFILE as default for 46 UPDATE_DEPENDFILE when we think it should be yes. 47 This allows override with -DWITH[OUT]_UPDATE_DEPENDFILE 48 without overriding UPDATE_DEPENDFILE directly - which can lead to 49 trouble. 50 512025-05-16 Simon J Gerraty <sjg@beast.crufty.net> 52 53 * install-mk (MK_VERSION): 20250515 54 55 * meta2deps.py: resolve the target of a Move or Link first 56 and track the last path resolved, then if the src is a relative 57 path we can easily use that last path to resolve the src correctly. 58 59 * meta2deps.sh: for a Move or Link add the dir of target path to 60 the list used to resolve the src path. 61 622025-04-18 Simon J Gerraty <sjg@beast.crufty.net> 63 64 * init.mk: include Skipping ${RELDIR} when _SKIP_BUILD is not empty. 65 662025-04-14 Simon J Gerraty <sjg@beast.crufty.net> 67 68 * install-mk (MK_VERSION): 20250414 69 70 * init.mk: check ONLY_*_LIST and NOT_*_LIST for SKIP_BUILD_VAR_LIST 71 to set _SKIP_BUILD 72 73 * genfiles.mk: add FILTER support 74 75 * rst2htm.mk: latest docutils drops .py extensions 76 772025-03-26 Simon J Gerraty <sjg@beast.crufty.net> 78 79 * install-mk (MK_VERSION): 20250326 80 81 * auto.obj.mk: fix and simplify handling of relative __objdir, 82 convert it to absolute before checking against .OBJDIR 83 842025-03-14 Simon J Gerraty <sjg@beast.crufty.net> 85 86 * install-mk (MK_VERSION): 20250314 87 88 * meta.stage.mk: StageFiles --subdir: preserve the dir part of 89 each file under $dest 90 912025-03-12 Simon J Gerraty <sjg@beast.crufty.net> 92 93 * meta.autodep.mk: do a better job of handling MAKESYSPATH in 94 GENDIRDEPS_ENV. If we have MAKE_VERSION >= 20230123 we can just 95 use .SYSPATH, otherwise it is a bit more complicated. 96 972025-01-10 Simon J Gerraty <sjg@beast.crufty.net> 98 99 * rust.mk: use RUST_LIBS and RUST_PROGS 100 1012025-01-01 Simon J Gerraty <sjg@beast.crufty.net> 102 103 * install-mk (MK_VERSION): 20250101 104 105 * use W flag to :S and :C rather than :tW 106 1072024-12-16 Simon J Gerraty <sjg@beast.crufty.net> 108 109 * rust.mk: add RUSTFLAGS if needed 110 1112024-12-12 Simon J Gerraty <sjg@beast.crufty.net> 112 113 * init.mk (OBJS_SRCS_FILTER): apply this as 114 ${OBJS_SRCS_FILTER:ts:} as we do in FreeBSD. 115 1162024-12-03 Simon J Gerraty <sjg@beast.crufty.net> 117 118 * install-mk (MK_VERSION): 20241202 119 120 * setopts.sh: needed by newlog.sh 121 1222024-11-22 Simon J Gerraty <sjg@beast.crufty.net> 123 124 * meta.sys.mk: add META_MODE_XTRAS to META_MODE to make it 125 easier to add things like 'env' when debugging. 126 127 * install-mk (MK_VERSION): 20241122 128 129 * rust.mk: rename CARGO* to RUST_CARGO* so I don't feel 130 like this makefile should be renamed to cargo.mk 131 1322024-11-11 Simon J Gerraty <sjg@beast.crufty.net> 133 134 * dirdeps.mk: add DIRDEPS_CACHED_ENV to dirdeps-cached and 135 DIRDEP_USE_EPILOGUE to _DIRDEP_USE 136 1372024-10-30 Simon J Gerraty <sjg@beast.crufty.net> 138 139 * meta.sys.mk: if MK_META_ERROR_TARGET is yes and NEWLOG_SH is 140 set, and ERROR_LOGDIR already exists, hook _rotateErrorLog to 141 .BEGIN target. 142 1432024-10-27 Simon J Gerraty <sjg@beast.crufty.net> 144 145 * options.mk: add support for DEBUG_OPTIONS (similar to 146 DEBUG_DIRDEPS) to allow us to see where options get set. 147 Eg. DEBUG_OPTIONS="STAGING*" gives: 148 149 bmake[1]: "mk/options.mk" line 89: sys.mk: MK_STAGING=yes (MK_DIRDEPS_BUILD=no) 150 bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING=yes 151 bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING_PROG=no 152 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_MAN=yes (MK_STAGING=yes) 153 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_PROG=no (MK_STAGING=yes) 154 bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_RUST=no (MK_STAGING_PROG=no) 155 156 * own.mk: fix setting of STAGE_OBJTOP (normally set by sys.dirdeps.mk) 157 1582024-10-26 Simon J Gerraty <sjg@beast.crufty.net> 159 160 * rust.mk: add some documentation and support for staging 161 1622024-10-25 Simon J Gerraty <sjg@beast.crufty.net> 163 164 * rust.mk: a means of integrating Rust projects into a larger build. 165 1662024-10-18 Simon J Gerraty <sjg@beast.crufty.net> 167 168 * dirdeps-targets.mk: if DEBUG_DIRDEPS_TARGETS and we found 169 STATIC_DIRDEPS_CACHE, report its relative path. 170 1712024-09-30 Simon J Gerraty <sjg@beast.crufty.net> 172 173 * dirdeps.mk: tweak the debug message for "Loading" a 174 Makefile.depend file, always report what the actual makefile is 175 with the DIRDEP it is for. 176 Remove the redundant "Looking" message. 177 1782024-09-26 Simon J Gerraty <sjg@beast.crufty.net> 179 180 * meta2deps.py: when raising AssertionError include meta file name 181 with $SB trimmed if possible. 182 1832024-09-23 Simon J Gerraty <sjg@beast.crufty.net> 184 185 * meta2deps.py: replace assert() with raise AssertionError when we 186 detect missing eXits, to ensure a meaningful message gets into 187 log. 188 1892024-09-21 Simon J Gerraty <sjg@beast.crufty.net> 190 191 * install-mk (MK_VERSION): 20240921 192 193 * FILES: add genfiles.mk 194 1952024-09-20 Simon J Gerraty <sjg@beast.crufty.net> 196 197 * install-mk (MK_VERSION): 20240920 198 199 * cython.mk: Get PYTHON_VERSION from PYTHON 200 2012024-08-31 Simon J Gerraty <sjg@beast.crufty.net> 202 203 * subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*} 204 and handle subdir with '-' in its name. 205 2062024-08-23 Simon J Gerraty <sjg@beast.crufty.net> 207 208 * install-mk (MK_VERSION): 20240820 209 210 * links.mk: Allow a filter to be applied to SYMLINKS etc. 211 It is up to [BUILD_][SYM]LINKS_FILTER to do something sane. 212 Also only claim we are making a symlink if the value changed. 213 2142024-06-22 Simon J Gerraty <sjg@beast.crufty.net> 215 216 * install-mk (MK_VERSION): 20240616 217 218 * dirdeps.mk: apply DEP_DIRDEPS_BUILD_DIR_FILTER after we have 219 computed build dirs, since some filters cannot be easily expressed via 220 DEP_DIRDEPS_FILTER. 221 2222024-05-31 Simon J Gerraty <sjg@beast.crufty.net> 223 224 * dirdeps.mk: move reset of DIRDEPS_EXPORT_VARS 225 until after we a finished with it if building a cache. 226 2272024-05-04 Simon J Gerraty <sjg@beast.crufty.net> 228 229 * install-mk (MK_VERSION): 20240504 230 231 * dirdeps.mk: allow BUILD_DIRDEPS_OVERRIDES to pass overrides to 232 sub-make building DIRDEPS_CACHE. 233 2342024-04-24 Simon J Gerraty <sjg@beast.crufty.net> 235 236 * meta.autodep.mk: do not override start_utc 237 2382024-04-18 Simon J Gerraty <sjg@beast.crufty.net> 239 240 * sys.dirdeps.mk: set defaults for DEP_* at level 0 too. 241 These help when first include of Makefile.depend happens in a leaf 242 dir. 243 244 * install-mk (MK_VERSION): 20240414 245 2462024-04-09 Simon J Gerraty <sjg@beast.crufty.net> 247 248 * install-mk (MK_VERSION): 20240408 249 250 * init.mk: allow for _ as well as . to join V 251 and Q from QUALIFIED_VAR_LIST and VAR_QUALIFIER_LIST. 252 253 * progs.mk: avoid overlap between PROG_VARS and 254 init.mk's QUALIFIED_VAR_LIST since PROG would also 255 match its VAR_QUALIFIER_LIST, 256 libs.mk does not have the same issue. 257 258 * subdir.mk: _SUBDIRUSE for realinstall should run install 259 remove include of ${.CURDIR}/Makefile.inc that can be done via 260 local.subdir.mk where needed 261 262 * own.mk: do not conflict with man.mk 263 2642024-03-19 Simon J Gerraty <sjg@beast.crufty.net> 265 266 * install-mk (MK_VERSION): 20240314 267 268 * add sys/Cygwin.mk from Christian Franke 269 2702024-03-09 Simon J Gerraty <sjg@beast.crufty.net> 271 272 * install-mk (MK_VERSION): 20240309 273 274 * meta.sys.mk: _metaError: if .ERROR_EXIT == 6, we do not 275 want to save the .ERROR_META_FILE 276 2772024-02-20 Simon J Gerraty <sjg@beast.crufty.net> 278 279 * install-mk (MK_VERSION): 20240220 280 281 * sys.dirdeps.mk, dirdeps-targets.mk, init.mk: 282 do not set .MAIN: dirdeps in sys.dirdeps.mk 283 dirdeps-targets.mk will do that for top-level builds 284 and init.mk will do it for others. 285 This allows a Makefile which has no need of 'dirdeps' to 286 set .MAIN for itself and "just work". 287 2882024-02-18 Simon J Gerraty <sjg@beast.crufty.net> 289 290 * bsd.*.mk: for makefiles that get a bsd. symlink, 291 use _this in multiple inclusion tags since .PARSEFILE will not 292 DTRT when such a makefile is included directly by Makefile and 293 automatically (without bsd. prefix). 294 Since we cannot guarantee that our sys.mk will be used, we provide 295 a default _this in each makefile that gets a bsd. prefix such that 296 the value is the same regardless of bsd. prefix. 297 298 * subdir.mk: drop the !target guard on $SUBDIR_TARGETS 299 3002024-02-12 Simon J Gerraty <sjg@beast.crufty.net> 301 302 * install-mk (MK_VERSION): 20240212 303 304 * SPDX-License-Identifier: BSD-2-Clause 305 Add SPDX-License-Identifier to inidicate that I consider 306 my copyright on any of these makefiles equivalent to BSD-2-Clause 307 308 * autoconf.mk: allow for configure.ac as currently recommended 309 310 * subdir.mk: support @auto 311 which is replaced with each subdir that 312 has a [Mm]akefile. 313 314 * subdir.mk: include local.subdir.mk if it exists. 315 316 * subdir.mk: rework to handle .WAIT 317 3182024-02-11 Simon J Gerraty <sjg@beast.crufty.net> 319 320 * subdir.mk: _SUBDIRUSE report the target we are entering subdirs for. 321 3222024-02-10 Simon J Gerraty <sjg@beast.crufty.net> 323 324 * prog.mk: treat empty SRCS the same as undefined 325 3262024-02-02 Simon J Gerraty <sjg@beast.crufty.net> 327 328 * Avoid undefined errors in lint (-dL) mode 329 330 * man.mk (CMT2DOC_FLAGS): note that -mm does mdoc(7) 331 3322024-01-28 Simon J Gerraty <sjg@beast.crufty.net> 333 334 * install-mk (MK_VERSION): 20240128 335 336 * FILES: add ccm.dep.mk for C++ modules 337 add suffixes.mk for common location for generic SUFFIX rules. 338 339 * auto.dep.mk autodep.mk meta.autodep.mk: include ccm.dep.mk 340 replace OBJ_EXTENSIONS with OBJ_SUFFIXES 341 342 * autodep.mk: leverage CXX_SUFFIXES for __depsrcs 343 and update style (spaces around = etc) 344 345 * init.mk: add OBJS_SRCS_FILTER to filter SRCS when 346 setting OBJS 347 348 * meta2deps.py: handle multiple ./ embedded in path better. 349 3502024-01-05 Simon J Gerraty <sjg@beast.crufty.net> 351 352 * install-mk (MK_VERSION): 20240105 353 * dirdeps.mk: for MAKE_VERSION 20240105 we do not have the same 354 limits on command line length, so skip export of lists to env. 355 3562023-12-24 Simon J Gerraty <sjg@beast.crufty.net> 357 358 * man.mk: add logic for staging man pages 359 3602023-11-28 Simon J Gerraty <sjg@beast.crufty.net> 361 362 * jobs.mk: avoid C suffix in JOB_MAX_C if factor is floating 363 point. This keeps JOB_MAX numeric incase another makefile does 364 comparisons. 365 3662023-11-04 Simon J Gerraty <sjg@beast.crufty.net> 367 368 * dpadd.mk: add support for DPLIBS_QUALIFIER_LIST 369 370 * gendirdeps.mk: if META_XTRAS is passed to us, add to META_FILES 371 3722023-10-03 Simon J Gerraty <sjg@beast.crufty.net> 373 374 * compiler.mk (COMPILER_VERSION): clang at least is into 375 double digit major versions. 376 3772023-10-02 Simon J Gerraty <sjg@beast.crufty.net> 378 379 * install-mk (MK_VERSION): 20231001 380 381 * set _CCLINK in init.mk so lib.mk can use it for default SHLIB_LD 382 383 * lib.mk (cleanlib): use LD_solink so we remove all the right files. 384 Use -Wl for -soname since we now default to linking with CC 385 We should not need SHLIB_LDSTARTFILE or SHLIB_LDENDFILE when linking 386 with CC. 387 3882023-09-24 Simon J Gerraty <sjg@beast.crufty.net> 389 390 * init.mk (QUALIFIED_VAR_LIST): Add SRCS 391 3922023-09-09 Simon J Gerraty <sjg@beast.crufty.net> 393 394 * jobs.mk (JOB_MAX): use -jC if we can 395 we actually use JOB_MAX_C which defaults to 1.33C 396 3972023-08-18 Simon J Gerraty <sjg@beast.crufty.net> 398 399 * now_utc: %s only works with :localtime 400 4012023-07-14 Simon J Gerraty <sjg@beast.crufty.net> 402 403 * install-sh: ignore -c as claimed and only insist on 404 a directory for destination when more than one file to copy. 405 406 * sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and 407 ${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64) 408 4092023-07-13 Simon J Gerraty <sjg@beast.crufty.net> 410 411 * install-mk (MK_VERSION): 20230711 412 413 * sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible 414 install(1) 415 416 * sys/IRIX.mk: when setting ROOT_GROUP only match the first :0: 417 set INSTALL to install-sh rather than pathname that may not exist 418 (yet). 419 4202023-07-07 Simon J Gerraty <sjg@beast.crufty.net> 421 422 * dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE 423 normally this is empty - for the default target, but there are 424 use-cases where we might set it to something else. 425 4262023-07-04 Simon J Gerraty <sjg@beast.crufty.net> 427 428 * install-mk (MK_VERSION): 20230704 429 430 * dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output 431 when DEBUG_DIRDEPS is in effect. 432 Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n 433 can greatly improve readability. 434 4352023-05-25 Simon J Gerraty <sjg@beast.crufty.net> 436 437 * meta.autodep.mk (beforegendirdeps): allow tasks to be done 438 at END but before gendirdeps 439 4402023-05-22 Simon J Gerraty <sjg@beast.crufty.net> 441 442 * install-mk (MK_VERSION): 20230522 443 444 * host-target.mk: deal with garbage from uname -m on 445 Darwin ppc, also NetBSD appears to use x86_64 for MACHINE_ARCH 446 these days so just leave it be. 447 For Darwin arm and i386 use _HOST_MACHINE for _HOST_ARCH so we get 448 arm64 and x86_64 in HOST_TARGET. 449 4502023-05-15 Simon J Gerraty <sjg@beast.crufty.net> 451 452 * sys.vars.mk: M_mtime use :mtime or 'stat -f %m' for older 453 versions of bmake. 454 455 * dirdeps.mk (TARGET_SPEC_VARS.host): 456 While *most* projects need only DEP_MACHINE for host, 457 there is always an exception. So we allow for 458 TARGET_SPEC_VARS.host to be a subset of TARGET_SPEC_VARS. 459 The default will *just work* for most projects. 460 We set DEP_TARGET_SPEC_VARS and hence DEP_TARGET_SPEC 461 based on DEP_MACHINE. 462 Allow for M_dep_qual_fixes.host to be different too 463 and take care to apply the right set. 464 4652023-05-14 Simon J Gerraty <sjg@beast.crufty.net> 466 467 * sys.dirdeps.mk: we *do* want to override OBJTOP 468 and if MAKEOBJDIR was not in env as we want it; 469 put it there - carefully. 470 Ensure OBJROOT ends in / or - (/ preferred) 471 Add more comments to explain what/why. 472 4732023-05-13 Simon J Gerraty <sjg@beast.crufty.net> 474 475 * install-mk (MK_VERSION): 20230512 476 477 * dirdeps.mk: take care not to qualify "host" dirdeps 478 479 * sys.dirdeps.mk (OBJTOP): must use ?= 480 4812023-05-10 Simon J Gerraty <sjg@beast.crufty.net> 482 483 * meta.autodep.mk: if LOCAL_DEPENDS_GUARD is "no" 484 suppress processing of .depend 485 4862023-05-09 Simon J Gerraty <sjg@beast.crufty.net> 487 488 * dirdeps.mk: do not add _CURDIR to DIRDEPS for SRCTOP 489 490 * meta.sys.mk sys.dirdeps.mk: 491 originally DIRDEPS_BUILD and META_MODE were the same thing, 492 but META_MODE is useful by itself. 493 Move things from meta.sys.mk which actually pertain to 494 DIRDEPS_BUILD to sys.dirdeps.mk 495 4962023-05-04 Simon J Gerraty <sjg@beast.crufty.net> 497 498 * install-mk (MK_VERSION): 20230504 May the Forth be with you 499 500 * dirdeps.mk: as with meta.sys.mk we treat "host" as special. 501 DEP_TARGET_SPEC is just ${DEP_MACHINE} 502 503 * meta.sys.mk: ensure DEP_* for TARGET_SPEC_VARS are set at 504 level > 0 since these are often refered to in Makefile.depend* 505 5062023-04-26 Simon J Gerraty <sjg@beast.crufty.net> 507 508 * jobs.mk: report ${.TARGET} ${JOB_ARGS} ${JOB_LOG} and 509 anything in ${JOB_LOG_START} 510 511 * jobs.mk: look for newlog.sh in ${.SYSPATH:U${.PARSEDIR}} 512 or a scripts subdir before searching $PATH. 513 514 * FILES: include newlog.sh for jobs.mk 515 5162023-04-20 Simon J Gerraty <sjg@beast.crufty.net> 517 518 * install-mk (MK_VERSION): 20230420 519 520 * lib.mk: include LDFLAGS and LDADD when linking shared libs 521 522 * gendirdeps.mk: document setting GENDIRDEPS_FILTER_VARS etc 523 via local.meta.sys.mk rather than local.gendirdeps.mk 524 so DEP_* variables can be set at level 1+ to avoid syntax errors 525 when used in conditionals in manually maintained Makefile.depend 526 files. 527 528 * dirdeps.mk: ensure M_dep_qual_fixes is applied to all _machines 529 5302023-04-18 Simon J Gerraty <sjg@beast.crufty.net> 531 532 * dirdeps.mk: check we were not included by 533 Makefile.depend.options as the result is bad. 534 5352023-04-14 Simon J Gerraty <sjg@beast.crufty.net> 536 537 * install-mk (MK_VERSION): 20230414 538 539 * meta.sys.mk: since we have :range we can put the logic for 540 processing TARGET_SPEC from env here. 541 542 * dirdeps.mk: reset DIRDEPS and DEP_RELDIR before including 543 local.dirdeps-missing.mk, also improve debug output. 544 545 * dirdeps.mk: to allow make -f dirdeps.mk include.$TARGET_SPEC 546 we need to use :M*[/.]* same as for when actually setting DIRDEPS 547 from the targets on command line. 548 5492023-04-12 Simon J Gerraty <sjg@beast.crufty.net> 550 551 * Add jobs.mk 552 5532023-03-21 Simon J Gerraty <sjg@beast.crufty.net> 554 555 * install-mk (MK_VERSION): 20230321 556 557 * meta.stage.mk: allow STAGE_SHLIB_LINKS_FILTER to filter 558 STAGE_LIBS for SHLIB_LINKS. 559 560 * autoconf.mk: add .WAIT after config.status 561 5622023-02-17 Simon J Gerraty <sjg@beast.crufty.net> 563 564 * sys.vars.mk: add M_Index to report the index of a word in a list. 565 5662023-02-15 Simon J Gerraty <sjg@beast.crufty.net> 567 568 * install-mk (MK_VERSION): 20230215 569 570 * warnings.mk: allow better control of -Werror 571 allow -Wno-error or similar to be added if 572 WARNINGS_SET < WERROR_SET 573 account for COMPILER_TYPE 574 5752023-01-29 Simon J Gerraty <sjg@beast.crufty.net> 576 577 * autoconf.mk: hook config.status to beforebuild. 578 579 * whats.mk: what*.c is NOTMAIN 580 5812023-01-27 Simon J Gerraty <sjg@beast.crufty.net> 582 583 * install-mk (MK_VERSION): 20230127 584 control umask so directories are created with suitable mode. 585 5862023-01-20 Simon J Gerraty <sjg@beast.crufty.net> 587 588 * install-mk (MK_VERSION): 20230120 589 590 * sys.vars.mk: add M_On and M_Onr also cleanup to be more 591 consistent wrt testing MAKE_VERSION 592 5932023-01-12 Simon J Gerraty <sjg@beast.crufty.net> 594 595 * install-mk (MK_VERSION): 20230112 596 597 * meta2deps.{py,sh}: assert if filemon data is truncated 598 we should see the '# Bye bye' record - assert if we do not. 599 6002022-09-09 Simon J Gerraty <sjg@beast.crufty.net> 601 602 * install-mk (MK_VERSION): 20220909 603 604 * sys/Linux.mk set EGREP to grep -E to avoid deprecation warnings 605 6062022-09-06 Simon J Gerraty <sjg@beast.crufty.net> 607 608 * dirdeps-options.mk: explain the need to use 609 ${DEP_${TARGET_SPEC_VAR}:U${TARGET_SPEC_VAR}} when refering to 610 ${TARGET_SPEC_VAR} 611 6122022-09-03 Simon J Gerraty <sjg@beast.crufty.net> 613 614 * install-mk (MK_VERSION): 20220903 615 616 * M_cmpv handle more than 3 dots and clear leading 0's 617 6182022-07-20 Simon J Gerraty <sjg@beast.crufty.net> 619 620 * install-mk (MK_VERSION): 20220720 621 622 * prog.mk: handle PROG_CXX for more than just NetBSD 623 6242022-06-20 Simon J Gerraty <sjg@beast.crufty.net> 625 626 * install-mk (MK_VERSION): 20220620 627 628 * yacc.mk: when we have *.y in SRCS used explicit rules and .ORDER 629 rather than just suffix rules 630 6312022-04-23 Simon J Gerraty <sjg@beast.crufty.net> 632 633 * install-mk (MK_VERSION): 20220422 634 635 * gendirdeps.mk: If LOCAL_DEPENDS_GUARD is set to "no" 636 do not capture any local depends in Makefile.depend 637 6382022-03-25 Simon J Gerraty <sjg@beast.crufty.net> 639 640 * install-mk (MK_VERSION): 20220323 641 * posix.mk: default rules for .POSIX: 642 6432022-03-17 Simon J Gerraty <sjg@beast.crufty.net> 644 645 * sys/*.mk: remove l from ARFLAGS 646 6472022-03-14 Simon J Gerraty <sjg@beast.crufty.net> 648 649 * install-mk (MK_VERSION): 20220314 650 651 * dirdeps-options.mk: allow options to be per RELDIR 652 try DIRDEPS_OPTIONS_QUALIFIER_LIST first prefixed 653 with ${DEP_RELDIR}. 654 6552022-02-14 Simon J Gerraty <sjg@beast.crufty.net> 656 657 * install-mk (MK_VERSION): 20220214 658 659 * cc-wrap.mk: fix :@ modifier 660 6612022-02-06 Simon J Gerraty <sjg@beast.crufty.net> 662 663 * install-mk (MK_VERSION): 20220206 664 665 * cc-wrap.mk: docuement how CCACHE etc might be set for 666 maximum flexibility 667 6682022-02-05 Simon J Gerraty <sjg@beast.crufty.net> 669 670 * sys.vars.mk: use JOT_CMD (jot or seq) if available for M_JOT 671 6722022-02-04 Simon J Gerraty <sjg@beast.crufty.net> 673 674 * install-mk (MK_VERSION): 20220204 675 676 * host-target.mk: use .MAKE.OS if available 677 6782022-02-02 Simon J Gerraty <sjg@beast.crufty.net> 679 680 * install-mk (MK_VERSION): 20220202 681 682 * cc-wrap.mk: allow other entries in CC_WRAP_FILTER 683 We add our filter on extensions last, so prior filters 684 can apply to the whole value of .IMPSRC 685 6862022-02-01 Simon J Gerraty <sjg@beast.crufty.net> 687 688 * cc-wrap.mk: take advantage of target local variables to 689 wrap compilers like CC CXX with wrappers like ccache distcc etc 690 6912022-01-28 Simon J Gerraty <sjg@beast.crufty.net> 692 693 * meta2deps: we do not expect any trace data for setid apps 694 6952022-01-26 Simon J Gerraty <sjg@beast.crufty.net> 696 697 * dirdeps.mk: ensure TARGET_SPEC and TARGET_SPEC_VARS are passed 698 to sub-make using DIRDEPS_CACHE 699 7002022-01-07 Simon J Gerraty <sjg@beast.crufty.net> 701 702 * dirdeps.mk: use _cache_script to minimize the number of shells 703 forked when generating dirdeps.cache 704 7052022-01-02 Simon J Gerraty <sjg@beast.crufty.net> 706 707 * install-mk (MK_VERSION): 20220101 708 709 * dirdeps.mk: initialize DEP_* and _debug_reldir earlier. 710 If initial DIRDEPS are from command line, create the target 711 _dirdeps_cmdline as an indication. 712 7132022-01-01 Simon J Gerraty <sjg@beast.crufty.net> 714 715 * init.mk (_SKIP_BUILD): when doing DIRDEPS_BUILD 716 at top-level only some targets are allowed at level 0, 717 for leaf makefiles only the default (all) target is restricted 718 7192021-12-28 Simon J Gerraty <sjg@beast.crufty.net> 720 721 * install-mk (MK_VERSION): 20211228 722 723 * meta2deps.py: filemon on Linux is not as reliable as we might 724 like, we do not want to update DIRDEPS if filemon output is 725 incomplete. Track pids that we 'E'xec and make sure we see an 726 e'X'it for each one. Throw an error if we are missing any 'X' 727 records. 728 7292021-12-12 Simon J Gerraty <sjg@beast.crufty.net> 730 731 * sys.mk: simplify; include meta.sys.mk if MK_META_MODE is yes. 732 733 * meta.sys.mk: do not check for /dev/filemon if .MAKE.PATH_FILEMON 734 is something else. 735 736 * meta.autodep.mk: we can now reference ${.SUFFIXES} 737 738 * meta2deps.py: derive a list of dirdep extensions from 739 TARGET_SPEC to trim from dirdeps. 740 741 * dirdeps.mk: flip the computation of qualified vs unqualified 742 dirdeps - it is much simpler to check for unqualified first. 743 7442021-12-11 Simon J Gerraty <sjg@beast.crufty.net> 745 746 * install-mk (MK_VERSION): 20211212 747 748 * auto.dep.mk: rearrange so that the trivial implementation 749 for recent bmake is more obvious. 750 7512021-12-07 Simon J Gerraty <sjg@beast.crufty.net> 752 753 * install-mk (MK_VERSION): 20211207 754 755 * Ensure guard targets are .NOTMAIN 756 757 * meta.sys.mk: check for nofilemon support when we skip level 0 758 759 * auto.dep.mk: make this usable in meta mode 760 for platforms that cannot use meta.autodep.mk 761 762 * meta2deps.py: avoid confusion if MACHINE and another 763 TARGET_SPEC_VAR have same value. 764 7652021-11-27 Simon J Gerraty <sjg@beast.crufty.net> 766 767 * dirdeps.mk: when building dirdeps.cache, minimize the amount of 768 data put into env, by stripping ${SRCTOP}/ from each entry. 769 A long sandbox name can double the amount of memory consumed and 770 in extreme cases cause failure. 771 While we are at it, strip ${SRCTOP}/ from a lot of the debug output. 772 7732021-11-11 Simon J Gerraty <sjg@beast.crufty.net> 774 775 * install-mk (MK_VERSION): 20211111 776 777 * meta.stage.mk (LN_CP_SCRIPT): if staging to NFS cp -p can fail 778 so fallback to cp if necessary. 779 7802021-10-30 Simon J Gerraty <sjg@beast.crufty.net> 781 782 * man.mk (CMT2DOC): use cmt2doc.py rather than the 30 year 783 old cmt2doc.pl 784 7852021-10-24 Simon J Gerraty <sjg@beast.crufty.net> 786 787 * meta.stage.mk: stage_as_and_symlink use ${STAGE_LINK_AS_$f:U$f} 788 as the symlink (rare) 789 7902021-10-16 Simon J Gerraty <sjg@beast.crufty.net> 791 792 * autoconf.mk: if AUTOCONF_GENERATED_MAKEFILE is set and has not 793 been read, throw an error after running configure telling user to 794 restart. 795 7962021-10-13 Simon J Gerraty <sjg@beast.crufty.net> 797 798 * install-mk (MK_VERSION): 20211011 799 800 * Add support for SCO_SV 801 8022021-10-01 Simon J Gerraty <sjg@beast.crufty.net> 803 804 * install-mk (MK_VERSION): 20211001 805 806 * man.mk: use MAN_SUFFIXES and CMT2DOC_SUFFIXES for more 807 flexibility 808 8092021-09-13 Simon J Gerraty <sjg@beast.crufty.net> 810 811 * options.mk (describe-options): print options and their values 812 and optional description 813 8142021-09-11 Simon J Gerraty <sjg@beast.crufty.net> 815 816 * install-mk (MK_VERSION): 20210911 817 818 * options.mk (show-options): print options and their values 819 8202021-09-08 Simon J Gerraty <sjg@beast.crufty.net> 821 822 * install-mk (MK_VERSION): 20210909 823 824 * lib.mk: apply patch from <daniel@octaforge.org> 825 to fix shared libs on Linux 826 8272021-08-08 Simon J Gerraty <sjg@beast.crufty.net> 828 829 * install-mk (MK_VERSION): 20210808 830 831 * options.mk: issue warning for WITH_*=no 832 8332021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 834 835 * install-mk (MK_VERSION): 20210616 836 837 * dirdeps.mk: when using .MAKE.DEPENDFILE_PREFERENCE to find 838 depend files to read, anchor MACHINE at , or end of string 839 to avoid prefix match. 840 8412021-05-04 Simon J Gerraty <sjg@beast.crufty.net> 842 843 * install-mk (MK_VERSION): 20210504 844 845 * dirdeps.mk: re-implement ALL_MACHINES support to better 846 cater for local complexities, when ONLY_TARGET_SPEC_LIST 847 is not set. local.dirdeps.mk can set 848 DIRDEPS_ALL_MACHINES_FILTER and/or 849 DIRDEPS_ALL_MACHINES_FILTER_XTRAS to filter the results we get 850 from listing all existing Makefile.depend.* 851 8522021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 853 854 * install-mk (MK_VERSION): 20210420 855 856 * dirdeps.mk: revert previous - not always safe. 857 8582021-03-20 Simon J Gerraty <sjg@beast.crufty.net> 859 860 * install-mk (MK_VERSION): 20210321 861 862 * dirdeps.mk: when generating dirdeps.cache 863 we only need to hook the initial DIRDEPS to the 864 dirdeps target. That and any _build_xtra_dirs (like tests which 865 should not be hooked directly to the dependency graph - to avoid 866 cycles) 867 8682021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 869 870 * install-mk (MK_VERSION): 20210130 871 872 * dirdeps.mk: expr 2 - 1 - 1 exits with a bad status 873 we need to guard against this in DIRDEP_LOADAVG_REPORT. 874 875 * dirdeps.mk: restore respect for TARGET_MACHINE 876 8772021-01-06 Simon J Gerraty <sjg@beast.crufty.net> 878 879 * install-mk (MK_VERSION): 20210101 880 881 * dirdeps.mk: first time we are read, just use TARGET_SPEC for 882 _DEP_TARGET_SPEC 883 8842020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 885 886 * sys.mk (MAKE_SHELL): use ${.SHELL:Ush} 887 and use := when setting SHELL 888 8892020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 890 891 * install-mk (MK_VERSION): 20201221 892 893 * dirdeps-options.mk: latest bmake allows only one arg to .undef 894 8952020-12-11 Simon J Gerraty <sjg@beast.crufty.net> 896 897 * dirdeps-targets.mk: allow for "." in DIRDEPS_TARGETS_DIRS 898 so that any directory can be treated as a target. 899 9002020-11-26 Simon J Gerraty <sjg@beast.crufty.net> 901 902 * install-mk (MK_VERSION): 20201126 903 904 * own.mk: use .MAKE.{UID,GID} if available. 905 906 * init.mk: suppress _SKIP_BUILD warning if doing -V 907 9082020-11-20 Simon J Gerraty <sjg@beast.crufty.net> 909 910 * install-mk (MK_VERSION): 20201120 911 912 * init.mk: rename LEVEL0_TARGETS to DIRDEPS_BUILD_LEVEL0_TARGETS 913 914 * dirdeps-targets.mk: fix typo in comment 915 9162020-11-06 Simon J Gerraty <sjg@beast.crufty.net> 917 918 * install-mk (MK_VERSION): 20201106 919 920 * meta.autodep.mk: use OBJ_EXTENSIONS rather than hardcode sed 921 args to tweak extensions for local deps. 922 9232020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 924 925 * install-mk (MK_VERSION): 20201101 926 927 * dirdeps.mk: most leaf makefiles are not suitable for building 928 dirdeps.cache so if RELDIR is not "." use dirdeps.mk 929 9302020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 931 932 * install-mk (MK_VERSION): 20201028 933 934 * dirdeps.mk: if we don't have :range use equivalent of M_RANGE 935 when building dirdeps.cache for leaf directory use -f dirdeps.mk 936 937 * sys.vars.mk: add M_JOT and M_RANGE 938 9392020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 940 941 * install-mk (MK_VERSION): 20201001 942 943 * meta2deps.{py,sh}: throw an error if we don't see filemon version 944 9452020-09-09 Simon J Gerraty <sjg@beast.crufty.net> 946 947 * install-mk (MK_VERSION): 20200909 948 949 * dirdeps-cache-update.mk: use cache_update_dirdep as guard target 950 9512020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 952 953 * dirdeps.mk: ensure we cannot confuse a static cache for dynamic 954 (even more rare that use of static cache is playing clever tricks 955 with it) 956 9572020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 958 959 * dirdeps-cache-update.mk: allow 960 MK_STATIC_DIRDEPS_CACHE_UPDATE_IMMEDIATE to control when we 961 actually update STATIC_DIRDEPS_CACHE. 962 963 * stage-install.sh: create dest directory if needed 964 before running install(1) 965 9662020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 967 968 * dirdeps-targets.mk: include Makefile.dirdeps.options 969 970 * dirdeps.mk: use _TARGETS if defined for DIRDEPS_CACHE 971 9722020-08-09 Simon J Gerraty <sjg@beast.crufty.net> 973 974 * dirdeps.mk: default BUILD_DIRDEPS_MAKEFILE to empty 975 976 * dirdeps-cache-update.mk: building parallel cache update 977 under the context of dirdeps-cached would be ideal, but 978 is problematic, so it runs as a sibling. 979 Use cache-built target to ensure we wait for it to complete if 980 necessary. 981 9822020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 983 984 * install-mk (MK_VERSION): 20200806 985 986 * dirdeps-options: allow TARGET_SPEC to affect option values. 987 Use DIRDEPS_OPTIONS_QUALIFIER_LIST before using bare MK_* 988 989 * dirdeps-targets.mk: check for MK_STATIC_DIRDEPS_CACHE defined 990 before looking for STATIC_DIRDEPS_CACHE 991 9922020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 993 994 * host-target.mk: Darwin use MACHINE for HOST_ARCH too 995 996 * dirdeps-options.mk: improve debug output 997 9982020-07-22 Simon J Gerraty <sjg@beast.crufty.net> 999 1000 * dirdeps.mk: set and export DYNAMIC_DIRDEPS_CACHE 1001 for use by dirdeps-cache-update.mk 1002 1003 * dirdeps-targets.mk: set and export STATIC_DIRDEPS_CACHE 1004 for use by dirdeps-cache-update.mk even if we don't use it. 1005 1006 * dirdeps-cache-update.mk: we only need worry about the background 1007 update case, with the above, the update from DIRDEPS_CACHE is 1008 simple. 1009 1010 * meta2deps.py: R 1234 . is not interesting 1011 10122020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 1013 1014 * sys.mk: default MK_STATIC_DIRDEPS_CACHE from MK_DIRDEPS_CACHE 1015 1016 * dirdeps-options.mk: do not :tu DIRDEPS_OPTIONS 1017 allows use of lower case for pseudo options. 1018 1019 * dirdeps-cache-update.mk: magic to deal with STATIC_DIRDEPS_CACHE 1020 10212020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 1022 1023 * dirdeps-targets.mk: Look for Makefile.dirdeps.cache 1024 which allows us to have a static cache for expensive targets. 1025 Use -DWITHOUT_STATIC_DIRDEPS_CACHE -DWITH_DIRDEPS_CACHE 1026 to regenerate the dirdeps.cache it is a copy of. 1027 10282020-07-17 Simon J Gerraty <sjg@beast.crufty.net> 1029 1030 * Get rid of BUILD_AT_LEVEL0, MK_DIRDEPS_BUILD makes more sense. 1031 10322020-07-16 Simon J Gerraty <sjg@beast.crufty.net> 1033 1034 * dirdeps.mk (DIRDEP_LOADAVG_REPORT): make it easy to record 1035 load averages at intervals during build. 1036 10372020-07-15 Simon J Gerraty <sjg@beast.crufty.net> 1038 1039 * install-mk (MK_VERSION): 20200715 1040 1041 * dirdeps.mk: tweak Checking line to make matching Finished 1042 lines for post-build analysis easier. 1043 1044 * meta.autodep.mk: use !defined(WITHOUT_META_STATS) 1045 1046 * progs.mk: avoid prog.mk outputting multiple Finished lines 1047 10482020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 1049 1050 * dirdeps.mk: further optimize dirdeps.cache 1051 generate a DIRDEPS.${.TARGET} list for other purposes 1052 and improve the layout. 1053 10542020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 1055 1056 * dirdeps.mk: optimize content of dirdeps.cache 1057 10582020-06-28 Simon J Gerraty <sjg@beast.crufty.net> 1059 1060 * sys/*.mk: make it easier for local*sys.mk to customize by 1061 using ?= 1062 10632020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 1064 1065 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0 1066 it is much safer to guard local depends with a simple check for 1067 .MAKE.LEVEL > 0 1068 10692020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 1070 1071 * install-mk (MK_VERSION): 20200610 1072 1073 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok 1074 10752020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 1076 1077 * install-mk (MK_VERSION): 20200606 1078 1079 * dirdeps-targets.mk: allow for filtering of .TARGETS 1080 1081 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove 1082 entries - and we don't care about 'W'rite entries. 1083 Also ignore absolute paths that do not exist. 1084 10852020-05-25 Simon J Gerraty <sjg@beast.crufty.net> 1086 1087 * install-mk (MK_VERSION): 20200525 1088 1089 * init.mk: expand and simplify handling of qualified vars 1090 like CPPFLAGS.${.TARGET:T} 1091 10922020-05-15 Simon J Gerraty <sjg@beast.crufty.net> 1093 1094 * install-mk (MK_VERSION): 20200515 1095 1096 * dirdeps.mk: set _debug_* earlier and allow passing -d* 1097 flags to submake when building DIRDEPS_CACHE 1098 10992020-05-09 Simon J Gerraty <sjg@beast.crufty.net> 1100 1101 * whats.mk: more easily extensible 1102 11032020-05-02 Simon J Gerraty <sjg@beast.crufty.net> 1104 1105 * whats.mk: greatly simplify by adding what.c to SRCS 1106 11072020-05-01 Simon J Gerraty <sjg@beast.crufty.net> 1108 1109 * whats.mk: for libs take care how we add to *OBJS 1110 1111 * lib.mk: : works better with whats.mk 1112 11132020-04-25 Simon J Gerraty <sjg@beast.crufty.net> 1114 1115 * install-mk (MK_VERSION): 20200420 1116 1117 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep 1118 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC} 1119 11202020-04-16 Simon J Gerraty <sjg@beast.crufty.net> 1121 1122 * install-mk (MK_VERSION): 20200416 1123 1124 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to 1125 interfere with user env. 1126 1127 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL 1128 1129 * autodep.mk: use MAKE_SHELL. 1130 11312019-11-21 Simon J Gerraty <sjg@beast.crufty.net> 1132 1133 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of 1134 wasted effort, and unexport _meta_files when no longer needed as 1135 it consumes space we need for command line. 1136 11372019-11-11 Simon J Gerraty <sjg@beast.crufty.net> 1138 1139 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add 1140 DIRDEP_USE_PRELUDE at start - facilitates job distribution 1141 11422019-10-04 Simon J Gerraty <sjg@beast.crufty.net> 1143 1144 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST 1145 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid 1146 TARGET_SPEC qualified depend files. 1147 11482019-10-02 Simon J Gerraty <sjg@beast.crufty.net> 1149 1150 * dirdeps-targets.mk: encapsulate logic for finding top-level 1151 targets to set initial DIRDEPS for DIRDEPS_BUILD 1152 11532019-09-27 Simon J Gerraty <sjg@beast.crufty.net> 1154 1155 * install-mk (MK_VERSION): 20190911 1156 1157 * compiler.mk: set COMPILER_TYPE 1158 11592019-07-17 Simon J Gerraty <sjg@beast.crufty.net> 1160 1161 * install-mk (MK_VERSION): 20190704 1162 1163 * sys/Darwin.mk: support for Objective-C and clang 1164 11652019-05-30 Simon J Gerraty <sjg@beast.crufty.net> 1166 1167 * dirdeps.mk: avoid insanely long command line when generating cache 1168 11692019-05-23 Simon J Gerraty <sjg@beast.crufty.net> 1170 1171 * install-mk (MK_VERSION): 20190505 1172 1173 * whats.mk: handle corner case SHLIB defined but not LIB 1174 11752018-09-19 Simon J Gerraty <sjg@beast.crufty.net> 1176 1177 * install-mk (MK_VERSION): 20180919 1178 1179 * dirdeps-options.mk: .undef cannot handle var that expands to 1180 more than one var. 1181 11822018-07-08 Simon J Gerraty <sjg@beast.crufty.net> 1183 1184 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc. 1185 11862018-06-01 Simon J Gerraty <sjg@beast.crufty.net> 1187 1188 * meta.autodep.mk: export META_FILES to avoid command line limit 1189 * gendirdeps.mk: if we have lots of .meta files put them in 1190 an @list 1191 11922018-05-28 Simon J Gerraty <sjg@beast.crufty.net> 1193 1194 * dirdeps-options.mk: use local.dirdeps-options.mk 1195 not local.dirdeps-option.mk 1196 11972018-04-20 Simon J Gerraty <sjg@beast.crufty.net> 1198 1199 * install-mk (MK_VERSION): 20180420 1200 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0 1201 ie. we are building something. 1202 12032018-04-14 Simon J Gerraty <sjg@beast.crufty.net> 1204 1205 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS. 1206 12072018-04-05 Simon J Gerraty <sjg@beast.crufty.net> 1208 1209 * install-mk (MK_VERSION): 20180405 1210 1211 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER 1212 if needed. 1213 12142018-01-18 Simon J Gerraty <sjg@beast.crufty.net> 1215 1216 * install-mk (MK_VERSION): 20180118 1217 1218 * ldorder.mk: let make compute correct link order 1219 12202017-12-12 Simon J Gerraty <sjg@beast.crufty.net> 1221 1222 * install-mk (MK_VERSION): 20171212 1223 1224 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER 1225 12262017-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1227 1228 * install-mk (MK_VERSION): 20171111 1229 1230 * lib.mk: ensure META_NOECHO is set 1231 12322017-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 1233 1234 * Allow for host32 on rare occasions. 1235 12362017-10-18 Simon J. Gerraty <sjg@bad.crufty.net> 1237 1238 * install-mk (MK_VERSION): 20171018 1239 1240 * whats.mk: include what_thing in what_uuid to avoid problem 1241 when building multiple apps in the same directory. 1242 12432017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 1244 1245 * install-mk (MK_VERSION): 20170812 1246 1247 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can 1248 add dependencies for config.recheck and config.gen 1249 12502017-06-30 Simon J. Gerraty <sjg@bad.crufty.net> 1251 1252 * install-mk (MK_VERSION): 20170630 1253 1254 * meta.stage.mk: avoid triggering stage_* targets with nothing to do. 1255 12562017-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 1257 1258 * meta2deps.py: take special care of '..' 1259 12602017-05-15 Simon J. Gerraty <sjg@bad.crufty.net> 1261 1262 * install-mk (MK_VERSION): 20170515 1263 1264 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is 1265 useful/necessary for a Makefile.depend file to export some knobs. 1266 This is complicated when we are doing DIRDEPS_CACHE, so we will 1267 handle export of any variables listed in DEP_EXPORT_VARS. 1268 12692017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 1270 1271 * install-mk (MK_VERSION): 20170505 1272 1273 * meta2deps.py: fix botched indenation. 1274 12752017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1276 1277 * sys/*.mk: Remove setting of MAKE it is unnecessary and 1278 in many cases wrong (basname rather than full path) 1279 1280 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk 1281 1282 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc 1283 12842017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1285 1286 * install-mk (MK_VERSION): 20170501 1287 1288 * doc.mk: fix typo in DOC_INSTALL_OWN 1289 1290 * inc.mk: handle INCGROUPS similar to freebsd 1291 1292 * files.mk: add something for files too 1293 1294 * add staging logic to lib.mk prog.mk etc. 1295 12962017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 1297 1298 * install-mk (MK_VERSION): 20170424 1299 1300 * dirdeps.mk: set NO_DIRDEPS when bootstrapping. 1301 also target of bootstrap-this when sed is needed should be ${_want:T} 1302 13032017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1304 1305 * install-mk (MK_VERSION): 20170418 1306 1307 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a 1308 prefix match for .CURDIR - in which case .CURDIR *is* __objdir. 1309 13102017-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1311 1312 * install-mk (MK_VERSION): 20170401 1313 1314 * meta2deps.py: add is_src so we can check if obj dependency 1315 is also a src dependency. 1316 13172017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 1318 1319 * install-mk (MK_VERSION): 20170326 1320 1321 * meta.stage.mk: do nothing if NO_STAGING is defined. 1322 13232017-03-24 Simon J. Gerraty <sjg@bad.crufty.net> 1324 1325 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc. 1326 13272017-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1328 1329 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_* 1330 13312017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1332 1333 * install-mk (MK_VERSION): 20170301 1334 1335 * dirdeps.mk (_build_all_dirs): update this outside test for empty 1336 DIRDEPS. 1337 1338 * meta.stage.mk: allow multiple inclusion to the extent it makes 1339 sense. 1340 13412017-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1342 1343 * prog.mk (install_links): depends on realinstall 1344 13452017-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 1346 1347 * install-mk (MK_VERSION): 20170212 1348 1349 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries 1350 13512017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 1352 1353 * install-mk (MK_VERSION): 20170130 1354 1355 * dirdeps.mk: use :range if we can. 1356 1357 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130 1358 1359 * meta2deps.py: clean paths without using realpath() where possible. 1360 fix sort_unique. 1361 13622016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1363 1364 * install-mk (MK_VERSION): 20161212 1365 1366 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, 1367 rather than when we detect pid change. 1368 13692016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 1370 1371 * install-mk (MK_VERSION): 20161207 1372 1373 * meta.stage.mk: add stage_as_and_symlink for staging packages. 1374 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able 1375 to use foo.tgz to reference the latest staged version - so we 1376 make foo.tgz a symlink to it. 1377 Using a target to do both operations ensures we stay in sync. 1378 13792016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1380 1381 * install-mk (MK_VERSION): 20161126 1382 1383 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk 1384 so it can add dependencies. 1385 13862016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1387 1388 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE 1389 do that they can influence the result correctly. 1390 1391 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC 1392 1393 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST 1394 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 1395 13962016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 1397 1398 * dirdeps.mk: remove dependence on jot (normal situations anyway). 1399 Before we read another Makefile.depend* set DEP_* vars from 1400 _DEP_TARGET_SPEC in case it uses any of them with := 1401 When bootstrapping, trim any ,* from extention of chosen _src 1402 Makefile.depend* to get the machine value we subst for. 1403 14042016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> 1405 1406 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to 1407 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER 1408 1409 * sys.mk: extract some bits to sys.{debug,vars}.mk 1410 for easier re-use by others. 1411 14122016-09-23 Simon Gerraty <sjg@sjg-mba13> 1413 1414 * lib.mk: Use ${PICO} for extension for PIC objects. 1415 default to .pico (like NetBSD) safe on case insensitive filesystem. 1416 14172016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> 1418 1419 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default 1420 14212016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 1422 1423 * install-mk (MK_VERSION): 20160815 1424 1425 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only 1426 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date. 1427 14282016-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 1429 1430 * meta.sys.mk (.MAKE.META.IGNORE_PATHS): 1431 in meta mode we can ignore the mtime of makefiles 1432 14332016-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1434 1435 * install-mk (MK_VERSION): 20160802 1436 1437 * lib.mk (libinstall): depends on beforinstall 1438 1439 * prog.mk (proginstall): depends on beforinstall 1440 patch from Lauri Tirkkonen 1441 1442 * dirdeps.mk (bootstrap): When bootstrapping; creat 1443 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via 1444 .MAKE.DEPENDFILE_BOOTSTRAP_SED 1445 1446 * dirdeps.mk: move some comments to where they make sense. 1447 14482016-07-27 Simon J. Gerraty <sjg@bad.crufty.net> 1449 1450 * dirdeps.mk (DIRDEPS_CACHE): no dirname. 1451 14522016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1453 1454 * install-mk (MK_VERSION): 20160602 1455 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk 1456 do not apply :T to META_XTRAS 1457 patch from Bryan Drewery at FreeBSD.org. 1458 14592016-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 1460 1461 * install-mk (MK_VERSION): 20160530 1462 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH 1463 make it so. 1464 14652016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 1466 1467 * install-mk (MK_VERSION): 20160512 1468 1469 * dpadd.mk: always include local.dpadd.mk if it exists 1470 remove some things that better belong in local.dpadd.mk 1471 skip INCLUDES_* for staged libs unless SRC_* defined. 1472 1473 * own.mk: add INCLUDEDIR 1474 14752016-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1476 1477 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no 1478 TARGET_MACHINE - :E will be empty or match part of path, use 1479 ${MACHINE} 1480 14812016-04-07 Simon J. Gerraty <sjg@bad.crufty.net> 1482 1483 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to 1484 NO_FILEMON_COOKIE 1485 1486 * dirdeps.mk: move the logic that allows for 1487 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1488 inside the check for !target(_DIRDEP_USE) 1489 14902016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 1491 1492 * Use <> when including local*.mk and others which may exist 1493 elsewhere so that user can better control what they get. 1494 1495 * meta.autodep.mk (NO_FILEMON_COOKIE): 1496 create a cookie if we ever build dir with nofilemon 1497 so that UPDATE_DEPENDFILE will be forced to NO until cleaned. 1498 14992016-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1500 1501 * install-mk (MK_VERSION): 20160401 1502 1503 * meta2deps.py: fix old print statement when debugging. 1504 1505 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X 1506 patch from Bryan Drewery 1507 15082016-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 1509 1510 * install-mk (MK_VERSION): 20160317 (St. Pats) 1511 1512 * warnings.mk: g++ does not like -Wimplicit 1513 1514 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the 1515 pelthora of common suffixes for C++ 1516 1517 * lib.mk: use .So for shared objects 1518 15192016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1520 1521 * install-mk (MK_VERSION): 20160315 1522 1523 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 1524 normally only applies to scripts. 1525 1526 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 1527 well as outside it. 1528 15292016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1530 1531 * install-mk (MK_VERSION): 20160310 1532 1533 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 1534 we have processed; the list gets very inefficient as number of 1535 DIRDEPS gets large. 1536 1537 * sys.dependfile.mk: fix comment wrt MACHINE 1538 1539 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 1540 patch from Bryan Drewery 1541 15422016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 1543 1544 * meta2deps.sh: don't ignore subdirs. 1545 patch from Bryan Drewery 1546 15472016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1548 1549 * install-mk (MK_VERSION): 20160226 1550 1551 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 1552 15532016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 1554 1555 * dirdeps.mk: we shouldn't normally include .depend but if we do 1556 use .dinclude if we can. 1557 15582016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1559 1560 * install-mk (MK_VERSION): 20160218 1561 * sys.clean-env.mk: with recent change to Var_Subst() 1562 we cannot use the '$$' trick, but .export-literal does the job 1563 we need. 1564 * auto.dep.mk: make use .dinclude if we can. 1565 1566 15672016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 1568 1569 * dirdeps.mk: 1570 Add _build_all_dirs such that local.dirdeps.mk can 1571 add fully qualified dirs to it. 1572 These will be built normally but the current 1573 DEP_RELDIR will not depend on then (to avoid cycles). 1574 This makes it easy to hook things like unit-tests into build. 1575 1576 15772016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 1578 1579 * dirdeps.mk: add bootstrap-empty 1580 15812015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1582 1583 * install-mk (MK_VERSION): 20151212 1584 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 1585 only apply :tA to __objdir when comparing to .OBJDIR 1586 15872015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1588 1589 * install-mk (MK_VERSION): 20151111 1590 1591 * meta.sys.mk: include sys.dependfile.mk 1592 1593 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 1594 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 1595 include local.sys.env.mk early 1596 include local.sys.mk later 1597 1598 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 1599 16002015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1601 1602 * meta.sys.mk (META_COOKIE_TOUCH): 1603 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 1604 1605 * meta.stage.mk: stage_libs should ignore SYMLINKS. 1606 16072015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 1608 1609 * install-mk (MK_VERSION): 20151022 1610 1611 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 1612 16132015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1614 1615 * install-mk (MK_VERSION): 20151020 1616 1617 * dirdeps.mk: Add logic for 1618 make -f dirdeps.mk some/dir.${TARGET_SPEC} 1619 16202015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 1621 1622 * install-mk (MK_VERSION): 20151010 1623 16242015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 1625 1626 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 1627 to have stage_lins run last in non-jobs mode. 1628 Use .ORDER only for jobs mode. 1629 16302015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1631 1632 * rst2htm.mk: allow for per target flags etc. 1633 16342015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1635 1636 * install-mk (MK_VERSION): 20150901 1637 1638 * doc.mk: create dir if needed use DOC_INSTALL_OWN 1639 16402015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 1641 1642 * install-mk (MK_VERSION): 20150615 1643 1644 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 1645 Follow make's normal precedence rules. 1646 1647 * gendirdeps.mk: allow customization of the header. 1648 eg. for FreeBSD: 1649 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 1650 1651 * meta.autodep.mk: ignore dirdeps.cache* 1652 1653 * meta.stage.mk: when bootstrapping options it can be handy to 1654 throw warnings rather than errors for staging conflicts. 1655 1656 * meta.sys.mk: include local.meta.sys.mk for customization 1657 16582015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1659 1660 * install-mk (MK_VERSION): 20150606 1661 1662 * dirdeps.mk: don't rely on manually maintained Makefile.depend 1663 to set DEP_RELDIR and reset DIRDEPS. 1664 By setting DEP_RELDIR ourselves we can skip :tA 1665 1666 * gendirdeps.mk: skip setting DEP_RELDIR. 1667 16682015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1669 1670 * dirdeps.mk: avoid wildcards like make(bootstrap*) 1671 16722015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1673 1674 * install-mk (MK_VERSION): 20150520 1675 1676 * dirdeps.mk: when we are building dirdeps cache file we *want* 1677 meta_oodate to look at all the Makefile.depend files, so 1678 set .MAKE.DEPENDFILE to something that won't match. 1679 1680 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 1681 so first use absolute path as key. 1682 Also skip staging at level 0. 1683 16842015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1685 1686 * install-mk (MK_VERSION): 20150430 1687 1688 * dirdeps.mk: fix _count_dirdeps for non-cache case. 1689 16902015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 1691 1692 * install-mk (MK_VERSION): 20150411 1693 bump version 1694 1695 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 1696 it is here mainly for documentation purposes, since 1697 if using auto.obj.mk it is better done via sys.mk 1698 16992015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1700 1701 * install-mk (MK_VERSION): 20150401 1702 1703 * meta2deps.sh: support @list 1704 1705 * meta2deps.py: updates from Juniper 1706 o add EXCLUDES 1707 o skip bogus input files. 1708 o treat 'M' and 'L' as both an 'R' and a 'W' 1709 17102015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1711 1712 * install-mk (MK_VERSION): 20150303 1713 1714 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 1715 which is built via sub-make so we have a .meta file to tell if 1716 it is out-of-date. 1717 The dirdeps-cache contains the same dependency rules that we 1718 normaly construct on the fly. 1719 This adds a few seconds overhead when the cache is out of date, 1720 but for a large target, the savings can be significant (10-20min). 1721 17222014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 1723 1724 * install-mk (MK_VERSION): 20141118 1725 1726 * meta.stage.mk: add stale_staged 1727 1728 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 1729 only useful under very rare conditions such as 1730 FreeBSD's make universe. 1731 1732 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 1733 17342014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1735 1736 * install-mk (MK_VERSION): 20141111 1737 1738 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 1739 17402014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1741 1742 * FILES: include mkopt.sh which allows handling options in shell 1743 scripts in a manner compatible with options.mk 1744 17452014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1746 1747 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 1748 for GENDIRDEPS_FILTER to avoid surprises. 1749 17502014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1751 1752 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 1753 the time it is applied to __depdirs they have. 1754 1755 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 1756 expects patterns like *.${MACHINE} 1757 1758 * cython.mk (pyprefix?): use pyprefix to find python bits 1759 since prefix might be something else (where we install our 1760 stuff) 1761 17622014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1763 1764 * install-mk (MK_VERSION): 20140911 1765 1766 * dirdeps.mk: add bootstrap target to simplify adding support for 1767 new MACHINE. 1768 17692014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 1770 1771 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 1772 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 1773 Makefile.depend files. 1774 17752014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1776 1777 * install-mk (MK_VERSION): 20140828 1778 1779 * cython.mk: capture logic for building python extension modules 1780 with Cython. 1781 17822014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1783 1784 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 1785 17862014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 1787 1788 * install-mk (MK_VERSION): 20140801 1789 1790 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 1791 identify the autodep.mk variant. 1792 1793 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 1794 initial value does not match .MAKE.DEPENDFILE_PREFIX 1795 1796 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 1797 17982014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1799 1800 * install-mk (MK_VERSION): 20140522 1801 1802 * lib.mk: use CC to link shlib for linux too 1803 patch from Brendan MacDonell 1804 18052014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1806 1807 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 1808 if WITH_META_STATS is defined. 1809 18102014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1811 1812 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 1813 to supress dirdeps outside of .CURDIR. 1814 18152014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1816 1817 * Fix spelling errors - patch from Pedro Giffuni 1818 18192014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 1820 1821 * install-mk (MK_VERSION): 20140314 1822 1823 * dirdeps.mk (beforedirdeps): a handy hook 1824 1825 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 1826 to visit leaf dirs to be intercepted (eg. for distributed 1827 build). 1828 1829 * dirdeps.mk (__depdirs): ensure // don't sneak in 1830 1831 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 1832 1833 18342014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 1835 1836 * rst2htm.mk (RST2PDF): add support for rst2pdf 1837 18382014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1839 1840 * install-mk (MK_VERSION): bump version 1841 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 1842 available. 1843 18442014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1845 1846 * options.mk: avoid :U so this isn't bmake dependent 1847 18482014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 1849 1850 * options.mk: cleanup and simplify semanitcs 1851 NO_* dominates all, if both WITH_* and WITHOUT_* 1852 are defined then result is DOMINATE_* which defaults to "no". 1853 Ie. WITHOUT_ normally wins. 1854 18552013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1856 1857 * install-mk (MK_VERSION): bump version 1858 * meta2deps.py: convert to print function for python3 compat. 1859 we also need to open files with mode 'r' rather than 'rb' 1860 otherwise we get bytes instead of strings. 1861 18622013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1863 1864 * install-mk (MK_VERSION): bump version 1865 1866 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 1867 apply the same filtering (M_dep_qual_fixes) when setting _machines 1868 as _build_dirs. 1869 Also fix the filtering of Makefile.depend files - for reporting 1870 what we are looking for (M_dep_qual_fixes can get confused by 1871 Makefile.depend) 1872 Add some more debug info. 1873 18742013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1875 1876 * gendirdeps.mk (_objtops): fix typo also 1877 while processing M2D_OBJROOTS to gather qualdir_list 1878 qualify $ql with loop iterator to ensure correct results. 1879 18802013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1881 1882 * install-mk (MK_VERSION): 20130801 1883 * libs.mk: update to match progs.mk 1884 18852013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 1886 1887 * install-mk (MK_VERSION): 20130726 1888 some updates from Juniper and FreeBSD 1889 o meta2deps.py: indicate file and line number when we hit parse 1890 errors 1891 also allow @file to provide huge list of .meta files. 1892 * meta2deps.py: add try_parse() to cleanup the above. 1893 18942013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1895 1896 * install-mk (MK_VERSION): 20130716 1897 * own.mk: add GPROG as an option 1898 * prog.mk: honor MK_GPROF==yes 1899 19002013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1901 1902 * install-mk (MK_VERSION): 20130505 1903 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 1904 for when $MACHINE isn't enough for objdir distinction. 1905 Bring meta2deps.sh closer to par with meta2deps.py. 1906 19072013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1908 1909 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 1910 also if the target 'beforeinstall' exists, make it depend on 1911 .dirdep (incase it uses STAGE_INSTALL). 1912 19132013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1914 1915 * install-mk (MK_VERSION): 20130401 ;-) 1916 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 1917 wrapper around install(1). 1918 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 1919 19202013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1921 1922 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 1923 * install-mk (MK_VERSION): bump version 1924 19252013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 1926 1927 * install-mk (MK_VERSION): bump version 1928 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 1929 any trailing /., rather apply :tA only when needed. 1930 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 1931 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 1932 consistently. 1933 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 1934 19352013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1936 1937 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 1938 it is simpler to just not update when say building for "host" 1939 (where we know we apply filters to DIRDEPS), and using a 1940 non-machine qualified dependfile. 1941 19422013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1943 1944 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 1945 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 1946 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 1947 * meta2deps.py: if machine is "host", then also trim 1948 self.host_target from any OBJROOTS. 1949 1950 19512013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1952 1953 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 1954 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 1955 but _DEPENDFILE does not, compare the new _DEPENDFILE against 1956 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 1957 19582013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 1959 1960 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 1961 and hook to all: via staging: 1962 19632013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1964 1965 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 1966 use a separate variable for the default .MAKE.DEPENDFILE value 1967 so that it can be controlled independently of 1968 .MAKE.DEPENDFILE_PREFERENCE 1969 1970 * meta.stage.mk: throw error if cp fails etc. 1971 Stage*() return early if passed no args. 1972 .ORDER stage_* 1973 19742013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1975 1976 * install-mk (MK_VERSION): bump version 1977 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 1978 19792013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1980 1981 * install-mk (MK_VERSION): bump version to 20130210 1982 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 1983 from Juniper. 1984 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 1985 than just MACHINE. 1986 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 1987 19882013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 1989 1990 * install-mk (MK_VERSION): bump version to 20130123 1991 * meta.stage.mk: add stage_links (hard links). 1992 if doing hard links, we add dest to link as well. 1993 Default the stage dir for [sym]links to STAGE_OBJTOP since 1994 these are typically specified as absolute paths. 1995 Add -m "mode" flag to StageFiles and StageAs. 1996 19972012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1998 1999 * install-mk (MK_VERSION): bump version to 20121111 2000 * autoconf.mk: avoid meta mode seeing changed commands for config.status 2001 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 2002 in case we were found via .../mk 2003 * sys.clean-env.mk: move it from examples, we and others use it 2004 "as is". 2005 * FILES: add srctop.mk and options.mk 2006 * own.mk: convert to using options.mk 2007 which is modeled after FreeBSD's handling of MK_* 2008 but more flexible. 2009 This allows MK_* for boolean knobs to not be confused 2010 with MK* which can be commands. 2011 2012 * examples/sys.clean-env.mk: add WITH[OUT]_ to 2013 MAKE_ENV_SAVE_PREFIX_LIST. 2014 Mention that HOME=/var/empty might be a good idea. 2015 20162012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 2017 2018 * sys.dependfile.mk: if not depend file exists, $MACHINE 2019 specific ones are supported but not the default, 2020 check if any exist and follow suit. 2021 20222012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 2023 2024 * install-mk (MK_VERSION): bump version to 20121106 2025 20262012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 2027 2028 * import latest dirdeps.mk and meta2deps.py from Juniper. 2029 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 2030 also add PROGS_TARGETS and pass on PROG_CXX if it seems 2031 appropriate. 2032 20332012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 2034 2035 * meta.stage.mk: update CLEANFILES 2036 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 2037 * progs.mk: Add LDADD to PROG_VARS 2038 20392012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 2040 2041 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 2042 _STAGED_DIRS so that these can be turned into filters for 2043 GENDIRDEPS_FILTER. 2044 20452012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 2046 2047 * install-mk (MK_VERSION): bump version to 20121010 2048 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 2049 target.dirdep matches .dirdep 2050 20512012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 2052 2053 * install-mk (MK_VERSION): bump version to 20120808 2054 * import latest meta2deps.py from Juniper. 2055 20562012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 2057 2058 * install-mk (MK_VERSION): bump version to 20120711 2059 * dep.mk: add explicit dependencies on SRCS after applying 2060 SRCS_DEP_FILTER 2061 * meta.autodep.mk: add explicit dependencies on SRCS after 2062 applying SRCS_DEP_FILTER 2063 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 2064 20652012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 2066 2067 * install-mk (MK_VERSION): bump version to 20120626 2068 * meta.sys.mk: ignore PYTHON if it does not exist 2069 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 2070 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 2071 entries ending in .${MACHINE} to decide if qualified _dirdep is 2072 needed. 2073 * gendirdeps.mk: only produce unqualified deps if no 2074 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 2075 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 2076 20772012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 2078 2079 * install-mk (MK_VERSION): bump version to 20120420 2080 * add sys.dependfile.mk so we can experiment with 2081 .MAKE.DEPENDFILE_PREFERENCE 2082 * meta.autodep.mk: _DEPENDFILE is precious! 2083 20842012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 2085 2086 * install-mk (MK_VERSION): bump version to 20120315 2087 * install-new.mk: avoid being interrupted 2088 20892012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 2090 2091 * man.mk: MAN might have multiple values so be careful with exists(). 2092 20932012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 2094 2095 * install-mk (MK_VERSION): bump version to 20120112 2096 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 2097 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 2098 20992011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 2100 2101 * install-mk (MK_VERSION): bump version to 20111201 2102 * import dirdeps.mk from Juniper sjg@ 2103 o more consistent handling of DEP_MACHINE, especially when 2104 dealing with an odd Makefile.depend, when normally using 2105 Makefile.depend.${MACHINE} 2106 21072011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 2108 2109 * install-mk (MK_VERSION): bump version to 20111122 2110 * meta.autodep.mk: add some debug output, be more crisp about 2111 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 2112 21132011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 2114 2115 * install-mk (MK_VERSION): bump version to 20111111 2116 it's too cool to miss 2117 * import meta* updates from Juniper sjg@ 2118 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 2119 normally using Makefile.depend.${MACHINE}), handy for 2120 read-only manually maintained dependencies. 2121 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 2122 o gendirdeps.mk if ERROR: from meta2deps.py do not update 2123 anything. 2124 21252011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 2126 2127 * install-new.mk separate the cmp and copy logic to its own function. 2128 21292011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 2130 2131 * install-mk (MK_VERSION): bump version to 20111028 2132 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 2133 * subdir.mk: ensure _SUBDIRUSE is provided 2134 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 2135 * meta.subdir.mk: always allow for Makefile.depend 2136 21372011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 2138 2139 * install-mk (MK_VERSION): bump version to 20111010 2140 o minor tweak to *dirdeps.mk from Juniper sjg@ 2141 21422011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 2143 2144 * install-mk (MK_VERSION): bump version to 20111001 2145 o add meta2deps.py from Juniper sjg@ 2146 o tweak gendirdeps.mk to work with meta2deps.py when not 2147 cross-building 2148 * autoconf.mk: add autoconf-input as a hook for regenerating 2149 AUTOCONF_INPUTS (configure). 2150 21512011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 2152 2153 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 2154 trigger for updating Makefile.depend* 2155 21562011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 2157 2158 * install-mk (MK_VERSION): bump version to 20110808 2159 * obj.mk: minor cleanup 2160 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 2161 21622011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 2163 2164 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 2165 specified dir. 2166 21672011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 2168 2169 * meta.autodep.mk: if XMAKE_META_FILE is set 2170 the makefile uses a foreign make, and so dependencies 2171 can only be gathered from a clean tree build. 2172 21732011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 2174 2175 * install-mk (MK_VERSION): bump version to 20110622 2176 * meta.autodep.mk: improve bootstraping 2177 21782011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 2179 2180 * yacc.mk: handle the corner case of .c being removed 2181 while .h remains. 2182 21832011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 2184 2185 * yacc.mk: do .y.h and .y.c separately 2186 21872011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 2188 2189 * install-mk (MK_VERSION): bump version to 20110606 2190 * don't store SRC_DIRDEPS in Makefile.depend* by default 2191 not everyone needs it. 2192 21932011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 2194 2195 * install-mk (MK_VERSION): bump version to 20110505 2196 first release including meta mode makefiles 2197 21982011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 2199 2200 * meta.stage.mk: add STAGE_AS_SETS and stage_as 2201 for things that need to be staged with different names. 2202 22032011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 2204 2205 * meta.stage.mk: add notion of STAGE_SETS 2206 so a makefile can stage to multiple dirs 2207 22082011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 2209 2210 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 2211 on target name. 2212 22132011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 2214 2215 * install-mk (MK_VERSION): bump version to 20110330 2216 22172011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 2218 2219 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 2220 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 2221 * sys.mk: re-define M_whence in terms of M_type. 2222 M_type is useful for checking if something is a builtin. 2223 22242011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 2225 2226 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 2227 stage_libs 2228 22292011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 2230 2231 * dirdeps.mk: correct value for _depdir_files depends on 2232 .MAKE.DEPENDFILE 2233 Add our copyright - just to make it clear we have frobbed this 2234 quite a bit. 2235 DEP_MACHINE needs to be set to MACHINE each time, if using only 2236 Makefile.depend (cf. Makefile.depend.${MACHINE}) 2237 2238 * meta.stage.mk: meta mode version of staging 2239 2240 * init.mk, final.mk: include local.*.mk to simplify customization 2241 22422011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 2243 2244 * auto.obj.mk: just because we are doing mk destroy, we should 2245 still set .OBJDIR correctly if it exists. 2246 2247 * install-mk (mksrc): do not exclude meta.sys.mk 2248 22492011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 2250 2251 * host-target.mk: set/export _HOST_ARCH etc separately, 2252 catch junk resulting from uname -p, so we can find sys/Linux.mk 2253 correctly. 2254 22552011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 2256 2257 * meta.sys.mk: throw an error if /dev/filemon is missing and we 2258 expected to be updating Makefile.depend* 2259 22602011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 2261 2262 * install-mk (MK_VERSION): bump version to 20110214 2263 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 2264 22652010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 2266 2267 * meta.sys.mk: not valid for older bmake 2268 22692010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 2270 2271 * install-mk (MK_VERSION): bump version to 20100919 2272 include dirdeps.mk et al from Juniper Networks, 2273 for meta mode - requires filemon(9). 2274 * sys.mk, subdir.mk: Add hooks for meta mode. 2275 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 2276 to make turning it on/off simple. 2277 22782010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 2279 2280 * install-mk (MK_VERSION): bump version to 20100616 2281 * fix typo in sys.mk 2282 22832010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 2284 2285 * install-mk (MK_VERSION): bump version to 20100612 2286 * lib.mk: remove duplicate addition to SOBJS 2287 22882010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 2289 2290 * sys.mk: Add a means of selectively turning on debug flags. 2291 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 2292 will act as if we did make -dv if .CURDIR ends in lib/sjg 2293 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 2294 the start of sys.mk rather than the end. 2295 This only makes sense for leaf dirs, so we check that 2296 .MAKE.LEVEL > 0 2297 22982010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 2299 2300 * install-mk (MK_VERSION): bump version to 20100608 2301 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 2302 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 2303 also make it easier for folk to tweak 2304 23052010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 2306 2307 * install-mk (MK_VERSION): bump version to 20100606 2308 do not install examples/* 2309 * FILES: add examples/sys.clean-env.mk 2310 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 2311 this requires bmake-20100606 or later to work. 2312 23132010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 2314 2315 * sys.mk (M_tA): better simulate the result of :tA if not available. 2316 23172010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 2318 2319 * sys.mk: canonicalize MAKE_VERSION 2320 old versions reported bmake-<src-date> build-<build-date> 2321 whereas we only care about <src-date> 2322 23232010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 2324 2325 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 2326 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 2327 is !empty 2328 23292010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 2330 2331 * dpadd.mk: use LDADD_* if defined. 2332 23332010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 2334 2335 * install-mk (MK_VERSION): bump version to 20100420 2336 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 2337 * autoconf.mk allow AUTO_AUTOCONF 2338 23392010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 2340 2341 * obj.mk: add objwarn to keep freebsd makefiles happy 2342 * auto.obj.mk: ensure Mkdirs is available. 2343 * FILES: add auto.dep.mk - a simpler version of autodep.mk 2344 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 2345 asked to do that. 2346 fix/simplify the tests for when to run mkdep. 2347 * auto.dep.mk: add some explanation of how/what we do. 2348 * autodep.mk: skip the .OPTIONAL frobbing of .depend 2349 bmake's FROM_DEPEND flag makes it redundant. 2350 23512010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 2352 2353 * install-mk (MK_VERSION): bump version to 20100404 2354 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 2355 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 2356 Also create a target _SUBDIRUSE so that we can be used without 2357 subdir.mk 2358 23592010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 2360 2361 * dep.mk: use <> when .including so can override. 2362 23632010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 2364 2365 * lib.mk (SHLIB_LINKS): ensure a string comparison. 2366 23672010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 2368 2369 * install-mk (MK_VERSION): bump version to 20100102 2370 * own.mk: ensure PRINTOBJDIR works 2371 * autoconf.mk: pass on CONFIGURE_ARGS 2372 * init.mk: handle COPTS.${.IMPSRC:T} etc. 2373 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 2374 fix handling of symlinks for darwin 2375 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 2376 * man.mk: suppress chown when not root. 2377 * rst2htm.mk: allow srcs from multiple locations. 2378 * sys.mk: M_whence, stop after 1st line of output. 2379 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 2380 * sys/SunOS.mk: we need to export PATH 2381 23822009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 2383 2384 * install-mk (MK_VERSION): bump version 2385 include rst2htm.mk 2386 23872009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 2388 2389 * sys.mk,libnames.mk add .-include <local.*> 2390 this allows local customization without the need to edit the 2391 distributed files. 2392 23932009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 2394 2395 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 2396 older versions already installed. 2397 23982009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 2399 2400 * stage.mk (.stage-install): generalize lib.mk's .libinstall 2401 * rules.mk rules for generic Makefile. 2402 * inc.mk install for includes. 2403 24042009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 2405 2406 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 2407 this, so provide it if using native make. 2408 24092009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 2410 2411 * FILES: move all the platform *.sys.mk files to sys/*.mk 2412 * Rename Generic.sys.mk to sys.mk - we always want it. 2413 24142009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 2415 2416 * install-mk (MK_VERSION): bump version 2417 * host-target.mk: only export the expensive stuff 2418 * Generic.sys.mk (sys_mk): for SunOS we need to look for 2419 ${HOST_OS}.${HOST_OSMAJOR} too! 2420 24212009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 2422 2423 * install-mk (MK_VERSION): bump version 2424 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 2425 based on patch from Greg Olszewski. 2426 * Generic.sys.mk: if we have nothing to work with 2427 set LORDER etc only if we can find it. 2428 24292009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 2430 2431 * install-mk (MK_VERSION): bump version 2432 * man.mk: cleanman: remove CLEANMAN if defined. 2433 24342009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 2435 2436 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 2437 24382009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 2439 2440 * install-mk (MK_VERSION): bump version 2441 include auto.obj.mk 2442 2443 24442009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 2445 2446 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 2447 24482008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 2449 2450 * install-mk (MK_VERSION): bump version 2451 man.mk: ensure we generate *.cat1 etc in . 2452 24532008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 2454 2455 * install-mk (MK_VERSION): bump version 2456 add prlist.mk 2457 24582007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 2459 2460 * Generic.sys.mk: Allow os specific sys.mk to be in a 2461 subdir of ${.PARSEDIR} 2462 24632007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 2464 2465 * install-mk (MK_VERSION): bump version 2466 * general cleanup 2467 * dpadd.mk introduce DPMAGIC_LIBS_* 2468 24692007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 2470 2471 * install-mk (MK_VERSION): bump version 2472 2473 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 2474 depend files and ensure clean is called for each lib/prog. 2475 24762007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 2477 2478 * autodep.mk (.depend): delete lines that do not start with 2479 space and do not contain ':' 2480 24812007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 2482 2483 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 2484 so make sure the transform for .OPTIONAL copes. 2485 24862007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2487 2488 * install-mk (MK_VERSION): bump version 2489 2490 * own.mk: make sure RM and LN are defined. 2491 2492 * obj.mk: fix a typo, and objlink target. 2493 24942006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 2495 2496 * install-mk (MK_VERSION): bump version 2497 * added libs.mk - analogous to progs.mk 2498 make both of them always inlcude {lib,prog}.mk 2499 25002006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 2501 2502 * progs.mk: add a means of building multiple apps in one dir. 2503 25042006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 2505 2506 * install-mk (MK_VERSION): bump version to 20061126 2507 2508 * warnings.mk: detect invalid WARNINGS_SET 2509 2510 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 2511 specific warnings. 2512 2513 * For .cc sources, turn off warnings that g++ vomits on. 2514 25152006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 2516 2517 * own.mk: if __initialized__ target doesn't exist and we are 2518 FreeBSD we got here directly from sys.mk 2519 25202006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 2521 2522 * install-mk (MK_VERSION): bump version to 20061106 2523 add scripts.mk 2524 25252006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 2526 2527 * install-mk (MK_VERSION): bump version to 20060318 2528 2529 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 2530 25312006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 2532 2533 * install-mk (MK_VERSION): bump version to 20060302 2534 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 2535 25362006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 2537 2538 * install-mk (MK_VERSION): bump version to 20060301 2539 * autodep.mk (.depend): 2540 if MAKE_VERSION is newer than 20050530 we can make .END depend on 2541 .depend and make .depend depend on __depsrcs that exist. 2542 * dpadd.mk: add SRC_PATHADD 2543 25442005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2545 2546 * install-mk (MK_VERSION): bump version to 20051104 2547 * prog.mk: remove all the LIBC?= junk, use 2548 .-include libnames.mk instead (none by default). 2549 also if USE_DPADD_MK is set, include that. 2550 25512005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2552 2553 * install-mk (MK_VERSION): bump version to 20051001 2554 Add UnixWare.sys.mk from Klaus Heinz. 2555 25562005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 2557 2558 * install-mk: always install *.sys.mk and if need be symlink one 2559 to sys.mk 2560 25612005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 2562 2563 * subdir.mk, own.mk: use .MAKE rather than MAKE 2564 25652004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2566 2567 * own.mk: don't use NetBSD's _SRC_TOP_ it can 2568 cause confusion. Also don't take just 'mk' as a 2569 srctop indicator. 2570 25712004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 2572 2573 * warnings.mk: overhauled, now very powerful. 2574 25752004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 2576 2577 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 2578 25792004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 2580 2581 * install-mk (MK_VERSION): bump version to 20040201 2582 * extract HOST_TARGET stuff to host-target.mk so own.mk and 2583 Generic.sys.mk can share. 2584 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 2585 25862003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 2587 2588 * install-mk (MK_VERSION): 20030930 2589 * rename generic.sys.mk to Generic.sys.mk 2590 so that it does not get installed (unless being used as sys.mk) 2591 * set OS and ROOT_GROUP for those that we know the value. 2592 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 2593 we don't do it again for each sub-make. 2594 25952003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2596 2597 * install-mk (MK_VERSION): 20030928 2598 Add some extra *.sys.mk from bootstrap-pkgsrc 2599 some of these likely still need work. 2600 Make everything default to root:wheel ownership, 2601 sys.mk can set ROOT_GROUP accordingly. 2602 26032003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 2604 2605 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 2606 not the portable ones. 2607 26082003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2609 2610 * install-mk: add ability to use cp -f when updating 2611 destination .mk files. Also now possible to play games with 2612 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 2613 into dest - not recommended unless you seriously want to. 2614 26152003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2616 2617 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 2618 for semi-compatability with NetBSD. 2619 26202003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2621 2622 * install-mk: add a version indicator 2623 26242003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 2625 2626 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 2627 2628 * install-mk: Allow FORCE_SYS_MK to come from env 2629 2630 2631 2632