12020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * dirdeps.mk: optimize content of dirdeps.cache 4 52020-06-28 Simon J Gerraty <sjg@beast.crufty.net> 6 7 * sys/*.mk: make it easier for local*sys.mk to customize by 8 using ?= 9 102020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 11 12 * gendirdeps.mk (LOCAL_DEPENDS_GUARD): if we don't build at level 0 13 it is much safer to guard local depends with a simple check for 14 .MAKE.LEVEL > 0 15 162020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 17 18 * install-mk (MK_VERSION): 20200610 19 20 * mkopt.sh: this needs posix shell so #!/bin/sh should be ok 21 222020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 23 24 * install-mk (MK_VERSION): 20200606 25 26 * dirdeps-targets.mk: allow for filtering of .TARGETS 27 28 * meta2deps.py: fix bug in processing 'L'ink and 'M'ove 29 entries - and we don't care about 'W'rite entries. 30 Also ignore absolute paths that do not exist. 31 322020-05-25 Simon J Gerraty <sjg@beast.crufty.net> 33 34 * install-mk (MK_VERSION): 20200525 35 36 * init.mk: expand and simplify handling of qualified vars 37 like CPPFLAGS.${.TARGET:T} 38 392020-05-15 Simon J Gerraty <sjg@beast.crufty.net> 40 41 * install-mk (MK_VERSION): 20200515 42 43 * dirdeps.mk: set _debug_* earlier and allow passing -d* 44 flags to submake when building DIRDEPS_CACHE 45 462020-05-09 Simon J Gerraty <sjg@beast.crufty.net> 47 48 * whats.mk: more easily extensible 49 502020-05-02 Simon J Gerraty <sjg@beast.crufty.net> 51 52 * whats.mk: greatly simplify by adding what.c to SRCS 53 542020-05-01 Simon J Gerraty <sjg@beast.crufty.net> 55 56 * whats.mk: for libs take care how we add to *OBJS 57 58 * lib.mk: : works better with whats.mk 59 602020-04-25 Simon J Gerraty <sjg@beast.crufty.net> 61 62 * install-mk (MK_VERSION): 20200420 63 64 * meta.stage.mk: it is not a STAGE_CONFLICT if some-target.dirdep 65 contains the same ${RELDIR} and a prefix match for our ${TARGET_SPEC} 66 672020-04-16 Simon J Gerraty <sjg@beast.crufty.net> 68 69 * install-mk (MK_VERSION): 20200416 70 71 * sys/*.mk: set MAKE_SHELL rather than SHELL so as not to 72 interfere with user env. 73 74 * sys.mk: default MAKE_SHELL to sh and SHELL to MAKE_SHELL 75 76 * autodep.mk: use MAKE_SHELL. 77 782019-11-21 Simon J Gerraty <sjg@beast.crufty.net> 79 80 * gendirdeps.mk: clear .SUFFIXES to avoid a lot of 81 wasted effort, and unexport _meta_files when no longer needed as 82 it consumes space we need for command line. 83 842019-11-11 Simon J Gerraty <sjg@beast.crufty.net> 85 86 * dirdeps.mk _DIRDEP_USE: use DIRDEP_DIR and add 87 DIRDEP_USE_PRELUDE at start - facilitates job distribution 88 892019-10-04 Simon J Gerraty <sjg@beast.crufty.net> 90 91 * dirdeps-targets.mk: Use TARGET_SPEC_LAST_LIST 92 defaults to ${${TARGET_SPEC_VARS:[-1]}_LIST} to match valid 93 TARGET_SPEC qualified depend files. 94 952019-10-02 Simon J Gerraty <sjg@beast.crufty.net> 96 97 * dirdeps-targets.mk: encapsulate logic for finding top-level 98 targets to set initial DIRDEPS for DIRDEPS_BUILD 99 1002019-09-27 Simon J Gerraty <sjg@beast.crufty.net> 101 102 * install-mk (MK_VERSION): 20190911 103 104 * compiler.mk: set COMPILER_TYPE 105 1062019-07-17 Simon J Gerraty <sjg@beast.crufty.net> 107 108 * install-mk (MK_VERSION): 20190704 109 110 * sys/Darwin.mk: support for Objective-C and clang 111 1122019-05-30 Simon J Gerraty <sjg@beast.crufty.net> 113 114 * dirdeps.mk: avoid insanely long command line when generating cache 115 1162019-05-23 Simon J Gerraty <sjg@beast.crufty.net> 117 118 * install-mk (MK_VERSION): 20190505 119 120 * whats.mk: handle corner case SHLIB defined but not LIB 121 1222018-09-19 Simon J Gerraty <sjg@beast.crufty.net> 123 124 * install-mk (MK_VERSION): 20180919 125 126 * dirdeps-options.mk: .undef cannot handle var that expands to 127 more than one var. 128 1292018-07-08 Simon J Gerraty <sjg@beast.crufty.net> 130 131 * meta.stage.mk: allow wildcards in STAGE_FILES.* etc. 132 1332018-06-01 Simon J Gerraty <sjg@beast.crufty.net> 134 135 * meta.autodep.mk: export META_FILES to avoid command line limit 136 * gendirdeps.mk: if we have lots of .meta files put them in 137 an @list 138 1392018-05-28 Simon J Gerraty <sjg@beast.crufty.net> 140 141 * dirdeps-options.mk: use local.dirdeps-options.mk 142 not local.dirdeps-option.mk 143 1442018-04-20 Simon J Gerraty <sjg@beast.crufty.net> 145 146 * install-mk (MK_VERSION): 20180420 147 * dirdeps.mk: include local.dirdeps-build.mk when .MAKE.LEVEL > 0 148 ie. we are building something. 149 1502018-04-14 Simon J Gerraty <sjg@beast.crufty.net> 151 152 * FILES: add dirdeps-options.mk to deal with optional DIRDEPS. 153 1542018-04-05 Simon J Gerraty <sjg@beast.crufty.net> 155 156 * install-mk (MK_VERSION): 20180405 157 158 * ldorder.mk: describe how to use LDORDER_EXTERN_BARRIER 159 if needed. 160 1612018-01-18 Simon J Gerraty <sjg@beast.crufty.net> 162 163 * install-mk (MK_VERSION): 20180118 164 165 * ldorder.mk: let make compute correct link order 166 1672017-12-12 Simon J Gerraty <sjg@beast.crufty.net> 168 169 * install-mk (MK_VERSION): 20171212 170 171 * gendirdeps.mk: guard against bogus entries in GENDIRDEPS_FILTER 172 1732017-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 174 175 * install-mk (MK_VERSION): 20171111 176 177 * lib.mk: ensure META_NOECHO is set 178 1792017-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 180 181 * Allow for host32 on rare occasions. 182 1832017-10-18 Simon J. Gerraty <sjg@bad.crufty.net> 184 185 * install-mk (MK_VERSION): 20171018 186 187 * whats.mk: include what_thing in what_uuid to avoid problem 188 when building multiple apps in the same directory. 189 1902017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 191 192 * install-mk (MK_VERSION): 20170812 193 194 * autoconf.mk: Use CONFIGURE_DEPS so Makefile can 195 add dependencies for config.recheck and config.gen 196 1972017-06-30 Simon J. Gerraty <sjg@bad.crufty.net> 198 199 * install-mk (MK_VERSION): 20170630 200 201 * meta.stage.mk: avoid triggering stage_* targets with nothing to do. 202 2032017-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 204 205 * meta2deps.py: take special care of '..' 206 2072017-05-15 Simon J. Gerraty <sjg@bad.crufty.net> 208 209 * install-mk (MK_VERSION): 20170515 210 211 * dirdeps.mk (DEP_EXPORT_VARS): on rare occasions it is 212 useful/necessary for a Makefile.depend file to export some knobs. 213 This is complicated when we are doing DIRDEPS_CACHE, so we will 214 handle export of any variables listed in DEP_EXPORT_VARS. 215 2162017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 217 218 * install-mk (MK_VERSION): 20170505 219 220 * meta2deps.py: fix botched indenation. 221 2222017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 223 224 * sys/*.mk: Remove setting of MAKE it is unnecessary and 225 in many cases wrong (basname rather than full path) 226 227 * scripts.mk (SCRIPTSGROUPS): make this more like files.mk and inc.mk 228 229 * init.mk: define realbuild to simplify logic in {lib,prog}.mk etc 230 2312017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 232 233 * install-mk (MK_VERSION): 20170501 234 235 * doc.mk: fix typo in DOC_INSTALL_OWN 236 237 * inc.mk: handle INCGROUPS similar to freebsd 238 239 * files.mk: add something for files too 240 241 * add staging logic to lib.mk prog.mk etc. 242 2432017-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 244 245 * install-mk (MK_VERSION): 20170424 246 247 * dirdeps.mk: set NO_DIRDEPS when bootstrapping. 248 also target of bootstrap-this when sed is needed should be ${_want:T} 249 2502017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 251 252 * install-mk (MK_VERSION): 20170418 253 254 * auto.obj.mk: if using MAKEOBJDIRPREFIX check if it is a 255 prefix match for .CURDIR - in which case .CURDIR *is* __objdir. 256 2572017-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 258 259 * install-mk (MK_VERSION): 20170401 260 261 * meta2deps.py: add is_src so we can check if obj dependency 262 is also a src dependency. 263 2642017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 265 266 * install-mk (MK_VERSION): 20170326 267 268 * meta.stage.mk: do nothing if NO_STAGING is defined. 269 2702017-03-24 Simon J. Gerraty <sjg@bad.crufty.net> 271 272 * auto.obj.mk: handle the case of __objdir=obj or obj.${MACHINE} etc. 273 2742017-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 275 276 * mkopt.sh: treat WITH_*=NO like no; ie. WITHOUT_* 277 2782017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 279 280 * install-mk (MK_VERSION): 20170301 281 282 * dirdeps.mk (_build_all_dirs): update this outside test for empty 283 DIRDEPS. 284 285 * meta.stage.mk: allow multiple inclusion to the extent it makes 286 sense. 287 2882017-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 289 290 * prog.mk (install_links): depends on realinstall 291 2922017-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 293 294 * install-mk (MK_VERSION): 20170212 295 296 * dpadd.mk: avoid applying :T:R twice to DPLIBS entries 297 2982017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 299 300 * install-mk (MK_VERSION): 20170130 301 302 * dirdeps.mk: use :range if we can. 303 304 * sys.vars.mk: provide M_cmpv if MAKE_VERSION >= 20170130 305 306 * meta2deps.py: clean paths without using realpath() where possible. 307 fix sort_unique. 308 3092016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 310 311 * install-mk (MK_VERSION): 20161212 312 313 * meta2deps.py: set pid_cwd[pid] when we process 'C'hdir, 314 rather than when we detect pid change. 315 3162016-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 317 318 * install-mk (MK_VERSION): 20161207 319 320 * meta.stage.mk: add stage_as_and_symlink for staging packages. 321 We build foo.tgz stage_as foo-${VERSION}.tgz but want to be able 322 to use foo.tgz to reference the latest staged version - so we 323 make foo.tgz a symlink to it. 324 Using a target to do both operations ensures we stay in sync. 325 3262016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 327 328 * install-mk (MK_VERSION): 20161126 329 330 * dirdeps.mk: set DIRDEPS_CACHE before we include local.dirdeps.mk 331 so it can add dependencies. 332 3332016-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 334 335 * dirdeps.mk: set DEP_* before we expand .MAKE.DEPENDFILE_PREFERENCE 336 do that they can influence the result correctly. 337 338 * dirdeps.mk (${DIRDEPS_CACHE}): make sure we pass on TARGET_SPEC 339 340 * dirdeps.mk: Add ONLY_TARGET_SPEC_LIST and NOT_TARGET_SPEC_LIST 341 similar to ONLY_MACHINE_LIST and NOT_MACHINE_LIST 342 3432016-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 344 345 * dirdeps.mk: remove dependence on jot (normal situations anyway). 346 Before we read another Makefile.depend* set DEP_* vars from 347 _DEP_TARGET_SPEC in case it uses any of them with := 348 When bootstrapping, trim any ,* from extention of chosen _src 349 Makefile.depend* to get the machine value we subst for. 350 3512016-09-30 Simon J. Gerraty <sjg@bad.crufty.net> 352 353 * dirdeps.mk: use TARGET_SPEC_VARS to qualify components added to 354 DEP_SKIP_DIR and DEP_DIRDEPS_FILTER 355 356 * sys.mk: extract some bits to sys.{debug,vars}.mk 357 for easier re-use by others. 358 3592016-09-23 Simon Gerraty <sjg@sjg-mba13> 360 361 * lib.mk: Use ${PICO} for extension for PIC objects. 362 default to .pico (like NetBSD) safe on case insensitive filesystem. 363 3642016-08-19 Simon J. Gerraty <sjg@bad.crufty.net> 365 366 * meta.sys.mk (META_COOKIE_TOUCH): use ${.OBJDIR}/${.TARGET:T} as default 367 3682016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 369 370 * install-mk (MK_VERSION): 20160815 371 372 * dirdeps.mk (.MAKE.META.IGNORE_FILTER): set filter to only 373 consider Makefile.depend* when checking if DIRDEPS_CACHE is up-to-date. 374 3752016-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 376 377 * meta.sys.mk (.MAKE.META.IGNORE_PATHS): 378 in meta mode we can ignore the mtime of makefiles 379 3802016-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 381 382 * install-mk (MK_VERSION): 20160802 383 384 * lib.mk (libinstall): depends on beforinstall 385 386 * prog.mk (proginstall): depends on beforinstall 387 patch from Lauri Tirkkonen 388 389 * dirdeps.mk (bootstrap): When bootstrapping; creat 390 .MAKE.DEPENDFILE_DEFAULT and allow additional filtering via 391 .MAKE.DEPENDFILE_BOOTSTRAP_SED 392 393 * dirdeps.mk: move some comments to where they make sense. 394 3952016-07-27 Simon J. Gerraty <sjg@bad.crufty.net> 396 397 * dirdeps.mk (DIRDEPS_CACHE): no dirname. 398 3992016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 400 401 * install-mk (MK_VERSION): 20160602 402 * meta.autodep.mk: when passing META_FILES to gendirdeps.mk 403 do not apply :T to META_XTRAS 404 patch from Bryan Drewery at FreeBSD.org. 405 4062016-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 407 408 * install-mk (MK_VERSION): 20160530 409 * meta.stage.mk: we assume ${CLEANFILES} gets .NOPATH 410 make it so. 411 4122016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 413 414 * install-mk (MK_VERSION): 20160512 415 416 * dpadd.mk: always include local.dpadd.mk if it exists 417 remove some things that better belong in local.dpadd.mk 418 skip INCLUDES_* for staged libs unless SRC_* defined. 419 420 * own.mk: add INCLUDEDIR 421 4222016-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 423 424 * dirdeps.mk: when doing -f dirdeps.mk if target suppies no 425 TARGET_MACHINE - :E will be empty or match part of path, use 426 ${MACHINE} 427 4282016-04-07 Simon J. Gerraty <sjg@bad.crufty.net> 429 430 * meta.autodep.mk: issue a warning if UPDATE_DEPENDFILE=NO due to 431 NO_FILEMON_COOKIE 432 433 * dirdeps.mk: move the logic that allows for 434 make -f dirdeps.mk some/dir.${TARGET_SPEC} 435 inside the check for !target(_DIRDEP_USE) 436 4372016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 438 439 * Use <> when including local*.mk and others which may exist 440 elsewhere so that user can better control what they get. 441 442 * meta.autodep.mk (NO_FILEMON_COOKIE): 443 create a cookie if we ever build dir with nofilemon 444 so that UPDATE_DEPENDFILE will be forced to NO until cleaned. 445 4462016-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 447 448 * install-mk (MK_VERSION): 20160401 449 450 * meta2deps.py: fix old print statement when debugging. 451 452 * gendirdeps.mk: META2DEPS_CMD append M2D_EXCLUDES with -X 453 patch from Bryan Drewery 454 4552016-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 456 457 * install-mk (MK_VERSION): 20160317 (St. Pats) 458 459 * warnings.mk: g++ does not like -Wimplicit 460 461 * sys.mk sys/*.mk lib.mk prog.mk: use CXX_SUFFIXES to handle the 462 pelthora of common suffixes for C++ 463 464 * lib.mk: use .So for shared objects 465 4662016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 467 468 * install-mk (MK_VERSION): 20160315 469 470 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 471 normally only applies to scripts. 472 473 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 474 well as outside it. 475 4762016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 477 478 * install-mk (MK_VERSION): 20160310 479 480 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 481 we have processed; the list gets very inefficient as number of 482 DIRDEPS gets large. 483 484 * sys.dependfile.mk: fix comment wrt MACHINE 485 486 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 487 patch from Bryan Drewery 488 4892016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 490 491 * meta2deps.sh: don't ignore subdirs. 492 patch from Bryan Drewery 493 4942016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 495 496 * install-mk (MK_VERSION): 20160226 497 498 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 499 5002016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 501 502 * dirdeps.mk: we shouldn't normally include .depend but if we do 503 use .dinclude if we can. 504 5052016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 506 507 * install-mk (MK_VERSION): 20160218 508 * sys.clean-env.mk: with recent change to Var_Subst() 509 we cannot use the '$$' trick, but .export-literal does the job 510 we need. 511 * auto.dep.mk: make use .dinclude if we can. 512 513 5142016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 515 516 * dirdeps.mk: 517 Add _build_all_dirs such that local.dirdeps.mk can 518 add fully qualified dirs to it. 519 These will be built normally but the current 520 DEP_RELDIR will not depend on then (to avoid cycles). 521 This makes it easy to hook things like unit-tests into build. 522 523 5242016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 525 526 * dirdeps.mk: add bootstrap-empty 527 5282015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 529 530 * install-mk (MK_VERSION): 20151212 531 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 532 only apply :tA to __objdir when comparing to .OBJDIR 533 5342015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 535 536 * install-mk (MK_VERSION): 20151111 537 538 * meta.sys.mk: include sys.dependfile.mk 539 540 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 541 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 542 include local.sys.env.mk early 543 include local.sys.mk later 544 545 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 546 5472015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 548 549 * meta.sys.mk (META_COOKIE_TOUCH): 550 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 551 552 * meta.stage.mk: stage_libs should ignore SYMLINKS. 553 5542015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 555 556 * install-mk (MK_VERSION): 20151022 557 558 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 559 5602015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 561 562 * install-mk (MK_VERSION): 20151020 563 564 * dirdeps.mk: Add logic for 565 make -f dirdeps.mk some/dir.${TARGET_SPEC} 566 5672015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 568 569 * install-mk (MK_VERSION): 20151010 570 5712015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 572 573 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 574 to have stage_lins run last in non-jobs mode. 575 Use .ORDER only for jobs mode. 576 5772015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 578 579 * rst2htm.mk: allow for per target flags etc. 580 5812015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 582 583 * install-mk (MK_VERSION): 20150901 584 585 * doc.mk: create dir if needed use DOC_INSTALL_OWN 586 5872015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 588 589 * install-mk (MK_VERSION): 20150615 590 591 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 592 Follow make's normal precedence rules. 593 594 * gendirdeps.mk: allow customization of the header. 595 eg. for FreeBSD: 596 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 597 598 * meta.autodep.mk: ignore dirdeps.cache* 599 600 * meta.stage.mk: when bootstrapping options it can be handy to 601 throw warnings rather than errors for staging conflicts. 602 603 * meta.sys.mk: include local.meta.sys.mk for customization 604 6052015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 606 607 * install-mk (MK_VERSION): 20150606 608 609 * dirdeps.mk: don't rely on manually maintained Makefile.depend 610 to set DEP_RELDIR and reset DIRDEPS. 611 By setting DEP_RELDIR ourselves we can skip :tA 612 613 * gendirdeps.mk: skip setting DEP_RELDIR. 614 6152015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 616 617 * dirdeps.mk: avoid wildcards like make(bootstrap*) 618 6192015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 620 621 * install-mk (MK_VERSION): 20150520 622 623 * dirdeps.mk: when we are building dirdeps cache file we *want* 624 meta_oodate to look at all the Makefile.depend files, so 625 set .MAKE.DEPENDFILE to something that won't match. 626 627 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 628 so first use absolute path as key. 629 Also skip staging at level 0. 630 6312015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 632 633 * install-mk (MK_VERSION): 20150430 634 635 * dirdeps.mk: fix _count_dirdeps for non-cache case. 636 6372015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 638 639 * install-mk (MK_VERSION): 20150411 640 bump version 641 642 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 643 it is here mainly for documentation purposes, since 644 if using auto.obj.mk it is better done via sys.mk 645 6462015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 647 648 * install-mk (MK_VERSION): 20150401 649 650 * meta2deps.sh: support @list 651 652 * meta2deps.py: updates from Juniper 653 o add EXCLUDES 654 o skip bogus input files. 655 o treat 'M' and 'L' as both an 'R' and a 'W' 656 6572015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 658 659 * install-mk (MK_VERSION): 20150303 660 661 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 662 which is built via sub-make so we have a .meta file to tell if 663 it is out-of-date. 664 The dirdeps-cache contains the same dependency rules that we 665 normaly construct on the fly. 666 This adds a few seconds overhead when the cache is out of date, 667 but for a large target, the savings can be significant (10-20min). 668 6692014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 670 671 * install-mk (MK_VERSION): 20141118 672 673 * meta.stage.mk: add stale_staged 674 675 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 676 only useful under very rare conditions such as 677 FreeBSD's make universe. 678 679 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 680 6812014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 682 683 * install-mk (MK_VERSION): 20141111 684 685 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 686 6872014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 688 689 * FILES: include mkopt.sh which allows handling options in shell 690 scripts in a manner compatible with options.mk 691 6922014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 693 694 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 695 for GENDIRDEPS_FILTER to avoid surprises. 696 6972014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 698 699 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 700 the time it is applied to __depdirs they have. 701 702 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 703 expects patterns like *.${MACHINE} 704 705 * cython.mk (pyprefix?): use pyprefix to find python bits 706 since prefix might be something else (where we install our 707 stuff) 708 7092014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 710 711 * install-mk (MK_VERSION): 20140911 712 713 * dirdeps.mk: add bootstrap target to simplify adding support for 714 new MACHINE. 715 7162014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 717 718 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 719 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 720 Makefile.depend files. 721 7222014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 723 724 * install-mk (MK_VERSION): 20140828 725 726 * cython.mk: capture logic for building python extension modules 727 with Cython. 728 7292014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 730 731 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 732 7332014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 734 735 * install-mk (MK_VERSION): 20140801 736 737 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 738 identify the autodep.mk variant. 739 740 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 741 initial value does not match .MAKE.DEPENDFILE_PREFIX 742 743 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 744 7452014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 746 747 * install-mk (MK_VERSION): 20140522 748 749 * lib.mk: use CC to link shlib for linux too 750 patch from Brendan MacDonell 751 7522014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 753 754 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 755 if WITH_META_STATS is defined. 756 7572014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 758 759 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 760 to supress dirdeps outside of .CURDIR. 761 7622014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 763 764 * Fix spelling errors - patch from Pedro Giffuni 765 7662014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 767 768 * install-mk (MK_VERSION): 20140314 769 770 * dirdeps.mk (beforedirdeps): a handy hook 771 772 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 773 to visit leaf dirs to be intercepted (eg. for distributed 774 build). 775 776 * dirdeps.mk (__depdirs): ensure // don't sneak in 777 778 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 779 780 7812014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 782 783 * rst2htm.mk (RST2PDF): add support for rst2pdf 784 7852014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 786 787 * install-mk (MK_VERSION): bump version 788 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 789 available. 790 7912014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 792 793 * options.mk: avoid :U so this isn't bmake dependent 794 7952014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 796 797 * options.mk: cleanup and simplify semanitcs 798 NO_* dominates all, if both WITH_* and WITHOUT_* 799 are defined then result is DOMINATE_* which defaults to "no". 800 Ie. WITHOUT_ normally wins. 801 8022013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 803 804 * install-mk (MK_VERSION): bump version 805 * meta2deps.py: convert to print function for python3 compat. 806 we also need to open files with mode 'r' rather than 'rb' 807 otherwise we get bytes instead of strings. 808 8092013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 810 811 * install-mk (MK_VERSION): bump version 812 813 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 814 apply the same filtering (M_dep_qual_fixes) when setting _machines 815 as _build_dirs. 816 Also fix the filtering of Makefile.depend files - for reporting 817 what we are looking for (M_dep_qual_fixes can get confused by 818 Makefile.depend) 819 Add some more debug info. 820 8212013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 822 823 * gendirdeps.mk (_objtops): fix typo also 824 while processing M2D_OBJROOTS to gather qualdir_list 825 qualify $ql with loop iterator to ensure correct results. 826 8272013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 828 829 * install-mk (MK_VERSION): 20130801 830 * libs.mk: update to match progs.mk 831 8322013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 833 834 * install-mk (MK_VERSION): 20130726 835 some updates from Juniper and FreeBSD 836 o meta2deps.py: indicate file and line number when we hit parse 837 errors 838 also allow @file to provide huge list of .meta files. 839 * meta2deps.py: add try_parse() to cleanup the above. 840 8412013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 842 843 * install-mk (MK_VERSION): 20130716 844 * own.mk: add GPROG as an option 845 * prog.mk: honor MK_GPROF==yes 846 8472013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 848 849 * install-mk (MK_VERSION): 20130505 850 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 851 for when $MACHINE isn't enough for objdir distinction. 852 Bring meta2deps.sh closer to par with meta2deps.py. 853 8542013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 855 856 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 857 also if the target 'beforeinstall' exists, make it depend on 858 .dirdep (incase it uses STAGE_INSTALL). 859 8602013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 861 862 * install-mk (MK_VERSION): 20130401 ;-) 863 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 864 wrapper around install(1). 865 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 866 8672013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 868 869 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 870 * install-mk (MK_VERSION): bump version 871 8722013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 873 874 * install-mk (MK_VERSION): bump version 875 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 876 any trailing /., rather apply :tA only when needed. 877 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 878 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 879 consistently. 880 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 881 8822013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 883 884 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 885 it is simpler to just not update when say building for "host" 886 (where we know we apply filters to DIRDEPS), and using a 887 non-machine qualified dependfile. 888 8892013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 890 891 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 892 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 893 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 894 * meta2deps.py: if machine is "host", then also trim 895 self.host_target from any OBJROOTS. 896 897 8982013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 899 900 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 901 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 902 but _DEPENDFILE does not, compare the new _DEPENDFILE against 903 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 904 9052013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 906 907 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 908 and hook to all: via staging: 909 9102013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 911 912 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 913 use a separate variable for the default .MAKE.DEPENDFILE value 914 so that it can be controlled independently of 915 .MAKE.DEPENDFILE_PREFERENCE 916 917 * meta.stage.mk: throw error if cp fails etc. 918 Stage*() return early if passed no args. 919 .ORDER stage_* 920 9212013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 922 923 * install-mk (MK_VERSION): bump version 924 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 925 9262013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 927 928 * install-mk (MK_VERSION): bump version to 20130210 929 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 930 from Juniper. 931 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 932 than just MACHINE. 933 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 934 9352013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 936 937 * install-mk (MK_VERSION): bump version to 20130123 938 * meta.stage.mk: add stage_links (hard links). 939 if doing hard links, we add dest to link as well. 940 Default the stage dir for [sym]links to STAGE_OBJTOP since 941 these are typically specified as absolute paths. 942 Add -m "mode" flag to StageFiles and StageAs. 943 9442012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 945 946 * install-mk (MK_VERSION): bump version to 20121111 947 * autoconf.mk: avoid meta mode seeing changed commands for config.status 948 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 949 in case we were found via .../mk 950 * sys.clean-env.mk: move it from examples, we and others use it 951 "as is". 952 * FILES: add srctop.mk and options.mk 953 * own.mk: convert to using options.mk 954 which is modeled after FreeBSD's handling of MK_* 955 but more flexible. 956 This allows MK_* for boolean knobs to not be confused 957 with MK* which can be commands. 958 959 * examples/sys.clean-env.mk: add WITH[OUT]_ to 960 MAKE_ENV_SAVE_PREFIX_LIST. 961 Mention that HOME=/var/empty might be a good idea. 962 9632012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 964 965 * sys.dependfile.mk: if not depend file exists, $MACHINE 966 specific ones are supported but not the default, 967 check if any exist and follow suit. 968 9692012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 970 971 * install-mk (MK_VERSION): bump version to 20121106 972 9732012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 974 975 * import latest dirdeps.mk and meta2deps.py from Juniper. 976 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 977 also add PROGS_TARGETS and pass on PROG_CXX if it seems 978 appropriate. 979 9802012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 981 982 * meta.stage.mk: update CLEANFILES 983 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 984 * progs.mk: Add LDADD to PROG_VARS 985 9862012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 987 988 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 989 _STAGED_DIRS so that these can be turned into filters for 990 GENDIRDEPS_FILTER. 991 9922012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 993 994 * install-mk (MK_VERSION): bump version to 20121010 995 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 996 target.dirdep matches .dirdep 997 9982012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 999 1000 * install-mk (MK_VERSION): bump version to 20120808 1001 * import latest meta2deps.py from Juniper. 1002 10032012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 1004 1005 * install-mk (MK_VERSION): bump version to 20120711 1006 * dep.mk: add explicit dependencies on SRCS after applying 1007 SRCS_DEP_FILTER 1008 * meta.autodep.mk: add explicit dependencies on SRCS after 1009 applying SRCS_DEP_FILTER 1010 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 1011 10122012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 1013 1014 * install-mk (MK_VERSION): bump version to 20120626 1015 * meta.sys.mk: ignore PYTHON if it does not exist 1016 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 1017 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 1018 entries ending in .${MACHINE} to decide if qualified _dirdep is 1019 needed. 1020 * gendirdeps.mk: only produce unqualified deps if no 1021 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 1022 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 1023 10242012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1025 1026 * install-mk (MK_VERSION): bump version to 20120420 1027 * add sys.dependfile.mk so we can experiment with 1028 .MAKE.DEPENDFILE_PREFERENCE 1029 * meta.autodep.mk: _DEPENDFILE is precious! 1030 10312012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1032 1033 * install-mk (MK_VERSION): bump version to 20120315 1034 * install-new.mk: avoid being interrupted 1035 10362012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1037 1038 * man.mk: MAN might have multiple values so be careful with exists(). 1039 10402012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 1041 1042 * install-mk (MK_VERSION): bump version to 20120112 1043 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 1044 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 1045 10462011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 1047 1048 * install-mk (MK_VERSION): bump version to 20111201 1049 * import dirdeps.mk from Juniper sjg@ 1050 o more consistent handling of DEP_MACHINE, especially when 1051 dealing with an odd Makefile.depend, when normally using 1052 Makefile.depend.${MACHINE} 1053 10542011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 1055 1056 * install-mk (MK_VERSION): bump version to 20111122 1057 * meta.autodep.mk: add some debug output, be more crisp about 1058 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 1059 10602011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 1061 1062 * install-mk (MK_VERSION): bump version to 20111111 1063 it's too cool to miss 1064 * import meta* updates from Juniper sjg@ 1065 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 1066 normally using Makefile.depend.${MACHINE}), handy for 1067 read-only manually maintained dependencies. 1068 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 1069 o gendirdeps.mk if ERROR: from meta2deps.py do not update 1070 anything. 1071 10722011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 1073 1074 * install-new.mk separate the cmp and copy logic to its own function. 1075 10762011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 1077 1078 * install-mk (MK_VERSION): bump version to 20111028 1079 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 1080 * subdir.mk: ensure _SUBDIRUSE is provided 1081 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 1082 * meta.subdir.mk: always allow for Makefile.depend 1083 10842011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1085 1086 * install-mk (MK_VERSION): bump version to 20111010 1087 o minor tweak to *dirdeps.mk from Juniper sjg@ 1088 10892011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1090 1091 * install-mk (MK_VERSION): bump version to 20111001 1092 o add meta2deps.py from Juniper sjg@ 1093 o tweak gendirdeps.mk to work with meta2deps.py when not 1094 cross-building 1095 * autoconf.mk: add autoconf-input as a hook for regenerating 1096 AUTOCONF_INPUTS (configure). 1097 10982011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 1099 1100 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 1101 trigger for updating Makefile.depend* 1102 11032011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1104 1105 * install-mk (MK_VERSION): bump version to 20110808 1106 * obj.mk: minor cleanup 1107 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 1108 11092011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 1110 1111 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 1112 specified dir. 1113 11142011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1115 1116 * meta.autodep.mk: if XMAKE_META_FILE is set 1117 the makefile uses a foreign make, and so dependencies 1118 can only be gathered from a clean tree build. 1119 11202011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 1121 1122 * install-mk (MK_VERSION): bump version to 20110622 1123 * meta.autodep.mk: improve bootstraping 1124 11252011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1126 1127 * yacc.mk: handle the corner case of .c being removed 1128 while .h remains. 1129 11302011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1131 1132 * yacc.mk: do .y.h and .y.c separately 1133 11342011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1135 1136 * install-mk (MK_VERSION): bump version to 20110606 1137 * don't store SRC_DIRDEPS in Makefile.depend* by default 1138 not everyone needs it. 1139 11402011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1141 1142 * install-mk (MK_VERSION): bump version to 20110505 1143 first release including meta mode makefiles 1144 11452011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 1146 1147 * meta.stage.mk: add STAGE_AS_SETS and stage_as 1148 for things that need to be staged with different names. 1149 11502011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1151 1152 * meta.stage.mk: add notion of STAGE_SETS 1153 so a makefile can stage to multiple dirs 1154 11552011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 1156 1157 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 1158 on target name. 1159 11602011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1161 1162 * install-mk (MK_VERSION): bump version to 20110330 1163 11642011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1165 1166 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 1167 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 1168 * sys.mk: re-define M_whence in terms of M_type. 1169 M_type is useful for checking if something is a builtin. 1170 11712011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 1172 1173 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 1174 stage_libs 1175 11762011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1177 1178 * dirdeps.mk: correct value for _depdir_files depends on 1179 .MAKE.DEPENDFILE 1180 Add our copyright - just to make it clear we have frobbed this 1181 quite a bit. 1182 DEP_MACHINE needs to be set to MACHINE each time, if using only 1183 Makefile.depend (cf. Makefile.depend.${MACHINE}) 1184 1185 * meta.stage.mk: meta mode version of staging 1186 1187 * init.mk, final.mk: include local.*.mk to simplify customization 1188 11892011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1190 1191 * auto.obj.mk: just because we are doing mk destroy, we should 1192 still set .OBJDIR correctly if it exists. 1193 1194 * install-mk (mksrc): do not exclude meta.sys.mk 1195 11962011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1197 1198 * host-target.mk: set/export _HOST_ARCH etc separately, 1199 catch junk resulting from uname -p, so we can find sys/Linux.mk 1200 correctly. 1201 12022011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1203 1204 * meta.sys.mk: throw an error if /dev/filemon is missing and we 1205 expected to be updating Makefile.depend* 1206 12072011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1208 1209 * install-mk (MK_VERSION): bump version to 20110214 1210 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 1211 12122010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 1213 1214 * meta.sys.mk: not valid for older bmake 1215 12162010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 1217 1218 * install-mk (MK_VERSION): bump version to 20100919 1219 include dirdeps.mk et al from Juniper Networks, 1220 for meta mode - requires filemon(9). 1221 * sys.mk, subdir.mk: Add hooks for meta mode. 1222 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 1223 to make turning it on/off simple. 1224 12252010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 1226 1227 * install-mk (MK_VERSION): bump version to 20100616 1228 * fix typo in sys.mk 1229 12302010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 1231 1232 * install-mk (MK_VERSION): bump version to 20100612 1233 * lib.mk: remove duplicate addition to SOBJS 1234 12352010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 1236 1237 * sys.mk: Add a means of selectively turning on debug flags. 1238 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 1239 will act as if we did make -dv if .CURDIR ends in lib/sjg 1240 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 1241 the start of sys.mk rather than the end. 1242 This only makes sense for leaf dirs, so we check that 1243 .MAKE.LEVEL > 0 1244 12452010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 1246 1247 * install-mk (MK_VERSION): bump version to 20100608 1248 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 1249 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 1250 also make it easier for folk to tweak 1251 12522010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 1253 1254 * install-mk (MK_VERSION): bump version to 20100606 1255 do not install examples/* 1256 * FILES: add examples/sys.clean-env.mk 1257 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 1258 this requires bmake-20100606 or later to work. 1259 12602010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 1261 1262 * sys.mk (M_tA): better simulate the result of :tA if not available. 1263 12642010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1265 1266 * sys.mk: canonicalize MAKE_VERSION 1267 old versions reported bmake-<src-date> build-<build-date> 1268 whereas we only care about <src-date> 1269 12702010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 1271 1272 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 1273 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 1274 is !empty 1275 12762010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 1277 1278 * dpadd.mk: use LDADD_* if defined. 1279 12802010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1281 1282 * install-mk (MK_VERSION): bump version to 20100420 1283 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 1284 * autoconf.mk allow AUTO_AUTOCONF 1285 12862010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 1287 1288 * obj.mk: add objwarn to keep freebsd makefiles happy 1289 * auto.obj.mk: ensure Mkdirs is available. 1290 * FILES: add auto.dep.mk - a simpler version of autodep.mk 1291 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 1292 asked to do that. 1293 fix/simplify the tests for when to run mkdep. 1294 * auto.dep.mk: add some explanation of how/what we do. 1295 * autodep.mk: skip the .OPTIONAL frobbing of .depend 1296 bmake's FROM_DEPEND flag makes it redundant. 1297 12982010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 1299 1300 * install-mk (MK_VERSION): bump version to 20100404 1301 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 1302 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 1303 Also create a target _SUBDIRUSE so that we can be used without 1304 subdir.mk 1305 13062010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 1307 1308 * dep.mk: use <> when .including so can override. 1309 13102010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 1311 1312 * lib.mk (SHLIB_LINKS): ensure a string comparison. 1313 13142010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1315 1316 * install-mk (MK_VERSION): bump version to 20100102 1317 * own.mk: ensure PRINTOBJDIR works 1318 * autoconf.mk: pass on CONFIGURE_ARGS 1319 * init.mk: handle COPTS.${.IMPSRC:T} etc. 1320 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 1321 fix handling of symlinks for darwin 1322 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 1323 * man.mk: suppress chown when not root. 1324 * rst2htm.mk: allow srcs from multiple locations. 1325 * sys.mk: M_whence, stop after 1st line of output. 1326 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 1327 * sys/SunOS.mk: we need to export PATH 1328 13292009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 1330 1331 * install-mk (MK_VERSION): bump version 1332 include rst2htm.mk 1333 13342009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 1335 1336 * sys.mk,libnames.mk add .-include <local.*> 1337 this allows local customization without the need to edit the 1338 distributed files. 1339 13402009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 1341 1342 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 1343 older versions already installed. 1344 13452009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 1346 1347 * stage.mk (.stage-install): generalize lib.mk's .libinstall 1348 * rules.mk rules for generic Makefile. 1349 * inc.mk install for includes. 1350 13512009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 1352 1353 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 1354 this, so provide it if using native make. 1355 13562009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 1357 1358 * FILES: move all the platform *.sys.mk files to sys/*.mk 1359 * Rename Generic.sys.mk to sys.mk - we always want it. 1360 13612009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 1362 1363 * install-mk (MK_VERSION): bump version 1364 * host-target.mk: only export the expensive stuff 1365 * Generic.sys.mk (sys_mk): for SunOS we need to look for 1366 ${HOST_OS}.${HOST_OSMAJOR} too! 1367 13682009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 1369 1370 * install-mk (MK_VERSION): bump version 1371 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 1372 based on patch from Greg Olszewski. 1373 * Generic.sys.mk: if we have nothing to work with 1374 set LORDER etc only if we can find it. 1375 13762009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 1377 1378 * install-mk (MK_VERSION): bump version 1379 * man.mk: cleanman: remove CLEANMAN if defined. 1380 13812009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 1382 1383 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 1384 13852009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 1386 1387 * install-mk (MK_VERSION): bump version 1388 include auto.obj.mk 1389 1390 13912009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 1392 1393 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 1394 13952008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 1396 1397 * install-mk (MK_VERSION): bump version 1398 man.mk: ensure we generate *.cat1 etc in . 1399 14002008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 1401 1402 * install-mk (MK_VERSION): bump version 1403 add prlist.mk 1404 14052007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 1406 1407 * Generic.sys.mk: Allow os specific sys.mk to be in a 1408 subdir of ${.PARSEDIR} 1409 14102007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 1411 1412 * install-mk (MK_VERSION): bump version 1413 * general cleanup 1414 * dpadd.mk introduce DPMAGIC_LIBS_* 1415 14162007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 1417 1418 * install-mk (MK_VERSION): bump version 1419 1420 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 1421 depend files and ensure clean is called for each lib/prog. 1422 14232007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 1424 1425 * autodep.mk (.depend): delete lines that do not start with 1426 space and do not contain ':' 1427 14282007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 1429 1430 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 1431 so make sure the transform for .OPTIONAL copes. 1432 14332007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 1434 1435 * install-mk (MK_VERSION): bump version 1436 1437 * own.mk: make sure RM and LN are defined. 1438 1439 * obj.mk: fix a typo, and objlink target. 1440 14412006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 1442 1443 * install-mk (MK_VERSION): bump version 1444 * added libs.mk - analogous to progs.mk 1445 make both of them always inlcude {lib,prog}.mk 1446 14472006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 1448 1449 * progs.mk: add a means of building multiple apps in one dir. 1450 14512006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 1452 1453 * install-mk (MK_VERSION): bump version to 20061126 1454 1455 * warnings.mk: detect invalid WARNINGS_SET 1456 1457 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 1458 specific warnings. 1459 1460 * For .cc sources, turn off warnings that g++ vomits on. 1461 14622006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 1463 1464 * own.mk: if __initialized__ target doesn't exist and we are 1465 FreeBSD we got here directly from sys.mk 1466 14672006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 1468 1469 * install-mk (MK_VERSION): bump version to 20061106 1470 add scripts.mk 1471 14722006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 1473 1474 * install-mk (MK_VERSION): bump version to 20060318 1475 1476 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 1477 14782006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 1479 1480 * install-mk (MK_VERSION): bump version to 20060302 1481 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 1482 14832006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 1484 1485 * install-mk (MK_VERSION): bump version to 20060301 1486 * autodep.mk (.depend): 1487 if MAKE_VERSION is newer than 20050530 we can make .END depend on 1488 .depend and make .depend depend on __depsrcs that exist. 1489 * dpadd.mk: add SRC_PATHADD 1490 14912005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1492 1493 * install-mk (MK_VERSION): bump version to 20051104 1494 * prog.mk: remove all the LIBC?= junk, use 1495 .-include libnames.mk instead (none by default). 1496 also if USE_DPADD_MK is set, include that. 1497 14982005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1499 1500 * install-mk (MK_VERSION): bump version to 20051001 1501 Add UnixWare.sys.mk from Klaus Heinz. 1502 15032005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 1504 1505 * install-mk: always install *.sys.mk and if need be symlink one 1506 to sys.mk 1507 15082005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1509 1510 * subdir.mk, own.mk: use .MAKE rather than MAKE 1511 15122004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1513 1514 * own.mk: don't use NetBSD's _SRC_TOP_ it can 1515 cause confusion. Also don't take just 'mk' as a 1516 srctop indicator. 1517 15182004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 1519 1520 * warnings.mk: overhauled, now very powerful. 1521 15222004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 1523 1524 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 1525 15262004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 1527 1528 * install-mk (MK_VERSION): bump version to 20040201 1529 * extract HOST_TARGET stuff to host-target.mk so own.mk and 1530 Generic.sys.mk can share. 1531 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 1532 15332003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 1534 1535 * install-mk (MK_VERSION): 20030930 1536 * rename generic.sys.mk to Generic.sys.mk 1537 so that it does not get installed (unless being used as sys.mk) 1538 * set OS and ROOT_GROUP for those that we know the value. 1539 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 1540 we don't do it again for each sub-make. 1541 15422003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 1543 1544 * install-mk (MK_VERSION): 20030928 1545 Add some extra *.sys.mk from bootstrap-pkgsrc 1546 some of these likely still need work. 1547 Make everything default to root:wheel ownership, 1548 sys.mk can set ROOT_GROUP accordingly. 1549 15502003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 1551 1552 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 1553 not the portable ones. 1554 15552003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 1556 1557 * install-mk: add ability to use cp -f when updating 1558 destination .mk files. Also now possible to play games with 1559 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 1560 into dest - not recommended unless you seriously want to. 1561 15622003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1563 1564 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 1565 for semi-compatability with NetBSD. 1566 15672003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 1568 1569 * install-mk: add a version indicator 1570 15712003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 1572 1573 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 1574 1575 * install-mk: Allow FORCE_SYS_MK to come from env 1576 1577 1578 1579