12015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 2 3 * install-mk (MK_VERSION): 20151212 4 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 5 only apply :tA to __objdir when comparing to .OBJDIR 6 72015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 8 9 * install-mk (MK_VERSION): 20151111 10 11 * meta.sys.mk: include sys.dependfile.mk 12 13 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 14 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 15 include local.sys.env.mk early 16 include local.sys.mk later 17 18 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 19 202015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 21 22 * meta.sys.mk (META_COOKIE_TOUCH): 23 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 24 25 * meta.stage.mk: stage_libs should ignore SYMLINKS. 26 272015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 28 29 * install-mk (MK_VERSION): 20151022 30 31 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 32 332015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 34 35 * install-mk (MK_VERSION): 20151020 36 37 * dirdeps.mk: Add logic for 38 make -f dirdeps.mk some/dir.${TARGET_SPEC} 39 402015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 41 42 * install-mk (MK_VERSION): 20151010 43 442015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 45 46 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 47 to have stage_lins run last in non-jobs mode. 48 Use .ORDER only for jobs mode. 49 502015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 51 52 * rst2htm.mk: allow for per target flags etc. 53 542015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 55 56 * install-mk (MK_VERSION): 20150901 57 58 * doc.mk: create dir if needed use DOC_INSTALL_OWN 59 602015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 61 62 * install-mk (MK_VERSION): 20150615 63 64 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 65 Follow make's normal precedence rules. 66 67 * gendirdeps.mk: allow customization of the header. 68 eg. for FreeBSD: 69 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 70 71 * meta.autodep.mk: ignore dirdeps.cache* 72 73 * meta.stage.mk: when bootstrapping options it can be handy to 74 throw warnings rather than errors for staging conflicts. 75 76 * meta.sys.mk: include local.meta.sys.mk for customization 77 782015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 79 80 * install-mk (MK_VERSION): 20150606 81 82 * dirdeps.mk: don't rely on manually maintained Makefile.depend 83 to set DEP_RELDIR and reset DIRDEPS. 84 By setting DEP_RELDIR ourselves we can skip :tA 85 86 * gendirdeps.mk: skip setting DEP_RELDIR. 87 882015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 89 90 * dirdeps.mk: avoid wildcards like make(bootstrap*) 91 922015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 93 94 * install-mk (MK_VERSION): 20150520 95 96 * dirdeps.mk: when we are building dirdeps cache file we *want* 97 meta_oodate to look at all the Makefile.depend files, so 98 set .MAKE.DEPENDFILE to something that won't match. 99 100 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 101 so first use absolute path as key. 102 Also skip staging at level 0. 103 1042015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 105 106 * install-mk (MK_VERSION): 20150430 107 108 * dirdeps.mk: fix _count_dirdeps for non-cache case. 109 1102015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 111 112 * install-mk (MK_VERSION): 20150411 113 bump version 114 115 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 116 it is here mainly for documentation purposes, since 117 if using auto.obj.mk it is better done via sys.mk 118 1192015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 120 121 * install-mk (MK_VERSION): 20150401 122 123 * meta2deps.sh: support @list 124 125 * meta2deps.py: updates from Juniper 126 o add EXCLUDES 127 o skip bogus input files. 128 o treat 'M' and 'L' as both an 'R' and a 'W' 129 1302015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 131 132 * install-mk (MK_VERSION): 20150303 133 134 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 135 which is built via sub-make so we have a .meta file to tell if 136 it is out-of-date. 137 The dirdeps-cache contains the same dependency rules that we 138 normaly construct on the fly. 139 This adds a few seconds overhead when the cache is out of date, 140 but for a large target, the savings can be significant (10-20min). 141 1422014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 143 144 * install-mk (MK_VERSION): 20141118 145 146 * meta.stage.mk: add stale_staged 147 148 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 149 only useful under very rare conditions such as 150 FreeBSD's make universe. 151 152 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 153 1542014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 155 156 * install-mk (MK_VERSION): 20141111 157 158 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 159 1602014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 161 162 * FILES: include mkopt.sh which allows handling options in shell 163 scripts in a manner compatible with options.mk 164 1652014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 166 167 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 168 for GENDIRDEPS_FILTER to avoid surprises. 169 1702014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 171 172 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 173 the time it is applied to __depdirs they have. 174 175 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 176 expects patterns like *.${MACHINE} 177 178 * cython.mk (pyprefix?): use pyprefix to find python bits 179 since prefix might be something else (where we install our 180 stuff) 181 1822014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 183 184 * install-mk (MK_VERSION): 20140911 185 186 * dirdeps.mk: add bootstrap target to simplify adding support for 187 new MACHINE. 188 1892014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 190 191 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 192 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 193 Makefile.depend files. 194 1952014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 196 197 * install-mk (MK_VERSION): 20140828 198 199 * cython.mk: capture logic for building python extension modules 200 with Cython. 201 2022014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 203 204 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 205 2062014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 207 208 * install-mk (MK_VERSION): 20140801 209 210 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 211 identify the autodep.mk variant. 212 213 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 214 initial value does not match .MAKE.DEPENDFILE_PREFIX 215 216 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 217 2182014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 219 220 * install-mk (MK_VERSION): 20140522 221 222 * lib.mk: use CC to link shlib for linux too 223 patch from Brendan MacDonell 224 2252014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 226 227 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 228 if WITH_META_STATS is defined. 229 2302014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 231 232 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 233 to supress dirdeps outside of .CURDIR. 234 2352014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 236 237 * Fix spelling errors - patch from Pedro Giffuni 238 2392014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 240 241 * install-mk (MK_VERSION): 20140314 242 243 * dirdeps.mk (beforedirdeps): a handy hook 244 245 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 246 to visit leaf dirs to be intercepted (eg. for distributed 247 build). 248 249 * dirdeps.mk (__depdirs): ensure // don't sneak in 250 251 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 252 253 2542014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 255 256 * rst2htm.mk (RST2PDF): add support for rst2pdf 257 2582014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 259 260 * install-mk (MK_VERSION): bump version 261 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 262 available. 263 2642014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 265 266 * options.mk: avoid :U so this isn't bmake dependent 267 2682014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 269 270 * options.mk: cleanup and simplify semanitcs 271 NO_* dominates all, if both WITH_* and WITHOUT_* 272 are defined then result is DOMINATE_* which defaults to "no". 273 Ie. WITHOUT_ normally wins. 274 2752013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 276 277 * install-mk (MK_VERSION): bump version 278 * meta2deps.py: convert to print function for python3 compat. 279 we also need to open files with mode 'r' rather than 'rb' 280 otherwise we get bytes instead of strings. 281 2822013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 283 284 * install-mk (MK_VERSION): bump version 285 286 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 287 apply the same filtering (M_dep_qual_fixes) when setting _machines 288 as _build_dirs. 289 Also fix the filtering of Makefile.depend files - for reporting 290 what we are looking for (M_dep_qual_fixes can get confused by 291 Makefile.depend) 292 Add some more debug info. 293 2942013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 295 296 * gendirdeps.mk (_objtops): fix typo also 297 while processing M2D_OBJROOTS to gather qualdir_list 298 qualify $ql with loop iterator to ensure correct results. 299 3002013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 301 302 * install-mk (MK_VERSION): 20130801 303 * libs.mk: update to match progs.mk 304 3052013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 306 307 * install-mk (MK_VERSION): 20130726 308 some updates from Juniper and FreeBSD 309 o meta2deps.py: indicate file and line number when we hit parse 310 errors 311 also allow @file to provide huge list of .meta files. 312 * meta2deps.py: add try_parse() to cleanup the above. 313 3142013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 315 316 * install-mk (MK_VERSION): 20130716 317 * own.mk: add GPROG as an option 318 * prog.mk: honor MK_GPROF==yes 319 3202013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 321 322 * install-mk (MK_VERSION): 20130505 323 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 324 for when $MACHINE isn't enough for objdir distinction. 325 Bring meta2deps.sh closer to par with meta2deps.py. 326 3272013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 328 329 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 330 also if the target 'beforeinstall' exists, make it depend on 331 .dirdep (incase it uses STAGE_INSTALL). 332 3332013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 334 335 * install-mk (MK_VERSION): 20130401 ;-) 336 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 337 wrapper around install(1). 338 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 339 3402013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 341 342 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 343 * install-mk (MK_VERSION): bump version 344 3452013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 346 347 * install-mk (MK_VERSION): bump version 348 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 349 any trailing /., rather apply :tA only when needed. 350 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 351 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 352 consistently. 353 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 354 3552013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 356 357 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 358 it is simpler to just not update when say building for "host" 359 (where we know we apply filters to DIRDEPS), and using a 360 non-machine qualified dependfile. 361 3622013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 363 364 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 365 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 366 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 367 * meta2deps.py: if machine is "host", then also trim 368 self.host_target from any OBJROOTS. 369 370 3712013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 372 373 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 374 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 375 but _DEPENDFILE does not, compare the new _DEPENDFILE against 376 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 377 3782013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 379 380 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 381 and hook to all: via staging: 382 3832013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 384 385 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 386 use a separate variable for the default .MAKE.DEPENDFILE value 387 so that it can be controlled independently of 388 .MAKE.DEPENDFILE_PREFERENCE 389 390 * meta.stage.mk: throw error if cp fails etc. 391 Stage*() return early if passed no args. 392 .ORDER stage_* 393 3942013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 395 396 * install-mk (MK_VERSION): bump version 397 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 398 3992013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 400 401 * install-mk (MK_VERSION): bump version to 20130210 402 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 403 from Juniper. 404 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 405 than just MACHINE. 406 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 407 4082013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 409 410 * install-mk (MK_VERSION): bump version to 20130123 411 * meta.stage.mk: add stage_links (hard links). 412 if doing hard links, we add dest to link as well. 413 Default the stage dir for [sym]links to STAGE_OBJTOP since 414 these are typically specified as absolute paths. 415 Add -m "mode" flag to StageFiles and StageAs. 416 4172012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 418 419 * install-mk (MK_VERSION): bump version to 20121111 420 * autoconf.mk: avoid meta mode seeing changed commands for config.status 421 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 422 in case we were found via .../mk 423 * sys.clean-env.mk: move it from examples, we and others use it 424 "as is". 425 * FILES: add srctop.mk and options.mk 426 * own.mk: convert to using options.mk 427 which is modeled after FreeBSD's handling of MK_* 428 but more flexible. 429 This allows MK_* for boolean knobs to not be confused 430 with MK* which can be commands. 431 432 * examples/sys.clean-env.mk: add WITH[OUT]_ to 433 MAKE_ENV_SAVE_PREFIX_LIST. 434 Mention that HOME=/var/empty might be a good idea. 435 4362012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 437 438 * sys.dependfile.mk: if not depend file exists, $MACHINE 439 specific ones are supported but not the default, 440 check if any exist and follow suit. 441 4422012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 443 444 * install-mk (MK_VERSION): bump version to 20121106 445 4462012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 447 448 * import latest dirdeps.mk and meta2deps.py from Juniper. 449 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 450 also add PROGS_TARGETS and pass on PROG_CXX if it seems 451 appropriate. 452 4532012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 454 455 * meta.stage.mk: update CLEANFILES 456 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 457 * progs.mk: Add LDADD to PROG_VARS 458 4592012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 460 461 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 462 _STAGED_DIRS so that these can be turned into filters for 463 GENDIRDEPS_FILTER. 464 4652012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 466 467 * install-mk (MK_VERSION): bump version to 20121010 468 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 469 target.dirdep matches .dirdep 470 4712012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 472 473 * install-mk (MK_VERSION): bump version to 20120808 474 * import latest meta2deps.py from Juniper. 475 4762012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 477 478 * install-mk (MK_VERSION): bump version to 20120711 479 * dep.mk: add explicit dependencies on SRCS after applying 480 SRCS_DEP_FILTER 481 * meta.autodep.mk: add explicit dependencies on SRCS after 482 applying SRCS_DEP_FILTER 483 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 484 4852012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 486 487 * install-mk (MK_VERSION): bump version to 20120626 488 * meta.sys.mk: ignore PYTHON if it does not exist 489 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 490 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 491 entries ending in .${MACHINE} to decide if qualified _dirdep is 492 needed. 493 * gendirdeps.mk: only produce unqualified deps if no 494 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 495 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 496 4972012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 498 499 * install-mk (MK_VERSION): bump version to 20120420 500 * add sys.dependfile.mk so we can experiment with 501 .MAKE.DEPENDFILE_PREFERENCE 502 * meta.autodep.mk: _DEPENDFILE is precious! 503 5042012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 505 506 * install-mk (MK_VERSION): bump version to 20120315 507 * install-new.mk: avoid being interrupted 508 5092012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 510 511 * man.mk: MAN might have multiple values so be careful with exists(). 512 5132012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 514 515 * install-mk (MK_VERSION): bump version to 20120112 516 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 517 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 518 5192011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 520 521 * install-mk (MK_VERSION): bump version to 20111201 522 * import dirdeps.mk from Juniper sjg@ 523 o more consistent handling of DEP_MACHINE, especially when 524 dealing with an odd Makefile.depend, when normally using 525 Makefile.depend.${MACHINE} 526 5272011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 528 529 * install-mk (MK_VERSION): bump version to 20111122 530 * meta.autodep.mk: add some debug output, be more crisp about 531 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 532 5332011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 534 535 * install-mk (MK_VERSION): bump version to 20111111 536 it's too cool to miss 537 * import meta* updates from Juniper sjg@ 538 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 539 normally using Makefile.depend.${MACHINE}), handy for 540 read-only manually maintained dependencies. 541 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 542 o gendirdeps.mk if ERROR: from meta2deps.py do not update 543 anything. 544 5452011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 546 547 * install-new.mk separate the cmp and copy logic to its own function. 548 5492011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 550 551 * install-mk (MK_VERSION): bump version to 20111028 552 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 553 * subdir.mk: ensure _SUBDIRUSE is provided 554 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 555 * meta.subdir.mk: always allow for Makefile.depend 556 5572011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 558 559 * install-mk (MK_VERSION): bump version to 20111010 560 o minor tweak to *dirdeps.mk from Juniper sjg@ 561 5622011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 563 564 * install-mk (MK_VERSION): bump version to 20111001 565 o add meta2deps.py from Juniper sjg@ 566 o tweak gendirdeps.mk to work with meta2deps.py when not 567 cross-building 568 * autoconf.mk: add autoconf-input as a hook for regenerating 569 AUTOCONF_INPUTS (configure). 570 5712011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 572 573 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 574 trigger for updating Makefile.depend* 575 5762011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 577 578 * install-mk (MK_VERSION): bump version to 20110808 579 * obj.mk: minor cleanup 580 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 581 5822011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 583 584 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 585 specified dir. 586 5872011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 588 589 * meta.autodep.mk: if XMAKE_META_FILE is set 590 the makefile uses a foreign make, and so dependencies 591 can only be gathered from a clean tree build. 592 5932011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 594 595 * install-mk (MK_VERSION): bump version to 20110622 596 * meta.autodep.mk: improve bootstraping 597 5982011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 599 600 * yacc.mk: handle the corner case of .c being removed 601 while .h remains. 602 6032011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 604 605 * yacc.mk: do .y.h and .y.c separately 606 6072011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 608 609 * install-mk (MK_VERSION): bump version to 20110606 610 * don't store SRC_DIRDEPS in Makefile.depend* by default 611 not everyone needs it. 612 6132011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 614 615 * install-mk (MK_VERSION): bump version to 20110505 616 first release including meta mode makefiles 617 6182011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 619 620 * meta.stage.mk: add STAGE_AS_SETS and stage_as 621 for things that need to be staged with different names. 622 6232011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 624 625 * meta.stage.mk: add notion of STAGE_SETS 626 so a makefile can stage to multiple dirs 627 6282011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 629 630 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 631 on target name. 632 6332011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 634 635 * install-mk (MK_VERSION): bump version to 20110330 636 6372011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 638 639 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 640 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 641 * sys.mk: re-define M_whence in terms of M_type. 642 M_type is useful for checking if something is a builtin. 643 6442011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 645 646 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 647 stage_libs 648 6492011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 650 651 * dirdeps.mk: correct value for _depdir_files depends on 652 .MAKE.DEPENDFILE 653 Add our copyright - just to make it clear we have frobbed this 654 quite a bit. 655 DEP_MACHINE needs to be set to MACHINE each time, if using only 656 Makefile.depend (cf. Makefile.depend.${MACHINE}) 657 658 * meta.stage.mk: meta mode version of staging 659 660 * init.mk, final.mk: include local.*.mk to simplify customization 661 6622011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 663 664 * auto.obj.mk: just because we are doing mk destroy, we should 665 still set .OBJDIR correctly if it exists. 666 667 * install-mk (mksrc): do not exclude meta.sys.mk 668 6692011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 670 671 * host-target.mk: set/export _HOST_ARCH etc separately, 672 catch junk resulting from uname -p, so we can find sys/Linux.mk 673 correctly. 674 6752011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 676 677 * meta.sys.mk: throw an error if /dev/filemon is missing and we 678 expected to be updating Makefile.depend* 679 6802011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 681 682 * install-mk (MK_VERSION): bump version to 20110214 683 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 684 6852010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 686 687 * meta.sys.mk: not valid for older bmake 688 6892010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 690 691 * install-mk (MK_VERSION): bump version to 20100919 692 include dirdeps.mk et al from Juniper Networks, 693 for meta mode - requires filemon(9). 694 * sys.mk, subdir.mk: Add hooks for meta mode. 695 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 696 to make turning it on/off simple. 697 6982010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 699 700 * install-mk (MK_VERSION): bump version to 20100616 701 * fix typo in sys.mk 702 7032010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 704 705 * install-mk (MK_VERSION): bump version to 20100612 706 * lib.mk: remove duplicate addition to SOBJS 707 7082010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 709 710 * sys.mk: Add a means of selectively turning on debug flags. 711 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 712 will act as if we did make -dv if .CURDIR ends in lib/sjg 713 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 714 the start of sys.mk rather than the end. 715 This only makes sense for leaf dirs, so we check that 716 .MAKE.LEVEL > 0 717 7182010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 719 720 * install-mk (MK_VERSION): bump version to 20100608 721 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 722 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 723 also make it easier for folk to tweak 724 7252010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 726 727 * install-mk (MK_VERSION): bump version to 20100606 728 do not install examples/* 729 * FILES: add examples/sys.clean-env.mk 730 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 731 this requires bmake-20100606 or later to work. 732 7332010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 734 735 * sys.mk (M_tA): better simulate the result of :tA if not available. 736 7372010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 738 739 * sys.mk: canonicalize MAKE_VERSION 740 old versions reported bmake-<src-date> build-<build-date> 741 whereas we only care about <src-date> 742 7432010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 744 745 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 746 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 747 is !empty 748 7492010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 750 751 * dpadd.mk: use LDADD_* if defined. 752 7532010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 754 755 * install-mk (MK_VERSION): bump version to 20100420 756 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 757 * autoconf.mk allow AUTO_AUTOCONF 758 7592010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 760 761 * obj.mk: add objwarn to keep freebsd makefiles happy 762 * auto.obj.mk: ensure Mkdirs is available. 763 * FILES: add auto.dep.mk - a simpler version of autodep.mk 764 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 765 asked to do that. 766 fix/simplify the tests for when to run mkdep. 767 * auto.dep.mk: add some explanation of how/what we do. 768 * autodep.mk: skip the .OPTIONAL frobbing of .depend 769 bmake's FROM_DEPEND flag makes it redundant. 770 7712010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 772 773 * install-mk (MK_VERSION): bump version to 20100404 774 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 775 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 776 Also create a target _SUBDIRUSE so that we can be used without 777 subdir.mk 778 7792010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 780 781 * dep.mk: use <> when .including so can override. 782 7832010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 784 785 * lib.mk (SHLIB_LINKS): ensure a string comparison. 786 7872010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 788 789 * install-mk (MK_VERSION): bump version to 20100102 790 * own.mk: ensure PRINTOBJDIR works 791 * autoconf.mk: pass on CONFIGURE_ARGS 792 * init.mk: handle COPTS.${.IMPSRC:T} etc. 793 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 794 fix handling of symlinks for darwin 795 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 796 * man.mk: suppress chown when not root. 797 * rst2htm.mk: allow srcs from multiple locations. 798 * sys.mk: M_whence, stop after 1st line of output. 799 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 800 * sys/SunOS.mk: we need to export PATH 801 8022009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 803 804 * install-mk (MK_VERSION): bump version 805 include rst2htm.mk 806 8072009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 808 809 * sys.mk,libnames.mk add .-include <local.*> 810 this allows local customization without the need to edit the 811 distributed files. 812 8132009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 814 815 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 816 older versions already installed. 817 8182009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 819 820 * stage.mk (.stage-install): generalize lib.mk's .libinstall 821 * rules.mk rules for generic Makefile. 822 * inc.mk install for includes. 823 8242009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 825 826 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 827 this, so provide it if using native make. 828 8292009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 830 831 * FILES: move all the platform *.sys.mk files to sys/*.mk 832 * Rename Generic.sys.mk to sys.mk - we always want it. 833 8342009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 835 836 * install-mk (MK_VERSION): bump version 837 * host-target.mk: only export the expensive stuff 838 * Generic.sys.mk (sys_mk): for SunOS we need to look for 839 ${HOST_OS}.${HOST_OSMAJOR} too! 840 8412009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 842 843 * install-mk (MK_VERSION): bump version 844 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 845 based on patch from Greg Olszewski. 846 * Generic.sys.mk: if we have nothing to work with 847 set LORDER etc only if we can find it. 848 8492009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 850 851 * install-mk (MK_VERSION): bump version 852 * man.mk: cleanman: remove CLEANMAN if defined. 853 8542009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 855 856 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 857 8582009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 859 860 * install-mk (MK_VERSION): bump version 861 include auto.obj.mk 862 863 8642009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 865 866 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 867 8682008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 869 870 * install-mk (MK_VERSION): bump version 871 man.mk: ensure we generate *.cat1 etc in . 872 8732008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 874 875 * install-mk (MK_VERSION): bump version 876 add prlist.mk 877 8782007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 879 880 * Generic.sys.mk: Allow os specific sys.mk to be in a 881 subdir of ${.PARSEDIR} 882 8832007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 884 885 * install-mk (MK_VERSION): bump version 886 * general cleanup 887 * dpadd.mk introduce DPMAGIC_LIBS_* 888 8892007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 890 891 * install-mk (MK_VERSION): bump version 892 893 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 894 depend files and ensure clean is called for each lib/prog. 895 8962007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 897 898 * autodep.mk (.depend): delete lines that do not start with 899 space and do not contain ':' 900 9012007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 902 903 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 904 so make sure the transform for .OPTIONAL copes. 905 9062007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 907 908 * install-mk (MK_VERSION): bump version 909 910 * own.mk: make sure RM and LN are defined. 911 912 * obj.mk: fix a typo, and objlink target. 913 9142006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 915 916 * install-mk (MK_VERSION): bump version 917 * added libs.mk - analogous to progs.mk 918 make both of them always inlcude {lib,prog}.mk 919 9202006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 921 922 * progs.mk: add a means of building multiple apps in one dir. 923 9242006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 925 926 * install-mk (MK_VERSION): bump version to 20061126 927 928 * warnings.mk: detect invalid WARNINGS_SET 929 930 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 931 specific warnings. 932 933 * For .cc sources, turn off warnings that g++ vomits on. 934 9352006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 936 937 * own.mk: if __initialized__ target doesn't exist and we are 938 FreeBSD we got here directly from sys.mk 939 9402006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 941 942 * install-mk (MK_VERSION): bump version to 20061106 943 add scripts.mk 944 9452006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 946 947 * install-mk (MK_VERSION): bump version to 20060318 948 949 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 950 9512006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 952 953 * install-mk (MK_VERSION): bump version to 20060302 954 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 955 9562006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 957 958 * install-mk (MK_VERSION): bump version to 20060301 959 * autodep.mk (.depend): 960 if MAKE_VERSION is newer than 20050530 we can make .END depend on 961 .depend and make .depend depend on __depsrcs that exist. 962 * dpadd.mk: add SRC_PATHADD 963 9642005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 965 966 * install-mk (MK_VERSION): bump version to 20051104 967 * prog.mk: remove all the LIBC?= junk, use 968 .-include libnames.mk instead (none by default). 969 also if USE_DPADD_MK is set, include that. 970 9712005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 972 973 * install-mk (MK_VERSION): bump version to 20051001 974 Add UnixWare.sys.mk from Klaus Heinz. 975 9762005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 977 978 * install-mk: always install *.sys.mk and if need be symlink one 979 to sys.mk 980 9812005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 982 983 * subdir.mk, own.mk: use .MAKE rather than MAKE 984 9852004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 986 987 * own.mk: don't use NetBSD's _SRC_TOP_ it can 988 cause confusion. Also don't take just 'mk' as a 989 srctop indicator. 990 9912004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 992 993 * warnings.mk: overhauled, now very powerful. 994 9952004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 996 997 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 998 9992004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 1000 1001 * install-mk (MK_VERSION): bump version to 20040201 1002 * extract HOST_TARGET stuff to host-target.mk so own.mk and 1003 Generic.sys.mk can share. 1004 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 1005 10062003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 1007 1008 * install-mk (MK_VERSION): 20030930 1009 * rename generic.sys.mk to Generic.sys.mk 1010 so that it does not get installed (unless being used as sys.mk) 1011 * set OS and ROOT_GROUP for those that we know the value. 1012 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 1013 we don't do it again for each sub-make. 1014 10152003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 1016 1017 * install-mk (MK_VERSION): 20030928 1018 Add some extra *.sys.mk from bootstrap-pkgsrc 1019 some of these likely still need work. 1020 Make everything default to root:wheel ownership, 1021 sys.mk can set ROOT_GROUP accordingly. 1022 10232003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 1024 1025 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 1026 not the portable ones. 1027 10282003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 1029 1030 * install-mk: add ability to use cp -f when updating 1031 destination .mk files. Also now possible to play games with 1032 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 1033 into dest - not recommended unless you seriously want to. 1034 10352003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1036 1037 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 1038 for semi-compatability with NetBSD. 1039 10402003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 1041 1042 * install-mk: add a version indicator 1043 10442003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 1045 1046 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 1047 1048 * install-mk: Allow FORCE_SYS_MK to come from env 1049 1050 1051 1052