12015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 2 3 * install-mk (MK_VERSION): 20151111 4 5 * meta.sys.mk: include sys.dependfile.mk 6 7 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 8 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 9 include local.sys.env.mk early 10 include local.sys.mk later 11 12 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 13 142015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 15 16 * meta.sys.mk (META_COOKIE_TOUCH): 17 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 18 19 * meta.stage.mk: stage_libs should ignore SYMLINKS. 20 212015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 22 23 * install-mk (MK_VERSION): 20151022 24 25 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 26 272015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 28 29 * install-mk (MK_VERSION): 20151020 30 31 * dirdeps.mk: Add logic for 32 make -f dirdeps.mk some/dir.${TARGET_SPEC} 33 342015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 35 36 * install-mk (MK_VERSION): 20151010 37 382015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 39 40 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 41 to have stage_lins run last in non-jobs mode. 42 Use .ORDER only for jobs mode. 43 442015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 45 46 * rst2htm.mk: allow for per target flags etc. 47 482015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 49 50 * install-mk (MK_VERSION): 20150901 51 52 * doc.mk: create dir if needed use DOC_INSTALL_OWN 53 542015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 55 56 * install-mk (MK_VERSION): 20150615 57 58 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 59 Follow make's normal precedence rules. 60 61 * gendirdeps.mk: allow customization of the header. 62 eg. for FreeBSD: 63 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 64 65 * meta.autodep.mk: ignore dirdeps.cache* 66 67 * meta.stage.mk: when bootstrapping options it can be handy to 68 throw warnings rather than errors for staging conflicts. 69 70 * meta.sys.mk: include local.meta.sys.mk for customization 71 722015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 73 74 * install-mk (MK_VERSION): 20150606 75 76 * dirdeps.mk: don't rely on manually maintained Makefile.depend 77 to set DEP_RELDIR and reset DIRDEPS. 78 By setting DEP_RELDIR ourselves we can skip :tA 79 80 * gendirdeps.mk: skip setting DEP_RELDIR. 81 822015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 83 84 * dirdeps.mk: avoid wildcards like make(bootstrap*) 85 862015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 87 88 * install-mk (MK_VERSION): 20150520 89 90 * dirdeps.mk: when we are building dirdeps cache file we *want* 91 meta_oodate to look at all the Makefile.depend files, so 92 set .MAKE.DEPENDFILE to something that won't match. 93 94 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 95 so first use absolute path as key. 96 Also skip staging at level 0. 97 982015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 99 100 * install-mk (MK_VERSION): 20150430 101 102 * dirdeps.mk: fix _count_dirdeps for non-cache case. 103 1042015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 105 106 * install-mk (MK_VERSION): 20150411 107 bump version 108 109 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 110 it is here mainly for documentation purposes, since 111 if using auto.obj.mk it is better done via sys.mk 112 1132015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 114 115 * install-mk (MK_VERSION): 20150401 116 117 * meta2deps.sh: support @list 118 119 * meta2deps.py: updates from Juniper 120 o add EXCLUDES 121 o skip bogus input files. 122 o treat 'M' and 'L' as both an 'R' and a 'W' 123 1242015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 125 126 * install-mk (MK_VERSION): 20150303 127 128 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 129 which is built via sub-make so we have a .meta file to tell if 130 it is out-of-date. 131 The dirdeps-cache contains the same dependency rules that we 132 normaly construct on the fly. 133 This adds a few seconds overhead when the cache is out of date, 134 but for a large target, the savings can be significant (10-20min). 135 1362014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 137 138 * install-mk (MK_VERSION): 20141118 139 140 * meta.stage.mk: add stale_staged 141 142 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 143 only useful under very rare conditions such as 144 FreeBSD's make universe. 145 146 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 147 1482014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 149 150 * install-mk (MK_VERSION): 20141111 151 152 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 153 1542014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 155 156 * FILES: include mkopt.sh which allows handling options in shell 157 scripts in a manner compatible with options.mk 158 1592014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 160 161 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 162 for GENDIRDEPS_FILTER to avoid surprises. 163 1642014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 165 166 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 167 the time it is applied to __depdirs they have. 168 169 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 170 expects patterns like *.${MACHINE} 171 172 * cython.mk (pyprefix?): use pyprefix to find python bits 173 since prefix might be something else (where we install our 174 stuff) 175 1762014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 177 178 * install-mk (MK_VERSION): 20140911 179 180 * dirdeps.mk: add bootstrap target to simplify adding support for 181 new MACHINE. 182 1832014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 184 185 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 186 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 187 Makefile.depend files. 188 1892014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 190 191 * install-mk (MK_VERSION): 20140828 192 193 * cython.mk: capture logic for building python extension modules 194 with Cython. 195 1962014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 197 198 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 199 2002014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 201 202 * install-mk (MK_VERSION): 20140801 203 204 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 205 identify the autodep.mk variant. 206 207 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 208 initial value does not match .MAKE.DEPENDFILE_PREFIX 209 210 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 211 2122014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 213 214 * install-mk (MK_VERSION): 20140522 215 216 * lib.mk: use CC to link shlib for linux too 217 patch from Brendan MacDonell 218 2192014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 220 221 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 222 if WITH_META_STATS is defined. 223 2242014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 225 226 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 227 to supress dirdeps outside of .CURDIR. 228 2292014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 230 231 * Fix spelling errors - patch from Pedro Giffuni 232 2332014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 234 235 * install-mk (MK_VERSION): 20140314 236 237 * dirdeps.mk (beforedirdeps): a handy hook 238 239 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 240 to visit leaf dirs to be intercepted (eg. for distributed 241 build). 242 243 * dirdeps.mk (__depdirs): ensure // don't sneak in 244 245 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 246 247 2482014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 249 250 * rst2htm.mk (RST2PDF): add support for rst2pdf 251 2522014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 253 254 * install-mk (MK_VERSION): bump version 255 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 256 available. 257 2582014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 259 260 * options.mk: avoid :U so this isn't bmake dependent 261 2622014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 263 264 * options.mk: cleanup and simplify semanitcs 265 NO_* dominates all, if both WITH_* and WITHOUT_* 266 are defined then result is DOMINATE_* which defaults to "no". 267 Ie. WITHOUT_ normally wins. 268 2692013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 270 271 * install-mk (MK_VERSION): bump version 272 * meta2deps.py: convert to print function for python3 compat. 273 we also need to open files with mode 'r' rather than 'rb' 274 otherwise we get bytes instead of strings. 275 2762013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 277 278 * install-mk (MK_VERSION): bump version 279 280 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 281 apply the same filtering (M_dep_qual_fixes) when setting _machines 282 as _build_dirs. 283 Also fix the filtering of Makefile.depend files - for reporting 284 what we are looking for (M_dep_qual_fixes can get confused by 285 Makefile.depend) 286 Add some more debug info. 287 2882013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 289 290 * gendirdeps.mk (_objtops): fix typo also 291 while processing M2D_OBJROOTS to gather qualdir_list 292 qualify $ql with loop iterator to ensure correct results. 293 2942013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 295 296 * install-mk (MK_VERSION): 20130801 297 * libs.mk: update to match progs.mk 298 2992013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 300 301 * install-mk (MK_VERSION): 20130726 302 some updates from Juniper and FreeBSD 303 o meta2deps.py: indicate file and line number when we hit parse 304 errors 305 also allow @file to provide huge list of .meta files. 306 * meta2deps.py: add try_parse() to cleanup the above. 307 3082013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 309 310 * install-mk (MK_VERSION): 20130716 311 * own.mk: add GPROG as an option 312 * prog.mk: honor MK_GPROF==yes 313 3142013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 315 316 * install-mk (MK_VERSION): 20130505 317 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 318 for when $MACHINE isn't enough for objdir distinction. 319 Bring meta2deps.sh closer to par with meta2deps.py. 320 3212013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 322 323 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 324 also if the target 'beforeinstall' exists, make it depend on 325 .dirdep (incase it uses STAGE_INSTALL). 326 3272013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 328 329 * install-mk (MK_VERSION): 20130401 ;-) 330 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 331 wrapper around install(1). 332 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 333 3342013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 335 336 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 337 * install-mk (MK_VERSION): bump version 338 3392013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 340 341 * install-mk (MK_VERSION): bump version 342 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 343 any trailing /., rather apply :tA only when needed. 344 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 345 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 346 consistently. 347 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 348 3492013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 350 351 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 352 it is simpler to just not update when say building for "host" 353 (where we know we apply filters to DIRDEPS), and using a 354 non-machine qualified dependfile. 355 3562013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 357 358 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 359 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 360 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 361 * meta2deps.py: if machine is "host", then also trim 362 self.host_target from any OBJROOTS. 363 364 3652013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 366 367 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 368 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 369 but _DEPENDFILE does not, compare the new _DEPENDFILE against 370 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 371 3722013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 373 374 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 375 and hook to all: via staging: 376 3772013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 378 379 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 380 use a separate variable for the default .MAKE.DEPENDFILE value 381 so that it can be controlled independently of 382 .MAKE.DEPENDFILE_PREFERENCE 383 384 * meta.stage.mk: throw error if cp fails etc. 385 Stage*() return early if passed no args. 386 .ORDER stage_* 387 3882013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 389 390 * install-mk (MK_VERSION): bump version 391 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 392 3932013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 394 395 * install-mk (MK_VERSION): bump version to 20130210 396 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 397 from Juniper. 398 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 399 than just MACHINE. 400 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 401 4022013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 403 404 * install-mk (MK_VERSION): bump version to 20130123 405 * meta.stage.mk: add stage_links (hard links). 406 if doing hard links, we add dest to link as well. 407 Default the stage dir for [sym]links to STAGE_OBJTOP since 408 these are typically specified as absolute paths. 409 Add -m "mode" flag to StageFiles and StageAs. 410 4112012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 412 413 * install-mk (MK_VERSION): bump version to 20121111 414 * autoconf.mk: avoid meta mode seeing changed commands for config.status 415 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 416 in case we were found via .../mk 417 * sys.clean-env.mk: move it from examples, we and others use it 418 "as is". 419 * FILES: add srctop.mk and options.mk 420 * own.mk: convert to using options.mk 421 which is modeled after FreeBSD's handling of MK_* 422 but more flexible. 423 This allows MK_* for boolean knobs to not be confused 424 with MK* which can be commands. 425 426 * examples/sys.clean-env.mk: add WITH[OUT]_ to 427 MAKE_ENV_SAVE_PREFIX_LIST. 428 Mention that HOME=/var/empty might be a good idea. 429 4302012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 431 432 * sys.dependfile.mk: if not depend file exists, $MACHINE 433 specific ones are supported but not the default, 434 check if any exist and follow suit. 435 4362012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 437 438 * install-mk (MK_VERSION): bump version to 20121106 439 4402012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 441 442 * import latest dirdeps.mk and meta2deps.py from Juniper. 443 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 444 also add PROGS_TARGETS and pass on PROG_CXX if it seems 445 appropriate. 446 4472012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 448 449 * meta.stage.mk: update CLEANFILES 450 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 451 * progs.mk: Add LDADD to PROG_VARS 452 4532012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 454 455 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 456 _STAGED_DIRS so that these can be turned into filters for 457 GENDIRDEPS_FILTER. 458 4592012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 460 461 * install-mk (MK_VERSION): bump version to 20121010 462 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 463 target.dirdep matches .dirdep 464 4652012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 466 467 * install-mk (MK_VERSION): bump version to 20120808 468 * import latest meta2deps.py from Juniper. 469 4702012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 471 472 * install-mk (MK_VERSION): bump version to 20120711 473 * dep.mk: add explicit dependencies on SRCS after applying 474 SRCS_DEP_FILTER 475 * meta.autodep.mk: add explicit dependencies on SRCS after 476 applying SRCS_DEP_FILTER 477 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 478 4792012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 480 481 * install-mk (MK_VERSION): bump version to 20120626 482 * meta.sys.mk: ignore PYTHON if it does not exist 483 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 484 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 485 entries ending in .${MACHINE} to decide if qualified _dirdep is 486 needed. 487 * gendirdeps.mk: only produce unqualified deps if no 488 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 489 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 490 4912012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 492 493 * install-mk (MK_VERSION): bump version to 20120420 494 * add sys.dependfile.mk so we can experiment with 495 .MAKE.DEPENDFILE_PREFERENCE 496 * meta.autodep.mk: _DEPENDFILE is precious! 497 4982012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 499 500 * install-mk (MK_VERSION): bump version to 20120315 501 * install-new.mk: avoid being interrupted 502 5032012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 504 505 * man.mk: MAN might have multiple values so be careful with exists(). 506 5072012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 508 509 * install-mk (MK_VERSION): bump version to 20120112 510 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 511 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 512 5132011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 514 515 * install-mk (MK_VERSION): bump version to 20111201 516 * import dirdeps.mk from Juniper sjg@ 517 o more consistent handling of DEP_MACHINE, especially when 518 dealing with an odd Makefile.depend, when normally using 519 Makefile.depend.${MACHINE} 520 5212011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 522 523 * install-mk (MK_VERSION): bump version to 20111122 524 * meta.autodep.mk: add some debug output, be more crisp about 525 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 526 5272011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 528 529 * install-mk (MK_VERSION): bump version to 20111111 530 it's too cool to miss 531 * import meta* updates from Juniper sjg@ 532 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 533 normally using Makefile.depend.${MACHINE}), handy for 534 read-only manually maintained dependencies. 535 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 536 o gendirdeps.mk if ERROR: from meta2deps.py do not update 537 anything. 538 5392011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 540 541 * install-new.mk separate the cmp and copy logic to its own function. 542 5432011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 544 545 * install-mk (MK_VERSION): bump version to 20111028 546 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 547 * subdir.mk: ensure _SUBDIRUSE is provided 548 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 549 * meta.subdir.mk: always allow for Makefile.depend 550 5512011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 552 553 * install-mk (MK_VERSION): bump version to 20111010 554 o minor tweak to *dirdeps.mk from Juniper sjg@ 555 5562011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 557 558 * install-mk (MK_VERSION): bump version to 20111001 559 o add meta2deps.py from Juniper sjg@ 560 o tweak gendirdeps.mk to work with meta2deps.py when not 561 cross-building 562 * autoconf.mk: add autoconf-input as a hook for regenerating 563 AUTOCONF_INPUTS (configure). 564 5652011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 566 567 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 568 trigger for updating Makefile.depend* 569 5702011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 571 572 * install-mk (MK_VERSION): bump version to 20110808 573 * obj.mk: minor cleanup 574 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 575 5762011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 577 578 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 579 specified dir. 580 5812011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 582 583 * meta.autodep.mk: if XMAKE_META_FILE is set 584 the makefile uses a foreign make, and so dependencies 585 can only be gathered from a clean tree build. 586 5872011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 588 589 * install-mk (MK_VERSION): bump version to 20110622 590 * meta.autodep.mk: improve bootstraping 591 5922011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 593 594 * yacc.mk: handle the corner case of .c being removed 595 while .h remains. 596 5972011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 598 599 * yacc.mk: do .y.h and .y.c separately 600 6012011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 602 603 * install-mk (MK_VERSION): bump version to 20110606 604 * don't store SRC_DIRDEPS in Makefile.depend* by default 605 not everyone needs it. 606 6072011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 608 609 * install-mk (MK_VERSION): bump version to 20110505 610 first release including meta mode makefiles 611 6122011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 613 614 * meta.stage.mk: add STAGE_AS_SETS and stage_as 615 for things that need to be staged with different names. 616 6172011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 618 619 * meta.stage.mk: add notion of STAGE_SETS 620 so a makefile can stage to multiple dirs 621 6222011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 623 624 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 625 on target name. 626 6272011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 628 629 * install-mk (MK_VERSION): bump version to 20110330 630 6312011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 632 633 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 634 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 635 * sys.mk: re-define M_whence in terms of M_type. 636 M_type is useful for checking if something is a builtin. 637 6382011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 639 640 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 641 stage_libs 642 6432011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 644 645 * dirdeps.mk: correct value for _depdir_files depends on 646 .MAKE.DEPENDFILE 647 Add our copyright - just to make it clear we have frobbed this 648 quite a bit. 649 DEP_MACHINE needs to be set to MACHINE each time, if using only 650 Makefile.depend (cf. Makefile.depend.${MACHINE}) 651 652 * meta.stage.mk: meta mode version of staging 653 654 * init.mk, final.mk: include local.*.mk to simplify customization 655 6562011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 657 658 * auto.obj.mk: just because we are doing mk destroy, we should 659 still set .OBJDIR correctly if it exists. 660 661 * install-mk (mksrc): do not exclude meta.sys.mk 662 6632011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 664 665 * host-target.mk: set/export _HOST_ARCH etc separately, 666 catch junk resulting from uname -p, so we can find sys/Linux.mk 667 correctly. 668 6692011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 670 671 * meta.sys.mk: throw an error if /dev/filemon is missing and we 672 expected to be updating Makefile.depend* 673 6742011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 675 676 * install-mk (MK_VERSION): bump version to 20110214 677 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 678 6792010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 680 681 * meta.sys.mk: not valid for older bmake 682 6832010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 684 685 * install-mk (MK_VERSION): bump version to 20100919 686 include dirdeps.mk et al from Juniper Networks, 687 for meta mode - requires filemon(9). 688 * sys.mk, subdir.mk: Add hooks for meta mode. 689 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 690 to make turning it on/off simple. 691 6922010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 693 694 * install-mk (MK_VERSION): bump version to 20100616 695 * fix typo in sys.mk 696 6972010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 698 699 * install-mk (MK_VERSION): bump version to 20100612 700 * lib.mk: remove duplicate addition to SOBJS 701 7022010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 703 704 * sys.mk: Add a means of selectively turning on debug flags. 705 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 706 will act as if we did make -dv if .CURDIR ends in lib/sjg 707 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 708 the start of sys.mk rather than the end. 709 This only makes sense for leaf dirs, so we check that 710 .MAKE.LEVEL > 0 711 7122010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 713 714 * install-mk (MK_VERSION): bump version to 20100608 715 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 716 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 717 also make it easier for folk to tweak 718 7192010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 720 721 * install-mk (MK_VERSION): bump version to 20100606 722 do not install examples/* 723 * FILES: add examples/sys.clean-env.mk 724 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 725 this requires bmake-20100606 or later to work. 726 7272010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 728 729 * sys.mk (M_tA): better simulate the result of :tA if not available. 730 7312010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 732 733 * sys.mk: canonicalize MAKE_VERSION 734 old versions reported bmake-<src-date> build-<build-date> 735 whereas we only care about <src-date> 736 7372010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 738 739 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 740 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 741 is !empty 742 7432010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 744 745 * dpadd.mk: use LDADD_* if defined. 746 7472010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 748 749 * install-mk (MK_VERSION): bump version to 20100420 750 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 751 * autoconf.mk allow AUTO_AUTOCONF 752 7532010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 754 755 * obj.mk: add objwarn to keep freebsd makefiles happy 756 * auto.obj.mk: ensure Mkdirs is available. 757 * FILES: add auto.dep.mk - a simpler version of autodep.mk 758 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 759 asked to do that. 760 fix/simplify the tests for when to run mkdep. 761 * auto.dep.mk: add some explanation of how/what we do. 762 * autodep.mk: skip the .OPTIONAL frobbing of .depend 763 bmake's FROM_DEPEND flag makes it redundant. 764 7652010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 766 767 * install-mk (MK_VERSION): bump version to 20100404 768 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 769 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 770 Also create a target _SUBDIRUSE so that we can be used without 771 subdir.mk 772 7732010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 774 775 * dep.mk: use <> when .including so can override. 776 7772010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 778 779 * lib.mk (SHLIB_LINKS): ensure a string comparison. 780 7812010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 782 783 * install-mk (MK_VERSION): bump version to 20100102 784 * own.mk: ensure PRINTOBJDIR works 785 * autoconf.mk: pass on CONFIGURE_ARGS 786 * init.mk: handle COPTS.${.IMPSRC:T} etc. 787 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 788 fix handling of symlinks for darwin 789 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 790 * man.mk: suppress chown when not root. 791 * rst2htm.mk: allow srcs from multiple locations. 792 * sys.mk: M_whence, stop after 1st line of output. 793 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 794 * sys/SunOS.mk: we need to export PATH 795 7962009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 797 798 * install-mk (MK_VERSION): bump version 799 include rst2htm.mk 800 8012009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 802 803 * sys.mk,libnames.mk add .-include <local.*> 804 this allows local customization without the need to edit the 805 distributed files. 806 8072009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 808 809 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 810 older versions already installed. 811 8122009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 813 814 * stage.mk (.stage-install): generalize lib.mk's .libinstall 815 * rules.mk rules for generic Makefile. 816 * inc.mk install for includes. 817 8182009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 819 820 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 821 this, so provide it if using native make. 822 8232009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 824 825 * FILES: move all the platform *.sys.mk files to sys/*.mk 826 * Rename Generic.sys.mk to sys.mk - we always want it. 827 8282009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 829 830 * install-mk (MK_VERSION): bump version 831 * host-target.mk: only export the expensive stuff 832 * Generic.sys.mk (sys_mk): for SunOS we need to look for 833 ${HOST_OS}.${HOST_OSMAJOR} too! 834 8352009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 836 837 * install-mk (MK_VERSION): bump version 838 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 839 based on patch from Greg Olszewski. 840 * Generic.sys.mk: if we have nothing to work with 841 set LORDER etc only if we can find it. 842 8432009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 844 845 * install-mk (MK_VERSION): bump version 846 * man.mk: cleanman: remove CLEANMAN if defined. 847 8482009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 849 850 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 851 8522009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 853 854 * install-mk (MK_VERSION): bump version 855 include auto.obj.mk 856 857 8582009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 859 860 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 861 8622008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 863 864 * install-mk (MK_VERSION): bump version 865 man.mk: ensure we generate *.cat1 etc in . 866 8672008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 868 869 * install-mk (MK_VERSION): bump version 870 add prlist.mk 871 8722007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 873 874 * Generic.sys.mk: Allow os specific sys.mk to be in a 875 subdir of ${.PARSEDIR} 876 8772007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 878 879 * install-mk (MK_VERSION): bump version 880 * general cleanup 881 * dpadd.mk introduce DPMAGIC_LIBS_* 882 8832007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 884 885 * install-mk (MK_VERSION): bump version 886 887 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 888 depend files and ensure clean is called for each lib/prog. 889 8902007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 891 892 * autodep.mk (.depend): delete lines that do not start with 893 space and do not contain ':' 894 8952007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 896 897 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 898 so make sure the transform for .OPTIONAL copes. 899 9002007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 901 902 * install-mk (MK_VERSION): bump version 903 904 * own.mk: make sure RM and LN are defined. 905 906 * obj.mk: fix a typo, and objlink target. 907 9082006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 909 910 * install-mk (MK_VERSION): bump version 911 * added libs.mk - analogous to progs.mk 912 make both of them always inlcude {lib,prog}.mk 913 9142006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 915 916 * progs.mk: add a means of building multiple apps in one dir. 917 9182006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 919 920 * install-mk (MK_VERSION): bump version to 20061126 921 922 * warnings.mk: detect invalid WARNINGS_SET 923 924 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 925 specific warnings. 926 927 * For .cc sources, turn off warnings that g++ vomits on. 928 9292006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 930 931 * own.mk: if __initialized__ target doesn't exist and we are 932 FreeBSD we got here directly from sys.mk 933 9342006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 935 936 * install-mk (MK_VERSION): bump version to 20061106 937 add scripts.mk 938 9392006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 940 941 * install-mk (MK_VERSION): bump version to 20060318 942 943 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 944 9452006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 946 947 * install-mk (MK_VERSION): bump version to 20060302 948 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 949 9502006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 951 952 * install-mk (MK_VERSION): bump version to 20060301 953 * autodep.mk (.depend): 954 if MAKE_VERSION is newer than 20050530 we can make .END depend on 955 .depend and make .depend depend on __depsrcs that exist. 956 * dpadd.mk: add SRC_PATHADD 957 9582005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 959 960 * install-mk (MK_VERSION): bump version to 20051104 961 * prog.mk: remove all the LIBC?= junk, use 962 .-include libnames.mk instead (none by default). 963 also if USE_DPADD_MK is set, include that. 964 9652005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 966 967 * install-mk (MK_VERSION): bump version to 20051001 968 Add UnixWare.sys.mk from Klaus Heinz. 969 9702005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 971 972 * install-mk: always install *.sys.mk and if need be symlink one 973 to sys.mk 974 9752005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 976 977 * subdir.mk, own.mk: use .MAKE rather than MAKE 978 9792004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 980 981 * own.mk: don't use NetBSD's _SRC_TOP_ it can 982 cause confusion. Also don't take just 'mk' as a 983 srctop indicator. 984 9852004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 986 987 * warnings.mk: overhauled, now very powerful. 988 9892004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 990 991 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 992 9932004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 994 995 * install-mk (MK_VERSION): bump version to 20040201 996 * extract HOST_TARGET stuff to host-target.mk so own.mk and 997 Generic.sys.mk can share. 998 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 999 10002003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 1001 1002 * install-mk (MK_VERSION): 20030930 1003 * rename generic.sys.mk to Generic.sys.mk 1004 so that it does not get installed (unless being used as sys.mk) 1005 * set OS and ROOT_GROUP for those that we know the value. 1006 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 1007 we don't do it again for each sub-make. 1008 10092003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 1010 1011 * install-mk (MK_VERSION): 20030928 1012 Add some extra *.sys.mk from bootstrap-pkgsrc 1013 some of these likely still need work. 1014 Make everything default to root:wheel ownership, 1015 sys.mk can set ROOT_GROUP accordingly. 1016 10172003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 1018 1019 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 1020 not the portable ones. 1021 10222003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 1023 1024 * install-mk: add ability to use cp -f when updating 1025 destination .mk files. Also now possible to play games with 1026 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 1027 into dest - not recommended unless you seriously want to. 1028 10292003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1030 1031 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 1032 for semi-compatability with NetBSD. 1033 10342003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 1035 1036 * install-mk: add a version indicator 1037 10382003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 1039 1040 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 1041 1042 * install-mk: Allow FORCE_SYS_MK to come from env 1043 1044 1045 1046