12015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 2 3 * install-mk (MK_VERSION): 20150606 4 5 * dirdeps.mk: don't rely on manually maintained Makefile.depend 6 to set DEP_RELDIR and reset DIRDEPS. 7 By setting DEP_RELDIR ourselves we can skip :tA 8 9 * gendirdeps.mk: skip setting DEP_RELDIR. 10 112015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 12 13 * dirdeps.mk: avoid wildcards like make(bootstrap*) 14 152015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 16 17 * install-mk (MK_VERSION): 20150520 18 19 * dirdeps.mk: when we are building dirdeps cache file we *want* 20 meta_oodate to look at all the Makefile.depend files, so 21 set .MAKE.DEPENDFILE to something that won't match. 22 23 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 24 so first use absolute path as key. 25 Also skip staging at level 0. 26 272015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 28 29 * install-mk (MK_VERSION): 20150430 30 31 * dirdeps.mk: fix _count_dirdeps for non-cache case. 32 332015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 34 35 * install-mk (MK_VERSION): 20150411 36 bump version 37 38 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 39 it is here mainly for documentation purposes, since 40 if using auto.obj.mk it is better done via sys.mk 41 422015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 43 44 * install-mk (MK_VERSION): 20150401 45 46 * meta2deps.sh: support @list 47 48 * meta2deps.py: updates from Juniper 49 o add EXCLUDES 50 o skip bogus input files. 51 o treat 'M' and 'L' as both an 'R' and a 'W' 52 532015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 54 55 * install-mk (MK_VERSION): 20150303 56 57 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 58 which is built via sub-make so we have a .meta file to tell if 59 it is out-of-date. 60 The dirdeps-cache contains the same dependency rules that we 61 normaly construct on the fly. 62 This adds a few seconds overhead when the cache is out of date, 63 but for a large target, the savings can be significant (10-20min). 64 652014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 66 67 * install-mk (MK_VERSION): 20141118 68 69 * meta.stage.mk: add stale_staged 70 71 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 72 only useful under very rare conditions such as 73 FreeBSD's make universe. 74 75 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 76 772014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 78 79 * install-mk (MK_VERSION): 20141111 80 81 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 82 832014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 84 85 * FILES: include mkopt.sh which allows handling options in shell 86 scripts in a manner compatible with options.mk 87 882014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 89 90 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 91 for GENDIRDEPS_FILTER to avoid surprises. 92 932014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 94 95 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 96 the time it is applied to __depdirs they have. 97 98 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 99 expects patterns like *.${MACHINE} 100 101 * cython.mk (pyprefix?): use pyprefix to find python bits 102 since prefix might be something else (where we install our 103 stuff) 104 1052014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 106 107 * install-mk (MK_VERSION): 20140911 108 109 * dirdeps.mk: add bootstrap target to simplify adding support for 110 new MACHINE. 111 1122014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 113 114 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 115 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 116 Makefile.depend files. 117 1182014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 119 120 * install-mk (MK_VERSION): 20140828 121 122 * cython.mk: capture logic for building python extension modules 123 with Cython. 124 1252014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 126 127 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 128 1292014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 130 131 * install-mk (MK_VERSION): 20140801 132 133 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 134 identify the autodep.mk variant. 135 136 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 137 initial value does not match .MAKE.DEPENDFILE_PREFIX 138 139 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 140 1412014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 142 143 * install-mk (MK_VERSION): 20140522 144 145 * lib.mk: use CC to link shlib for linux too 146 patch from Brendan MacDonell 147 1482014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 149 150 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 151 if WITH_META_STATS is defined. 152 1532014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 154 155 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 156 to supress dirdeps outside of .CURDIR. 157 1582014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 159 160 * Fix spelling errors - patch from Pedro Giffuni 161 1622014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 163 164 * install-mk (MK_VERSION): 20140314 165 166 * dirdeps.mk (beforedirdeps): a handy hook 167 168 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 169 to visit leaf dirs to be intercepted (eg. for distributed 170 build). 171 172 * dirdeps.mk (__depdirs): ensure // don't sneak in 173 174 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 175 176 1772014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 178 179 * rst2htm.mk (RST2PDF): add support for rst2pdf 180 1812014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 182 183 * install-mk (MK_VERSION): bump version 184 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 185 available. 186 1872014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 188 189 * options.mk: avoid :U so this isn't bmake dependent 190 1912014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 192 193 * options.mk: cleanup and simplify semanitcs 194 NO_* dominates all, if both WITH_* and WITHOUT_* 195 are defined then result is DOMINATE_* which defaults to "no". 196 Ie. WITHOUT_ normally wins. 197 1982013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 199 200 * install-mk (MK_VERSION): bump version 201 * meta2deps.py: convert to print function for python3 compat. 202 we also need to open files with mode 'r' rather than 'rb' 203 otherwise we get bytes instead of strings. 204 2052013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 206 207 * install-mk (MK_VERSION): bump version 208 209 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 210 apply the same filtering (M_dep_qual_fixes) when setting _machines 211 as _build_dirs. 212 Also fix the filtering of Makefile.depend files - for reporting 213 what we are looking for (M_dep_qual_fixes can get confused by 214 Makefile.depend) 215 Add some more debug info. 216 2172013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 218 219 * gendirdeps.mk (_objtops): fix typo also 220 while processing M2D_OBJROOTS to gather qualdir_list 221 qualify $ql with loop iterator to ensure correct results. 222 2232013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 224 225 * install-mk (MK_VERSION): 20130801 226 * libs.mk: update to match progs.mk 227 2282013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 229 230 * install-mk (MK_VERSION): 20130726 231 some updates from Juniper and FreeBSD 232 o meta2deps.py: indicate file and line number when we hit parse 233 errors 234 also allow @file to provide huge list of .meta files. 235 * meta2deps.py: add try_parse() to cleanup the above. 236 2372013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 238 239 * install-mk (MK_VERSION): 20130716 240 * own.mk: add GPROG as an option 241 * prog.mk: honor MK_GPROF==yes 242 2432013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 244 245 * install-mk (MK_VERSION): 20130505 246 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 247 for when $MACHINE isn't enough for objdir distinction. 248 Bring meta2deps.sh closer to par with meta2deps.py. 249 2502013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 251 252 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 253 also if the target 'beforeinstall' exists, make it depend on 254 .dirdep (incase it uses STAGE_INSTALL). 255 2562013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 257 258 * install-mk (MK_VERSION): 20130401 ;-) 259 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 260 wrapper around install(1). 261 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 262 2632013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 264 265 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 266 * install-mk (MK_VERSION): bump version 267 2682013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 269 270 * install-mk (MK_VERSION): bump version 271 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 272 any trailing /., rather apply :tA only when needed. 273 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 274 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 275 consistently. 276 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 277 2782013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 279 280 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 281 it is simpler to just not update when say building for "host" 282 (where we know we apply filters to DIRDEPS), and using a 283 non-machine qualified dependfile. 284 2852013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 286 287 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 288 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 289 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 290 * meta2deps.py: if machine is "host", then also trim 291 self.host_target from any OBJROOTS. 292 293 2942013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 295 296 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 297 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 298 but _DEPENDFILE does not, compare the new _DEPENDFILE against 299 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 300 3012013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 302 303 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 304 and hook to all: via staging: 305 3062013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 307 308 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 309 use a separate variable for the default .MAKE.DEPENDFILE value 310 so that it can be controlled independently of 311 .MAKE.DEPENDFILE_PREFERENCE 312 313 * meta.stage.mk: throw error if cp fails etc. 314 Stage*() return early if passed no args. 315 .ORDER stage_* 316 3172013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 318 319 * install-mk (MK_VERSION): bump version 320 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 321 3222013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 323 324 * install-mk (MK_VERSION): bump version to 20130210 325 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 326 from Juniper. 327 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 328 than just MACHINE. 329 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 330 3312013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 332 333 * install-mk (MK_VERSION): bump version to 20130123 334 * meta.stage.mk: add stage_links (hard links). 335 if doing hard links, we add dest to link as well. 336 Default the stage dir for [sym]links to STAGE_OBJTOP since 337 these are typically specified as absolute paths. 338 Add -m "mode" flag to StageFiles and StageAs. 339 3402012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 341 342 * install-mk (MK_VERSION): bump version to 20121111 343 * autoconf.mk: avoid meta mode seeing changed commands for config.status 344 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 345 in case we were found via .../mk 346 * sys.clean-env.mk: move it from examples, we and others use it 347 "as is". 348 * FILES: add srctop.mk and options.mk 349 * own.mk: convert to using options.mk 350 which is modeled after FreeBSD's handling of MK_* 351 but more flexible. 352 This allows MK_* for boolean knobs to not be confused 353 with MK* which can be commands. 354 355 * examples/sys.clean-env.mk: add WITH[OUT]_ to 356 MAKE_ENV_SAVE_PREFIX_LIST. 357 Mention that HOME=/var/empty might be a good idea. 358 3592012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 360 361 * sys.dependfile.mk: if not depend file exists, $MACHINE 362 specific ones are supported but not the default, 363 check if any exist and follow suit. 364 3652012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 366 367 * install-mk (MK_VERSION): bump version to 20121106 368 3692012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 370 371 * import latest dirdeps.mk and meta2deps.py from Juniper. 372 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 373 also add PROGS_TARGETS and pass on PROG_CXX if it seems 374 appropriate. 375 3762012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 377 378 * meta.stage.mk: update CLEANFILES 379 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 380 * progs.mk: Add LDADD to PROG_VARS 381 3822012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 383 384 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 385 _STAGED_DIRS so that these can be turned into filters for 386 GENDIRDEPS_FILTER. 387 3882012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 389 390 * install-mk (MK_VERSION): bump version to 20121010 391 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 392 target.dirdep matches .dirdep 393 3942012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 395 396 * install-mk (MK_VERSION): bump version to 20120808 397 * import latest meta2deps.py from Juniper. 398 3992012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 400 401 * install-mk (MK_VERSION): bump version to 20120711 402 * dep.mk: add explicit dependencies on SRCS after applying 403 SRCS_DEP_FILTER 404 * meta.autodep.mk: add explicit dependencies on SRCS after 405 applying SRCS_DEP_FILTER 406 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 407 4082012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 409 410 * install-mk (MK_VERSION): bump version to 20120626 411 * meta.sys.mk: ignore PYTHON if it does not exist 412 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 413 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 414 entries ending in .${MACHINE} to decide if qualified _dirdep is 415 needed. 416 * gendirdeps.mk: only produce unqualified deps if no 417 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 418 * meta.subdir.mk: apply SUBDIREPS_FILTER 419 4202012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 421 422 * install-mk (MK_VERSION): bump version to 20120420 423 * add sys.dependfile.mk so we can experiment with 424 .MAKE.DEPENDFILE_PREFERENCE 425 * meta.autodep.mk: _DEPENDFILE is precious! 426 4272012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 428 429 * install-mk (MK_VERSION): bump version to 20120315 430 * install-new.mk: avoid being interrupted 431 4322012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 433 434 * man.mk: MAN might have multiple values so be careful with exists(). 435 4362012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 437 438 * install-mk (MK_VERSION): bump version to 20120112 439 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 440 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 441 4422011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 443 444 * install-mk (MK_VERSION): bump version to 20111201 445 * import dirdeps.mk from Juniper sjg@ 446 o more consistent handling of DEP_MACHINE, especially when 447 dealing with an odd Makefile.depend, when normally using 448 Makefile.depend.${MACHINE} 449 4502011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 451 452 * install-mk (MK_VERSION): bump version to 20111122 453 * meta.autodep.mk: add some debug output, be more crisp about 454 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 455 4562011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 457 458 * install-mk (MK_VERSION): bump version to 20111111 459 it's too cool to miss 460 * import meta* updates from Juniper sjg@ 461 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 462 normally using Makefile.depend.${MACHINE}), handy for 463 read-only manually maintained dependencies. 464 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 465 o gendirdeps.mk if ERROR: from meta2deps.py do not update 466 anything. 467 4682011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 469 470 * install-new.mk separate the cmp and copy logic to its own function. 471 4722011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 473 474 * install-mk (MK_VERSION): bump version to 20111028 475 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 476 * subdir.mk: ensure _SUBDIRUSE is provided 477 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 478 * meta.subdir.mk: always allow for Makefile.depend 479 4802011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 481 482 * install-mk (MK_VERSION): bump version to 20111010 483 o minor tweak to *dirdeps.mk from Juniper sjg@ 484 4852011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 486 487 * install-mk (MK_VERSION): bump version to 20111001 488 o add meta2deps.py from Juniper sjg@ 489 o tweak gendirdeps.mk to work with meta2deps.py when not 490 cross-building 491 * autoconf.mk: add autoconf-input as a hook for regenerating 492 AUTOCONF_INPUTS (configure). 493 4942011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 495 496 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 497 trigger for updating Makefile.depend* 498 4992011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 500 501 * install-mk (MK_VERSION): bump version to 20110808 502 * obj.mk: minor cleanup 503 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 504 5052011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 506 507 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 508 specified dir. 509 5102011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 511 512 * meta.autodep.mk: if XMAKE_META_FILE is set 513 the makefile uses a foreign make, and so dependencies 514 can only be gathered from a clean tree build. 515 5162011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 517 518 * install-mk (MK_VERSION): bump version to 20110622 519 * meta.autodep.mk: improve bootstraping 520 5212011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 522 523 * yacc.mk: handle the corner case of .c being removed 524 while .h remains. 525 5262011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 527 528 * yacc.mk: do .y.h and .y.c separately 529 5302011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 531 532 * install-mk (MK_VERSION): bump version to 20110606 533 * don't store SRC_DIRDEPS in Makefile.depend* by default 534 not everyone needs it. 535 5362011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 537 538 * install-mk (MK_VERSION): bump version to 20110505 539 first release including meta mode makefiles 540 5412011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 542 543 * meta.stage.mk: add STAGE_AS_SETS and stage_as 544 for things that need to be staged with different names. 545 5462011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 547 548 * meta.stage.mk: add notion of STAGE_SETS 549 so a makefile can stage to multiple dirs 550 5512011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 552 553 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 554 on target name. 555 5562011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 557 558 * install-mk (MK_VERSION): bump version to 20110330 559 5602011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 561 562 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 563 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 564 * sys.mk: re-define M_whence in terms of M_type. 565 M_type is useful for checking if something is a builtin. 566 5672011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 568 569 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 570 stage_libs 571 5722011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 573 574 * dirdeps.mk: correct value for _depdir_files depends on 575 .MAKE.DEPENDFILE 576 Add our copyright - just to make it clear we have frobbed this 577 quite a bit. 578 DEP_MACHINE needs to be set to MACHINE each time, if using only 579 Makefile.depend (cf. Makefile.depend.${MACHINE}) 580 581 * meta.stage.mk: meta mode version of staging 582 583 * init.mk, final.mk: include local.*.mk to simplify customization 584 5852011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 586 587 * auto.obj.mk: just because we are doing mk destroy, we should 588 still set .OBJDIR correctly if it exists. 589 590 * install-mk (mksrc): do not exclude meta.sys.mk 591 5922011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 593 594 * host-target.mk: set/export _HOST_ARCH etc separately, 595 catch junk resulting from uname -p, so we can find sys/Linux.mk 596 correctly. 597 5982011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 599 600 * meta.sys.mk: throw an error if /dev/filemon is missing and we 601 expected to be updating Makefile.depend* 602 6032011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 604 605 * install-mk (MK_VERSION): bump version to 20110214 606 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 607 6082010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 609 610 * meta.sys.mk: not valid for older bmake 611 6122010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 613 614 * install-mk (MK_VERSION): bump version to 20100919 615 include dirdeps.mk et al from Juniper Networks, 616 for meta mode - requires filemon(9). 617 * sys.mk, subdir.mk: Add hooks for meta mode. 618 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 619 to make turning it on/off simple. 620 6212010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 622 623 * install-mk (MK_VERSION): bump version to 20100616 624 * fix typo in sys.mk 625 6262010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 627 628 * install-mk (MK_VERSION): bump version to 20100612 629 * lib.mk: remove duplicate addition to SOBJS 630 6312010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 632 633 * sys.mk: Add a means of selectively turning on debug flags. 634 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 635 will act as if we did make -dv if .CURDIR ends in lib/sjg 636 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 637 the start of sys.mk rather than the end. 638 This only makes sense for leaf dirs, so we check that 639 .MAKE.LEVEL > 0 640 6412010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 642 643 * install-mk (MK_VERSION): bump version to 20100608 644 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 645 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 646 also make it easier for folk to tweak 647 6482010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 649 650 * install-mk (MK_VERSION): bump version to 20100606 651 do not install examples/* 652 * FILES: add examples/sys.clean-env.mk 653 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 654 this requires bmake-20100606 or later to work. 655 6562010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 657 658 * sys.mk (M_tA): better simulate the result of :tA if not available. 659 6602010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 661 662 * sys.mk: canonicalize MAKE_VERSION 663 old versions reported bmake-<src-date> build-<build-date> 664 whereas we only care about <src-date> 665 6662010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 667 668 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 669 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 670 is !empty 671 6722010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 673 674 * dpadd.mk: use LDADD_* if defined. 675 6762010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 677 678 * install-mk (MK_VERSION): bump version to 20100420 679 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 680 * autoconf.mk allow AUTO_AUTOCONF 681 6822010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 683 684 * obj.mk: add objwarn to keep freebsd makefiles happy 685 * auto.obj.mk: ensure Mkdirs is available. 686 * FILES: add auto.dep.mk - a simpler version of autodep.mk 687 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 688 asked to do that. 689 fix/simplify the tests for when to run mkdep. 690 * auto.dep.mk: add some explanation of how/what we do. 691 * autodep.mk: skip the .OPTIONAL frobbing of .depend 692 bmake's FROM_DEPEND flag makes it redundant. 693 6942010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 695 696 * install-mk (MK_VERSION): bump version to 20100404 697 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 698 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 699 Also create a target _SUBDIRUSE so that we can be used without 700 subdir.mk 701 7022010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 703 704 * dep.mk: use <> when .including so can override. 705 7062010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 707 708 * lib.mk (SHLIB_LINKS): ensure a string comparison. 709 7102010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 711 712 * install-mk (MK_VERSION): bump version to 20100102 713 * own.mk: ensure PRINTOBJDIR works 714 * autoconf.mk: pass on CONFIGURE_ARGS 715 * init.mk: handle COPTS.${.IMPSRC:T} etc. 716 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 717 fix handling of symlinks for darwin 718 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 719 * man.mk: suppress chown when not root. 720 * rst2htm.mk: allow srcs from multiple locations. 721 * sys.mk: M_whence, stop after 1st line of output. 722 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 723 * sys/SunOS.mk: we need to export PATH 724 7252009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 726 727 * install-mk (MK_VERSION): bump version 728 include rst2htm.mk 729 7302009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 731 732 * sys.mk,libnames.mk add .-include <local.*> 733 this allows local customization without the need to edit the 734 distributed files. 735 7362009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 737 738 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 739 older versions already installed. 740 7412009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 742 743 * stage.mk (.stage-install): generalize lib.mk's .libinstall 744 * rules.mk rules for generic Makefile. 745 * inc.mk install for includes. 746 7472009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 748 749 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 750 this, so provide it if using native make. 751 7522009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 753 754 * FILES: move all the platform *.sys.mk files to sys/*.mk 755 * Rename Generic.sys.mk to sys.mk - we always want it. 756 7572009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 758 759 * install-mk (MK_VERSION): bump version 760 * host-target.mk: only export the expensive stuff 761 * Generic.sys.mk (sys_mk): for SunOS we need to look for 762 ${HOST_OS}.${HOST_OSMAJOR} too! 763 7642009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 765 766 * install-mk (MK_VERSION): bump version 767 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 768 based on patch from Greg Olszewski. 769 * Generic.sys.mk: if we have nothing to work with 770 set LORDER etc only if we can find it. 771 7722009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 773 774 * install-mk (MK_VERSION): bump version 775 * man.mk: cleanman: remove CLEANMAN if defined. 776 7772009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 778 779 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 780 7812009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 782 783 * install-mk (MK_VERSION): bump version 784 include auto.obj.mk 785 786 7872009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 788 789 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 790 7912008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 792 793 * install-mk (MK_VERSION): bump version 794 man.mk: ensure we generate *.cat1 etc in . 795 7962008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 797 798 * install-mk (MK_VERSION): bump version 799 add prlist.mk 800 8012007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 802 803 * Generic.sys.mk: Allow os specific sys.mk to be in a 804 subdir of ${.PARSEDIR} 805 8062007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 807 808 * install-mk (MK_VERSION): bump version 809 * general cleanup 810 * dpadd.mk introduce DPMAGIC_LIBS_* 811 8122007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 813 814 * install-mk (MK_VERSION): bump version 815 816 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 817 depend files and ensure clean is called for each lib/prog. 818 8192007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 820 821 * autodep.mk (.depend): delete lines that do not start with 822 space and do not contain ':' 823 8242007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 825 826 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 827 so make sure the transform for .OPTIONAL copes. 828 8292007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 830 831 * install-mk (MK_VERSION): bump version 832 833 * own.mk: make sure RM and LN are defined. 834 835 * obj.mk: fix a typo, and objlink target. 836 8372006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 838 839 * install-mk (MK_VERSION): bump version 840 * added libs.mk - analogous to progs.mk 841 make both of them always inlcude {lib,prog}.mk 842 8432006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 844 845 * progs.mk: add a means of building multiple apps in one dir. 846 8472006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 848 849 * install-mk (MK_VERSION): bump version to 20061126 850 851 * warnings.mk: detect invalid WARNINGS_SET 852 853 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 854 specific warnings. 855 856 * For .cc sources, turn off warnings that g++ vomits on. 857 8582006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 859 860 * own.mk: if __initialized__ target doesn't exist and we are 861 FreeBSD we got here directly from sys.mk 862 8632006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 864 865 * install-mk (MK_VERSION): bump version to 20061106 866 add scripts.mk 867 8682006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 869 870 * install-mk (MK_VERSION): bump version to 20060318 871 872 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 873 8742006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 875 876 * install-mk (MK_VERSION): bump version to 20060302 877 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 878 8792006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 880 881 * install-mk (MK_VERSION): bump version to 20060301 882 * autodep.mk (.depend): 883 if MAKE_VERSION is newer than 20050530 we can make .END depend on 884 .depend and make .depend depend on __depsrcs that exist. 885 * dpadd.mk: add SRC_PATHADD 886 8872005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 888 889 * install-mk (MK_VERSION): bump version to 20051104 890 * prog.mk: remove all the LIBC?= junk, use 891 .-include libnames.mk instead (none by default). 892 also if USE_DPADD_MK is set, include that. 893 8942005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 895 896 * install-mk (MK_VERSION): bump version to 20051001 897 Add UnixWare.sys.mk from Klaus Heinz. 898 8992005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 900 901 * install-mk: always install *.sys.mk and if need be symlink one 902 to sys.mk 903 9042005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 905 906 * subdir.mk, own.mk: use .MAKE rather than MAKE 907 9082004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 909 910 * own.mk: don't use NetBSD's _SRC_TOP_ it can 911 cause confusion. Also don't take just 'mk' as a 912 srctop indicator. 913 9142004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 915 916 * warnings.mk: overhauled, now very powerful. 917 9182004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 919 920 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 921 9222004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 923 924 * install-mk (MK_VERSION): bump version to 20040201 925 * extract HOST_TARGET stuff to host-target.mk so own.mk and 926 Generic.sys.mk can share. 927 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 928 9292003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 930 931 * install-mk (MK_VERSION): 20030930 932 * rename generic.sys.mk to Generic.sys.mk 933 so that it does not get installed (unless being used as sys.mk) 934 * set OS and ROOT_GROUP for those that we know the value. 935 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 936 we don't do it again for each sub-make. 937 9382003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 939 940 * install-mk (MK_VERSION): 20030928 941 Add some extra *.sys.mk from bootstrap-pkgsrc 942 some of these likely still need work. 943 Make everything default to root:wheel ownership, 944 sys.mk can set ROOT_GROUP accordingly. 945 9462003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 947 948 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 949 not the portable ones. 950 9512003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 952 953 * install-mk: add ability to use cp -f when updating 954 destination .mk files. Also now possible to play games with 955 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 956 into dest - not recommended unless you seriously want to. 957 9582003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 959 960 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 961 for semi-compatability with NetBSD. 962 9632003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 964 965 * install-mk: add a version indicator 966 9672003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 968 969 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 970 971 * install-mk: Allow FORCE_SYS_MK to come from env 972 973 974 975