12020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * install-mk (MK_VERSION): 20200606 4 5 * dirdeps-targets.mk: allow for filtering of .TARGETS 6 7 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove 8 entries - and we don't care about 'W'rite entries. 9 Also ignore absolute paths that do not exist. 10 112020-05-25 Simon J Gerraty <sjg@beast.crufty.net> 12 13 * install-mk (MK_VERSION): 20200525 14 15 * init.mk: expand and simplify handling of qualified vars 16 like CPPFLAGS.${.TARGET:T} 17 182020-05-15 Simon J Gerraty <sjg@beast.crufty.net> 19 20 * install-mk (MK_VERSION): 20200515 21 22 * dirdeps.mk: set _debug_* earlier and allow passing -d* 23 flags to submake when building DIRDEPS_CACHE 24 252020-05-09 Simon J Gerraty <sjg@beast.crufty.net> 26 27 * whats.mk: more easily extensible 28 292020-05-02 Simon J Gerraty <sjg@beast.crufty.net> 30 31 * whats.mk: greatly simplify by adding what.c to SRCS 32 332020-05-01 Simon J Gerraty <sjg@beast.crufty.net> 34 35 * whats.mk: for libs take care how we add to *OBJS 36 37 * lib.mk: : works better with whats.mk 38 392020-04-25 Simon J Gerraty <sjg@beast.crufty.net> 40 41 * install-mk (MK_VERSION): 20200420 42 43 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep 44 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC} 45 462020-04-16 Simon J Gerraty <sjg@beast.crufty.net> 47 48 * install-mk (MK_VERSION): 20200416 49 50 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to 51 interfere with user env. 52 53 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL 54 55 * autodep.mk: use MAKE_SHELL. 56 572019-11-21 Simon J Gerraty <sjg@beast.crufty.net> 58 59 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of 60 wasted effort, and unexport _meta_files when no longer needed as 61 it consumes space we need for command line. 62 632019-11-11 Simon J Gerraty <sjg@beast.crufty.net> 64 65 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add 66 DIRDEP_USE_PRELUDE at start - facilitates job distribution 67 682019-10-04 Simon J Gerraty <sjg@beast.crufty.net> 69 70 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST 71 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid 72 TARGET_SPEC qualified depend files. 73 742019-10-02 Simon J Gerraty <sjg@beast.crufty.net> 75 76 * dirdeps-targets.mk: encapsulate logic for finding top-level 77 targets to set initial DIRDEPS for DIRDEPS_BUILD 78 792019-09-27 Simon J Gerraty <sjg@beast.crufty.net> 80 81 * install-mk (MK_VERSION): 20190911 82 83 * compiler.mk: set COMPILER_TYPE 84 852019-07-17 Simon J Gerraty <sjg@beast.crufty.net> 86 87 * install-mk (MK_VERSION): 20190704 88 89 * sys/Darwin.mk: support for Objective-C and clang 90 912019-05-30 Simon J Gerraty <sjg@beast.crufty.net> 92 93 * dirdeps.mk: avoid insanely long command line when generating cache 94 952019-05-23 Simon J Gerraty <sjg@beast.crufty.net> 96 97 * install-mk (MK_VERSION): 20190505 98 99 * whats.mk: handle corner case SHLIB defined but not LIB 100 1012018-09-19 Simon J Gerraty <sjg@beast.crufty.net> 102 103 * install-mk (MK_VERSION): 20180919 104 105 * dirdeps-options.mk: .undef cannot handle var that expands to 106 more than one var. 107 1082018-07-08 Simon J Gerraty <sjg@beast.crufty.net> 109 110 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc. 111 1122018-06-01 Simon J Gerraty <sjg@beast.crufty.net> 113 114 * meta.autodep.mk: export META_FILES to avoid command line limit 115 * gendirdeps.mk: if we have lots of .meta files put them in 116 an @list 117 1182018-05-28 Simon J Gerraty <sjg@beast.crufty.net> 119 120 * dirdeps-options.mk: use local.dirdeps-options.mk 121 not local.dirdeps-option.mk 122 1232018-04-20 Simon J Gerraty <sjg@beast.crufty.net> 124 125 * install-mk (MK_VERSION): 20180420 126 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0 127 ie. we are building something. 128 1292018-04-14 Simon J Gerraty <sjg@beast.crufty.net> 130 131 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS. 132 1332018-04-05 Simon J Gerraty <sjg@beast.crufty.net> 134 135 * install-mk (MK_VERSION): 20180405 136 137 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER 138 if needed. 139 1402018-01-18 Simon J Gerraty <sjg@beast.crufty.net> 141 142 * install-mk (MK_VERSION): 20180118 143 144 * ldorder.mk: let make compute correct link order 145 1462017-12-12 Simon J Gerraty <sjg@beast.crufty.net> 147 148 * install-mk (MK_VERSION): 20171212 149 150 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER 151 1522017-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 153 154 * install-mk (MK_VERSION): 20171111 155 156 * lib.mk: ensure META_NOECHO is set 157 1582017-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 159 160 * Allow for host32 on rare occasions. 161 1622017-10-18 Simon J. Gerraty <sjg@bad.crufty.net> 163 164 * install-mk (MK_VERSION): 20171018 165 166 * whats.mk: include what_thing in what_uuid to avoid problem 167 when building multiple apps in the same directory. 168 1692017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 170 171 * install-mk (MK_VERSION): 20170812 172 173 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can 174 add dependencies for config.recheck and config.gen 175 1762017-06-30 Simon J. Gerraty <sjg@bad.crufty.net> 177 178 * install-mk (MK_VERSION): 20170630 179 180 * meta.stage.mk: avoid triggering stage_* targets with nothing to do. 181 1822017-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 183 184 * meta2deps.py: take special care of '..' 185 1862017-05-15 Simon J. Gerraty <sjg@bad.crufty.net> 187 188 * install-mk (MK_VERSION): 20170515 189 190 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is 191 useful/necessary for a Makefile.depend file to export some knobs. 192 This is complicated when we are doing DIRDEPS_CACHE, so we will 193 handle export of any variables listed in DEP_EXPORT_VARS. 194 1952017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 196 197 * install-mk (MK_VERSION): 20170505 198 199 * meta2deps.py: fix botched indenation. 200 2012017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 202 203 * sys/*.mk: Remove setting of MAKE it is unnecessary and 204 in many cases wrong (basname rather than full path) 205 206 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk 207 208 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc 209 2102017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 211 212 * install-mk (MK_VERSION): 20170501 213 214 * doc.mk: fix typo in DOC_INSTALL_OWN 215 216 * inc.mk: handle INCGROUPS similar to freebsd 217 218 * files.mk: add something for files too 219 220 * add staging logic to lib.mk prog.mk etc. 221 2222017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 223 224 * install-mk (MK_VERSION): 20170424 225 226 * dirdeps.mk: set NO_DIRDEPS when bootstrapping. 227 also target of bootstrap-this when sed is needed should be ${_want:T} 228 2292017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 230 231 * install-mk (MK_VERSION): 20170418 232 233 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a 234 prefix match for .CURDIR - in which case .CURDIR *is* __objdir. 235 2362017-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 237 238 * install-mk (MK_VERSION): 20170401 239 240 * meta2deps.py: add is_src so we can check if obj dependency 241 is also a src dependency. 242 2432017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 244 245 * install-mk (MK_VERSION): 20170326 246 247 * meta.stage.mk: do nothing if NO_STAGING is defined. 248 2492017-03-24 Simon J. Gerraty <sjg@bad.crufty.net> 250 251 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc. 252 2532017-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 254 255 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_* 256 2572017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 258 259 * install-mk (MK_VERSION): 20170301 260 261 * dirdeps.mk (_build_all_dirs): update this outside test for empty 262 DIRDEPS. 263 264 * meta.stage.mk: allow multiple inclusion to the extent it makes 265 sense. 266 2672017-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 268 269 * prog.mk (install_links): depends on realinstall 270 2712017-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 272 273 * install-mk (MK_VERSION): 20170212 274 275 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries 276 2772017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 278 279 * install-mk (MK_VERSION): 20170130 280 281 * dirdeps.mk: use :range if we can. 282 283 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130 284 285 * meta2deps.py: clean paths without using realpath() where possible. 286 fix sort_unique. 287 2882016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 289 290 * install-mk (MK_VERSION): 20161212 291 292 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, 293 rather than when we detect pid change. 294 2952016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 296 297 * install-mk (MK_VERSION): 20161207 298 299 * meta.stage.mk: add stage_as_and_symlink for staging packages. 300 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able 301 to use foo.tgz to reference the latest staged version - so we 302 make foo.tgz a symlink to it. 303 Using a target to do both operations ensures we stay in sync. 304 3052016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 306 307 * install-mk (MK_VERSION): 20161126 308 309 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk 310 so it can add dependencies. 311 3122016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 313 314 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE 315 do that they can influence the result correctly. 316 317 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC 318 319 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST 320 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 321 3222016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 323 324 * dirdeps.mk: remove dependence on jot (normal situations anyway). 325 Before we read another Makefile.depend* set DEP_* vars from 326 _DEP_TARGET_SPEC in case it uses any of them with := 327 When bootstrapping, trim any ,* from extention of chosen _src 328 Makefile.depend* to get the machine value we subst for. 329 3302016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> 331 332 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to 333 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER 334 335 * sys.mk: extract some bits to sys.{debug,vars}.mk 336 for easier re-use by others. 337 3382016-09-23 Simon Gerraty <sjg@sjg-mba13> 339 340 * lib.mk: Use ${PICO} for extension for PIC objects. 341 default to .pico (like NetBSD) safe on case insensitive filesystem. 342 3432016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> 344 345 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default 346 3472016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 348 349 * install-mk (MK_VERSION): 20160815 350 351 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only 352 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date. 353 3542016-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 355 356 * meta.sys.mk (.MAKE.META.IGNORE_PATHS): 357 in meta mode we can ignore the mtime of makefiles 358 3592016-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 360 361 * install-mk (MK_VERSION): 20160802 362 363 * lib.mk (libinstall): depends on beforinstall 364 365 * prog.mk (proginstall): depends on beforinstall 366 patch from Lauri Tirkkonen 367 368 * dirdeps.mk (bootstrap): When bootstrapping; creat 369 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via 370 .MAKE.DEPENDFILE_BOOTSTRAP_SED 371 372 * dirdeps.mk: move some comments to where they make sense. 373 3742016-07-27 Simon J. Gerraty <sjg@bad.crufty.net> 375 376 * dirdeps.mk (DIRDEPS_CACHE): no dirname. 377 3782016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 379 380 * install-mk (MK_VERSION): 20160602 381 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk 382 do not apply :T to META_XTRAS 383 patch from Bryan Drewery at FreeBSD.org. 384 3852016-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 386 387 * install-mk (MK_VERSION): 20160530 388 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH 389 make it so. 390 3912016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 392 393 * install-mk (MK_VERSION): 20160512 394 395 * dpadd.mk: always include local.dpadd.mk if it exists 396 remove some things that better belong in local.dpadd.mk 397 skip INCLUDES_* for staged libs unless SRC_* defined. 398 399 * own.mk: add INCLUDEDIR 400 4012016-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 402 403 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no 404 TARGET_MACHINE - :E will be empty or match part of path, use 405 ${MACHINE} 406 4072016-04-07 Simon J. Gerraty <sjg@bad.crufty.net> 408 409 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to 410 NO_FILEMON_COOKIE 411 412 * dirdeps.mk: move the logic that allows for 413 make -f dirdeps.mk some/dir.${TARGET_SPEC} 414 inside the check for !target(_DIRDEP_USE) 415 4162016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 417 418 * Use <> when including local*.mk and others which may exist 419 elsewhere so that user can better control what they get. 420 421 * meta.autodep.mk (NO_FILEMON_COOKIE): 422 create a cookie if we ever build dir with nofilemon 423 so that UPDATE_DEPENDFILE will be forced to NO until cleaned. 424 4252016-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 426 427 * install-mk (MK_VERSION): 20160401 428 429 * meta2deps.py: fix old print statement when debugging. 430 431 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X 432 patch from Bryan Drewery 433 4342016-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 435 436 * install-mk (MK_VERSION): 20160317 (St. Pats) 437 438 * warnings.mk: g++ does not like -Wimplicit 439 440 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the 441 pelthora of common suffixes for C++ 442 443 * lib.mk: use .So for shared objects 444 4452016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 446 447 * install-mk (MK_VERSION): 20160315 448 449 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 450 normally only applies to scripts. 451 452 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 453 well as outside it. 454 4552016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 456 457 * install-mk (MK_VERSION): 20160310 458 459 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 460 we have processed; the list gets very inefficient as number of 461 DIRDEPS gets large. 462 463 * sys.dependfile.mk: fix comment wrt MACHINE 464 465 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 466 patch from Bryan Drewery 467 4682016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 469 470 * meta2deps.sh: don't ignore subdirs. 471 patch from Bryan Drewery 472 4732016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 474 475 * install-mk (MK_VERSION): 20160226 476 477 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 478 4792016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 480 481 * dirdeps.mk: we shouldn't normally include .depend but if we do 482 use .dinclude if we can. 483 4842016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 485 486 * install-mk (MK_VERSION): 20160218 487 * sys.clean-env.mk: with recent change to Var_Subst() 488 we cannot use the '$$' trick, but .export-literal does the job 489 we need. 490 * auto.dep.mk: make use .dinclude if we can. 491 492 4932016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 494 495 * dirdeps.mk: 496 Add _build_all_dirs such that local.dirdeps.mk can 497 add fully qualified dirs to it. 498 These will be built normally but the current 499 DEP_RELDIR will not depend on then (to avoid cycles). 500 This makes it easy to hook things like unit-tests into build. 501 502 5032016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 504 505 * dirdeps.mk: add bootstrap-empty 506 5072015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 508 509 * install-mk (MK_VERSION): 20151212 510 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 511 only apply :tA to __objdir when comparing to .OBJDIR 512 5132015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 514 515 * install-mk (MK_VERSION): 20151111 516 517 * meta.sys.mk: include sys.dependfile.mk 518 519 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 520 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 521 include local.sys.env.mk early 522 include local.sys.mk later 523 524 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 525 5262015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 527 528 * meta.sys.mk (META_COOKIE_TOUCH): 529 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 530 531 * meta.stage.mk: stage_libs should ignore SYMLINKS. 532 5332015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 534 535 * install-mk (MK_VERSION): 20151022 536 537 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 538 5392015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 540 541 * install-mk (MK_VERSION): 20151020 542 543 * dirdeps.mk: Add logic for 544 make -f dirdeps.mk some/dir.${TARGET_SPEC} 545 5462015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 547 548 * install-mk (MK_VERSION): 20151010 549 5502015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 551 552 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 553 to have stage_lins run last in non-jobs mode. 554 Use .ORDER only for jobs mode. 555 5562015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 557 558 * rst2htm.mk: allow for per target flags etc. 559 5602015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 561 562 * install-mk (MK_VERSION): 20150901 563 564 * doc.mk: create dir if needed use DOC_INSTALL_OWN 565 5662015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 567 568 * install-mk (MK_VERSION): 20150615 569 570 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 571 Follow make's normal precedence rules. 572 573 * gendirdeps.mk: allow customization of the header. 574 eg. for FreeBSD: 575 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 576 577 * meta.autodep.mk: ignore dirdeps.cache* 578 579 * meta.stage.mk: when bootstrapping options it can be handy to 580 throw warnings rather than errors for staging conflicts. 581 582 * meta.sys.mk: include local.meta.sys.mk for customization 583 5842015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 585 586 * install-mk (MK_VERSION): 20150606 587 588 * dirdeps.mk: don't rely on manually maintained Makefile.depend 589 to set DEP_RELDIR and reset DIRDEPS. 590 By setting DEP_RELDIR ourselves we can skip :tA 591 592 * gendirdeps.mk: skip setting DEP_RELDIR. 593 5942015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 595 596 * dirdeps.mk: avoid wildcards like make(bootstrap*) 597 5982015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 599 600 * install-mk (MK_VERSION): 20150520 601 602 * dirdeps.mk: when we are building dirdeps cache file we *want* 603 meta_oodate to look at all the Makefile.depend files, so 604 set .MAKE.DEPENDFILE to something that won't match. 605 606 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 607 so first use absolute path as key. 608 Also skip staging at level 0. 609 6102015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 611 612 * install-mk (MK_VERSION): 20150430 613 614 * dirdeps.mk: fix _count_dirdeps for non-cache case. 615 6162015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 617 618 * install-mk (MK_VERSION): 20150411 619 bump version 620 621 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 622 it is here mainly for documentation purposes, since 623 if using auto.obj.mk it is better done via sys.mk 624 6252015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 626 627 * install-mk (MK_VERSION): 20150401 628 629 * meta2deps.sh: support @list 630 631 * meta2deps.py: updates from Juniper 632 o add EXCLUDES 633 o skip bogus input files. 634 o treat 'M' and 'L' as both an 'R' and a 'W' 635 6362015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 637 638 * install-mk (MK_VERSION): 20150303 639 640 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 641 which is built via sub-make so we have a .meta file to tell if 642 it is out-of-date. 643 The dirdeps-cache contains the same dependency rules that we 644 normaly construct on the fly. 645 This adds a few seconds overhead when the cache is out of date, 646 but for a large target, the savings can be significant (10-20min). 647 6482014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 649 650 * install-mk (MK_VERSION): 20141118 651 652 * meta.stage.mk: add stale_staged 653 654 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 655 only useful under very rare conditions such as 656 FreeBSD's make universe. 657 658 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 659 6602014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 661 662 * install-mk (MK_VERSION): 20141111 663 664 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 665 6662014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 667 668 * FILES: include mkopt.sh which allows handling options in shell 669 scripts in a manner compatible with options.mk 670 6712014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 672 673 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 674 for GENDIRDEPS_FILTER to avoid surprises. 675 6762014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 677 678 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 679 the time it is applied to __depdirs they have. 680 681 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 682 expects patterns like *.${MACHINE} 683 684 * cython.mk (pyprefix?): use pyprefix to find python bits 685 since prefix might be something else (where we install our 686 stuff) 687 6882014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 689 690 * install-mk (MK_VERSION): 20140911 691 692 * dirdeps.mk: add bootstrap target to simplify adding support for 693 new MACHINE. 694 6952014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 696 697 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 698 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 699 Makefile.depend files. 700 7012014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 702 703 * install-mk (MK_VERSION): 20140828 704 705 * cython.mk: capture logic for building python extension modules 706 with Cython. 707 7082014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 709 710 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 711 7122014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 713 714 * install-mk (MK_VERSION): 20140801 715 716 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 717 identify the autodep.mk variant. 718 719 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 720 initial value does not match .MAKE.DEPENDFILE_PREFIX 721 722 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 723 7242014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 725 726 * install-mk (MK_VERSION): 20140522 727 728 * lib.mk: use CC to link shlib for linux too 729 patch from Brendan MacDonell 730 7312014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 732 733 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 734 if WITH_META_STATS is defined. 735 7362014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 737 738 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 739 to supress dirdeps outside of .CURDIR. 740 7412014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 742 743 * Fix spelling errors - patch from Pedro Giffuni 744 7452014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 746 747 * install-mk (MK_VERSION): 20140314 748 749 * dirdeps.mk (beforedirdeps): a handy hook 750 751 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 752 to visit leaf dirs to be intercepted (eg. for distributed 753 build). 754 755 * dirdeps.mk (__depdirs): ensure // don't sneak in 756 757 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 758 759 7602014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 761 762 * rst2htm.mk (RST2PDF): add support for rst2pdf 763 7642014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 765 766 * install-mk (MK_VERSION): bump version 767 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 768 available. 769 7702014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 771 772 * options.mk: avoid :U so this isn't bmake dependent 773 7742014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 775 776 * options.mk: cleanup and simplify semanitcs 777 NO_* dominates all, if both WITH_* and WITHOUT_* 778 are defined then result is DOMINATE_* which defaults to "no". 779 Ie. WITHOUT_ normally wins. 780 7812013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 782 783 * install-mk (MK_VERSION): bump version 784 * meta2deps.py: convert to print function for python3 compat. 785 we also need to open files with mode 'r' rather than 'rb' 786 otherwise we get bytes instead of strings. 787 7882013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 789 790 * install-mk (MK_VERSION): bump version 791 792 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 793 apply the same filtering (M_dep_qual_fixes) when setting _machines 794 as _build_dirs. 795 Also fix the filtering of Makefile.depend files - for reporting 796 what we are looking for (M_dep_qual_fixes can get confused by 797 Makefile.depend) 798 Add some more debug info. 799 8002013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 801 802 * gendirdeps.mk (_objtops): fix typo also 803 while processing M2D_OBJROOTS to gather qualdir_list 804 qualify $ql with loop iterator to ensure correct results. 805 8062013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 807 808 * install-mk (MK_VERSION): 20130801 809 * libs.mk: update to match progs.mk 810 8112013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 812 813 * install-mk (MK_VERSION): 20130726 814 some updates from Juniper and FreeBSD 815 o meta2deps.py: indicate file and line number when we hit parse 816 errors 817 also allow @file to provide huge list of .meta files. 818 * meta2deps.py: add try_parse() to cleanup the above. 819 8202013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 821 822 * install-mk (MK_VERSION): 20130716 823 * own.mk: add GPROG as an option 824 * prog.mk: honor MK_GPROF==yes 825 8262013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 827 828 * install-mk (MK_VERSION): 20130505 829 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 830 for when $MACHINE isn't enough for objdir distinction. 831 Bring meta2deps.sh closer to par with meta2deps.py. 832 8332013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 834 835 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 836 also if the target 'beforeinstall' exists, make it depend on 837 .dirdep (incase it uses STAGE_INSTALL). 838 8392013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 840 841 * install-mk (MK_VERSION): 20130401 ;-) 842 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 843 wrapper around install(1). 844 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 845 8462013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 847 848 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 849 * install-mk (MK_VERSION): bump version 850 8512013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 852 853 * install-mk (MK_VERSION): bump version 854 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 855 any trailing /., rather apply :tA only when needed. 856 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 857 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 858 consistently. 859 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 860 8612013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 862 863 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 864 it is simpler to just not update when say building for "host" 865 (where we know we apply filters to DIRDEPS), and using a 866 non-machine qualified dependfile. 867 8682013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 869 870 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 871 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 872 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 873 * meta2deps.py: if machine is "host", then also trim 874 self.host_target from any OBJROOTS. 875 876 8772013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 878 879 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 880 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 881 but _DEPENDFILE does not, compare the new _DEPENDFILE against 882 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 883 8842013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 885 886 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 887 and hook to all: via staging: 888 8892013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 890 891 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 892 use a separate variable for the default .MAKE.DEPENDFILE value 893 so that it can be controlled independently of 894 .MAKE.DEPENDFILE_PREFERENCE 895 896 * meta.stage.mk: throw error if cp fails etc. 897 Stage*() return early if passed no args. 898 .ORDER stage_* 899 9002013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 901 902 * install-mk (MK_VERSION): bump version 903 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 904 9052013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 906 907 * install-mk (MK_VERSION): bump version to 20130210 908 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 909 from Juniper. 910 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 911 than just MACHINE. 912 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 913 9142013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 915 916 * install-mk (MK_VERSION): bump version to 20130123 917 * meta.stage.mk: add stage_links (hard links). 918 if doing hard links, we add dest to link as well. 919 Default the stage dir for [sym]links to STAGE_OBJTOP since 920 these are typically specified as absolute paths. 921 Add -m "mode" flag to StageFiles and StageAs. 922 9232012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 924 925 * install-mk (MK_VERSION): bump version to 20121111 926 * autoconf.mk: avoid meta mode seeing changed commands for config.status 927 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 928 in case we were found via .../mk 929 * sys.clean-env.mk: move it from examples, we and others use it 930 "as is". 931 * FILES: add srctop.mk and options.mk 932 * own.mk: convert to using options.mk 933 which is modeled after FreeBSD's handling of MK_* 934 but more flexible. 935 This allows MK_* for boolean knobs to not be confused 936 with MK* which can be commands. 937 938 * examples/sys.clean-env.mk: add WITH[OUT]_ to 939 MAKE_ENV_SAVE_PREFIX_LIST. 940 Mention that HOME=/var/empty might be a good idea. 941 9422012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 943 944 * sys.dependfile.mk: if not depend file exists, $MACHINE 945 specific ones are supported but not the default, 946 check if any exist and follow suit. 947 9482012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 949 950 * install-mk (MK_VERSION): bump version to 20121106 951 9522012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 953 954 * import latest dirdeps.mk and meta2deps.py from Juniper. 955 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 956 also add PROGS_TARGETS and pass on PROG_CXX if it seems 957 appropriate. 958 9592012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 960 961 * meta.stage.mk: update CLEANFILES 962 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 963 * progs.mk: Add LDADD to PROG_VARS 964 9652012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 966 967 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 968 _STAGED_DIRS so that these can be turned into filters for 969 GENDIRDEPS_FILTER. 970 9712012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 972 973 * install-mk (MK_VERSION): bump version to 20121010 974 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 975 target.dirdep matches .dirdep 976 9772012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 978 979 * install-mk (MK_VERSION): bump version to 20120808 980 * import latest meta2deps.py from Juniper. 981 9822012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 983 984 * install-mk (MK_VERSION): bump version to 20120711 985 * dep.mk: add explicit dependencies on SRCS after applying 986 SRCS_DEP_FILTER 987 * meta.autodep.mk: add explicit dependencies on SRCS after 988 applying SRCS_DEP_FILTER 989 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 990 9912012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 992 993 * install-mk (MK_VERSION): bump version to 20120626 994 * meta.sys.mk: ignore PYTHON if it does not exist 995 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 996 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 997 entries ending in .${MACHINE} to decide if qualified _dirdep is 998 needed. 999 * gendirdeps.mk: only produce unqualified deps if no 1000 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 1001 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 1002 10032012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1004 1005 * install-mk (MK_VERSION): bump version to 20120420 1006 * add sys.dependfile.mk so we can experiment with 1007 .MAKE.DEPENDFILE_PREFERENCE 1008 * meta.autodep.mk: _DEPENDFILE is precious! 1009 10102012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1011 1012 * install-mk (MK_VERSION): bump version to 20120315 1013 * install-new.mk: avoid being interrupted 1014 10152012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1016 1017 * man.mk: MAN might have multiple values so be careful with exists(). 1018 10192012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 1020 1021 * install-mk (MK_VERSION): bump version to 20120112 1022 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 1023 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 1024 10252011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 1026 1027 * install-mk (MK_VERSION): bump version to 20111201 1028 * import dirdeps.mk from Juniper sjg@ 1029 o more consistent handling of DEP_MACHINE, especially when 1030 dealing with an odd Makefile.depend, when normally using 1031 Makefile.depend.${MACHINE} 1032 10332011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 1034 1035 * install-mk (MK_VERSION): bump version to 20111122 1036 * meta.autodep.mk: add some debug output, be more crisp about 1037 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 1038 10392011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1040 1041 * install-mk (MK_VERSION): bump version to 20111111 1042 it's too cool to miss 1043 * import meta* updates from Juniper sjg@ 1044 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 1045 normally using Makefile.depend.${MACHINE}), handy for 1046 read-only manually maintained dependencies. 1047 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 1048 o gendirdeps.mk if ERROR: from meta2deps.py do not update 1049 anything. 1050 10512011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 1052 1053 * install-new.mk separate the cmp and copy logic to its own function. 1054 10552011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 1056 1057 * install-mk (MK_VERSION): bump version to 20111028 1058 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 1059 * subdir.mk: ensure _SUBDIRUSE is provided 1060 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 1061 * meta.subdir.mk: always allow for Makefile.depend 1062 10632011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1064 1065 * install-mk (MK_VERSION): bump version to 20111010 1066 o minor tweak to *dirdeps.mk from Juniper sjg@ 1067 10682011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1069 1070 * install-mk (MK_VERSION): bump version to 20111001 1071 o add meta2deps.py from Juniper sjg@ 1072 o tweak gendirdeps.mk to work with meta2deps.py when not 1073 cross-building 1074 * autoconf.mk: add autoconf-input as a hook for regenerating 1075 AUTOCONF_INPUTS (configure). 1076 10772011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 1078 1079 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 1080 trigger for updating Makefile.depend* 1081 10822011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1083 1084 * install-mk (MK_VERSION): bump version to 20110808 1085 * obj.mk: minor cleanup 1086 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 1087 10882011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1089 1090 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 1091 specified dir. 1092 10932011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1094 1095 * meta.autodep.mk: if XMAKE_META_FILE is set 1096 the makefile uses a foreign make, and so dependencies 1097 can only be gathered from a clean tree build. 1098 10992011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 1100 1101 * install-mk (MK_VERSION): bump version to 20110622 1102 * meta.autodep.mk: improve bootstraping 1103 11042011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1105 1106 * yacc.mk: handle the corner case of .c being removed 1107 while .h remains. 1108 11092011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1110 1111 * yacc.mk: do .y.h and .y.c separately 1112 11132011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1114 1115 * install-mk (MK_VERSION): bump version to 20110606 1116 * don't store SRC_DIRDEPS in Makefile.depend* by default 1117 not everyone needs it. 1118 11192011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1120 1121 * install-mk (MK_VERSION): bump version to 20110505 1122 first release including meta mode makefiles 1123 11242011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1125 1126 * meta.stage.mk: add STAGE_AS_SETS and stage_as 1127 for things that need to be staged with different names. 1128 11292011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1130 1131 * meta.stage.mk: add notion of STAGE_SETS 1132 so a makefile can stage to multiple dirs 1133 11342011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 1135 1136 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 1137 on target name. 1138 11392011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1140 1141 * install-mk (MK_VERSION): bump version to 20110330 1142 11432011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1144 1145 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 1146 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 1147 * sys.mk: re-define M_whence in terms of M_type. 1148 M_type is useful for checking if something is a builtin. 1149 11502011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1151 1152 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 1153 stage_libs 1154 11552011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1156 1157 * dirdeps.mk: correct value for _depdir_files depends on 1158 .MAKE.DEPENDFILE 1159 Add our copyright - just to make it clear we have frobbed this 1160 quite a bit. 1161 DEP_MACHINE needs to be set to MACHINE each time, if using only 1162 Makefile.depend (cf. Makefile.depend.${MACHINE}) 1163 1164 * meta.stage.mk: meta mode version of staging 1165 1166 * init.mk, final.mk: include local.*.mk to simplify customization 1167 11682011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1169 1170 * auto.obj.mk: just because we are doing mk destroy, we should 1171 still set .OBJDIR correctly if it exists. 1172 1173 * install-mk (mksrc): do not exclude meta.sys.mk 1174 11752011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1176 1177 * host-target.mk: set/export _HOST_ARCH etc separately, 1178 catch junk resulting from uname -p, so we can find sys/Linux.mk 1179 correctly. 1180 11812011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1182 1183 * meta.sys.mk: throw an error if /dev/filemon is missing and we 1184 expected to be updating Makefile.depend* 1185 11862011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1187 1188 * install-mk (MK_VERSION): bump version to 20110214 1189 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 1190 11912010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 1192 1193 * meta.sys.mk: not valid for older bmake 1194 11952010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 1196 1197 * install-mk (MK_VERSION): bump version to 20100919 1198 include dirdeps.mk et al from Juniper Networks, 1199 for meta mode - requires filemon(9). 1200 * sys.mk, subdir.mk: Add hooks for meta mode. 1201 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 1202 to make turning it on/off simple. 1203 12042010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 1205 1206 * install-mk (MK_VERSION): bump version to 20100616 1207 * fix typo in sys.mk 1208 12092010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 1210 1211 * install-mk (MK_VERSION): bump version to 20100612 1212 * lib.mk: remove duplicate addition to SOBJS 1213 12142010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1215 1216 * sys.mk: Add a means of selectively turning on debug flags. 1217 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 1218 will act as if we did make -dv if .CURDIR ends in lib/sjg 1219 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 1220 the start of sys.mk rather than the end. 1221 This only makes sense for leaf dirs, so we check that 1222 .MAKE.LEVEL > 0 1223 12242010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 1225 1226 * install-mk (MK_VERSION): bump version to 20100608 1227 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 1228 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 1229 also make it easier for folk to tweak 1230 12312010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1232 1233 * install-mk (MK_VERSION): bump version to 20100606 1234 do not install examples/* 1235 * FILES: add examples/sys.clean-env.mk 1236 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 1237 this requires bmake-20100606 or later to work. 1238 12392010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 1240 1241 * sys.mk (M_tA): better simulate the result of :tA if not available. 1242 12432010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1244 1245 * sys.mk: canonicalize MAKE_VERSION 1246 old versions reported bmake-<src-date> build-<build-date> 1247 whereas we only care about <src-date> 1248 12492010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 1250 1251 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 1252 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 1253 is !empty 1254 12552010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 1256 1257 * dpadd.mk: use LDADD_* if defined. 1258 12592010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1260 1261 * install-mk (MK_VERSION): bump version to 20100420 1262 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 1263 * autoconf.mk allow AUTO_AUTOCONF 1264 12652010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 1266 1267 * obj.mk: add objwarn to keep freebsd makefiles happy 1268 * auto.obj.mk: ensure Mkdirs is available. 1269 * FILES: add auto.dep.mk - a simpler version of autodep.mk 1270 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 1271 asked to do that. 1272 fix/simplify the tests for when to run mkdep. 1273 * auto.dep.mk: add some explanation of how/what we do. 1274 * autodep.mk: skip the .OPTIONAL frobbing of .depend 1275 bmake's FROM_DEPEND flag makes it redundant. 1276 12772010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 1278 1279 * install-mk (MK_VERSION): bump version to 20100404 1280 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 1281 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 1282 Also create a target _SUBDIRUSE so that we can be used without 1283 subdir.mk 1284 12852010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 1286 1287 * dep.mk: use <> when .including so can override. 1288 12892010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 1290 1291 * lib.mk (SHLIB_LINKS): ensure a string comparison. 1292 12932010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1294 1295 * install-mk (MK_VERSION): bump version to 20100102 1296 * own.mk: ensure PRINTOBJDIR works 1297 * autoconf.mk: pass on CONFIGURE_ARGS 1298 * init.mk: handle COPTS.${.IMPSRC:T} etc. 1299 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 1300 fix handling of symlinks for darwin 1301 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 1302 * man.mk: suppress chown when not root. 1303 * rst2htm.mk: allow srcs from multiple locations. 1304 * sys.mk: M_whence, stop after 1st line of output. 1305 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 1306 * sys/SunOS.mk: we need to export PATH 1307 13082009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 1309 1310 * install-mk (MK_VERSION): bump version 1311 include rst2htm.mk 1312 13132009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 1314 1315 * sys.mk,libnames.mk add .-include <local.*> 1316 this allows local customization without the need to edit the 1317 distributed files. 1318 13192009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 1320 1321 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 1322 older versions already installed. 1323 13242009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 1325 1326 * stage.mk (.stage-install): generalize lib.mk's .libinstall 1327 * rules.mk rules for generic Makefile. 1328 * inc.mk install for includes. 1329 13302009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 1331 1332 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 1333 this, so provide it if using native make. 1334 13352009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 1336 1337 * FILES: move all the platform *.sys.mk files to sys/*.mk 1338 * Rename Generic.sys.mk to sys.mk - we always want it. 1339 13402009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 1341 1342 * install-mk (MK_VERSION): bump version 1343 * host-target.mk: only export the expensive stuff 1344 * Generic.sys.mk (sys_mk): for SunOS we need to look for 1345 ${HOST_OS}.${HOST_OSMAJOR} too! 1346 13472009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 1348 1349 * install-mk (MK_VERSION): bump version 1350 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 1351 based on patch from Greg Olszewski. 1352 * Generic.sys.mk: if we have nothing to work with 1353 set LORDER etc only if we can find it. 1354 13552009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 1356 1357 * install-mk (MK_VERSION): bump version 1358 * man.mk: cleanman: remove CLEANMAN if defined. 1359 13602009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 1361 1362 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 1363 13642009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 1365 1366 * install-mk (MK_VERSION): bump version 1367 include auto.obj.mk 1368 1369 13702009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 1371 1372 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 1373 13742008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 1375 1376 * install-mk (MK_VERSION): bump version 1377 man.mk: ensure we generate *.cat1 etc in . 1378 13792008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 1380 1381 * install-mk (MK_VERSION): bump version 1382 add prlist.mk 1383 13842007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 1385 1386 * Generic.sys.mk: Allow os specific sys.mk to be in a 1387 subdir of ${.PARSEDIR} 1388 13892007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 1390 1391 * install-mk (MK_VERSION): bump version 1392 * general cleanup 1393 * dpadd.mk introduce DPMAGIC_LIBS_* 1394 13952007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 1396 1397 * install-mk (MK_VERSION): bump version 1398 1399 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 1400 depend files and ensure clean is called for each lib/prog. 1401 14022007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 1403 1404 * autodep.mk (.depend): delete lines that do not start with 1405 space and do not contain ':' 1406 14072007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 1408 1409 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 1410 so make sure the transform for .OPTIONAL copes. 1411 14122007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 1413 1414 * install-mk (MK_VERSION): bump version 1415 1416 * own.mk: make sure RM and LN are defined. 1417 1418 * obj.mk: fix a typo, and objlink target. 1419 14202006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 1421 1422 * install-mk (MK_VERSION): bump version 1423 * added libs.mk - analogous to progs.mk 1424 make both of them always inlcude {lib,prog}.mk 1425 14262006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 1427 1428 * progs.mk: add a means of building multiple apps in one dir. 1429 14302006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 1431 1432 * install-mk (MK_VERSION): bump version to 20061126 1433 1434 * warnings.mk: detect invalid WARNINGS_SET 1435 1436 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 1437 specific warnings. 1438 1439 * For .cc sources, turn off warnings that g++ vomits on. 1440 14412006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 1442 1443 * own.mk: if __initialized__ target doesn't exist and we are 1444 FreeBSD we got here directly from sys.mk 1445 14462006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 1447 1448 * install-mk (MK_VERSION): bump version to 20061106 1449 add scripts.mk 1450 14512006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 1452 1453 * install-mk (MK_VERSION): bump version to 20060318 1454 1455 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 1456 14572006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 1458 1459 * install-mk (MK_VERSION): bump version to 20060302 1460 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 1461 14622006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 1463 1464 * install-mk (MK_VERSION): bump version to 20060301 1465 * autodep.mk (.depend): 1466 if MAKE_VERSION is newer than 20050530 we can make .END depend on 1467 .depend and make .depend depend on __depsrcs that exist. 1468 * dpadd.mk: add SRC_PATHADD 1469 14702005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1471 1472 * install-mk (MK_VERSION): bump version to 20051104 1473 * prog.mk: remove all the LIBC?= junk, use 1474 .-include libnames.mk instead (none by default). 1475 also if USE_DPADD_MK is set, include that. 1476 14772005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1478 1479 * install-mk (MK_VERSION): bump version to 20051001 1480 Add UnixWare.sys.mk from Klaus Heinz. 1481 14822005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 1483 1484 * install-mk: always install *.sys.mk and if need be symlink one 1485 to sys.mk 1486 14872005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1488 1489 * subdir.mk, own.mk: use .MAKE rather than MAKE 1490 14912004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1492 1493 * own.mk: don't use NetBSD's _SRC_TOP_ it can 1494 cause confusion. Also don't take just 'mk' as a 1495 srctop indicator. 1496 14972004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 1498 1499 * warnings.mk: overhauled, now very powerful. 1500 15012004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 1502 1503 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 1504 15052004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 1506 1507 * install-mk (MK_VERSION): bump version to 20040201 1508 * extract HOST_TARGET stuff to host-target.mk so own.mk and 1509 Generic.sys.mk can share. 1510 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 1511 15122003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 1513 1514 * install-mk (MK_VERSION): 20030930 1515 * rename generic.sys.mk to Generic.sys.mk 1516 so that it does not get installed (unless being used as sys.mk) 1517 * set OS and ROOT_GROUP for those that we know the value. 1518 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 1519 we don't do it again for each sub-make. 1520 15212003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 1522 1523 * install-mk (MK_VERSION): 20030928 1524 Add some extra *.sys.mk from bootstrap-pkgsrc 1525 some of these likely still need work. 1526 Make everything default to root:wheel ownership, 1527 sys.mk can set ROOT_GROUP accordingly. 1528 15292003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 1530 1531 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 1532 not the portable ones. 1533 15342003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 1535 1536 * install-mk: add ability to use cp -f when updating 1537 destination .mk files. Also now possible to play games with 1538 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 1539 into dest - not recommended unless you seriously want to. 1540 15412003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1542 1543 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 1544 for semi-compatability with NetBSD. 1545 15462003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 1547 1548 * install-mk: add a version indicator 1549 15502003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 1551 1552 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 1553 1554 * install-mk: Allow FORCE_SYS_MK to come from env 1555 1556 1557 1558