12016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 2 3 * install-mk (MK_VERSION): 20160315 4 5 * meta.stage.mk (LN_CP_SCRIPT): do not ln(1) if we have to chmod(1) 6 normally only applies to scripts. 7 8 * dirdeps.mk: NO_DIRDEPS_BELOW to supress DIRDEPS below RELDIR as 9 well as outside it. 10 112016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 12 13 * install-mk (MK_VERSION): 20160310 14 15 * dirdeps.mk: use targets rather than a list to track DIRDEPS that 16 we have processed; the list gets very inefficient as number of 17 DIRDEPS gets large. 18 19 * sys.dependfile.mk: fix comment wrt MACHINE 20 21 * meta.autodep.mk: ignore staged DPADDs when bootstrapping. 22 patch from Bryan Drewery 23 242016-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 25 26 * meta2deps.sh: don't ignore subdirs. 27 patch from Bryan Drewery 28 292016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 30 31 * install-mk (MK_VERSION): 20160226 32 33 * gendirdeps.mk: mark _DEPENDFILE .NOMETA 34 352016-02-20 Simon J. Gerraty <sjg@bad.crufty.net> 36 37 * dirdeps.mk: we shouldn't normally include .depend but if we do 38 use .dinclude if we can. 39 402016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 41 42 * install-mk (MK_VERSION): 20160218 43 * sys.clean-env.mk: with recent change to Var_Subst() 44 we cannot use the '$$' trick, but .export-literal does the job 45 we need. 46 * auto.dep.mk: make use .dinclude if we can. 47 48 492016-02-05 Simon J. Gerraty <sjg@bad.crufty.net> 50 51 * dirdeps.mk: 52 Add _build_all_dirs such that local.dirdeps.mk can 53 add fully qualified dirs to it. 54 These will be built normally but the current 55 DEP_RELDIR will not depend on then (to avoid cycles). 56 This makes it easy to hook things like unit-tests into build. 57 58 592016-01-21 Simon J. Gerraty <sjg@bad.crufty.net> 60 61 * dirdeps.mk: add bootstrap-empty 62 632015-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 64 65 * install-mk (MK_VERSION): 20151212 66 * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist. 67 only apply :tA to __objdir when comparing to .OBJDIR 68 692015-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 70 71 * install-mk (MK_VERSION): 20151111 72 73 * meta.sys.mk: include sys.dependfile.mk 74 75 * sys.mk (OPTIONS_DEFAULT_NO): use options.mk 76 to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD 77 include local.sys.env.mk early 78 include local.sys.mk later 79 80 * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk 81 822015-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 83 84 * meta.sys.mk (META_COOKIE_TOUCH): 85 add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie 86 87 * meta.stage.mk: stage_libs should ignore SYMLINKS. 88 892015-10-23 Simon J. Gerraty <sjg@bad.crufty.net> 90 91 * install-mk (MK_VERSION): 20151022 92 93 * sys.mk: BSD/OS does not have 'type' as a shell builtin. 94 952015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 96 97 * install-mk (MK_VERSION): 20151020 98 99 * dirdeps.mk: Add logic for 100 make -f dirdeps.mk some/dir.${TARGET_SPEC} 101 1022015-10-14 Simon J. Gerraty <sjg@bad.crufty.net> 103 104 * install-mk (MK_VERSION): 20151010 105 1062015-10-02 Simon J. Gerraty <sjg@bad.crufty.net> 107 108 * meta.stage.mk: use staging: ${STAGE_TARGETS:... 109 to have stage_lins run last in non-jobs mode. 110 Use .ORDER only for jobs mode. 111 1122015-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 113 114 * rst2htm.mk: allow for per target flags etc. 115 1162015-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 117 118 * install-mk (MK_VERSION): 20150901 119 120 * doc.mk: create dir if needed use DOC_INSTALL_OWN 121 1222015-06-15 Simon J. Gerraty <sjg@bad.crufty.net> 123 124 * install-mk (MK_VERSION): 20150615 125 126 * auto.obj.mk: allow use of MAKEOBJDIRPREFIX too. 127 Follow make's normal precedence rules. 128 129 * gendirdeps.mk: allow customization of the header. 130 eg. for FreeBSD: 131 GENDIRDEPS_HEADER= echo '\# ${FreeBSD:L:@v@$$$v$$ @:M*F*}'; 132 133 * meta.autodep.mk: ignore dirdeps.cache* 134 135 * meta.stage.mk: when bootstrapping options it can be handy to 136 throw warnings rather than errors for staging conflicts. 137 138 * meta.sys.mk: include local.meta.sys.mk for customization 139 1402015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 141 142 * install-mk (MK_VERSION): 20150606 143 144 * dirdeps.mk: don't rely on manually maintained Makefile.depend 145 to set DEP_RELDIR and reset DIRDEPS. 146 By setting DEP_RELDIR ourselves we can skip :tA 147 148 * gendirdeps.mk: skip setting DEP_RELDIR. 149 1502015-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 151 152 * dirdeps.mk: avoid wildcards like make(bootstrap*) 153 1542015-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 155 156 * install-mk (MK_VERSION): 20150520 157 158 * dirdeps.mk: when we are building dirdeps cache file we *want* 159 meta_oodate to look at all the Makefile.depend files, so 160 set .MAKE.DEPENDFILE to something that won't match. 161 162 * meta.stage.mk: for STAGE_AS_* basename of file may not be unique 163 so first use absolute path as key. 164 Also skip staging at level 0. 165 1662015-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 167 168 * install-mk (MK_VERSION): 20150430 169 170 * dirdeps.mk: fix _count_dirdeps for non-cache case. 171 1722015-04-16 Simon J. Gerraty <sjg@bad.crufty.net> 173 174 * install-mk (MK_VERSION): 20150411 175 bump version 176 177 * own.mk: put AUTO_OBJ in OPTIONS_DEFAULT_NO rather than YES. 178 it is here mainly for documentation purposes, since 179 if using auto.obj.mk it is better done via sys.mk 180 1812015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 182 183 * install-mk (MK_VERSION): 20150401 184 185 * meta2deps.sh: support @list 186 187 * meta2deps.py: updates from Juniper 188 o add EXCLUDES 189 o skip bogus input files. 190 o treat 'M' and 'L' as both an 'R' and a 'W' 191 1922015-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 193 194 * install-mk (MK_VERSION): 20150303 195 196 * dirdeps.mk: if MK_DIRDEPS_CACHE is yes, use dirdeps-cache 197 which is built via sub-make so we have a .meta file to tell if 198 it is out-of-date. 199 The dirdeps-cache contains the same dependency rules that we 200 normaly construct on the fly. 201 This adds a few seconds overhead when the cache is out of date, 202 but for a large target, the savings can be significant (10-20min). 203 2042014-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 205 206 * install-mk (MK_VERSION): 20141118 207 208 * meta.stage.mk: add stale_staged 209 210 * dirdeps.mk (_DIRDEP_USE_LEVEL): allow this to be tweaked 211 only useful under very rare conditions such as 212 FreeBSD's make universe. 213 214 * auto.obj.mk: Allow MK_AUTO_OBJ to set MKOBJDIRS=auto 215 2162014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 217 218 * install-mk (MK_VERSION): 20141111 219 220 * mkopt.sh: use consistent semantics for _mk_opt and _mk_opts 221 2222014-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 223 224 * FILES: include mkopt.sh which allows handling options in shell 225 scripts in a manner compatible with options.mk 226 2272014-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 228 229 * meta.stage.mk: ensure only _STAGED_DIRS under objroot are used 230 for GENDIRDEPS_FILTER to avoid surprises. 231 2322014-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 233 234 * dirdeps.mk (NSkipHostDir): this needs SRCTOP prepended since by 235 the time it is applied to __depdirs they have. 236 237 * dirdeps.mk fix filtering of _machines since M_dep_qual_fixes 238 expects patterns like *.${MACHINE} 239 240 * cython.mk (pyprefix?): use pyprefix to find python bits 241 since prefix might be something else (where we install our 242 stuff) 243 2442014-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 245 246 * install-mk (MK_VERSION): 20140911 247 248 * dirdeps.mk: add bootstrap target to simplify adding support for 249 new MACHINE. 250 2512014-09-01 Simon J. Gerraty <sjg@bad.crufty.net> 252 253 * gendirdeps.mk: Add handling of GENDIRDEPS_FILTER_DIR_VARS and 254 GENDIRDEPS_FILTER_VARS to make it easier to produce sharable 255 Makefile.depend files. 256 2572014-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 258 259 * install-mk (MK_VERSION): 20140828 260 261 * cython.mk: capture logic for building python extension modules 262 with Cython. 263 2642014-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 265 266 * meta.stage.mk (_STAGE_AS_BASENAME_USE): Add StageAs variant 267 2682014-08-02 Simon J. Gerraty <sjg@bad.crufty.net> 269 270 * install-mk (MK_VERSION): 20140801 271 272 * dep.mk: use explicit MKDEP_MK rather than overload MKDEP to 273 identify the autodep.mk variant. 274 275 * sys.dependfile.mk: delete .MAKE.DEPENDFILE if its 276 initial value does not match .MAKE.DEPENDFILE_PREFIX 277 278 * meta.autodep.mk: if _bootstrap_dirdeps add RELDIR to DIRDEPS 279 2802014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 281 282 * install-mk (MK_VERSION): 20140522 283 284 * lib.mk: use CC to link shlib for linux too 285 patch from Brendan MacDonell 286 2872014-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 288 289 * meta.autodep.mk: add _reldir_{finish,failed} for gathering stats 290 if WITH_META_STATS is defined. 291 2922014-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 293 294 * dirdeps.mk: accept -DWITHOUT_DIRDEPS (same a as -DNO_DIRDEPS) 295 to supress dirdeps outside of .CURDIR. 296 2972014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 298 299 * Fix spelling errors - patch from Pedro Giffuni 300 3012014-03-14 Simon J. Gerraty <sjg@bad.crufty.net> 302 303 * install-mk (MK_VERSION): 20140314 304 305 * dirdeps.mk (beforedirdeps): a handy hook 306 307 * dirdeps.mk (DIRDEP_MAKE): allow the actual command we run 308 to visit leaf dirs to be intercepted (eg. for distributed 309 build). 310 311 * dirdeps.mk (__depdirs): ensure // don't sneak in 312 313 * gendirdeps.mk (DIRDEPS): ensure // don't sneak in 314 315 3162014-02-21 Simon J. Gerraty <sjg@bad.crufty.net> 317 318 * rst2htm.mk (RST2PDF): add support for rst2pdf 319 3202014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 321 322 * install-mk (MK_VERSION): bump version 323 * dirdeps.mk (_last_dependfile): use .INCLUDEDFROMFILE if 324 available. 325 3262014-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 327 328 * options.mk: avoid :U so this isn't bmake dependent 329 3302014-02-09 Simon J. Gerraty <sjg@bad.crufty.net> 331 332 * options.mk: cleanup and simplify semanitcs 333 NO_* dominates all, if both WITH_* and WITHOUT_* 334 are defined then result is DOMINATE_* which defaults to "no". 335 Ie. WITHOUT_ normally wins. 336 3372013-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 338 339 * install-mk (MK_VERSION): bump version 340 * meta2deps.py: convert to print function for python3 compat. 341 we also need to open files with mode 'r' rather than 'rb' 342 otherwise we get bytes instead of strings. 343 3442013-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 345 346 * install-mk (MK_VERSION): bump version 347 348 * dirdeps.mk: when TARGET_SPEC_VARS is more than just MACHINE 349 apply the same filtering (M_dep_qual_fixes) when setting _machines 350 as _build_dirs. 351 Also fix the filtering of Makefile.depend files - for reporting 352 what we are looking for (M_dep_qual_fixes can get confused by 353 Makefile.depend) 354 Add some more debug info. 355 3562013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 357 358 * gendirdeps.mk (_objtops): fix typo also 359 while processing M2D_OBJROOTS to gather qualdir_list 360 qualify $ql with loop iterator to ensure correct results. 361 3622013-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 363 364 * install-mk (MK_VERSION): 20130801 365 * libs.mk: update to match progs.mk 366 3672013-07-26 Simon J. Gerraty <sjg@bad.crufty.net> 368 369 * install-mk (MK_VERSION): 20130726 370 some updates from Juniper and FreeBSD 371 o meta2deps.py: indicate file and line number when we hit parse 372 errors 373 also allow @file to provide huge list of .meta files. 374 * meta2deps.py: add try_parse() to cleanup the above. 375 3762013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 377 378 * install-mk (MK_VERSION): 20130716 379 * own.mk: add GPROG as an option 380 * prog.mk: honor MK_GPROF==yes 381 3822013-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 383 384 * install-mk (MK_VERSION): 20130505 385 * gendirdeps.mk, meta2deps.py, meta2deps.sh: handle $TARGET_SPEC 386 for when $MACHINE isn't enough for objdir distinction. 387 Bring meta2deps.sh closer to par with meta2deps.py. 388 3892013-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 390 391 * meta.stage.mk: set INSTALL to STAGE_INSTALL when making 'all' 392 also if the target 'beforeinstall' exists, make it depend on 393 .dirdep (incase it uses STAGE_INSTALL). 394 3952013-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 396 397 * install-mk (MK_VERSION): 20130401 ;-) 398 * meta.stage.mk (STAGE_INSTALL_SH): add stage-install.sh as 399 wrapper around install(1). 400 * options.mk (OPTION_PREFIX): Allow a prefix other than MK_ 401 4022013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 403 404 * meta2deps.py (MetaFile.__init__): ensure self.cwd is initialized. 405 * install-mk (MK_VERSION): bump version 406 4072013-03-21 Simon J. Gerraty <sjg@bad.crufty.net> 408 409 * install-mk (MK_VERSION): bump version 410 * gendirdeps.mk: do not apply :tA to DPADD entries, since we lose 411 any trailing /., rather apply :tA only when needed. 412 * gendirdeps.mk: better mimic meta2deps handling of .dirdep files. 413 * meta.stage.mk (LN_CP_SCRIPT): Add LnCp to do the ln||cp dance 414 consistently. 415 * dirdeps.mk: better describe the dance in sys.mk for TARGET_SPEC. 416 4172013-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 418 419 * gendirdeps.mk: revert the dance around .MAKE.DEPENDFILE_DEFAULT 420 it is simpler to just not update when say building for "host" 421 (where we know we apply filters to DIRDEPS), and using a 422 non-machine qualified dependfile. 423 4242013-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 425 426 * dirdeps.mk: improve DIRDEPS filtering by allowing DEP_SKIP_DIR 427 and DEP_DIRDEPS_FILTER to vary by DEP_MACHINE and DEP_TARGET_SPEC 428 * gendirdeps.mk: ensure _objroot has trailing / if it needs it. 429 * meta2deps.py: if machine is "host", then also trim 430 self.host_target from any OBJROOTS. 431 432 4332013-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 434 435 * gendirdeps.mk: if .MAKE.DEPENDFILE_DEFAULT is not machine 436 qualified but _DEPENDFILE is, and .MAKE.DEPENDFILE_DEFAULT exists 437 but _DEPENDFILE does not, compare the new _DEPENDFILE against 438 .MAKE.DEPENDFILE_DEFAULT and discard if the same. 439 4402013-03-08 Simon J. Gerraty <sjg@bad.crufty.net> 441 442 * meta.stage.mk: use STAGE_TARGETS to control .ORDER 443 and hook to all: via staging: 444 4452013-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 446 447 * sys.dependfile.mk (.MAKE.DEPENDFILE_DEFAULT): 448 use a separate variable for the default .MAKE.DEPENDFILE value 449 so that it can be controlled independently of 450 .MAKE.DEPENDFILE_PREFERENCE 451 452 * meta.stage.mk: throw error if cp fails etc. 453 Stage*() return early if passed no args. 454 .ORDER stage_* 455 4562013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 457 458 * install-mk (MK_VERSION): bump version 459 * gendirdeps.mk: handle multiple M2D_OBJROOTS better. 460 4612013-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 462 463 * install-mk (MK_VERSION): bump version to 20130210 464 * import latest dirdeps.mk, gendirdeps.mk and meta2deps.py 465 from Juniper. 466 o dirdeps.mk now fully supports TARGET_SPEC consisting of more 467 than just MACHINE. 468 o no longer use DEP_MACHINE from Makefile.depend* so remove it. 469 4702013-01-23 Simon J. Gerraty <sjg@bad.crufty.net> 471 472 * install-mk (MK_VERSION): bump version to 20130123 473 * meta.stage.mk: add stage_links (hard links). 474 if doing hard links, we add dest to link as well. 475 Default the stage dir for [sym]links to STAGE_OBJTOP since 476 these are typically specified as absolute paths. 477 Add -m "mode" flag to StageFiles and StageAs. 478 4792012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 480 481 * install-mk (MK_VERSION): bump version to 20121111 482 * autoconf.mk: avoid meta mode seeing changed commands for config.status 483 * meta.autodep.mk: pass resolved MAKESYSPATH to gendirdeps 484 in case we were found via .../mk 485 * sys.clean-env.mk: move it from examples, we and others use it 486 "as is". 487 * FILES: add srctop.mk and options.mk 488 * own.mk: convert to using options.mk 489 which is modeled after FreeBSD's handling of MK_* 490 but more flexible. 491 This allows MK_* for boolean knobs to not be confused 492 with MK* which can be commands. 493 494 * examples/sys.clean-env.mk: add WITH[OUT]_ to 495 MAKE_ENV_SAVE_PREFIX_LIST. 496 Mention that HOME=/var/empty might be a good idea. 497 4982012-11-08 Simon J. Gerraty <sjg@bad.crufty.net> 499 500 * sys.dependfile.mk: if not depend file exists, $MACHINE 501 specific ones are supported but not the default, 502 check if any exist and follow suit. 503 5042012-11-06 Simon J. Gerraty <sjg@bad.crufty.net> 505 506 * install-mk (MK_VERSION): bump version to 20121106 507 5082012-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 509 510 * import latest dirdeps.mk and meta2deps.py from Juniper. 511 * progs.mk: add MAN and CXXFLAGS to PROG_VARS 512 also add PROGS_TARGETS and pass on PROG_CXX if it seems 513 appropriate. 514 5152012-11-04 Simon J. Gerraty <sjg@bad.crufty.net> 516 517 * meta.stage.mk: update CLEANFILES 518 remove redundant cp of .dirdep from STAGE_AS_SCRIPT. 519 * progs.mk: Add LDADD to PROG_VARS 520 5212012-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 522 523 * meta.stage.mk (STAGE_DIR_FILTER): track dirs we stage to in 524 _STAGED_DIRS so that these can be turned into filters for 525 GENDIRDEPS_FILTER. 526 5272012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 528 529 * install-mk (MK_VERSION): bump version to 20121010 530 * meta.stage.mk (STAGE_DIRDEP_SCRIPT): check that an existing 531 target.dirdep matches .dirdep 532 5332012-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 534 535 * install-mk (MK_VERSION): bump version to 20120808 536 * import latest meta2deps.py from Juniper. 537 5382012-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 539 540 * install-mk (MK_VERSION): bump version to 20120711 541 * dep.mk: add explicit dependencies on SRCS after applying 542 SRCS_DEP_FILTER 543 * meta.autodep.mk: add explicit dependencies on SRCS after 544 applying SRCS_DEP_FILTER 545 * meta.autodep.mk: ensure GENDIRDEPS_FILTER is exported if needed. 546 5472012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 548 549 * install-mk (MK_VERSION): bump version to 20120626 550 * meta.sys.mk: ignore PYTHON if it does not exist 551 compare ${.MAKE.DEPENDFILE:E} against ${MACHINE} is more reliable. 552 * meta.stage.mk: examine .MAKE.DEPENDFILE_PREFERENCE for any 553 entries ending in .${MACHINE} to decide if qualified _dirdep is 554 needed. 555 * gendirdeps.mk: only produce unqualified deps if no 556 .MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE} 557 * meta.subdir.mk: apply SUBDIRDEPS_FILTER 558 5592012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 560 561 * install-mk (MK_VERSION): bump version to 20120420 562 * add sys.dependfile.mk so we can experiment with 563 .MAKE.DEPENDFILE_PREFERENCE 564 * meta.autodep.mk: _DEPENDFILE is precious! 565 5662012-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 567 568 * install-mk (MK_VERSION): bump version to 20120315 569 * install-new.mk: avoid being interrupted 570 5712012-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 572 573 * man.mk: MAN might have multiple values so be careful with exists(). 574 5752012-01-19 Simon J. Gerraty <sjg@bad.crufty.net> 576 577 * install-mk (MK_VERSION): bump version to 20120112 578 * fix examples/sys.clean-env.mk so that MAKEOBJDIR is handled 579 as: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' 580 5812011-12-03 Simon J. Gerraty <sjg@bad.crufty.net> 582 583 * install-mk (MK_VERSION): bump version to 20111201 584 * import dirdeps.mk from Juniper sjg@ 585 o more consistent handling of DEP_MACHINE, especially when 586 dealing with an odd Makefile.depend, when normally using 587 Makefile.depend.${MACHINE} 588 5892011-11-22 Simon J. Gerraty <sjg@bad.crufty.net> 590 591 * install-mk (MK_VERSION): bump version to 20111122 592 * meta.autodep.mk: add some debug output, be more crisp about 593 updating. Use ${.ALLTARGETS:M*.o} as a clue for .depend 594 5952011-11-13 Simon J. Gerraty <sjg@bad.crufty.net> 596 597 * install-mk (MK_VERSION): bump version to 20111111 598 it's too cool to miss 599 * import meta* updates from Juniper sjg@ 600 o dirdeps.mk set DEP_MACHINE for Makefile.depend (when we are 601 normally using Makefile.depend.${MACHINE}), handy for 602 read-only manually maintained dependencies. 603 o meta2deps.py add a clear 'ERROR:' token if an exception is raised. 604 o gendirdeps.mk if ERROR: from meta2deps.py do not update 605 anything. 606 6072011-10-30 Simon J. Gerraty <sjg@bad.crufty.net> 608 609 * install-new.mk separate the cmp and copy logic to its own function. 610 6112011-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 612 613 * install-mk (MK_VERSION): bump version to 20111028 614 * sys.mk: include auto.obj.mk if MKOBJDIRS is set to auto 615 * subdir.mk: ensure _SUBDIRUSE is provided 616 * meta.autodep.mk: remove dependency of gendirdeps.mk on auto.obj.mk 617 * meta.subdir.mk: always allow for Makefile.depend 618 6192011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 620 621 * install-mk (MK_VERSION): bump version to 20111010 622 o minor tweak to *dirdeps.mk from Juniper sjg@ 623 6242011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 625 626 * install-mk (MK_VERSION): bump version to 20111001 627 o add meta2deps.py from Juniper sjg@ 628 o tweak gendirdeps.mk to work with meta2deps.py when not 629 cross-building 630 * autoconf.mk: add autoconf-input as a hook for regenerating 631 AUTOCONF_INPUTS (configure). 632 6332011-08-24 Simon J. Gerraty <sjg@bad.crufty.net> 634 635 * meta.autodep.mk: if we do not have OBJS, .depend isn't a useful 636 trigger for updating Makefile.depend* 637 6382011-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 639 640 * install-mk (MK_VERSION): bump version to 20110808 641 * obj.mk: minor cleanup 642 * auto.obj.mk: improve description of Mkdirs and honor NO_OBJ too. 643 6442011-08-01 Simon J. Gerraty <sjg@bad.crufty.net> 645 646 * auto.obj.mk (.OBJDIR): throw an error if we cannot use the 647 specified dir. 648 6492011-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 650 651 * meta.autodep.mk: if XMAKE_META_FILE is set 652 the makefile uses a foreign make, and so dependencies 653 can only be gathered from a clean tree build. 654 6552011-06-24 Simon J. Gerraty <sjg@bad.crufty.net> 656 657 * install-mk (MK_VERSION): bump version to 20110622 658 * meta.autodep.mk: improve bootstraping 659 6602011-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 661 662 * yacc.mk: handle the corner case of .c being removed 663 while .h remains. 664 6652011-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 666 667 * yacc.mk: do .y.h and .y.c separately 668 6692011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 670 671 * install-mk (MK_VERSION): bump version to 20110606 672 * don't store SRC_DIRDEPS in Makefile.depend* by default 673 not everyone needs it. 674 6752011-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 676 677 * install-mk (MK_VERSION): bump version to 20110505 678 first release including meta mode makefiles 679 6802011-05-02 Simon J. Gerraty <sjg@bad.crufty.net> 681 682 * meta.stage.mk: add STAGE_AS_SETS and stage_as 683 for things that need to be staged with different names. 684 6852011-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 686 687 * meta.stage.mk: add notion of STAGE_SETS 688 so a makefile can stage to multiple dirs 689 6902011-04-03 Simon J. Gerraty <sjg@bad.crufty.net> 691 692 * rst2htm.mk: convert rst to s5 (slides) or plain html depending 693 on target name. 694 6952011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 696 697 * install-mk (MK_VERSION): bump version to 20110330 698 6992011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 700 701 * sys.mk (_DEBUG_MAKE_FLAGS): use indirection so that DEBUG_MAKE_FLAGS0 702 can be used to debug level 0 only and DEBUG_MAKE_FLAGS for the rest. 703 * sys.mk: re-define M_whence in terms of M_type. 704 M_type is useful for checking if something is a builtin. 705 7062011-03-16 Simon J. Gerraty <sjg@bad.crufty.net> 707 708 * meta.stage.mk: add stage_symlinks and leverage StageLinks for 709 stage_libs 710 7112011-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 712 713 * dirdeps.mk: correct value for _depdir_files depends on 714 .MAKE.DEPENDFILE 715 Add our copyright - just to make it clear we have frobbed this 716 quite a bit. 717 DEP_MACHINE needs to be set to MACHINE each time, if using only 718 Makefile.depend (cf. Makefile.depend.${MACHINE}) 719 720 * meta.stage.mk: meta mode version of staging 721 722 * init.mk, final.mk: include local.*.mk to simplify customization 723 7242011-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 725 726 * auto.obj.mk: just because we are doing mk destroy, we should 727 still set .OBJDIR correctly if it exists. 728 729 * install-mk (mksrc): do not exclude meta.sys.mk 730 7312011-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 732 733 * host-target.mk: set/export _HOST_ARCH etc separately, 734 catch junk resulting from uname -p, so we can find sys/Linux.mk 735 correctly. 736 7372011-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 738 739 * meta.sys.mk: throw an error if /dev/filemon is missing and we 740 expected to be updating Makefile.depend* 741 7422011-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 743 744 * install-mk (MK_VERSION): bump version to 20110214 745 * meta.subdir.mk: add support for -DBOOTSTRAP_DEPENDFILES 746 7472010-09-25 Simon J. Gerraty <sjg@bad.crufty.net> 748 749 * meta.sys.mk: not valid for older bmake 750 7512010-09-24 Simon J. Gerraty <sjg@bad.crufty.net> 752 753 * install-mk (MK_VERSION): bump version to 20100919 754 include dirdeps.mk et al from Juniper Networks, 755 for meta mode - requires filemon(9). 756 * sys.mk, subdir.mk: Add hooks for meta mode. 757 we do this as meta.sys.mk, meta.autodep.mk and meta.subdir.mk 758 to make turning it on/off simple. 759 7602010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 761 762 * install-mk (MK_VERSION): bump version to 20100616 763 * fix typo in sys.mk 764 7652010-06-12 Simon J. Gerraty <sjg@bad.crufty.net> 766 767 * install-mk (MK_VERSION): bump version to 20100612 768 * lib.mk: remove duplicate addition to SOBJS 769 7702010-06-10 Simon J. Gerraty <sjg@bad.crufty.net> 771 772 * sys.mk: Add a means of selectively turning on debug flags. 773 Eg. DEBUG_MAKE_FLAGS=-dv DEBUG_MAKE_DIRS="*lib/sjg" 774 will act as if we did make -dv if .CURDIR ends in lib/sjg 775 DEBUG_MAKE_SYS_DIRS does the same thing, but we set the flags at 776 the start of sys.mk rather than the end. 777 This only makes sense for leaf dirs, so we check that 778 .MAKE.LEVEL > 0 779 7802010-06-09 Simon J. Gerraty <sjg@bad.crufty.net> 781 782 * install-mk (MK_VERSION): bump version to 20100608 783 * sys.mk: include sys.env.mk later so it can use M_ListToSkip et al. 784 * examples/sys.clean-env.mk: require MAKE_VERIONS >= 20100606 785 also make it easier for folk to tweak 786 7872010-06-08 Simon J. Gerraty <sjg@bad.crufty.net> 788 789 * install-mk (MK_VERSION): bump version to 20100606 790 do not install examples/* 791 * FILES: add examples/sys.clean-env.mk 792 * examples/sys.clean-env.mk: use .export-env to handle MAKEOBJDIR 793 this requires bmake-20100606 or later to work. 794 7952010-05-13 Simon J. Gerraty <sjg@bad.crufty.net> 796 797 * sys.mk (M_tA): better simulate the result of :tA if not available. 798 7992010-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 800 801 * sys.mk: canonicalize MAKE_VERSION 802 old versions reported bmake-<src-date> build-<build-date> 803 whereas we only care about <src-date> 804 8052010-04-25 Simon J. Gerraty <sjg@bad.crufty.net> 806 807 * install-mk: just warn about FORCE_{BSD,SYS}_MK being ignored 808 * lib.mk: we only build the shared lib if SHLIB_FULLVERSION 809 is !empty 810 8112010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 812 813 * dpadd.mk: use LDADD_* if defined. 814 8152010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 816 817 * install-mk (MK_VERSION): bump version to 20100420 818 * sys/NetBSD.mk: add MACHINE_CPU to keep netbsd makefiles happy 819 * autoconf.mk allow AUTO_AUTOCONF 820 8212010-04-19 Simon J. Gerraty <sjg@bad.crufty.net> 822 823 * obj.mk: add objwarn to keep freebsd makefiles happy 824 * auto.obj.mk: ensure Mkdirs is available. 825 * FILES: add auto.dep.mk - a simpler version of autodep.mk 826 * dep.mk: auto.dep.mk does not do 'make depend' so ignore it if 827 asked to do that. 828 fix/simplify the tests for when to run mkdep. 829 * auto.dep.mk: add some explanation of how/what we do. 830 * autodep.mk: skip the .OPTIONAL frobbing of .depend 831 bmake's FROM_DEPEND flag makes it redundant. 832 8332010-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 834 835 * install-mk (MK_VERSION): bump version to 20100404 836 * subdir.mk: protect from multiple inclusion using _SUBDIRUSE. 837 * obj.mk: protect from multiple inclusion even as bsd.obj.mk 838 Also create a target _SUBDIRUSE so that we can be used without 839 subdir.mk 840 8412010-04-12 Simon J. Gerraty <sjg@bad.crufty.net> 842 843 * dep.mk: use <> when .including so can override. 844 8452010-01-11 Simon J. Gerraty <sjg@bad.crufty.net> 846 847 * lib.mk (SHLIB_LINKS): ensure a string comparison. 848 8492010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 850 851 * install-mk (MK_VERSION): bump version to 20100102 852 * own.mk: ensure PRINTOBJDIR works 853 * autoconf.mk: pass on CONFIGURE_ARGS 854 * init.mk: handle COPTS.${.IMPSRC:T} etc. 855 * lib.mk: allow sys.mk to control SHLIB_FULLVERSION 856 fix handling of symlinks for darwin 857 * libnames.mk: add DSHLIBEXT for libs which only exist as shared. 858 * man.mk: suppress chown when not root. 859 * rst2htm.mk: allow srcs from multiple locations. 860 * sys.mk: M_whence, stop after 1st line of output. 861 * sys/Darwin.mk: Use .dylib for DSHLIBEXT and HOST_LIBEXT 862 * sys/SunOS.mk: we need to export PATH 863 8642009-12-23 Simon J. Gerraty <sjg@void.crufty.net> 865 866 * install-mk (MK_VERSION): bump version 867 include rst2htm.mk 868 8692009-12-17 Simon J. Gerraty <sjg@void.crufty.net> 870 871 * sys.mk,libnames.mk add .-include <local.*> 872 this allows local customization without the need to edit the 873 distributed files. 874 8752009-12-14 Simon J. Gerraty <sjg@void.crufty.net> 876 877 * dpadd.mk (__dpadd_libdirs): order -L's to avoid picking up 878 older versions already installed. 879 8802009-12-13 Simon J. Gerraty <sjg@void.crufty.net> 881 882 * stage.mk (.stage-install): generalize lib.mk's .libinstall 883 * rules.mk rules for generic Makefile. 884 * inc.mk install for includes. 885 8862009-12-11 Simon J. Gerraty <sjg@void.crufty.net> 887 888 * sys/NetBSD.mk (MAKE_VERSION): some of our *.mk want to check 889 this, so provide it if using native make. 890 8912009-12-10 Simon J. Gerraty <sjg@void.crufty.net> 892 893 * FILES: move all the platform *.sys.mk files to sys/*.mk 894 * Rename Generic.sys.mk to sys.mk - we always want it. 895 8962009-11-17 Simon J. Gerraty <sjg@void.crufty.net> 897 898 * install-mk (MK_VERSION): bump version 899 * host-target.mk: only export the expensive stuff 900 * Generic.sys.mk (sys_mk): for SunOS we need to look for 901 ${HOST_OS}.${HOST_OSMAJOR} too! 902 9032009-11-07 Simon J. Gerraty <sjg@void.crufty.net> 904 905 * install-mk (MK_VERSION): bump version 906 * lib.mk: if sys.mk doesn't give us an lorder, don't use it. 907 based on patch from Greg Olszewski. 908 * Generic.sys.mk: if we have nothing to work with 909 set LORDER etc only if we can find it. 910 9112009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 912 913 * install-mk (MK_VERSION): bump version 914 * man.mk: cleanman: remove CLEANMAN if defined. 915 9162009-09-04 Simon J. Gerraty <sjg@void.crufty.net> 917 918 * SunOS.5.sys.mk (CC): Use ?= like the other *sys.mk 919 9202009-07-17 Simon J. Gerraty <sjg@void.crufty.net> 921 922 * install-mk (MK_VERSION): bump version 923 include auto.obj.mk 924 925 9262009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 927 928 * prog.mk,lib.mk: ensure test of USE_DPADD_MK doesn't fail. 929 9302008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 931 932 * install-mk (MK_VERSION): bump version 933 man.mk: ensure we generate *.cat1 etc in . 934 9352008-07-16 Simon J. Gerraty <sjg@void.crufty.net> 936 937 * install-mk (MK_VERSION): bump version 938 add prlist.mk 939 9402007-11-25 Simon J. Gerraty <sjg@void.crufty.net> 941 942 * Generic.sys.mk: Allow os specific sys.mk to be in a 943 subdir of ${.PARSEDIR} 944 9452007-11-22 Simon J. Gerraty <sjg@void.crufty.net> 946 947 * install-mk (MK_VERSION): bump version 948 * general cleanup 949 * dpadd.mk introduce DPMAGIC_LIBS_* 950 9512007-04-30 Simon J. Gerraty <sjg@void.crufty.net> 952 953 * install-mk (MK_VERSION): bump version 954 955 * libs.mk, progs.mk, autodep.mk: allow for per lib/prog 956 depend files and ensure clean is called for each lib/prog. 957 9582007-03-27 Simon J. Gerraty <sjg@void.crufty.net> 959 960 * autodep.mk (.depend): delete lines that do not start with 961 space and do not contain ':' 962 9632007-02-16 Simon J. Gerraty <sjg@void.crufty.net> 964 965 * autodep.mk (.depend): gcc may wrap lines if pathnames are long 966 so make sure the transform for .OPTIONAL copes. 967 9682007-02-03 Simon J. Gerraty <sjg@void.crufty.net> 969 970 * install-mk (MK_VERSION): bump version 971 972 * own.mk: make sure RM and LN are defined. 973 974 * obj.mk: fix a typo, and objlink target. 975 9762006-12-30 Simon J. Gerraty <sjg@void.crufty.net> 977 978 * install-mk (MK_VERSION): bump version 979 * added libs.mk - analogous to progs.mk 980 make both of them always inlcude {lib,prog}.mk 981 9822006-12-28 Simon J. Gerraty <sjg@void.crufty.net> 983 984 * progs.mk: add a means of building multiple apps in one dir. 985 9862006-11-26 Simon J. Gerraty <sjg@void.crufty.net> 987 988 * install-mk (MK_VERSION): bump version to 20061126 989 990 * warnings.mk: detect invalid WARNINGS_SET 991 992 * warnings.mk: use ${.TARGET:T:R}.o when looking for target 993 specific warnings. 994 995 * For .cc sources, turn off warnings that g++ vomits on. 996 9972006-11-08 Simon J. Gerraty <sjg@void.crufty.net> 998 999 * own.mk: if __initialized__ target doesn't exist and we are 1000 FreeBSD we got here directly from sys.mk 1001 10022006-11-06 Simon J. Gerraty <sjg@void.crufty.net> 1003 1004 * install-mk (MK_VERSION): bump version to 20061106 1005 add scripts.mk 1006 10072006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 1008 1009 * install-mk (MK_VERSION): bump version to 20060318 1010 1011 * autodep.mk: avoid := when modifying OBJS into __dependsrcs 1012 10132006-03-02 Simon J. Gerraty <sjg@void.crufty.net> 1014 1015 * install-mk (MK_VERSION): bump version to 20060302 1016 * autodep.mk: use -MF et al to help gcc+ccache DTRT. 1017 10182006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 1019 1020 * install-mk (MK_VERSION): bump version to 20060301 1021 * autodep.mk (.depend): 1022 if MAKE_VERSION is newer than 20050530 we can make .END depend on 1023 .depend and make .depend depend on __depsrcs that exist. 1024 * dpadd.mk: add SRC_PATHADD 1025 10262005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1027 1028 * install-mk (MK_VERSION): bump version to 20051104 1029 * prog.mk: remove all the LIBC?= junk, use 1030 .-include libnames.mk instead (none by default). 1031 also if USE_DPADD_MK is set, include that. 1032 10332005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1034 1035 * install-mk (MK_VERSION): bump version to 20051001 1036 Add UnixWare.sys.mk from Klaus Heinz. 1037 10382005-04-05 Simon J. Gerraty <sjg@void.crufty.net> 1039 1040 * install-mk: always install *.sys.mk and if need be symlink one 1041 to sys.mk 1042 10432005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1044 1045 * subdir.mk, own.mk: use .MAKE rather than MAKE 1046 10472004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1048 1049 * own.mk: don't use NetBSD's _SRC_TOP_ it can 1050 cause confusion. Also don't take just 'mk' as a 1051 srctop indicator. 1052 10532004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 1054 1055 * warnings.mk: overhauled, now very powerful. 1056 10572004-02-03 Simon J. Gerraty <sjg@void.crufty.net> 1058 1059 * Generic.sys.mk: need to use ${.PARSEDIR} with exists(). 1060 10612004-02-01 Simon J. Gerraty <sjg@void.crufty.net> 1062 1063 * install-mk (MK_VERSION): bump version to 20040201 1064 * extract HOST_TARGET stuff to host-target.mk so own.mk and 1065 Generic.sys.mk can share. 1066 * fix typo in autodep.mk _SUBDIRUSE not _SUBDIR. 1067 10682003-09-30 Simon J. Gerraty <sjg@void.crufty.net> 1069 1070 * install-mk (MK_VERSION): 20030930 1071 * rename generic.sys.mk to Generic.sys.mk 1072 so that it does not get installed (unless being used as sys.mk) 1073 * set OS and ROOT_GROUP for those that we know the value. 1074 for others (eg. Generic.sys.mk) wrap the != in an .ifndef so 1075 we don't do it again for each sub-make. 1076 10772003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 1078 1079 * install-mk (MK_VERSION): 20030928 1080 Add some extra *.sys.mk from bootstrap-pkgsrc 1081 some of these likely still need work. 1082 Make everything default to root:wheel ownership, 1083 sys.mk can set ROOT_GROUP accordingly. 1084 10852003-08-07 Simon J. Gerraty <sjg@void.crufty.net> 1086 1087 * install-mk: if FORCE_BSD_MK={cp,ln} use the ones in SYS_MK_DIR 1088 not the portable ones. 1089 10902003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 1091 1092 * install-mk: add ability to use cp -f when updating 1093 destination .mk files. Also now possible to play games with 1094 FORCE_SYS_MK=ln etc on *BSD machines to link /usr/share/mk/sys.mk 1095 into dest - not recommended unless you seriously want to. 1096 10972003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1098 1099 * own.mk (IMPFLAGS): add support for COPTS.${IMPSRC:T} etc 1100 for semi-compatability with NetBSD. 1101 11022003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 1103 1104 * install-mk: add a version indicator 1105 11062003-07-22 Simon J. Gerraty <sjg@void.crufty.net> 1107 1108 * prog.mk: don't try and use ${LIBCRT0} if its /dev/null 1109 1110 * install-mk: Allow FORCE_SYS_MK to come from env 1111 1112 1113 1114