12016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 2 3 * meta2deps.sh: don't ignore subdirs. 4 patch from Bryan Drewery 5 62016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 7 8 * install-mk (MK_VERSION): 20160226 9 10 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 11 122016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 13 14 * dirdeps.mk: we shouldn't normally include .depend but if we do 15 use .dinclude if we can. 16 172016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 18 19 * install-mk (MK_VERSION): 20160218 20 * sys.clean-env.mk: with recent change to Var_Subst() 21 we cannot use the '$$' trick, but .export-literal does the job 22 we need. 23 * auto.dep.mk: make use .dinclude if we can. 24 25 262016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 27 28 * dirdeps.mk: 29 Add _build_all_dirs such that local.dirdeps.mk can 30 add fully qualified dirs to it. 31 These will be built normally but the current 32 DEP_RELDIR will not depend on then (to avoid cycles). 33 This makes it easy to hook things like unit-tests into build. 34 35 362016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 37 38 * dirdeps.mk: add bootstrap-empty 39 402015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 41 42 * install-mk (MK_VERSION): 20151212 43 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 44 only apply :tA to __objdir when comparing to .OBJDIR 45 462015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 47 48 * install-mk (MK_VERSION): 20151111 49 50 * meta.sys.mk: include sys.dependfile.mk 51 52 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 53 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 54 include local.sys.env.mk early 55 include local.sys.mk later 56 57 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 58 592015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 60 61 * meta.sys.mk (META_COOKIE_TOUCH): 62 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 63 64 * meta.stage.mk: stage_libs should ignore SYMLINKS. 65 662015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 67 68 * install-mk (MK_VERSION): 20151022 69 70 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 71 722015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 73 74 * install-mk (MK_VERSION): 20151020 75 76 * dirdeps.mk: Add logic for 77 make -f dirdeps.mk some/dir.${TARGET_SPEC} 78 792015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 80 81 * install-mk (MK_VERSION): 20151010 82 832015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 84 85 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 86 to have stage_lins run last in non-jobs mode. 87 Use .ORDER only for jobs mode. 88 892015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 90 91 * rst2htm.mk: allow for per target flags etc. 92 932015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 94 95 * install-mk (MK_VERSION): 20150901 96 97 * doc.mk: create dir if needed use DOC_INSTALL_OWN 98 992015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 100 101 * install-mk (MK_VERSION): 20150615 102 103 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 104 Follow make's normal precedence rules. 105 106 * gendirdeps.mk: allow customization of the header. 107 eg. for FreeBSD: 108 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 109 110 * meta.autodep.mk: ignore dirdeps.cache* 111 112 * meta.stage.mk: when bootstrapping options it can be handy to 113 throw warnings rather than errors for staging conflicts. 114 115 * meta.sys.mk: include local.meta.sys.mk for customization 116 1172015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 118 119 * install-mk (MK_VERSION): 20150606 120 121 * dirdeps.mk: don't rely on manually maintained Makefile.depend 122 to set DEP_RELDIR and reset DIRDEPS. 123 By setting DEP_RELDIR ourselves we can skip :tA 124 125 * gendirdeps.mk: skip setting DEP_RELDIR. 126 1272015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 128 129 * dirdeps.mk: avoid wildcards like make(bootstrap*) 130 1312015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 132 133 * install-mk (MK_VERSION): 20150520 134 135 * dirdeps.mk: when we are building dirdeps cache file we *want* 136 meta_oodate to look at all the Makefile.depend files, so 137 set .MAKE.DEPENDFILE to something that won't match. 138 139 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 140 so first use absolute path as key. 141 Also skip staging at level 0. 142 1432015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 144 145 * install-mk (MK_VERSION): 20150430 146 147 * dirdeps.mk: fix _count_dirdeps for non-cache case. 148 1492015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 150 151 * install-mk (MK_VERSION): 20150411 152 bump version 153 154 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 155 it is here mainly for documentation purposes, since 156 if using auto.obj.mk it is better done via sys.mk 157 1582015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 159 160 * install-mk (MK_VERSION): 20150401 161 162 * meta2deps.sh: support @list 163 164 * meta2deps.py: updates from Juniper 165 o add EXCLUDES 166 o skip bogus input files. 167 o treat 'M' and 'L' as both an 'R' and a 'W' 168 1692015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 170 171 * install-mk (MK_VERSION): 20150303 172 173 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 174 which is built via sub-make so we have a .meta file to tell if 175 it is out-of-date. 176 The dirdeps-cache contains the same dependency rules that we 177 normaly construct on the fly. 178 This adds a few seconds overhead when the cache is out of date, 179 but for a large target, the savings can be significant (10-20min). 180 1812014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 182 183 * install-mk (MK_VERSION): 20141118 184 185 * meta.stage.mk: add stale_staged 186 187 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 188 only useful under very rare conditions such as 189 FreeBSD's make universe. 190 191 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 192 1932014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 194 195 * install-mk (MK_VERSION): 20141111 196 197 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 198 1992014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 200 201 * FILES: include mkopt.sh which allows handling options in shell 202 scripts in a manner compatible with options.mk 203 2042014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 205 206 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 207 for GENDIRDEPS_FILTER to avoid surprises. 208 2092014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 210 211 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 212 the time it is applied to __depdirs they have. 213 214 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 215 expects patterns like *.${MACHINE} 216 217 * cython.mk (pyprefix?): use pyprefix to find python bits 218 since prefix might be something else (where we install our 219 stuff) 220 2212014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 222 223 * install-mk (MK_VERSION): 20140911 224 225 * dirdeps.mk: add bootstrap target to simplify adding support for 226 new MACHINE. 227 2282014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 229 230 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 231 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 232 Makefile.depend files. 233 2342014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 235 236 * install-mk (MK_VERSION): 20140828 237 238 * cython.mk: capture logic for building python extension modules 239 with Cython. 240 2412014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 242 243 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 244 2452014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 246 247 * install-mk (MK_VERSION): 20140801 248 249 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 250 identify the autodep.mk variant. 251 252 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 253 initial value does not match .MAKE.DEPENDFILE_PREFIX 254 255 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 256 2572014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 258 259 * install-mk (MK_VERSION): 20140522 260 261 * lib.mk: use CC to link shlib for linux too 262 patch from Brendan MacDonell 263 2642014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 265 266 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 267 if WITH_META_STATS is defined. 268 2692014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 270 271 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 272 to supress dirdeps outside of .CURDIR. 273 2742014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 275 276 * Fix spelling errors - patch from Pedro Giffuni 277 2782014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 279 280 * install-mk (MK_VERSION): 20140314 281 282 * dirdeps.mk (beforedirdeps): a handy hook 283 284 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 285 to visit leaf dirs to be intercepted (eg. for distributed 286 build). 287 288 * dirdeps.mk (__depdirs): ensure // don't sneak in 289 290 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 291 292 2932014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 294 295 * rst2htm.mk (RST2PDF): add support for rst2pdf 296 2972014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 298 299 * install-mk (MK_VERSION): bump version 300 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 301 available. 302 3032014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 304 305 * options.mk: avoid :U so this isn't bmake dependent 306 3072014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 308 309 * options.mk: cleanup and simplify semanitcs 310 NO_* dominates all, if both WITH_* and WITHOUT_* 311 are defined then result is DOMINATE_* which defaults to "no". 312 Ie. WITHOUT_ normally wins. 313 3142013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 315 316 * install-mk (MK_VERSION): bump version 317 * meta2deps.py: convert to print function for python3 compat. 318 we also need to open files with mode 'r' rather than 'rb' 319 otherwise we get bytes instead of strings. 320 3212013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 322 323 * install-mk (MK_VERSION): bump version 324 325 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 326 apply the same filtering (M_dep_qual_fixes) when setting _machines 327 as _build_dirs. 328 Also fix the filtering of Makefile.depend files - for reporting 329 what we are looking for (M_dep_qual_fixes can get confused by 330 Makefile.depend) 331 Add some more debug info. 332 3332013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 334 335 * gendirdeps.mk (_objtops): fix typo also 336 while processing M2D_OBJROOTS to gather qualdir_list 337 qualify $ql with loop iterator to ensure correct results. 338 3392013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 340 341 * install-mk (MK_VERSION): 20130801 342 * libs.mk: update to match progs.mk 343 3442013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 345 346 * install-mk (MK_VERSION): 20130726 347 some updates from Juniper and FreeBSD 348 o meta2deps.py: indicate file and line number when we hit parse 349 errors 350 also allow @file to provide huge list of .meta files. 351 * meta2deps.py: add try_parse() to cleanup the above. 352 3532013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 354 355 * install-mk (MK_VERSION): 20130716 356 * own.mk: add GPROG as an option 357 * prog.mk: honor MK_GPROF==yes 358 3592013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 360 361 * install-mk (MK_VERSION): 20130505 362 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 363 for when $MACHINE isn't enough for objdir distinction. 364 Bring meta2deps.sh closer to par with meta2deps.py. 365 3662013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 367 368 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 369 also if the target 'beforeinstall' exists, make it depend on 370 .dirdep (incase it uses STAGE_INSTALL). 371 3722013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 373 374 * install-mk (MK_VERSION): 20130401 ;-) 375 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 376 wrapper around install(1). 377 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 378 3792013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 380 381 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 382 * install-mk (MK_VERSION): bump version 383 3842013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 385 386 * install-mk (MK_VERSION): bump version 387 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 388 any trailing /., rather apply :tA only when needed. 389 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 390 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 391 consistently. 392 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 393 3942013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 395 396 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 397 it is simpler to just not update when say building for "host" 398 (where we know we apply filters to DIRDEPS), and using a 399 non-machine qualified dependfile. 400 4012013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 402 403 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 404 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 405 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 406 * meta2deps.py: if machine is "host", then also trim 407 self.host_target from any OBJROOTS. 408 409 4102013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 411 412 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 413 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 414 but _DEPENDFILE does not, compare the new _DEPENDFILE against 415 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 416 4172013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 418 419 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 420 and hook to all: via staging: 421 4222013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 423 424 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 425 use a separate variable for the default .MAKE.DEPENDFILE value 426 so that it can be controlled independently of 427 .MAKE.DEPENDFILE_PREFERENCE 428 429 * meta.stage.mk: throw error if cp fails etc. 430 Stage*() return early if passed no args. 431 .ORDER stage_* 432 4332013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 434 435 * install-mk (MK_VERSION): bump version 436 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 437 4382013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 439 440 * install-mk (MK_VERSION): bump version to 20130210 441 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 442 from Juniper. 443 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 444 than just MACHINE. 445 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 446 4472013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 448 449 * install-mk (MK_VERSION): bump version to 20130123 450 * meta.stage.mk: add stage_links (hard links). 451 if doing hard links, we add dest to link as well. 452 Default the stage dir for [sym]links to STAGE_OBJTOP since 453 these are typically specified as absolute paths. 454 Add -m "mode" flag to StageFiles and StageAs. 455 4562012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 457 458 * install-mk (MK_VERSION): bump version to 20121111 459 * autoconf.mk: avoid meta mode seeing changed commands for config.status 460 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 461 in case we were found via .../mk 462 * sys.clean-env.mk: move it from examples, we and others use it 463 "as is". 464 * FILES: add srctop.mk and options.mk 465 * own.mk: convert to using options.mk 466 which is modeled after FreeBSD's handling of MK_* 467 but more flexible. 468 This allows MK_* for boolean knobs to not be confused 469 with MK* which can be commands. 470 471 * examples/sys.clean-env.mk: add WITH[OUT]_ to 472 MAKE_ENV_SAVE_PREFIX_LIST. 473 Mention that HOME=/var/empty might be a good idea. 474 4752012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 476 477 * sys.dependfile.mk: if not depend file exists, $MACHINE 478 specific ones are supported but not the default, 479 check if any exist and follow suit. 480 4812012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 482 483 * install-mk (MK_VERSION): bump version to 20121106 484 4852012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 486 487 * import latest dirdeps.mk and meta2deps.py from Juniper. 488 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 489 also add PROGS_TARGETS and pass on PROG_CXX if it seems 490 appropriate. 491 4922012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 493 494 * meta.stage.mk: update CLEANFILES 495 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 496 * progs.mk: Add LDADD to PROG_VARS 497 4982012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 499 500 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 501 _STAGED_DIRS so that these can be turned into filters for 502 GENDIRDEPS_FILTER. 503 5042012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 505 506 * install-mk (MK_VERSION): bump version to 20121010 507 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 508 target.dirdep matches .dirdep 509 5102012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 511 512 * install-mk (MK_VERSION): bump version to 20120808 513 * import latest meta2deps.py from Juniper. 514 5152012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 516 517 * install-mk (MK_VERSION): bump version to 20120711 518 * dep.mk: add explicit dependencies on SRCS after applying 519 SRCS_DEP_FILTER 520 * meta.autodep.mk: add explicit dependencies on SRCS after 521 applying SRCS_DEP_FILTER 522 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 523 5242012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 525 526 * install-mk (MK_VERSION): bump version to 20120626 527 * meta.sys.mk: ignore PYTHON if it does not exist 528 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 529 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 530 entries ending in .${MACHINE} to decide if qualified _dirdep is 531 needed. 532 * gendirdeps.mk: only produce unqualified deps if no 533 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 534 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 535 5362012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 537 538 * install-mk (MK_VERSION): bump version to 20120420 539 * add sys.dependfile.mk so we can experiment with 540 .MAKE.DEPENDFILE_PREFERENCE 541 * meta.autodep.mk: _DEPENDFILE is precious! 542 5432012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 544 545 * install-mk (MK_VERSION): bump version to 20120315 546 * install-new.mk: avoid being interrupted 547 5482012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 549 550 * man.mk: MAN might have multiple values so be careful with exists(). 551 5522012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 553 554 * install-mk (MK_VERSION): bump version to 20120112 555 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 556 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 557 5582011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 559 560 * install-mk (MK_VERSION): bump version to 20111201 561 * import dirdeps.mk from Juniper sjg@ 562 o more consistent handling of DEP_MACHINE, especially when 563 dealing with an odd Makefile.depend, when normally using 564 Makefile.depend.${MACHINE} 565 5662011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 567 568 * install-mk (MK_VERSION): bump version to 20111122 569 * meta.autodep.mk: add some debug output, be more crisp about 570 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 571 5722011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 573 574 * install-mk (MK_VERSION): bump version to 20111111 575 it's too cool to miss 576 * import meta* updates from Juniper sjg@ 577 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 578 normally using Makefile.depend.${MACHINE}), handy for 579 read-only manually maintained dependencies. 580 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 581 o gendirdeps.mk if ERROR: from meta2deps.py do not update 582 anything. 583 5842011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 585 586 * install-new.mk separate the cmp and copy logic to its own function. 587 5882011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 589 590 * install-mk (MK_VERSION): bump version to 20111028 591 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 592 * subdir.mk: ensure _SUBDIRUSE is provided 593 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 594 * meta.subdir.mk: always allow for Makefile.depend 595 5962011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 597 598 * install-mk (MK_VERSION): bump version to 20111010 599 o minor tweak to *dirdeps.mk from Juniper sjg@ 600 6012011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 602 603 * install-mk (MK_VERSION): bump version to 20111001 604 o add meta2deps.py from Juniper sjg@ 605 o tweak gendirdeps.mk to work with meta2deps.py when not 606 cross-building 607 * autoconf.mk: add autoconf-input as a hook for regenerating 608 AUTOCONF_INPUTS (configure). 609 6102011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 611 612 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 613 trigger for updating Makefile.depend* 614 6152011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 616 617 * install-mk (MK_VERSION): bump version to 20110808 618 * obj.mk: minor cleanup 619 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 620 6212011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 622 623 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 624 specified dir. 625 6262011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 627 628 * meta.autodep.mk: if XMAKE_META_FILE is set 629 the makefile uses a foreign make, and so dependencies 630 can only be gathered from a clean tree build. 631 6322011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 633 634 * install-mk (MK_VERSION): bump version to 20110622 635 * meta.autodep.mk: improve bootstraping 636 6372011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 638 639 * yacc.mk: handle the corner case of .c being removed 640 while .h remains. 641 6422011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 643 644 * yacc.mk: do .y.h and .y.c separately 645 6462011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 647 648 * install-mk (MK_VERSION): bump version to 20110606 649 * don't store SRC_DIRDEPS in Makefile.depend* by default 650 not everyone needs it. 651 6522011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 653 654 * install-mk (MK_VERSION): bump version to 20110505 655 first release including meta mode makefiles 656 6572011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 658 659 * meta.stage.mk: add STAGE_AS_SETS and stage_as 660 for things that need to be staged with different names. 661 6622011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 663 664 * meta.stage.mk: add notion of STAGE_SETS 665 so a makefile can stage to multiple dirs 666 6672011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 668 669 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 670 on target name. 671 6722011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 673 674 * install-mk (MK_VERSION): bump version to 20110330 675 6762011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 677 678 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 679 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 680 * sys.mk: re-define M_whence in terms of M_type. 681 M_type is useful for checking if something is a builtin. 682 6832011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 684 685 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 686 stage_libs 687 6882011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 689 690 * dirdeps.mk: correct value for _depdir_files depends on 691 .MAKE.DEPENDFILE 692 Add our copyright - just to make it clear we have frobbed this 693 quite a bit. 694 DEP_MACHINE needs to be set to MACHINE each time, if using only 695 Makefile.depend (cf. Makefile.depend.${MACHINE}) 696 697 * meta.stage.mk: meta mode version of staging 698 699 * init.mk, final.mk: include local.*.mk to simplify customization 700 7012011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 702 703 * auto.obj.mk: just because we are doing mk destroy, we should 704 still set .OBJDIR correctly if it exists. 705 706 * install-mk (mksrc): do not exclude meta.sys.mk 707 7082011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 709 710 * host-target.mk: set/export _HOST_ARCH etc separately, 711 catch junk resulting from uname -p, so we can find sys/Linux.mk 712 correctly. 713 7142011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 715 716 * meta.sys.mk: throw an error if /dev/filemon is missing and we 717 expected to be updating Makefile.depend* 718 7192011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 720 721 * install-mk (MK_VERSION): bump version to 20110214 722 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 723 7242010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 725 726 * meta.sys.mk: not valid for older bmake 727 7282010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 729 730 * install-mk (MK_VERSION): bump version to 20100919 731 include dirdeps.mk et al from Juniper Networks, 732 for meta mode - requires filemon(9). 733 * sys.mk, subdir.mk: Add hooks for meta mode. 734 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 735 to make turning it on/off simple. 736 7372010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 738 739 * install-mk (MK_VERSION): bump version to 20100616 740 * fix typo in sys.mk 741 7422010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 743 744 * install-mk (MK_VERSION): bump version to 20100612 745 * lib.mk: remove duplicate addition to SOBJS 746 7472010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 748 749 * sys.mk: Add a means of selectively turning on debug flags. 750 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 751 will act as if we did make -dv if .CURDIR ends in lib/sjg 752 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 753 the start of sys.mk rather than the end. 754 This only makes sense for leaf dirs, so we check that 755 .MAKE.LEVEL > 0 756 7572010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 758 759 * install-mk (MK_VERSION): bump version to 20100608 760 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 761 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 762 also make it easier for folk to tweak 763 7642010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 765 766 * install-mk (MK_VERSION): bump version to 20100606 767 do not install examples/* 768 * FILES: add examples/sys.clean-env.mk 769 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 770 this requires bmake-20100606 or later to work. 771 7722010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 773 774 * sys.mk (M_tA): better simulate the result of :tA if not available. 775 7762010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 777 778 * sys.mk: canonicalize MAKE_VERSION 779 old versions reported bmake-<src-date> build-<build-date> 780 whereas we only care about <src-date> 781 7822010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 783 784 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 785 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 786 is !empty 787 7882010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 789 790 * dpadd.mk: use LDADD_* if defined. 791 7922010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 793 794 * install-mk (MK_VERSION): bump version to 20100420 795 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 796 * autoconf.mk allow AUTO_AUTOCONF 797 7982010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 799 800 * obj.mk: add objwarn to keep freebsd makefiles happy 801 * auto.obj.mk: ensure Mkdirs is available. 802 * FILES: add auto.dep.mk - a simpler version of autodep.mk 803 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 804 asked to do that. 805 fix/simplify the tests for when to run mkdep. 806 * auto.dep.mk: add some explanation of how/what we do. 807 * autodep.mk: skip the .OPTIONAL frobbing of .depend 808 bmake's FROM_DEPEND flag makes it redundant. 809 8102010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 811 812 * install-mk (MK_VERSION): bump version to 20100404 813 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 814 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 815 Also create a target _SUBDIRUSE so that we can be used without 816 subdir.mk 817 8182010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 819 820 * dep.mk: use <> when .including so can override. 821 8222010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 823 824 * lib.mk (SHLIB_LINKS): ensure a string comparison. 825 8262010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 827 828 * install-mk (MK_VERSION): bump version to 20100102 829 * own.mk: ensure PRINTOBJDIR works 830 * autoconf.mk: pass on CONFIGURE_ARGS 831 * init.mk: handle COPTS.${.IMPSRC:T} etc. 832 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 833 fix handling of symlinks for darwin 834 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 835 * man.mk: suppress chown when not root. 836 * rst2htm.mk: allow srcs from multiple locations. 837 * sys.mk: M_whence, stop after 1st line of output. 838 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 839 * sys/SunOS.mk: we need to export PATH 840 8412009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 842 843 * install-mk (MK_VERSION): bump version 844 include rst2htm.mk 845 8462009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 847 848 * sys.mk,libnames.mk add .-include <local.*> 849 this allows local customization without the need to edit the 850 distributed files. 851 8522009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 853 854 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 855 older versions already installed. 856 8572009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 858 859 * stage.mk (.stage-install): generalize lib.mk's .libinstall 860 * rules.mk rules for generic Makefile. 861 * inc.mk install for includes. 862 8632009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 864 865 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 866 this, so provide it if using native make. 867 8682009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 869 870 * FILES: move all the platform *.sys.mk files to sys/*.mk 871 * Rename Generic.sys.mk to sys.mk - we always want it. 872 8732009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 874 875 * install-mk (MK_VERSION): bump version 876 * host-target.mk: only export the expensive stuff 877 * Generic.sys.mk (sys_mk): for SunOS we need to look for 878 ${HOST_OS}.${HOST_OSMAJOR} too! 879 8802009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 881 882 * install-mk (MK_VERSION): bump version 883 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 884 based on patch from Greg Olszewski. 885 * Generic.sys.mk: if we have nothing to work with 886 set LORDER etc only if we can find it. 887 8882009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 889 890 * install-mk (MK_VERSION): bump version 891 * man.mk: cleanman: remove CLEANMAN if defined. 892 8932009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 894 895 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 896 8972009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 898 899 * install-mk (MK_VERSION): bump version 900 include auto.obj.mk 901 902 9032009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 904 905 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 906 9072008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 908 909 * install-mk (MK_VERSION): bump version 910 man.mk: ensure we generate *.cat1 etc in . 911 9122008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 913 914 * install-mk (MK_VERSION): bump version 915 add prlist.mk 916 9172007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 918 919 * Generic.sys.mk: Allow os specific sys.mk to be in a 920 subdir of ${.PARSEDIR} 921 9222007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 923 924 * install-mk (MK_VERSION): bump version 925 * general cleanup 926 * dpadd.mk introduce DPMAGIC_LIBS_* 927 9282007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 929 930 * install-mk (MK_VERSION): bump version 931 932 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 933 depend files and ensure clean is called for each lib/prog. 934 9352007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 936 937 * autodep.mk (.depend): delete lines that do not start with 938 space and do not contain ':' 939 9402007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 941 942 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 943 so make sure the transform for .OPTIONAL copes. 944 9452007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 946 947 * install-mk (MK_VERSION): bump version 948 949 * own.mk: make sure RM and LN are defined. 950 951 * obj.mk: fix a typo, and objlink target. 952 9532006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 954 955 * install-mk (MK_VERSION): bump version 956 * added libs.mk - analogous to progs.mk 957 make both of them always inlcude {lib,prog}.mk 958 9592006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 960 961 * progs.mk: add a means of building multiple apps in one dir. 962 9632006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 964 965 * install-mk (MK_VERSION): bump version to 20061126 966 967 * warnings.mk: detect invalid WARNINGS_SET 968 969 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 970 specific warnings. 971 972 * For .cc sources, turn off warnings that g++ vomits on. 973 9742006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 975 976 * own.mk: if __initialized__ target doesn't exist and we are 977 FreeBSD we got here directly from sys.mk 978 9792006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 980 981 * install-mk (MK_VERSION): bump version to 20061106 982 add scripts.mk 983 9842006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 985 986 * install-mk (MK_VERSION): bump version to 20060318 987 988 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 989 9902006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 991 992 * install-mk (MK_VERSION): bump version to 20060302 993 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 994 9952006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 996 997 * install-mk (MK_VERSION): bump version to 20060301 998 * autodep.mk (.depend): 999 if MAKE_VERSION is newer than 20050530 we can make .END depend on 1000 .depend and make .depend depend on __depsrcs that exist. 1001 * dpadd.mk: add SRC_PATHADD 1002 10032005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1004 1005 * install-mk (MK_VERSION): bump version to 20051104 1006 * prog.mk: remove all the LIBC?= junk, use 1007 .-include libnames.mk instead (none by default). 1008 also if USE_DPADD_MK is set, include that. 1009 10102005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1011 1012 * install-mk (MK_VERSION): bump version to 20051001 1013 Add UnixWare.sys.mk from Klaus Heinz. 1014 10152005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 1016 1017 * install-mk: always install *.sys.mk and if need be symlink one 1018 to sys.mk 1019 10202005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1021 1022 * subdir.mk, own.mk: use .MAKE rather than MAKE 1023 10242004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1025 1026 * own.mk: don't use NetBSD's _SRC_TOP_ it can 1027 cause confusion. Also don't take just 'mk' as a 1028 srctop indicator. 1029 10302004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 1031 1032 * warnings.mk: overhauled, now very powerful. 1033 10342004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 1035 1036 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 1037 10382004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 1039 1040 * install-mk (MK_VERSION): bump version to 20040201 1041 * extract HOST_TARGET stuff to host-target.mk so own.mk and 1042 Generic.sys.mk can share. 1043 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 1044 10452003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 1046 1047 * install-mk (MK_VERSION): 20030930 1048 * rename generic.sys.mk to Generic.sys.mk 1049 so that it does not get installed (unless being used as sys.mk) 1050 * set OS and ROOT_GROUP for those that we know the value. 1051 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 1052 we don't do it again for each sub-make. 1053 10542003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 1055 1056 * install-mk (MK_VERSION): 20030928 1057 Add some extra *.sys.mk from bootstrap-pkgsrc 1058 some of these likely still need work. 1059 Make everything default to root:wheel ownership, 1060 sys.mk can set ROOT_GROUP accordingly. 1061 10622003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 1063 1064 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 1065 not the portable ones. 1066 10672003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 1068 1069 * install-mk: add ability to use cp -f when updating 1070 destination .mk files. Also now possible to play games with 1071 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 1072 into dest - not recommended unless you seriously want to. 1073 10742003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1075 1076 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 1077 for semi-compatability with NetBSD. 1078 10792003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 1080 1081 * install-mk: add a version indicator 1082 10832003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 1084 1085 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 1086 1087 * install-mk: Allow FORCE_SYS_MK to come from env 1088 1089 1090 1091