12016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 2 3 * Makefile (_MAKE_VERSION): 20160315 4 Merge with NetBSD make, pick up 5 o fix handling of archive members 6 72016-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 8 9 * Makefile (_MAKE_VERSION): rename variable to avoid interference 10 with checks for ${MAKE_VERSION} 11 122016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 13 14 * Makefile (MAKE_VERSION): 20160310 15 Merge with NetBSD make, pick up 16 o meta.c: treat missing Read file same as Write, incase we Delete it. 17 182016-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 19 20 * Makefile (MAKE_VERSION): 20160307 21 Merge with NetBSD make, pick up 22 o var.c: fix :ts\nnn to be octal by default. 23 o meta.c: meta_finish() to cleanup memory. 24 252016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 26 27 * Makefile (MAKE_VERSION): 20160226 28 Merge with NetBSD make, pick up 29 o meta.c: allow meta file for makeDepend if makefiles want it. 30 312016-02-19 Simon J. Gerraty <sjg@bad.crufty.net> 32 33 * var.c: default .MAKE.SAVE_DOLLARS to FALSE 34 for backwards compatability. 35 36 * Makefile (MAKE_VERSION): 20160220 37 Merge with NetBSD make, pick up 38 o var.c: add knob to control handling of '$$' in := 39 402016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 41 42 * Makefile (MAKE_VERSION): 20160218 43 Merge with NetBSD make, pick up 44 o var.c: add .export-literal allows us to fix sys.clean-env.mk 45 post the changes to Var_Subst. 46 Var_Subst now takes flags, and does not consume '$$' in := 47 482016-02-17 Simon J. Gerraty <sjg@bad.crufty.net> 49 50 * Makefile (MAKE_VERSION): 20160217 51 Merge with NetBSD make, pick up 52 o var.c: preserve '$$' in := 53 o parse.c: add .dinclude for handling included 54 makefile like .depend 55 562015-12-20 Simon J. Gerraty <sjg@bad.crufty.net> 57 58 * Makefile (MAKE_VERSION): 20151220 59 Merge with NetBSD make, pick up 60 o suff.c: re-initialize suffNull when clearing suffixes. 61 622015-12-01 Simon J. Gerraty <sjg@bad.crufty.net> 63 64 * Makefile (MAKE_VERSION): 20151201 65 Merge with NetBSD make, pick up 66 o cond.c: CondCvtArg: avoid access beyond end of empty buffer. 67 o meta.c: meta_oodate: use lstat(2) for checking link target 68 in case it is a symlink. 69 o var.c: avoid calling brk_string and Var_Export1 with empty 70 strings. 71 722015-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 73 74 * Makefile (MAKE_VERSION): 20151126 75 Merge with NetBSD make, pick up 76 o parse.c: ParseTrackInput don't access beyond 77 end of old value. 78 792015-10-22 Simon J. Gerraty <sjg@bad.crufty.net> 80 81 * Makefile (MAKE_VERSION): 20151022 82 83 * Add support for BSD/OS which lacks inttypes.h 84 and really needs sys/param.h for sys/sysctl.h 85 also 'type' is not a shell builtin. 86 87 * var.c: eliminate uint32_t and need for inttypes.h 88 89 * main.c: PrintOnError flush stdout before run .ERROR 90 91 * parse.c: cope with _SC_PAGESIZE not being defined. 92 93 942015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 95 96 * Makefile (MAKE_VERSION): 20151020 97 Merge with NetBSD make, pick up 98 o var.c: fix uninitialized var 99 1002015-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 101 102 * var.c: the conditional expressions used with ':?' can be 103 expensive, if already discarding do not evaluate or expand 104 anything. 105 1062015-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 107 108 * Makefile (MAKE_VERSION): 20151010 109 Merge with NetBSD make, pick up 110 o Add Boolean wantit flag to Var_Subst and Var_Parse 111 when FALSE we know we are discarding the result and can 112 skip operations like Cmd_Exec. 113 1142015-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 115 116 * Makefile (MAKE_VERSION): 20151009 117 Merge with NetBSD make, pick up 118 o var.c: don't check for NULL before free() 119 o meta.c: meta_oodate, do not hard code ignore of makeDependfile 120 1212015-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 122 123 * Makefile (MAKE_VERSION): 20150910 124 Merge with NetBSD make, pick up 125 o main.c: with -w print Enter/Leaving messages for objdir too 126 if necessary. 127 o centralize shell metachar handling 128 129 * FILES: add metachar.[ch] 130 1312015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 132 133 * Makefile (MAKE_VERSION): 20150606 134 Merge with NetBSD make, pick up 135 o make.1: document .OBJDIR target 136 1372015-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 138 139 * Makefile (MAKE_VERSION): 20150505 140 Merge with NetBSD make, pick up 141 o cond.c: be strict about lhs of comparison when evaluating .if 142 but less so when called from variable expansion. 143 o unit-tests/cond2.mk: test various error conditions 144 1452015-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 146 147 * machine.sh (MACHINE): Add Bitrig 148 patch from joerg@netbsd.org 149 1502015-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 151 152 * Makefile (MAKE_VERSION): 20150418 153 Merge with NetBSD make, pick up 154 o job.c: use memmove() rather than memcpy() 155 156 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL 157 case, so skip it. 158 1592015-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 160 161 * Makefile (MAKE_VERSION): 20150411 162 bump version - only mk/ changes. 163 1642015-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 165 166 * Makefile (MAKE_VERSION): 20150410 167 Merge with NetBSD make, pick up 168 o document different handling of '-' in jobs mode vs compat 169 o fix jobs mode so that '-' only applies to whole job 170 when shell lacks hasErrCtl 171 o meta.c: use separate vars to track lcwd and latestdir (read) 172 per process 173 1742015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 175 176 * Makefile (MAKE_VERSION): 20150401 177 Merge with NetBSD make, pick up 178 o meta.c: close meta file in child 179 180 * Makefile: use BINDIR.bmake if set. 181 Same for MANDIR and SHAREDIR 182 Handy for testing release candidates 183 in various environments. 184 1852015-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 186 187 * move initialization of savederr to block where it is used 188 to avoid spurious warning from gcc5 189 1902014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 191 192 * Makefile (MAKE_VERSION): 20141111 193 just a cooler number 194 1952014-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 196 197 * Makefile (MAKE_VERSION): 20141105 198 Merge with NetBSD make, pick up 199 o revert major overhaul of suffix handling 200 and POSIX compliance - too much breakage 201 and impossible to make backwards compatible. 202 o we still have the new unit test structure which is ok. 203 o meta.c ensure "-- filemon" is at start of line. 204 2052014-09-17 Simon J. Gerraty <sjg@bad.crufty.net> 206 207 * configure.in: test that result of getconf PATH_MAX is numeric 208 and discard if not. Apparently needed for Hurd. 209 2102014-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 211 212 * Makefile (MAKE_VERSION): 20140830 213 Merge with NetBSD make, pick up 214 o major overhaul of suffix handling 215 o improved POSIX compliance 216 o overhauled unit-tests 217 2182014-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 219 220 * Makefile (MAKE_VERSION): 20140620 221 Merge with NetBSD make, pick up 222 o var.c return varNoError rather than var_Error for ::= modifiers. 223 2242014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 225 226 * Makefile (MAKE_VERSION): 20140522 227 Merge with NetBSD make, pick up 228 o var.c detect some parse errors. 229 2302014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 231 232 * Fix spelling errors - patch from Pedro Giffuni 233 2342014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 235 236 * Makefile (MAKE_VERSION): 20140214 237 Merge with NetBSD make, pick up 238 o .INCLUDEFROM* 239 o use Var_Value to get MAKEOBJDIR[PREFIX] 240 o reduced realloc'ign in brk_string. 241 * configure.in: add a check for compiler supporting __func__ 242 2432014-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 244 245 * boot-strap: ignore mksrc=none 246 2472014-01-02 Simon J. Gerraty <sjg@bad.crufty.net> 248 249 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk 250 2512014-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 252 253 * Makefile (MAKE_VERSION): 20140101 254 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) 255 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max 256 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for 257 Hurd) 258 * configure.in: Add AC_PREREQ and check for 259 sysctl; patch from Andrew Shadura andrewsh at debian.org 260 2612013-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 262 263 * Makefile (MAKE_VERSION): 20131010 264 * lose the const from arg to systcl to avoid problems on older BSDs. 265 2662013-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 267 268 * Makefile (MAKE_VERSION): 20131001 269 Merge with NetBSD make, pick up 270 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from 271 hw.machine_arch if necessary. 272 o meta.c: meta_oodate - need to look at src of Link and target 273 of Move as well. 274 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. 275 provide __arraycount() if needed. 276 2772013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 278 279 * Makefile (MAKE_VERSION): 20130904 280 Merge with NetBSD make, pick up 281 o Add VAR_INTERNAL context, so that internal setting of 282 MAKEFILE does not override value set by makefiles. 283 2842013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 285 286 * Makefile (MAKE_VERSION): 20130902 287 Merge with NetBSD make, pick up 288 o CompatRunCommand: only apply shellErrFlag when errCheck is true 289 2902013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 291 292 * Makefile (MAKE_VERSION): 20130828 293 Merge with NetBSD make, pick up 294 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 295 o Call Job_SetPrefix() from Job_Init() so makefiles have 296 opportunity to set .MAKE.JOB.PREFIX 297 2982013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 299 300 * Makefile (MAKE_VERSION): 20130730 301 Merge with NetBSD make, pick up 302 o Allow suppression of --- job -- tokens by setting 303 .MAKE.JOB.PREFIX empty. 304 3052013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 306 307 * Makefile (MAKE_VERSION): 20130716 308 Merge with NetBSD make, pick up 309 o number of gmake compatibility tweaks 310 -w for gmake style entering/leaving messages 311 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 312 handle MAKEFLAGS containing only letters. 313 o when overriding a GLOBAL variable on the command line, 314 delete it from GLOBAL context so -V doesn't show the wrong 315 value. 316 3172013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 318 319 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 320 321 * Makefile (MAKE_VERSION): 20130706 322 Merge with NetBSD make, pick up 323 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 324 true so that CompatRunCommand() can use it, to ensure 325 consistent behavior with jobs mode. 326 o use MAKE_LEVEL_ENV to define the variable to propagate 327 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 328 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 329 paths to ignore. 330 3312013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 332 333 * Makefile (MAKE_VERSION): 20130604 334 Merge with NetBSD make, pick up 335 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 336 to avoid leaking descriptors. 337 3382013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 339 340 * Makefile (MAKE_VERSION): 20130528 341 Merge with NetBSD make, pick up 342 o var.c: cleanup some left-overs in VarHash() 343 3442013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 345 346 * Makefile (MAKE_VERSION): 20130520 347 generate manifest from component FILES rather than have to 348 update FILES when mk/FILES changes. 349 3502013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 351 352 * Makefile (MAKE_VERSION): 20130518 353 Merge with NetBSD make, pick up 354 o suff.c: don't skip all processsing for .PHONY targets 355 else wildcard srcs do not get expanded. 356 o var.c: expand name of variable to delete if necessary. 357 3582013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 359 360 * Makefile (MAKE_VERSION): 20130330 361 Merge with NetBSD make, pick up 362 o meta.c: refine the handling of .OODATE in commands. 363 Rather than suppress command comparison for the entire script 364 as though .NOMETA_CMP had been used, only suppress it for the 365 one command line. 366 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 367 suppress comparison of a command without otherwise affecting it. 368 o make.1: document that 369 3702013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 371 372 * Makefile (MAKE_VERSION): 20130321 373 yes, not quite right but its a cooler number. 374 Merge with NetBSD make, pick up 375 o parse.c: fix ParseGmakeExport to be portable 376 and add a unit-test. 377 * meta.c: call meta_init() before makefiles are read and if built 378 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 379 this let's makefiles test for support. 380 Call meta_mode_init() to process .MAKE.MODE. 381 3822013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 383 384 * Makefile (MAKE_VERSION): 20130305 385 Merge with NetBSD make, pick up 386 o run .STALE: target when a dependency from .depend is missing. 387 o job.c: add Job_RunTarget() for the above and .BEGIN 388 3892013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 390 391 * Makefile (MAKE_VERSION): 20130303 392 Merge with NetBSD make, pick up 393 o main.c: set .MAKE.OS to utsname.sysname 394 o job.c: more checks for read and poll errors 395 o var.c: lose VarChangeCase() saves 4% time 396 3972013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 398 399 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 400 want to use MAKEOBJDIR 401 4022013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 403 404 * Merge with NetBSD make, pick up 405 o make.1: more info on how shell commands are handled. 406 o job.c,main.c: detect write errors to job pipes. 407 4082013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 409 410 * Makefile (MAKE_VERSION): 20130123 411 Merge with NetBSD make, pick up 412 o meta.c: if script uses .OODATE and meta_oodate() decides 413 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 414 o var.c: in debug output indicate which variabale modifiers 415 apply to. 416 o remove Check_Cwd logic the makefiles have been fixed. 417 4182012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 419 420 * makefile.in: add a simple makefile for folk who insist on 421 ./configure; make; make install 422 it just runs boot-strap 423 * include mk/* to accommodate the above 424 * boot-strap: re-work to accommodate the above 425 mksrc defaults to $Mydir/mk 426 allow op={configure,build,install,clean,all} 427 add options to facilitate install 428 * Makefile.config.in: just the bits set by configure 429 * Makefile: bump version to 20121212 430 abandon Makefile.in (NetBSD Makefile) 431 leverage mk/* instead 432 * configure.in: ensure srcdir is absolute 433 4342012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 435 436 * Makefile.in (MAKE_VERSION): 20121111 437 fix generation of bmake.cat1 438 4392012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 440 441 * Makefile.in (MAKE_VERSION): 20121109 442 Merge with NetBSD make, pick up 443 o make.c: MakeBuildChild: return 0 so search continues if a 444 .ORDER dependency is detected. 445 o unit-tests/order: test the above 446 4472012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 448 449 * Makefile.in (MAKE_VERSION): 20121102 450 Merge with NetBSD make, pick up 451 o cond.c: allow cond_state[] to grow. 452 In meta mode with a very large tree, we can hit the limit 453 while processing dirdeps. 454 4552012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 456 457 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 458 4592012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 460 461 * Makefile.in (MAKE_VERSION): 20121010 462 o protect syntax that only bmake parses correctly. 463 o remove auto setting of FORCE_MACHINE, use configure's 464 --with-force-machine=whatever if that is desired. 465 4662012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 467 468 * Makefile.in: do not lose history from make.1 when generating bmake.1 469 4702012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 471 472 * Makefile.in (MAKE_VERSION): 20121007 473 Merge with NetBSD make, pick up 474 o compat.c: ignore empty commands - same as jobs mode. 475 o make.1: document meta chars that cause use of shell 476 4772012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 478 479 * Makefile.in (MAKE_VERSION): bump version to 20120911 480 * bsd.after-import.mk: include Makefile.inc early and allow it to 481 override PROG 482 4832012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 484 485 * Makefile.in (MAKE_VERSION): bump version to 20120831 486 Merge with NetBSD make, pick up 487 o cast sizeof() to int for comparison 488 o minor make.1 tweak 489 4902012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 491 492 * Makefile.in (MAKE_VERSION): bump version to 20120830 493 Merge with NetBSD make, pick up 494 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 495 o debug flag -dV causes -V to show raw value regardless. 496 4972012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 498 499 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 500 gets SRCTOP set. 501 5022012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 503 504 * Makefile.in (MAKE_VERSION): bump version to 20120704 505 Merge with NetBSD make, pick up 506 o Job_ParseShell should call Shell_Init if it has been 507 previously called. 508 * Makefile.in: set USE_META based on configure result. 509 also .PARSEDIR is safer indicator of bmake. 510 5112012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 512 513 * Makefile.in: bump version to 20120626 514 ensure CPPFLAGS is in CFLAGS 515 * meta.c: avoid nested externs 516 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 517 5182012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 519 520 * Makefile.in (MAKE_VERSION): bump version to 20120620 521 Merge with NetBSD make, pick up 522 o make_malloc.c: avoid including make_malloc.h again 523 524 * Makefile.in: avoid bmake only syntax or protect with 525 .if defined(.MAKE.LEVEL) 526 * bsd.after-import.mk: replace .-include with .sinclude 527 ensure? SRCTOP gets a value 528 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 529 5302012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 531 532 * Makefile.in (MAKE_VERSION): bump version to 20120612 533 Merge with NetBSD make, pick up 534 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 535 for greater portability. 536 o unit-tests/forloop: check that .for works as expected wrt 537 number of times and with "quoted strings". 538 5392012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 540 541 * Makefile.in (MAKE_VERSION): bump version to 20120606 542 Merge with NetBSD make, pick up 543 o compat.c: use kill(2) rather than raise(3). 544 * configure.in: look for sys/dev/filemon 545 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 546 and pass BOOTSTRAP_XTRAS to boot-strap. 547 5482012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 549 550 * Makefile.in (MAKE_VERSION): bump version to 20120604 551 Merge with NetBSD make, pick up 552 o util.c and var.c share same var for tracking if environ 553 has been reallocated. 554 o util.c provide getenv with setenv. 555 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 556 when the shell actively strips .MAKE.* from the environment. 557 We still refer to the variable always as .MAKE.LEVEL 558 * util.c fix bug in findenv() was finding prefix of name. 559 * compat.c: re-raising SIGINT etc after running .INTERRUPT 560 results in more reliable termination of all activity on many 561 platforms. 562 5632012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 564 565 * Makefile.in (MAKE_VERSION): bump version to 20120602 566 Merge with NetBSD make, pick up 567 o for.c: handle quoted items in .for list 568 5692012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 570 571 * Makefile.in (MAKE_VERSION): bump version to 20120530 572 Merge with NetBSD make, pick up 573 o compat.c: ignore empty command. 574 5752012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 576 577 * Makefile.in (MAKE_VERSION): bump version to 20120524 578 * FILES: add bsd.after-import.mk: 579 A simple means of integrating bmake into a BSD build system. 580 5812012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 582 583 * Makefile.in (MAKE_VERSION): bump version to 20120520 584 Merge with NetBSD make, pick up 585 o increased limit for nested conditionals. 586 5872012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 588 589 * Makefile.in (MAKE_VERSION): bump version to 20120518 590 Merge with NetBSD make, pick up 591 o use _exit(2) in signal hanlder 592 o Don't use the [dir] cache when building nodes that might have 593 changed since the last exec. 594 o Avoid nested extern declaration warnings. 595 5962012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 597 598 * meta.c (fgetLine): avoid %z - not portable. 599 * parse.c: Since we moved include of sys/mman.h 600 and def's of MAP_COPY etc. we got dups from a merge. 601 6022012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 603 604 * Makefile.in (MAKE_VERSION): bump version to 20120420 605 Merge with NetBSD make, pick up 606 o restore duplicate supression in .MAKE.MAKEFILES 607 runtime saving can be significant. 608 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 609 consumption up to 20%. 610 6112012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 612 613 * Makefile.in (MAKE_VERSION): bump version to 20120420 614 Merge with NetBSD make, pick up 615 o remove duplicate supression in .MAKE.MAKEFILES 616 o improved dir cache behavior 617 o gmake'ish export command 618 6192012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 620 621 * Makefile.in (MAKE_VERSION): bump version to 20120325 622 Merge with NetBSD make, pick up 623 o fix parsing of :[#] in conditionals. 624 6252012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 626 627 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 628 since some systems cannot cope with .Nx <version> 629 6302011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 631 632 * Makefile.in (MAKE_VERSION): bump version to 20111111 633 Merge with NetBSD make, pick up 634 o debug output for .PARSEDIR and .PARSEFILE 635 6362011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 637 638 * Makefile.in (MAKE_VERSION): bump version to 20111010 639 6402011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 641 642 * boot-strap: check for an expected file in the dirs we look for. 643 * make-bootstrap.sh: pass on LDSTATIC 644 6452011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 646 647 * Makefile.in (MAKE_VERSION): bump version to 20111001 648 Merge with NetBSD make, pick up 649 o ensure .PREFIX is set for .PHONY 650 and .TARGET set for .PHONY run via .END 651 o __dead used consistently 652 6532011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 654 655 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 656 6572011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 658 659 * Makefile.in (MAKE_VERSION): bump version to 20110905 660 Merge with NetBSD make, pick up 661 o meta_oodate: ignore makeDependfile 662 6632011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 664 665 * Makefile.in (MAKE_VERSION): bump version to 20110828 666 Merge with NetBSD make, pick up 667 o silent=yes in .MAKE.MODE causes meta mode to mark targets 668 as SILENT if a .meta file is created 669 6702011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 671 672 * Makefile.in (MAKE_VERSION): bump version to 20110818 673 Merge with NetBSD make, pick up 674 o in meta mode, if target flagged .META a missing .meta file 675 means target is out-of-date 676 o fixes for gcc 4.5 warnings 677 o simplify job printing code 678 6792011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 680 681 * Makefile.in (MAKE_VERSION): bump version to 20110808 682 Merge with NetBSD make, pick up 683 o do not touch OP_SPECIAL targets when doing make -t 684 6852011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 686 687 * Makefile.in (MAKE_VERSION): bump version to 20110622 688 Merge with NetBSD make, pick up 689 o meta_oodate detect corrupted .meta file and declare oodate. 690 * configure.in: add check for setsid 691 6922011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 693 694 * Merge with NetBSD make, pick up 695 o unit-tests/modts now works on MirBSD 696 6972011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 698 699 * Makefile.in (MAKE_VERSION): bump version to 20110606 700 Merge with NetBSD make, pick up 701 o ApplyModifiers: when we parse a variable which is not 702 the entire modifier string, or not followed by ':', do not 703 consider it as containing modifiers. 704 o loadfile: ensure newline at end of mapped file. 705 7062011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 707 708 * Makefile.in (MAKE_VERSION): bump version to 20110505 709 Merge with NetBSD make, pick up 710 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 711 of make's control. In meta mode, any generated file within 712 said bailiwick, which is found to be missing, causes current 713 target to be out-of-date. 714 7152011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 716 717 * Makefile.in (MAKE_VERSION): bump version to 20110411 718 Merge with NetBSD make, pick up 719 o when long modifiers fail to match, check sysV style. 720 - add a test case 721 7222011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 723 724 * Makefile.in (MAKE_VERSION): bump version to 20110410 725 Merge with NetBSD make, pick up 726 o :hash - cheap 32bit hash of value 727 o :localtime, :gmtime - use value as format string for strftime. 728 7292011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 730 731 * Makefile.in (MAKE_VERSION): bump version to 20110330 732 mostly because its a cooler version. 733 Merge with NetBSD make, pick up 734 o NetBSD tags for meta.[ch] 735 o job.c call meta_job_finish() after meta_job_error(). 736 o meta_job_error() should call meta_job_finish() to ensure 737 .meta file is closed, and safe to copy - if .ERROR target wants. 738 meta_job_finish() is safe to call repeatedly. 739 7402011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 741 742 * unit-tests/modts: use printf if it is a builtin, 743 to save us from MirBSD 744 745 * Makefile.in (MAKE_VERSION): bump version to 20110329 746 Merge with NetBSD make, pick up 747 o fix for use after free() in CondDoExists(). 748 o meta_oodate() report extra commands and return earlier. 749 7502011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 751 752 * Makefile.in (MAKE_VERSION): bump version to 20110327 753 Merge with NetBSD make, pick up 754 o meta.c, if .MAKE.MODE contains curdirOk=yes 755 allow creating .meta files in .CURDIR 756 * boot-strap (TOOL_DIFF): aparently at least on linux distro 757 formats the output of 'type' differently - so eat any "()" 758 7592011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 760 761 * Makefile.in (MAKE_VERSION): bump version to 20110306 762 Merge with NetBSD make, pick up 763 o meta.c, only do getcwd() once 764 7652011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 766 767 * Makefile.in (MAKE_VERSION): bump version to 20110305 768 Merge with NetBSD make, pick up 769 o correct sysV substitution handling of empty lhs and variable 770 o correct exists() check for dir with trailing / 771 o correct handling of modifiers for non-existant variables 772 during evaluation of conditionals. 773 o ensure MAP_FILE is defined. 774 o meta.c use curdir[] now exported by main.c 775 7762011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 777 778 * Makefile.in (MAKE_VERSION): bump version to 20110225 779 Merge with NetBSD make, pick up 780 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 781 makefiles have been read. 782 o fix example of :? modifier in man page. 783 7842011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 785 786 * Makefile.in (MAKE_VERSION): bump version to 20110214 787 Merge with NetBSD make, pick up 788 o meta.c handle realpath() failing when generating meta file 789 name. 790 791 * sigcompat.c: convert to ansi so we can use higher warning levels. 792 793 7942011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 795 796 * Makefile.in (MAKE_VERSION): bump version to 20110207 797 Merge with NetBSD make, pick up 798 o fix for bug in meta mode. 799 8002011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 801 802 * parse.c: SunOS 5.8 at least does not have MAP_FILE 803 8042011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 805 806 * Makefile.in (MAKE_VERSION): bump version to 20110101 807 Merge with NetBSD make, pick up 808 o use mmap(2) if available, for reading makefiles 809 8102010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 811 812 * Makefile.in (MAKE_VERSION): bump version to 20101215 813 Merge with NetBSD make, pick up 814 o ensure meta_job_error() does not report a previous .meta file 815 as being culprit. 816 8172010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 818 819 * Makefile.in (MAKE_VERSION): bump version to 20101210 820 Merge with NetBSD make, pick up 821 o meta_oodate: track cwd per process, and only consider target 822 out-of-date if missing file is outside make's CWD. 823 Ignore files in /tmp/ etc. 824 o to ensure unit-tests results match, need to control LC_ALL 825 as well as LANG. 826 o fix for parsing bug in var.c 827 8282010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 829 830 * Makefile.in (MAKE_VERSION): bump version to 20101126 831 Merge with NetBSD make, pick up 832 o if stale dependency is an IMPSRC, search via .PATH 833 o meta_oodate: if a referenced file is missing, target is 834 out-of-date. 835 o meta_oodate: if a target uses .OODATE in its commands, 836 it (.OODATE) needs to be recomputed. 837 o keep a pointer to youngest child node, rather than just its 838 mtime. 839 8402010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 841 842 * Makefile.in (MAKE_VERSION): bump version to 20101101 843 8442010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 845 846 * machine.sh: like os.sh, 847 allow for uname -p producing useless drivel 848 8492010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 850 851 * boot-strap: document configure knobs for meta and filemon. 852 853 * Makefile.in (MAKE_VERSION): bump version to 20100911 854 Merge with NetBSD make, pick up 855 o meta.c - meta mode 856 857 * make-bootstrap.sh.in: handle meta.c 858 * configure.in: add knobs for use_meta and filemon_h 859 also, look for dirname, str[e]sep and strlcpy 860 * util.c: add simple err[x] and warn[x] 861 8622010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 863 864 * boot-strap (TOOL_DIFF): set this to ensure tests use 865 the same version of diff that configure tested 866 867 * Makefile.in (MAKE_VERSION): bump version to 20100808 868 Merge with NetBSD make, pick up 869 o in jobs mode, when we discover we cannot make something, 870 call PrintOnError before exit. 871 8722010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 873 874 * Makefile.in (MAKE_VERSION): bump version to 20100806 875 Merge with NetBSD make, pick up 876 o formatting fixes for ignored errors 877 o ensure jobs are cleaned up regardless of where wait() was called. 878 8792010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 880 881 * Makefile.in (MAKE_VERSION): bump version to 20100618 882 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 883 8842010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 885 886 * Makefile.in (MAKE_VERSION): bump version to 20100616 887 Merge with NetBSD make, pick up 888 o man page update 889 o call PrintOnError from JobFinish when we detect an error we 890 are not ignoring. 891 8922010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 893 894 * Makefile.in (MAKE_VERSION): bump version to 20100606 895 Merge with NetBSD make, pick up 896 o man page update 897 8982010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 899 900 * Makefile.in (MAKE_VERSION): bump version to 20100605 901 Merge with NetBSD make, pick up 902 o use bmake_signal() which is a wrapper around sigaction() 903 in place of signal() 904 o add .export-env to allow exporting variables to environment 905 without tracking (so no re-export when the internal value is 906 changed). 907 9082010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 909 910 * Makefile.in (MAKE_VERSION): bump version to 20100524 911 Merge with NetBSD make, pick up 912 o fix for .info et al being greedy. 913 9142010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 915 916 * Makefile.in (MAKE_VERSION): bump version to 20100520 917 Merge with NetBSD make, pick up 918 o back to using realpath on argv[0] 919 but only if contains '/' and does not start with '/'. 920 9212010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 922 923 * boot-strap: use absolute path for bmake when running tests. 924 925 * Makefile.in (MAKE_VERSION): bump version to 20100510 926 Merge with NetBSD make, pick up 927 o revert use of realpath on argv[0] 928 too many corner cases. 929 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 930 9312010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 932 933 * Makefile.in (MAKE_VERSION): bump version to 20100505 934 Merge with NetBSD make, pick up 935 o fix for missed SIGCHLD when compiled with SunPRO 936 actually for bmake, defining FORCE_POSIX_SIGNALS would have 937 done the job. 938 9392010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 940 941 * Makefile.in (MAKE_VERSION): bump version to 20100430 942 Merge with NetBSD make, pick up 943 o fflush stdout before writing to stdout 944 9452010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 946 947 * Makefile.in (MAKE_VERSION): bump version to 20100423 948 Merge with NetBSD make, pick up 949 o updated unit tests for Haiku (this time for sure). 950 * boot-strap: based on patch from joerg 951 honor --with-default-sys-path better. 952 * boot-strap: remove mention of --with-prefix-sys-path 953 9542010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 955 956 * Makefile.in (MAKE_VERSION): bump version to 20100422 957 * Merge with NetBSD make, pick up 958 o fix for vfork() on Darwin. 959 o fix for bogus $TMPDIR. 960 o set .MAKE.MODE=compat for -B 961 o set .MAKE.JOBS=max_jobs for -j max_jobs 962 o allow unit-tests to run without any *.mk 963 o unit-tests/modmisc be more conservative in dirs presumed to exist. 964 * boot-strap: ignore /usr/share/mk except on NetBSD. 965 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 966 ensure sort(1) behaves as expected. 967 9682010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 969 970 * boot-strap: add FindHereOrAbove so we can use -m .../mk 971 9722010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 973 974 * Makefile.in (MAKE_VERSION): bump version to 20100420 975 * Merge with NetBSD make, pick up 976 o fix for variable realpath() behavior. 977 we have to stat(2) the result to be sure. 978 o fix for .export (all) when nested vars use :sh 979 9802010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 981 982 * Makefile.in (MAKE_VERSION): bump version to 20100414 983 * Merge with NetBSD make, pick up 984 o use realpath to resolve argv[0] (for .MAKE) if needed. 985 o add realpath from libc. 986 o add :tA to resolve variable via realpath(3) if possible. 987 9882010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 989 990 * Makefile.in (MAKE_VERSION): bump version to 20100408 991 * Merge with NetBSD make, pick up 992 o unit tests for .ERROR, .error 993 o fix for .ERROR to ensure it cannot be default target. 994 9952010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 996 997 * Makefile.in (MAKE_VERSION): bump version to 20100406 998 * Merge with NetBSD make, pick up 999 o fix for compat mode "Error code" going to debug_file. 1000 o fix for .ALLSRC being populated twice. 1001 o support for .info, .warning and .error directives 1002 o .MAKE.MODE to control make's operational mode 1003 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 1004 name(s). 1005 o .MAKE.DEPENDFILE to control the name of the depend file 1006 o .ERROR target - run on failure. 1007 10082010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1009 1010 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 1011 1012 * os.sh,arch.c: patch for Haiku from joerg at netbsd 1013 10142010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 1015 1016 * Makefile.in (MAKE_VERSION): bump version to 20100222 1017 * Merge with NetBSD make, pick up 1018 o better error msg for .for with mutiple inter vars 1019 1020 * boot-strap: 1021 o use make-bootstrap.sh from joerg at netbsd 1022 to avoid the need for a native make when bootstrapping. 1023 o add "" everywhere ;-) 1024 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 1025 otherwise the pre-formated version. 1026 10272010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1028 1029 * Makefile.in (MAKE_VERSION): bump version to 20100102 1030 * Merge with NetBSD make, pick up: 1031 o fix for -m .../ 1032 10332009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 1034 1035 * Makefile.in (MAKE_VERSION): bump version to 20091118 1036 * Merge with NetBSD make, pick up: 1037 o .unexport 1038 o report lines that start with '.' and should have ':' 1039 (catch typo's of .el*if). 1040 10412009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1042 1043 * configure.in: Ensure that srcdir and mksrc are absolute paths. 1044 10452009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1046 1047 * Makefile.in (MAKE_VERSION): fix version to 20091007 1048 10492009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 1050 1051 * Makefile.in (MAKE_VERSION): bump version to 200910007 1052 * Merge with NetBSD make, pick up: 1053 o fix for parsing of :S;...;...; applied to .for loop iterator 1054 appearing in a dependency line. 1055 10562009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1057 1058 * Makefile.in (MAKE_VERSION): bump version to 20090909 1059 * Merge with NetBSD make, pick up: 1060 o fix for -C, .CURDIR and .OBJDIR 1061 * boot-strap: 1062 o allow share_dir to be set independent of prefix. 1063 o select default share_dir better when prefix ends in $HOST_TARGET 1064 o if FORCE_BSD_MK etc were set, include them in the suggested 1065 install-mk command. 1066 10672009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 1068 1069 * Makefile.in (MAKE_VERSION): bump version to 20090908 1070 * Merge with NetBSD make, pick up: 1071 o .MAKE.LEVEL for recursion tracking 1072 o fix for :M scanning \: 1073 10742009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1075 1076 * configure.in: Don't -D__EXTENSIONS__ if 1077 AC_USE_SYSTEM_EXTENSIONS says "no". 1078 10792009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 1080 1081 * Makefile.in (MAKE_VERSION): bump version to 20090826 1082 Simplify MAKE_VERSION to just the bare date. 1083 * Merge with NetBSD make, pick up: 1084 o -C directory support. 1085 o support for SIGINFO 1086 o use $TMPDIR for temp files. 1087 o child of vfork should be careful about modifying parent's state. 1088 1089 10902009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 1091 1092 * Appy some patches for MiNT from David Brownlee 1093 10942009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 1095 1096 * Makefile.in (BMAKE_VERSION): bump version to 20090222 1097 * Merge with NetBSD make, pick up: 1098 o Possible null pointer de-ref in Var_Set. 1099 11002009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 1101 1102 * Makefile.in (BMAKE_VERSION): bump version to 20090204 1103 * Merge with NetBSD make, pick up: 1104 o bmake_malloc et al moved to their own .c 1105 o Count both () and {} when looking for the end of a :M pattern 1106 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 1107 o strlist.c - functions for processing extendable arrays of pointers to strings. 1108 o ClientData replaced with void *, so const void * can be used. 1109 o New debug flag C for DEBUG_CWD 1110 11112008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 1112 1113 * Makefile.in (BMAKE_VERSION): bump version to 20081111 1114 Apply patch from Joerg Sonnenberge to 1115 configure.in: 1116 o remove some redundant checks 1117 o check for emlloc etc only in libutil and require the whole family. 1118 util.c: 1119 o remove [v]asprintf which is no longer used. 1120 11212008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1122 1123 * Makefile.in (BMAKE_VERSION): bump version to 20081101 1124 * Merge with NetBSD make, pick up: 1125 o util.c: avoid use of putenv() - christos 1126 11272008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1128 1129 * Makefile.in (BMAKE_VERSION): bump version to 20081030 1130 pick up man page tweaks. 1131 11322008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 1133 1134 * Makefile.in: move processing of LIBOBJS to after is definition! 1135 thus we'll have getenv.c in SRCS only if needed. 1136 1137 * make.1: add examples of how to use :? 1138 1139 * Makefile.in (BMAKE_VERSION): bump version to 20081029 1140 * Merge with NetBSD make, pick up: 1141 o fix for .END processing with -j 1142 o segfault from Parse_Error when no makefile is open 1143 o handle numeric expressions in any variable expansion 1144 o debug output now defaults to stderr, -dF to change it - apb 1145 o make now uses bmake_malloc etc so that it can build natively 1146 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 1147 11482008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 1149 1150 * Makefile.in (BMAKE_VERSION): bump version to 20080808 1151 * Merge with NetBSD make, pick up: 1152 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 1153 long lines in Makefiles 1154 o optimizations for VarQuote by joerg 1155 o fix for PR/38756: dominik: make dumps core on invalid makefile 1156 11572008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 1158 1159 * Makefile.in (BMAKE_VERSION): bump version to 20080515 1160 * Merge with NetBSD make, pick up: 1161 o fix skip setting vars in VAR_GLOBAL context, to handle 1162 cases where VAR_CMD is used for other than command line vars. 1163 11642008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 1165 1166 * boot-strap (make_version): we may need to look in 1167 $prefix/share/mk for sys.mk 1168 1169 * Makefile.in (BMAKE_VERSION): bump version to 20080514 1170 * Merge with NetBSD make, pick up: 1171 o skip setting vars in VAR_GLOBAL context, when already set in 1172 VAR_CMD which takes precedence. 1173 11742008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 1175 1176 * Makefile.in (BMAKE_VERSION): bump version to 20080330 1177 * Merge with NetBSD make, pick up: 1178 o fix for ?= when LHS contains variable reference. 1179 11802008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1181 1182 * merge some patches from NetBSD pkgsrc. 1183 1184 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 1185 the MAKSYSPATH used during bootstrap. 1186 1187 * Makefile.in (BMAKE_VERSION): bump version to 20080215 1188 * Merge with NetBSD make, pick up: 1189 o warn if non-space chars follow 'empty' in a conditional. 1190 11912008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1192 1193 * Makefile.in (BMAKE_VERSION): bump version to 20080118 1194 * Merge with NetBSD make, pick up: 1195 o consider dependencies read from .depend as optional - dsl 1196 o remember when buffer for reading makefile grows - dsl 1197 o add -dl (aka LOUD) - David O'Brien 1198 11992007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 1200 1201 * Makefile.in (BMAKE_VERSION): bump version to 20071022 1202 * Merge with NetBSD make, pick up: 1203 o Allow .PATH<suffix> to be used for .include "" 1204 1205 * boot-strap: source default settings from .bmake-boot-strap.rc 1206 12072007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 1208 1209 * Makefile.in: fix maninstall on various systems 1210 provided that our man.mk is used. 1211 For non-BSD systems we install the preformatted page 1212 into $MANDIR/cat1 1213 12142007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 1215 1216 * boot-strap: make bmake.1 too, so maninstall works. 1217 12182007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 1219 1220 * Makefile.in (BMAKE_VERSION): bump version to 20071014 1221 * Merge with NetBSD make, pick up: 1222 o revamped handling of defshell - configure no longer needs to 1223 know the content of the shells array - apb 1224 o stop Var_Subst modifying its input - apb 1225 o avoid calling ParseTrackInput too often - dsl 1226 12272007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 1228 1229 * Makefile.in (BMAKE_VERSION): bump version to 20071011 1230 * Merge with NetBSD make, pick up: 1231 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 1232 1233 * sigcompat.c: some tweaks for HP-UX 11.x based on 1234 patch from Tobias Nygren 1235 1236 * configure.in: update handling of --with-defshell to match 1237 new make behavior. --with-defshell=/usr/xpg4/bin/sh 1238 will now do what one might hope - provided the chosen shell 1239 behaves enough like sh. 1240 12412007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 1242 1243 * Makefile.in (BMAKE_VERSION): bump to 20071008 1244 * Merge with NetBSD make, pick up: 1245 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 1246 o .export/.MAKE.EXPORTED - export of variables - sjg 1247 o .MAKE.MAKEFILES - track all makefiles read - sjg 1248 o performance improvements - dsl 1249 o revamp parallel job scheduling - dsl 1250 12512006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1252 1253 * Makefile.in (BMAKE_VERSION): bump to 20060728 1254 * Merge with NetBSD make, pick up: 1255 o extra debug info during variable and cond processing - sjg 1256 o shell definition now covers newline - rillig 1257 o minor mem leak in PrintOnError - sjg 1258 12592006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1260 1261 * Makefile.in (BMAKE_VERSION): bump to 20060511 1262 * Merge with NetBSD make, pick up: 1263 o more memory leaks - coverity 1264 o possible overflow in ArchFindMember - coverity 1265 o extract variable modifier code out of Var_Parse() 1266 so it can be called recursively - sjg 1267 o unit-tests/moderrs - sjg 1268 12692006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 1270 1271 * Makefile.in (BMAKE_VERSION): bump to 20060412 1272 * Merge with NetBSD make, pick up: 1273 o fixes for some memory leaks - coverity 1274 o only read first sys.mk etc when searching sysIncPath - sjg 1275 1276 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 1277 setting ${MAKEFILE} - OBATA Akio 1278 12792006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 1280 1281 * Makefile.in (BMAKE_VERSION): bump to 20060318 1282 * Merge with NetBSD make, pick up: 1283 o cleanup of job.c to remove remote handling, distcc is more 1284 useful and this code was likely bit-rotting - dsl 1285 o fix for :P modifier - sjg 1286 * boot-strap: set default prefix to something reasonable 1287 (for me anyway). 1288 12892006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 1290 1291 * Makefile.in (BMAKE_VERSION): bump to 20060301 1292 * Merge with NetBSD make, pick up: 1293 o make .WAIT apply recursively, document and test case - apb 1294 o allow variable modifiers in a variable appear anywhere in 1295 modifier list, document and test case - sjg 1296 12972006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 1298 1299 * Makefile.in (BMAKE_VERSION): bump to 20060222 1300 * Merge with NetBSD make, pick up: 1301 o improved job token handling - dsl 1302 o SIG_DFL the correct signal before exec - dsl 1303 o more debug info during parsing - dsl 1304 o allow variable modifiers to be specified via variable - sjg 1305 * boot-strap: explain why we died if no mksrc 1306 13072005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 1308 1309 * Makefile.in (BMAKE_VERSION): bump to 20051105 1310 * configure.in: always set default_sys_path 1311 default is ${prefix}/share/mk 1312 - remove prefix_sys_path, anyone wanting more than above 1313 needs to set it manually. 1314 13152005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1316 1317 * boot-strap: make this a bit easier for pkgsrc folk. 1318 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 1319 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 1320 13212005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 1322 1323 * Makefile.in (BMAKE_VERSION): bump to 20051102 1324 * job.c (JobFinish): fix likely ancient merge lossage 1325 fix from Todd Vierling. 1326 * boot-strap (srcdir): allow setting mksrc=none 1327 13282005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 1329 1330 * Makefile.in (BMAKE_VERSION): bump to 20051031 1331 * ranlib.h: skip on OSF too. 1332 (NetBSD PR 31864) 1333 13342005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 1335 1336 * Makefile.in (BMAKE_VERSION): bump to 20051002 1337 fix a silly typo 1338 13392005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1340 1341 * Makefile.in (BMAKE_VERSION): bump to 20051001 1342 support for UnixWare and some other systems, 1343 based on patches from pkgsrc/bootstrap 1344 13452005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1346 1347 * Makefile.in (BMAKE_VERSION): bump to 20050901 1348 * Merge with NetBSD make, pick up: 1349 o possible parse error causing us to wander off. 1350 13512005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 1352 1353 * Makefile.in (BMAKE_VERSION): bump to 20050606 1354 * Merge with NetBSD make, pick up: 1355 o :0x modifier for randomizing a list 1356 o fixes for a number of -Wuninitialized issues. 1357 13582005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 1359 1360 * Makefile.in (BMAKE_VERSION): bump to 20050530 1361 * Merge with NetBSD make, pick up: 1362 o Handle dependencies for .BEGIN, .END and .INTERRUPT 1363 1364 * README: was seriously out of date. 1365 13662005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1367 1368 * Important to use .MAKE rather than MAKE. 1369 13702005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 1371 1372 * Makefile.in (BMAKE_VERSION): bump to 20050315 1373 * Merge with NetBSD make, pick up: 1374 o don't mistake .elsefoo for .else 1375 o use suffix-specific search path correctly 1376 o bunch of style nits 1377 13782004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1379 1380 * boot-strap: 1381 o ensure that args to --src and --with-mksrc 1382 are resolved before giving them to configure. 1383 o add -o "objdir" so that builder can control it, 1384 default is $OS as determined by os.sh 1385 o add -q to suppress all the install instructions. 1386 13872004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 1388 1389 * Remove __IDSTRING() 1390 1391 * Makefile.in (BMAKE_VERSION): bump to 20040508 1392 * Merge with NetBSD make, pick up: 1393 o posix fixes 1394 - remove '-e' from compat mode 1395 - add support for '+' command-line prefix. 1396 o fix for handling '--' on command-line. 1397 o fix include in lst.lib/lstInt.h to simplify '-I's 1398 o we also picked up replacement of MAKE_BOOTSTRAP 1399 with !MAKE_NATIVE which is a noop, but possibly confusing. 1400 14012004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 1402 1403 * Makefile.in (BMAKE_VERSION): bump to 20040414 1404 * Merge with NetBSD make, pick up: 1405 o allow quoted strings on lhs of conditionals 1406 o issue warning when extra .else is seen 1407 o print line numer when errors encountered during parsing from 1408 string. 1409 14102004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 1411 1412 * Makefile.in (BMAKE_VERSION): bump to 20040220 1413 * Merge with NetBSD make, pick up: 1414 o fix for old :M parsing bug. 1415 o re-jigged unit-tests 1416 14172004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1418 1419 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 1420 so that './bmake -f Makefile test' works. 1421 14222004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 1423 1424 * Makefile.in: (BMAKE_VERSION): bump to 20040214 1425 * Merge with NetBSD make, pick up: 1426 o search upwards for *.mk 1427 o fix for double free of var substitution buffers 1428 o use of getopt replaced with custom code, since the usage 1429 (re-scanning) isn't posix compatible. 1430 14312004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 1432 1433 * arch.c: don't include ranlib.h on ELF systems 1434 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 1435 14362004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1437 1438 * Makefile.in (BMAKE_VERSION): bump to 20040118 1439 1440 * boot-strap (while): export vars we assign to on cmdline 1441 * unit-test/Makefile.in: ternary is .PHONY 1442 14432004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 1444 1445 * Makefile.in (BMAKE_VERSION): bump version to 20040108 1446 * Merge with NetBSD make, pick up: 1447 o fix for ternary modifier 1448 14492004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 1450 1451 * Makefile.in (BMAKE_VERSION): bump version to 20040105 1452 * Merge with NetBSD make, pick up: 1453 o fix for cond.c to handle compound expressions better 1454 o variable expansion within sysV style replacements 1455 14562003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 1457 1458 * Make portable snprintf safer - output to /dev/null first to 1459 check space needed. 1460 1461 * Makefile.in (BMAKE_VERSION): bump version to 20031222 1462 * Merge with NetBSD make, pick up: 1463 o -dg3 to show input graph when things go wrong. 1464 o explicitly look for makefiles in objdir if not found in curdir so 1465 that errors in .depend etc will be reported accurarely. 1466 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 1467 instead as it more accurately reflects the expected behavior and 1468 is more consistently implemented. 1469 o avoid use of asprintf. 1470 14712003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 1472 1473 * util.c: Add asprintf and vasprintf. 1474 1475 * Makefile.in (BMAKE_VERSION): bump version to 20030928 1476 * Merge with NetBSD make, pick up: 1477 :[] modifier - allows picking words from a variable. 1478 :tW modifier - allows treating value as one big word. 1479 W flag for :C and :S - allows treating value as one big word. 1480 14812003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 1482 1483 * Merge with NetBSD make 1484 pick up -de flag to enable printing failed command. 1485 don't skip 1st two dir entries (normally . and ..) since 1486 coda does not have them. 1487 14882003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1489 1490 * Makefile.in (BMAKE_VERSION): bump version to 20030909 1491 * Merge with NetBSD make, pick up: 1492 - changes for -V '${VAR}' to print fully expanded value 1493 cf. -V VAR 1494 - CompatRunCommand now prints the command that failed. 1495 - several files got updated 3 clause Berkeley license. 1496 14972003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 1498 1499 * boot-strap: Allow setting configure args on command line. 1500 15012003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 1502 1503 * configure.in: add --with-defshell to allow sh or ksh 1504 to be selected as default shell. 1505 1506 * Makefile.in: bump version to 20030731 1507 1508 * Merge with NetBSD make 1509 Pick up .SHELL spec for ksh and associate man page changes. 1510 Also compat mode now uses the same shell specs. 1511 15122003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 1513 1514 * var.c (Var_Parse): ensure delim is initialized. 1515 1516 * unit-tests/Makefile.in: use single quotes to avoid problems from 1517 some shells. 1518 1519 * makefile.boot.in: 1520 Run the unit-tests as part of the bootstrap procedure. 1521 15222003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1523 1524 * unit-tests/Makefile.in: always force complaints from 1525 ${TEST_MAKE} to be from 'make'. 1526 1527 * configure.in: add check for 'diff -u' 1528 also fix some old autoconf'isms 1529 1530 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 1531 if using GCC add -Wno-cast-qual to CFLAGS for var.o 1532 1533 * Merge with NetBSD make 1534 Pick up fix for :ts parsing error in some cases. 1535 Pick unit-tests. 1536 15372003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 1538 1539 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 1540 1541 * var.c (Var_Parse): fix bug in :ts modifier, after const 1542 correctness fixes, must pass nstr to VarModify. 1543 15442003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 1545 1546 * Makefile.in: BMAKE_VERSION switch to a date based version. 1547 We'll generally use the date of last import from NetBSD. 1548 1549 * Merge with NetBSD make 1550 Pick up fixes for const-correctness, now passes WARNS=3 on 1551 NetBSD. 1552 Pick up :ts modifier, allows controlling the separator used 1553 between words in variable expansion. 1554 15552003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 1556 1557 * FILES: include boot-strap and os.sh 1558 1559 * Makefile.in: only set WARNS if we are NetBSD, the effect on 1560 FreeBSD is known to be bad. 1561 1562 * makefile.boot.in (bootstrap): make this the default target. 1563 1564 * Makefile.in: bump version to 3.1.19 1565 1566 * machine.sh: avoid A-Z with tr as it is bound to lose. 1567 15682003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 1569 1570 * Merge with NetBSD make 1571 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 1572 Plus some doc fixes. 1573 15742003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 1575 1576 * Merge with NetBSD make 1577 Pick up fix for PR/1523 - don't count a library as built, if there 1578 is no way to build it 1579 1580 * Bump version to 3.1.18 1581 15822003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 1583 1584 * Merge with NetBSD make 1585 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 1586 appears in src list. 1587 15882003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 1589 1590 * Merge with NetBSD make (mmm 10th anniversary!) 1591 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 1592 pick up -X which tells us to not export VAR=val via setenv if 1593 we are already doing so via MAKEFLAGS. This saves valuable env 1594 space on systems like Darwin. 1595 set MAKE_VERSION to 3.1.17 1596 1597 * parse.c: pix up fix for suffix rules 1598 15992003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 1600 1601 * Merge with NetBSD make. 1602 pick up fix for propagating -B via MAKEFLAGS. 1603 set MAKE_VERSION to 3.1.16 1604 1605 * Apply some patches from pkgsrc-bootstrap/bmake 1606 Originally by Grant Beattie <grant@netbsd.org> 1607 I may have missed some - since they are based on bmake-3.1.12 1608 16092002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 1610 1611 * makefile.boot.in (bmake): update install targets for those that 1612 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 1613 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 1614 1615 * bmake.cat1: update the pre-formatted man page! 1616 16172002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 1618 1619 * Merge with NetBSD make. 1620 pick up fix for premature free of pointer used in call 1621 to Dir_InitCur(). 1622 set MAKE_VERSION to 3.1.15 1623 16242002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 1625 1626 * configure.in: determine suitable value for MKSRC. 1627 override using --with-mksrc=PATH. 1628 1629 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 1630 configs(8) will use 'sun4' as an alias for 'sparc'. 1631 16322002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 1633 1634 * Merge with NetBSD make. 1635 pick up ${.PATH} 1636 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 1637 set MAKE_VERSION to 3.1.14 1638 add configure checks for killpg and sys/socket.h 1639 16402002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 1641 1642 * tag bmake-3-1-13 1643 1644 * makefile.boot.in (bmake): use install-mk 1645 Also setup ./mk before trying to invoke bmake.boot incase we 1646 needed install-mk to create a sys.mk for us. 1647 1648 * configure.in: If we need to add -I${srcdir}/missing, make it an 1649 absolute path so that it works for lst.lib too. 1650 1651 * make.h: always include sys/cdefs.h since we provide one if the 1652 host does not. 1653 1654 * Makefile.in (install-mk): 1655 use MKSRC/install-mk which will do the right thing. 1656 use uname -p for ARCH if possible. 1657 since install-mk will setup links bsd.prog.mk -> prog.mk if 1658 needed, just .include bsd.prog.mk 1659 1660 * Merge with NetBSD make (NetBSD-1.6) 1661 Code is ansi-C only now. 1662 Bug in handling of dotLast is fixed. 1663 Can now assign .OBJDIR and make will reset its notions of life. 1664 New modifiers :tu :tl for toUpper and toLower. 1665 1666Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 1667 1668 * Merge with NetBSD make 1669 pick up fix for .END failure in compat mode. 1670 pick up fix for extra va_end() in ParseVErrorInternal. 1671 1672Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 1673 1674 * configure.in: for systems that have sys/cdefs.h check if it is 1675 compatible. If not, include the one under missing, but tell it to 1676 include the native one too - necessary on Linux. 1677 1678 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 1679 include_next (for gcc) to get the native sys/cdefs.h 1680 1681Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1682 1683 * job.c (JobFinish): Fix an earlier merge bug that resulted in 1684 leaking descriptors when using -jN. 1685 1686 * job.c (JobPrintCommand): See if "curdir" exists before 1687 attempting to chdir(). Doing the chdir directly in make (when in 1688 compat mode) fails silently, so let the -jN version do the same. 1689 This can happen when building kernels in an object tree and 1690 playing clever games to reset .CURDIR. 1691 1692 * Merged with NetBSD make 1693 pick up .USEBEFORE 1694 1695Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1696 1697 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 1698 1699Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1700 1701 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 1702 us not to export the iterator variable when using VAR_CMD context. 1703 1704Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1705 1706 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 1707 its the wrong "fix". 1708 1709Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1710 1711 * Redesigned export of VAR_CMD's via MAKEFLAGS. 1712 We now simply append the variable names to .MAKEOVERRIDES, and 1713 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 1714 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 1715 Apart from fixing quoting bugs in previous version, this allows us 1716 to export vars to the environment by simply doing: 1717 .MAKEOVERRIDES+= PATH 1718 Merged again with NetBSD make, but the above is the only change. 1719 1720 * configure.in: added 1721 --disable-pwd-override disable $PWD overriding getcwd() 1722 --disable-check-make-chdir disable make trying to guess 1723 when it should automatically cd ${.CURDIR} 1724 1725 * Merge with NetBSD make, changes include: 1726 parse.c (ParseDoDependency): Spot that the syntax error is 1727 caused by an unresolved cvs/rcs conflict and say so. 1728 var.c: most of Var* functions now take a ctxt as 1st arg. 1729 now does variable substituion on rhs of sysv style modifiers. 1730 1731 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 1732 is now done here. We append the name='value' to .MAKEOVERRIDES 1733 rather than directly into MAKEFLAGS as this allows a Makefile to 1734 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 1735 very similar mechanism. Note that in adding name='value' to 1736 .MAKEOVERRIDES we do the moral equivalent of: 1737 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 1738 1739Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1740 1741 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 1742 1743 * Merged with NetBSD make 1744 make -dx can now be used to run commands via sh -x 1745 better error messages on exec failures. 1746 1747Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1748 1749 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 1750 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 1751 MACHINE etc otherwise they propagate from the previous bmake. 1752 1753 * configure.in (machine): allow --with-machine=generic to make 1754 configure use machine.sh to set MACHINE. 1755 1756 * job.c (JobInterrupt): convert to using WAIT_T and friends. 1757 1758 * Makefile.in: mention in bmake.1 that we use autoconf. 1759 1760 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 1761 1762Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1763 1764 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 1765 as that rather defeats the usefulness of ${MAKEFILE}. 1766 1767 * main.c (MainParseArgs): append command line variable assignments 1768 to MAKEFLAGS so that they get propagated to child make's. 1769 Apparently this is required POSIX behaviour? Its useful anyway. 1770 1771Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1772 1773 * compat.c (CompatRunCommand): don't use perror() since stdio may 1774 cause problems in child of vfork(). 1775 1776 * compat.c, main.c: Call PrintOnError() when we are going to bail. 1777 This routine prints out the .curdir where we stopped and will also 1778 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 1779 1780 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 1781 :@ expansion. 1782 1783 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 1784 1785 * Added RCSid's for the files we've touched. 1786 1787Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1788 1789 * configure.in: Thanks to some clues from mdb@juniper.net, 1790 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 1791 as well as what ends up in _PATH_DEFSYSPATH. We now have: 1792 1793 --with-machine=MACHINE explicitly set MACHINE 1794 --with-force-machine=MACHINE set FORCE_MACHINE 1795 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 1796 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 1797 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 1798 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 1799 1800 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 1801 1802 * makefile: added a pathetically simple makefile to drive 1803 bootstrapping. Running configure by hand is more useful. 1804 1805 * Makefile.in: added MAKE_VERSION, and reworked things to be less 1806 dependent on NetBSD bsd.*.mk 1807 1808 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 1809 _PATH_OBJDIRPREFIX for those that don't want a default. 1810 construct _PATH_DEFSYSPATH from the info we get from configure. 1811 1812 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 1813 if MAKE_VERSION is defined. 1814 1815 * compat.c: when we bail, print out the .CURDIR we were in. 1816 1817Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1818 1819 * Merged with NetBSD make 1820 1821 * var.c: fixed a bug in the handling of the modifier :P 1822 if the node as found but the path was null, we segfault trying to 1823 duplicate it. 1824 1825Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1826 1827 * Merged with NetBSD make 1828 1829 * make.c: Make_OODate's test for a library out of date was using 1830 cmtime where it should have used mtime (my bug). 1831 1832 * compat.c: Use perror() to tell us what really went wrong when we 1833 cannot exec a command. 1834 1835Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1836 1837 * Merged with NetBSD make 1838 1839Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1840 1841 * Merged with NetBSD make 1842 1843Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1844 1845 * Merged with NetBSD make 1846 1847Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1848 1849 * Merged with NetBSD make 1850 1851Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1852 1853 * util.c: don't provide signal() since we use sigcompat.c 1854 1855 * Makefile.in: added a build target. 1856 1857 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 1858 These allow some quite clever magic. 1859 1860 * main.c (main): added support for getenv(MAKESYSPATH). 1861 1862Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1863 1864 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 1865 This avoids objdir having a different value depending on how a 1866 directory was reached (via command line, or subdir.mk). 1867 1868 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 1869 1870Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1871 1872 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 1873 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 1874 I've been testing this in NetBSD's make for some weeks. 1875 1876 * Turn Makefile into Makefile.in and make it useful. 1877 1878Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1879 1880 * Imported NetBSD's -current make(1) and resolve conflicts. 1881 1882 * Applied autoconf patches from bmake v2 1883 1884 * Imported clean code base from NetBSD-1.0 1885