12021-03-14 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * VERSION (_MAKE_VERSION): 20210314 4 Merge with NetBSD make, pick up 5 o var.c: avoid evaluating many modifiers in parse only mode 6 in strict mode (-dL) many variable references are parsed twice, 7 the first time just to report parse errors early, so we want to 8 avoid side effects and wasted effort to the extent possible. 9 102021-02-26 Simon J Gerraty <sjg@beast.crufty.net> 11 12 * VERSION (_MAKE_VERSION): 20210226 13 Merge with NetBSD make, pick up 14 o remove freestanding freeIt variables 15 link via FStr 16 o var.c: restructure code in ParseVarname to target human readers 17 improve error message for; 18 bad modifier in variable expression 19 unclosed modifier 20 unknown modifier 21 remove redundant parameter of ApplySingleModifier 22 explain non-obvious code around indirect variable modifiers 23 quote ':S' in error message about missing delimiter 24 extract ParseModifier_Match into separate function 25 add context information to error message about ':range' modifier 26 add quotes around variable name in an error message 27 reorder code in ModifyWords 28 use more common parameter order for VarSelectWords 29 make ModifyWord_Subst a little easier to understand 30 do not expand variable name from the command line twice 31 extract ExistsInCmdline from Var_SetWithFlags 32 save a hash map lookup when defining a cmdline variable 33 clean up VarAdd, Var_Delete, Var_ReexportVars 34 use bit-shift expressions for VarFlags constants 35 rename constants for VarFlags 36 rename ExprDefined constants for debug logging 37 rename ExprStatus to ExprDefined 38 split parameters for evaluating variable expressions 39 reduce redundant code around ModifyWords 40 print error about failed shell command before overwriting variable 41 clean up ValidShortVarname, ParseVarnameShort 42 rename VarExprStatus to ExprStatus 43 add functions for assigning the value of an expression 44 rename ApplyModifiersState_Define to Expr_Define 45 condense the code for parsing :S and :C modifiers 46 472021-02-06 Simon J Gerraty <sjg@beast.crufty.net> 48 49 * VERSION (_MAKE_VERSION): 20210206 50 Merge with NetBSD make, pick up 51 o unit-tests: use private TMPDIR to avoid errors from other users 52 532021-02-05 Simon J Gerraty <sjg@beast.crufty.net> 54 55 * VERSION (_MAKE_VERSION): 20210205 56 Merge with NetBSD make, pick up 57 o avoid strdup in mkTempFile 58 o always use vfork 59 o rename context and ctxt to scope 60 o rename some VAR constants to SCOPE 61 o Var_ functions, move the scope to the front 62 o use shortcut functions Global_Set and Global_Append 63 o add shortcut Global_Delete for deleting a global variable 64 o rename Var_Delete to Var_DeleteExpand, Var_DeleteVar to Var_Delete 65 o compat.c: when exiting due to an error, print graph information 66 o enum.c: remove overengineered Enum_ValueToString 67 o make.c: remove unused INTERNAL flag 68 remove unused return type of MakeBuildParent 69 o parse.c: replace parse error "Need an operator" with better message 70 o var.c: improve documentation about variable scopes 71 rename Var_ValueDirect to GNode_ValueDirect 72 rename old Var_SetWithFlags to Var_SetExpandWithFlags 73 merge SetVar into Var_SetWithFlags 74 split Var_Exists into plain Var_Exists and Var_ExistsExpand 75 split Var_Append into Var_Append and Var_AppendExpand 76 replace enum bit-set with bit-field 77 o unit-tests/var-op-shell: use kill rather than kill -14 78 which broke on darwin with recent update. 79 802021-02-01 Simon J Gerraty <sjg@beast.crufty.net> 81 82 * configure.in: check for sig_atomic_t and define it as 'int' 83 if missing. 84 85 * VERSION (_MAKE_VERSION): 20210201 86 Merge with NetBSD make, pick up 87 o use sig_atomic_t for caught_sigchld 88 892021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 90 91 * VERSION (_MAKE_VERSION): 20210130 92 Merge with NetBSD make, pick up 93 o more unit tests 94 o convert SearchPath to struct 95 o split Buf_Destroy into Buf_Done and Buf_DoneData 96 o for.c: split For_Eval into separate functions 97 rename struct For to struct ForLoop 98 o job.c: do not create empty shell files in jobs mode 99 rename JobOpenTmpFile to JobWriteShellCommands 100 reduce unnecessary calls to waitpid 101 o parse.c: in -dp mode, print stack trace with each diagnostic 102 1032021-01-23 Simon J Gerraty <sjg@beast.crufty.net> 104 105 * VERSION (_MAKE_VERSION): 20210123 106 Merge with NetBSD make, pick up 107 o rename Dir_Expand to SearchPath_Expand 108 o rename Dir_AddDir, reorder parameters of SearchPath_ToFlags 109 o cond.c: fix debug output for comparison operators in conditionals 110 o dir.c: split Dir_FindFile into separate functions 111 1122021-01-20 Simon J Gerraty <sjg@beast.crufty.net> 113 114 * VERSION (_MAKE_VERSION): 20210120 115 Merge with NetBSD make, pick up 116 o fix some more lint nits 117 o refine some unit tests for portability 118 o cond.c: rework parsing 119 1202021-01-10 Simon J Gerraty <sjg@beast.crufty.net> 121 122 * VERSION (_MAKE_VERSION): 20210110 123 Merge with NetBSD make, pick up 124 o fix lint warnings 125 o consistently use boolean expressions in conditions 126 1272021-01-08 Simon J Gerraty <sjg@beast.crufty.net> 128 129 * VERSION (_MAKE_VERSION): 20210108 130 Merge with NetBSD make, pick up 131 o job.c: back to polling token pipe if we want a token 132 o main.c: always print 'stopped in' on first call 133 The execption is if we bail because of an abort token 134 in which case just exit 6. 135 1362021-01-01 Simon J Gerraty <sjg@beast.crufty.net> 137 138 * VERSION (_MAKE_VERSION): 20210101 139 Merge with NetBSD make, pick up 140 o Happy New Year! 141 o rename CmdOpts.lint to strict 142 o exit 2 on technical errors 143 o replace pointers in controlling conditions with booleans 144 o replace global preserveUndefined with VARE_KEEP_UNDEF 145 o compat.c: re-export variables from the actual make process 146 if using vfork this is the effect anyway 147 o cond.c: clean up VarParseResult constants 148 o for.c: fix undefined behavior in SubstVarLong 149 make control flow in SubstVarLong of .for loops more obvious 150 clean up SubstVarShort in .for loops 151 extract ForSubstBody from ForReadMore 152 clean up ForReadMore 153 simplify termination condition for .for loop 154 add error handling for .for loop items 155 job.c: re-export variables from the actual make process 156 parse.c: remove mmap for loading files, only allow files < 1 GiB 157 fix edge case in := with undefined in variable name 158 skip variable expansion in ParseDependencyTargetWord 159 var.c: split ExportVar into separate functions 160 clean up code in extracted ExportVar functions 161 remove dead code from ApplyModifiersIndirect 162 split Var_Subst into easily understandable functions 163 clean up VarParseResult constants 164 1652020-12-25 Simon J Gerraty <sjg@beast.crufty.net> 166 167 * main.c: use .MAKE.DEPENDFILE as set by makefiles 168 1692020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 170 171 * VERSION (_MAKE_VERSION): 20201222 172 Merge with NetBSD make, pick up 173 o make DEBUG macro return boolean 174 o parse.c: fix assertion failure for files without trailing newline 175 o var.c: allow .undef to undefine multiple variables at once 176 remove excess newline from parse errors 177 1782020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 179 180 * VERSION (_MAKE_VERSION): 20201221 181 Merge with NetBSD make, pick up 182 o some unit-test updates 183 1842020-12-20 Simon J Gerraty <sjg@beast.crufty.net> 185 186 * VERSION (_MAKE_VERSION): 20201220 187 Merge with NetBSD make, pick up 188 o more unit tests 189 o return FStr from Var_Parse and Var_Value 190 o spell nonexistent consistently 191 o add str_basename to reduce duplicate code 192 o compat.c: fix .ERROR_TARGET in compat -k mode 193 extract InitSignals from Compat_Run 194 extract UseShell from Compat_RunCommand 195 o cond.c: error out if an '.endif' or '.else' contain extraneous text 196 o for.c: rename ForIterate to ForReadMore 197 o hash.c: clean up hash function for HashTable 198 o lst.c: rename Vector.priv_cap to cap 199 o main.c: remove constant parameter from MakeMode 200 o make.c: use symbolic time for 0 in Make_Recheck 201 extract MakeChildren from MakeStartJobs 202 o parse.c: clean up memory handling in VarAssign_EvalShell, Parse_DoVar 203 fix error message for .info/.warning/.error without argument 204 extract Var_Undef from ParseDirective 205 extract ParseSkippedBranches, ParseForLoop from ParseReadLine 206 rename mode constants for ParseGetLine to be more expressive 207 reduce debugging details in Parse_SetInput 208 fix line numbers in .for loops 209 split ParseGetLine into separate functions 210 fix garbled output for failed shell command 211 var.c: remove redundant assignment in ApplyModifier_SysV 212 error out on unknown variable modifiers at parse time 213 remove wrong error message for indirect modifier in lint mode 214 extract ApplySingleModifier from ApplyModifiers 215 use FStr for memory management in Var_SetWithFlags 216 extract SetVar from Var_SetWithFlags 217 use FStr in VarNew 218 extract string functions from ApplyModifier_To 219 error out if .undef has not exactly 1 argument 220 extract Var_DeleteVar from Var_Delete 221 extract Var_Undef from ParseDirective 222 clean up memory management for expanding variable expressions 223 2242020-12-12 Simon J Gerraty <sjg@beast.crufty.net> 225 226 * avoid %zu 227 228 * lst.c: avoid anonymous union 229 230 * VERSION (_MAKE_VERSION): 20201212 231 Merge with NetBSD make, pick up 232 o more unit tests 233 o inline Targ_Ignore and Targ_Silent 234 o split JobFlags into separate fields 235 o remove const from function parameters (left overs from refactoring) 236 o eliminate boolean argument of Var_Export 237 o make API of Buf_Init simpler 238 o rename ParseRunOptions to ParseCommandFlags 239 o replace *line with line[0] 240 o compat.c: fix wrong exit status for multiple failed main targets 241 refactor Compat_Run to show the error condition more clearly 242 don't make .END if the main targets already failed (-k mode) 243 fix exit status in -k mode if a dependency fails 244 o for.c: clean up Buf_AddEscaped in .for loops 245 o job.c: extract ShellWriter_ErrOn from JobPrintCommand 246 make Job_Touch simpler 247 refactor JobFinish 248 rename Shell.exitFlag to errFlag 249 move Job.xtraced to ShellWriter 250 make printing of shell commands independent from the job 251 rename shell flags in struct Shell 252 extract JobOpenTmpFile from JobStart 253 rename RunFlags to CommandFlags 254 split various Job.* into separate fields 255 rename commandShell to shell 256 extract InitShellNameAndPath from Shell_Init 257 replace signal handling macros with local functions 258 replace macro MESSAGE with local function 259 parse.c: error out on null bytes in makefiles 260 error out on misspelled directives 261 rename IFile.nextbuf to readMore 262 fix undefined behavior in ParseEOF 263 str.c: remove redundant call to strlen in Str_Words 264 var.c: error out on misspelled .unexport-env 265 error out on misspelled .export directives 266 extract ExportVars from Var_Export 267 extract ExportVarsExpand from Var_Export 268 eliminate boolean argument of Var_Export 269 fix undefined behavior when exporting ${:U } 270 rename Var_ExportVars to Var_ReexportVars 271 rename Var_Export1 to ExportVar 272 2732020-12-06 Simon J Gerraty <sjg@beast.crufty.net> 274 275 * VERSION (_MAKE_VERSION): 20201206 276 Merge with NetBSD make, pick up 277 o more unit tests 278 o inline macros for debug logging 279 o use consistent variable names for list nodes 280 o define constants for enum zero-values 281 o dir.c: use fixed format for debug output of the directory cache 282 remove Dir_InitDir 283 o lst.c: inline Lst_Enqueue, Vector_Done 284 o meta.c: remove unused parameter from meta_needed 285 o parse.c: rename parse functions 286 o suff.c: extract ExpandChildrenRegular from ExpandChildren 287 o targ.c: don't concatenate identifiers in Targ_PrintType 288 o var.c: remove comment decoration 289 extract UnexportVars from Var_UnExport 290 extract GetVarnamesToUnexport from Var_UnExport 291 extract UnexportEnv from Var_UnExport 292 extract UnexportVar from Var_UnExport 293 move CleanEnv to UnexportVars 294 replace pointer comparisons with enum 295 add FStr to var.c to make memory handling simpler 296 use FStr in Var_UnExport 297 move type definitions in var.c to the top 298 extract FreeEnvVar from Var_Parse 299 extract ShuffleStrings from ApplyModifier_Order 300 3012020-11-30 Simon J Gerraty <sjg@beast.crufty.net> 302 303 * VERSION (_MAKE_VERSION): 20201130 304 Merge with NetBSD make, pick up 305 o add unit tests for META MODE 306 o reduce memory allocation for dirSearchPath, GNode.parents, 307 GNode.children, OpenDirs 308 o reduce pointer indirection for GNode.cohorts and 309 GNode.implicitParents 310 o remove pointer indirection from GNode.commands 311 o inline Lst_ForEachUntil in meta mode 312 o dir.c: fix memory leak for lstat cache in -DCLEANUP mode 313 clean up memory management for CachedDirs 314 fix the reference count of dotLast going negative 315 add debug logging for OpenDirs_Done 316 extract CacheNewDir from Dir_AddDir 317 add debug logging for reference counting of CachedDir 318 rename some Dir functions to SearchPath 319 o job.c: rename some global variables 320 o main.c: reduce memory allocation in ReadBuiltinRules 321 reduce memory allocation in CmdOpts.create, CmdOpts.variables, 322 CmdOpts.makefiles 323 Add .MAKE.UID and .MAKE.GID 324 o make.c: reduce memory allocation for/in toBeMade, 325 Make_ProcessWait, Make_ExpandUse 326 o meta.c: reduce memory allocation in meta_oodate 327 o parse.c: reduce memory allocations for parsing dependencies and 328 targets 329 o suff.c: reduce memory allocation in suffix handling 330 3312020-11-24 Simon J Gerraty <sjg@beast.crufty.net> 332 333 * VERSION (_MAKE_VERSION): 20201124 334 Merge with NetBSD make, pick up 335 o .MAKE.{UID,GID} represent uid and gid running make. 336 o fix error handling for .BEGIN and .END dependency in -k mode 337 o fix missing "Stop." after failed .END node in -k mode 338 o use properly typed comparisons in boolean contexts 339 o replace a few HashTable_CreateEntry with HashTable_Set 340 o add HashSet type 341 o compat.c: split Compat_Make into smaller functions 342 extract DebugFailedTarget from Compat_RunCommand 343 o dir.c: refactor Dir_UpdateMTime 344 migrate CachedDir.files from HashTable to HashSet 345 o make.c: add high-level API for GNode.made 346 3472020-11-22 Simon J Gerraty <sjg@beast.crufty.net> 348 349 * VERSION (_MAKE_VERSION): 20201122 350 Merge with NetBSD make, pick up 351 o rename GNode.context to vars 352 o suff.c: cleanup and refactor 353 rename some functions and vars to better reflect usage 354 add high-level API for CandidateSearcher 355 o targ.c: add more debug logging for suffix handling 356 o more unit tests 357 o add debug logging for setting and resetting the main target 358 3592020-11-17 Simon J Gerraty <sjg@beast.crufty.net> 360 361 * VERSION (_MAKE_VERSION): 20201117 362 Merge with NetBSD make, pick up 363 o fix some unit-tests when .SHELL is dash 364 o rename Targ_NewGN to GNode_New 365 o make some GNode functions const 366 o main.c: call Targ_Init before Var_Init 367 cleanup PrintOnError, getTmpdir and ParseBoolean 368 o var.c: fix error message of failed :!cmd! modifier 369 3702020-11-14 Simon J Gerraty <sjg@beast.crufty.net> 371 372 * VERSION (_MAKE_VERSION): 20201114 373 Merge with NetBSD make, pick up 374 o replace a few HashTable_CreateEntry with HashTable_Set 375 o clean up cached_stats 376 o rename DEFAULT to defaultNode 377 o remove redundant struct make_stat 378 o cond.c: in lint mode, check for ".else <cond>" 379 use bitset for IfState 380 replace large switch with if-else in Cond_EvalLine 381 o job.c: clean up JobExec, JobStart, JobDoOutput 382 use stderr for error message about failed touch 383 clean up Job_Touch 384 replace macro DBPRINTF with JobPrintln 385 rename JobState to JobStatus 386 main.c: switch cache for realpath from GNode to HashTable 387 clean up Fatal 388 clean up InitDefSysIncPath 389 use progname instead of hard-coded 'make' in warning 390 rename Main_SetVarObjdir to SetVarObjdir 391 make.1: document the -S option 392 make.c: fix debug output for GNode details 393 use symbolic names in debug output of GNodes 394 3952020-11-12 Simon J Gerraty <sjg@beast.crufty.net> 396 397 * configure.in: fix --with-force-machine-arch 398 399 * VERSION (_MAKE_VERSION): 20201112 400 Merge with NetBSD make, pick up 401 o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable 402 checks in InitObjdir. Explicit .OBJDIR target always allows 403 read-only directory. 404 o cond.c: clean up Cond_EvalLine 405 4062020-11-11 Simon J Gerraty <sjg@beast.crufty.net> 407 408 * VERSION (_MAKE_VERSION): 20201111 409 Merge with NetBSD make, pick up 410 o more unit-tests 411 o style cleanup 412 remove redundant parentheses from sizeof operator 413 replace character literal 0 with '\0'. 414 replace pointer literal 0 with NULL. 415 remove redundant parentheses. 416 replace (expr & mask) == 0 with !(expr & mask). 417 use strict typing in conditions of the form !var 418 o rename Make_OODate to GNode_IsOODate 419 o rename Make_TimeStamp to GNode_UpdateYoungestChild 420 o rename Var_Set_with_flags to Var_SetWithFlags 421 o rename dieQuietly to shouldDieQuietly 422 o buf.c: make API of Buf_Init simpler 423 o compat.c: clean up Compat_Make, Compat_RunCommand, 424 CompatDeleteTarget and CompatInterrupt 425 o cond.c: in lint mode, only allow '&&' and '||', not '&' and '|' 426 clean up CondParser_Comparison 427 o main.c: rename getBoolean and s2Boolean 428 rename MAKEFILE_PREFERENCE for consistency 429 o parse.c: replace strstr in ParseMaybeSubMake with optimized code 430 o var.c: rename VARE_ASSIGN to VARE_KEEP_DOLLAR 431 replace emptyString with allocated empty string 432 error out on unclosed expressions after the colon 433 4342020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 435 436 * VERSION (_MAKE_VERSION): 20201101 437 Merge with NetBSD make, pick up 438 o negate NoExecute to GNode_ShouldExecute 439 o job.c: rename JobMatchShell to FindShellByName 440 extract EscapeShellDblQuot from JobPrintCommand 441 extract ParseRunOptions from JobPrintCommand 442 o var.c: extract ApplyModifiersIndirect from ApplyModifiers 443 treat malformed :range, :ts and :[...] as errors 444 add tests for the variable modifiers :[words] and :range 445 4462020-10-31 Simon J Gerraty <sjg@beast.crufty.net> 447 448 * VERSION (_MAKE_VERSION): 20201031 449 Merge with NetBSD make, pick up 450 o format #include directives consistently 451 o do not look up local variables like .TARGET anywhere else 452 o main.c: Main_SetObjdir is first called for curdir which may be 453 readonly 454 reduce the scope where recursive expressions are detected 455 remove redundant :tl from getBoolean 456 clean up mkTempFile 457 o meta.c: simplify memory allocation in meta_create and meta_oodate 458 o parse.c: extract loadedfile_mmap from loadfile 459 o trace.c: document possible undefined behavior with .CURDIR 460 o var.c: make parsing of the :gmtime and :localtime modifiers stricter 461 rename ismeta to is_shell_metachar 462 remove debug logging for the :Q variable modifier 463 rename VarIsDynamic to VarnameIsDynamic 464 use consistent parameter order in varname parsing functions 465 extract ParseVarnameLong from Var_Parse 466 extract ParseVarnameShort from Var_Parse 467 fix type of ParseModifierPart parameter delim 468 extract IsEscapedModifierPart from ParseModifierPart 469 clean up ModifyWords 470 add test for combining the :@ and :? variable modifiers 471 4722020-10-30 Simon J Gerraty <sjg@beast.crufty.net> 473 474 * VERSION (_MAKE_VERSION): 20201030 475 Merge with NetBSD make, pick up 476 o change char * to void * in Var_Value 477 o make iterating over HashTable simpler 478 o rename VAR_CMD to VAR_CMDLINE 479 o cond.c: clean up is_separator 480 fix parse error in string literal in conditional 481 o main.c: do not use objdir that is not writable 482 in lint mode, exit with error status on errors 483 o parse.c: clean up StrContainsWord 484 fix out-of-bounds pointer in ParseTrackInput 485 o var.c: rename Str_SYSVMatch and its parameters 486 remove unsatisfiable conditions in Var_Set_with_flags 487 document where the variable name is expanded 488 fix documentation for VARP_SUB_ONE 489 rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME 490 document VAR_READONLY 491 prevent appending to read-only variables 492 extract MayExport from Var_Export1 493 remove redundant evaluations in VarFind 494 replace VarFindFlags with a simple Boolean 495 rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE 496 4972020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 498 499 * VERSION (_MAKE_VERSION): 20201028 500 Merge with NetBSD make, pick up 501 o rename defIncPath to defSysIncPath 502 o initialize all CmdOpts fields 503 o lst.c: inline Vector_Get 504 o main.c: refactor main extract 505 InitMaxJobs,InitObjdir,InitVarMake,InitRandom, 506 ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules, 507 InitDefIncPath,CmdOpts_Init,UnlimitFiles 508 o parse.c: merge curFile into includes 509 rename predecessor to order_pred 510 sort ParseSpecial alphabetically 511 remove unused, undocumented .NOEXPORT 512 rename ParseSpecial enum values consistently 513 rename some fields of struct IFile 514 5152020-10-26 Simon J Gerraty <sjg@beast.crufty.net> 516 517 * VERSION (_MAKE_VERSION): 20201026 518 Merge with NetBSD make, pick up 519 o group the command line options and arguments into a struct 520 o rename GNode.cmgn to youngestChild 521 o rename hash functions to identify the type name 522 o negate OP_NOP and rename it to GNode_IsTarget 523 o add GNode_Path to access the path of a GNode 524 o remove macros MIN and MAX 525 o remove unused Lst_Find and Lst_FindFrom 526 o arch.c: and make Arch_FindLib simpler 527 clean up code layout 528 make Arch_ParseArchive simpler 529 o cond.c: inline CondFindStrMatch into FuncMake 530 o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath 531 omit trailing space in debug output for expanding file patterns 532 refactor DirMatchFiles 533 document that the SearchPath of Dir_FindFile may be NULL 534 remove UNCONST from Dir_Expand 535 inline DirFindName 536 o for.c: clean up code for handling .for loops 537 o hash.c: print hash in debug log with fixed width 538 clean up hash table functions 539 reduce amount of string hashing 540 o job.c: refactor JobDeleteTarget 541 use proper enum constants for aborting 542 convert result of JobStart from macros to enum 543 convert abort reason macros to enum 544 rework Job_CheckCommands to reduce indentation 545 rename Shell fields 546 add field names in declaration of DEFSHELL_CUSTOM 547 convert JobState and JobFlags to enum types 548 move handling of the "..." command to JobPrintCommands 549 o lst.c: clean up 550 refactor LstNodeNew 551 remove Lst_Open, Lst_Next, Lst_Close 552 remove code for circular lists from Lst_Next 553 o main.c: do not attempt to read .MAKE.DEPENFILE if set to 554 /dev/null or anything starting with "no" 555 convert macros for debug flags into enum 556 o make.c: inline Lst_Copy in Make_ExpandUse 557 o meta.c: inline Lst_Find in meta_oodate 558 make Lst_RemoveIf simpler in meta_oodate 559 o parse.c: convert error level for Parse_Error to an enum 560 o suff.c: properly terminate debug output with newline 561 add more details to DEBUG_SRC log 562 replace Dir_CopyDir with Dir_CopyDirSearchPath 563 don't modify GNode name while rebuilding the suffix graph 564 o var.c: reduce duplicate code in VarFind 565 5662020-10-22 Simon J Gerraty <sjg@beast.crufty.net> 567 568 * VERSION (_MAKE_VERSION): 20201022 569 Merge with NetBSD make, pick up 570 o more refactoring and simplification to reduce code size 571 o var.c: extract CanonicalVarname from VarFind 572 o make.c: extract UpdateImplicitParentsVars from Make_Update 573 o main.c: extract PrintVar from doPrintVars 574 extract HandlePWD from main 575 o lst.c: inline simple Lst getters 576 remove unused Lst_ForEach 577 o job.c: move struct Shell from job.h to job.c 578 o more unit tests 579 5802020-10-19 Simon J Gerraty <sjg@beast.crufty.net> 581 582 * configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT 583 5842020-10-18 Simon J Gerraty <sjg@beast.crufty.net> 585 586 * VERSION (_MAKE_VERSION): 20201018 587 Merge with NetBSD make, pick up 588 o remove USE_IOVEC 589 o rename some Hash_* apis to Hash* 590 o replace execError with execDie 591 o rename Lst_Init to Lst_New 592 o add tags to enum types 593 o rename Stack to Vector 594 o parse.c: more refactoring 595 o unit-tests: make some tests use line buffered stdout 596 o unit-tests/Makefile: in meta mode do not make all tests depend on 597 Makefile, it isn't necessary. 598 5992020-10-10 Simon J Gerraty <sjg@beast.crufty.net> 600 601 * main.c: check for CTL_HW being defined. 602 * unit-tests/Makefile: ensure export tests output are POSIX compliant 603 disable opt-debug-jobs test until it works on ubuntu 604 605 * VERSION (_MAKE_VERSION): 20201010 606 Merge with NetBSD make, pick up 607 o dir.c: remove pathname limit for Dir_FindHereOrAbove 608 o hash.c: replace strcpy with memcpy in Hash_CreateEntry 609 o main.c: extract init_machine and init_machine_arch from main 610 allow to disable debug logging options 611 o parse.c: enable format string truncation warnings 612 extract parsing of sources from ParseDoDependency 613 split ParseDoSrc into smaller functions 614 hide implementation details from Parse_DoVar 615 clean up parsing of variable assignments 616 split Parse_DoVar into manageable pieces 617 don't modify the given line during Parse_DoVar 618 fix out-of-bounds memory access in Parse_DoVar 619 fix parsing of the :sh assignment modifier 620 o var.c: rework memory allocation for the name of variables 621 extract ApplyModifier_Literal into separate function 622 in lint mode, reject modifiers without delimiter 623 do not export variable names starting with '-' 624 o fix double-free bug in -DCLEANUP mode 625 o more cleanup to enable higher warnings level 626 o more unit tests 627 6282020-10-02 Simon J Gerraty <sjg@beast.crufty.net> 629 630 * VERSION (_MAKE_VERSION): 20201002 631 Merge with NetBSD make, pick up 632 o dir.c: use hash table for looking up open directories by name 633 o main.c: clean up option handling 634 o parse.c: add missing const for Parse_AddIncludeDir 635 o var.c: ApplyModifier_To, update pp in each branch 636 o remove redundant function prototypes 637 o more unit tests 638 6392020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 640 641 * VERSION (_MAKE_VERSION): 20201001 642 Merge with NetBSD make, pick up 643 o compat.c: comment about "..." 644 6452020-09-30 Simon J Gerraty <sjg@beast.crufty.net> 646 647 * VERSION (_MAKE_VERSION): 20200930 648 Merge with NetBSD make, pick up 649 o job.c: split Job.jobPipe into 2 separate fields 650 replace Lst_Open with direct iteration 651 o lst.c: remove redundant assertions 652 o targ.c: replace Lst_Open with direct iteration 653 o var.c: fix bug in evaluation of indirect variable modifiers 654 extract ApplyModifier_Quote into separate function 655 o make debug logging simpler 656 6572020-09-27 Simon J Gerraty <sjg@beast.crufty.net> 658 659 * VERSION (_MAKE_VERSION): 20200927 660 Merge with NetBSD make, pick up 661 o parse.c: ensure parse errors result in 'stopped in' message. 662 o compat.c: make parameter of Compat_RunCommand const 663 o main.c: extract InitVarTarget from main 664 o parse.c: rename ParseFinishLine to FinishDependencyGroup 665 refactor ParseDoDependency 666 o var.c: Var_Subst no longer returns string result 667 rename Var_ParsePP back to Var_Parse 668 in lint mode, improve error handling for undefined variables 669 extract ParseVarname from Var_Parse 670 o rename Lst_ForEach to Lst_ForEachUntil 671 o inline Lst_ForEachUntil in several cases 672 o clean up API for finding and creating GNodes 673 o fix assertion failure in -j mode with .END node 674 o inline and remove LstNode_Prev and LstNode_Next 675 o use fine-grained type names for lists and their nodes 676 o more unit tests 677 6782020-09-11 Simon J Gerraty <sjg@beast.crufty.net> 679 680 * VERSION (_MAKE_VERSION): 20200911 681 Merge with NetBSD make, pick up 682 o cond.c: split EvalComparison into smaller functions 683 reorder parameters of condition parsing functions 684 reduce code size in CondParser_Eval 685 rename CondGetString to CondParser_String 686 add CondLexer_SkipWhitespace 687 group the condition parsing state into a struct 688 in CondGetString, replace repeated Buf_Add with Buf_AddStr 689 o migrate Var_Parse to Var_ParsePP 690 o add wrappers around ctype.h functions 691 o lst.c: use a stack instead of a list for the nested include path 692 o more unit tests 693 6942020-09-04 Simon J Gerraty <sjg@beast.crufty.net> 695 696 * make-bootstrap.sh.in: adjust object list 697 6982020-09-02 Simon J Gerraty <sjg@beast.crufty.net> 699 700 * VERSION (_MAKE_VERSION): 20200902 701 Merge with NetBSD make, pick up 702 o use make_stat to ensure no confusion over valid fields 703 returned by cached_stat 704 o var.c: make VarQuote const-correct 705 o add unit tests for .for 706 7072020-09-01 Simon J Gerraty <sjg@beast.crufty.net> 708 709 * VERSION (_MAKE_VERSION): 20200901 710 Merge with NetBSD make, pick up 711 o rename Hash_Table fields 712 o make data types in Dir_HasWildcards more precise 713 7142020-08-31 Simon J Gerraty <sjg@beast.crufty.net> 715 716 * VERSION (_MAKE_VERSION): 20200831 717 Merge with NetBSD make, pick up 718 o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds 719 o lst.c: Lst_Open renable assert that list isn't open 720 o unit test for .TARGET dependent flags 721 o var.c: fix aliasing bug in VarUniq 722 o more unit tests for :u 723 7242020-08-30 Simon J Gerraty <sjg@beast.crufty.net> 725 726 * VERSION (_MAKE_VERSION): 20200830 727 Merge with NetBSD make, pick up 728 o allow for strict type checking for Boolean 729 o Var_Parse never returns NULL 730 o Var_Subst never returns NULL 731 o Lst_Find now takes boolean match function 732 o rename Lst_Memeber to Lst_FindDatum 733 o rename LstNode functions to match their type 734 o rename GNode.iParents to implicitParents 735 o fix assertion failure for .SUFFIXES in archives 736 o compat.c: clean up documentation for CompatInterrupt and Compat_Run 737 remove unreachable code from CompatRunCommand 738 o main.c: simplify getBoolean 739 o stc.c: replace brk_string with simpler Str_Words 740 o suff.c: add debug macros 741 7422020-08-28 Simon J Gerraty <sjg@beast.crufty.net> 743 744 * VERSION (_MAKE_VERSION): 20200828 745 Merge with NetBSD make, pick up 746 o lst.c: inline LstIsValid and LstNodeIsValid 747 o remove trailing S from Lst function names after migration complete 748 o more comment cleanup/clarification 749 o suff.c: clean up suffix handling 750 o more unit tests 751 7522020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 753 754 * VERSION (_MAKE_VERSION): 20200826 755 Merge with NetBSD make, pick up 756 o enum.c: distinguish between bitsets containing flags and 757 ordinary enums 758 o var.c: fix error message for ::!= modifier with shell error 759 o fix bugs in -DCLEANUP mode 760 7612020-08-24 Simon J Gerraty <sjg@beast.crufty.net> 762 763 * VERSION (_MAKE_VERSION): 20200824 764 Merge with NetBSD make, pick up 765 o in debug mode, print GNode details in symbols 766 7672020-08-23 Simon J Gerraty <sjg@beast.crufty.net> 768 769 * VERSION (_MAKE_VERSION): 20200823 770 Merge with NetBSD make, pick up 771 o lst.c: more asserts, 772 make args to Lst_Find match others. 773 o var.c: pass flags to VarAdd 774 o arch.c: use Buffer 775 o str.c: brk_string return size_t for nwords 776 o more unit tests 777 7782020-08-22 Simon J Gerraty <sjg@beast.crufty.net> 779 780 * VERSION (_MAKE_VERSION): 781 Merge with NetBSD make, pick up 782 o var.c: support for read-only variables eg .SHELL 783 being the shell used to run scripts. 784 o lst.c: more simplification 785 o more documentation and style cleanup 786 o more unit tests 787 o ensure unit-test/Makefile is run by TEST_MAKE 788 o reduce duplication of header inclusion 789 7902020-08-21 Simon J Gerraty <sjg@beast.crufty.net> 791 792 * VERSION (_MAKE_VERSION): 20200821 793 Merge with NetBSD make, pick up 794 o lst.c: revert invalid assertion - but document it 795 o dir.c: split Dir_Init into two functions 796 7972020-08-20 Simon J Gerraty <sjg@beast.crufty.net> 798 799 * lst.c: needs inttypes.h on Linux 800 801 * VERSION (_MAKE_VERSION): 20200820 802 Merge with NetBSD make, pick up 803 o make.1: clarify some passages 804 o var.c: more cleanup, clarify comments 805 o make_malloc.c: remove unreachable code 806 o cond.c: make CondGetString easier to debug 807 o simplify list usage 808 o unit-tests: more 809 8102020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 811 812 * VERSION (_MAKE_VERSION): 20200816 813 Merge with NetBSD make, pick up 814 o refactor unit-tests to be more fine grained 815 not all tests moved yet 816 8172020-08-14 Simon J Gerraty <sjg@beast.crufty.net> 818 819 * VERSION (_MAKE_VERSION): 20200814 820 Merge with NetBSD make, pick up 821 o more str_concat variants 822 o more enums for flags 823 o var.c: cleanup for higher warnings level 824 8252020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 826 827 * VERSION (_MAKE_VERSION): 20200810 828 Merge with NetBSD make, pick up 829 o more unit tests 830 o general comment and style cleanup 831 8322020-08-08 Simon J Gerraty <sjg@beast.crufty.net> 833 834 * VERSION (_MAKE_VERSION): 20200808 835 Merge with NetBSD make, pick up 836 o enum.[ch]: streamline, enums for use in flags and debug output 837 o cond.c: cleanup 838 o var.c: reduce duplicate code for modifiers 839 debug logging for Var_Parse 840 more detailed debug output 841 o more unit tests 842 8432020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 844 845 * unit-tests/Makefile: -r for recursive and include Makefile.inc 846 so I can run tests in meta mode 847 supress extra noise if in meta mode 848 849 * VERSION (_MAKE_VERSION): 20200806 850 Merge with NetBSD make, pick up 851 o parse.c: remove VARE_WANTRES for LINT 852 we just want to check parsing (for now). 853 8542020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 855 856 * VERSION (_MAKE_VERSION): 20200805 857 Merge with NetBSD make, pick up 858 o make.1: Rework the description of dependence operators 859 8602020-08-03 Simon J Gerraty <sjg@beast.crufty.net> 861 862 * VERSION (_MAKE_VERSION): 20200803 863 Merge with NetBSD make, pick up 864 o revert some C99 usage, for max portability 865 o unit-tests/lint 866 8672020-08-02 Simon J Gerraty <sjg@beast.crufty.net> 868 869 * VERSION (_MAKE_VERSION): 20200802 870 Merge with NetBSD make, pick up 871 o more unit tests 872 8732020-08-01 Simon J Gerraty <sjg@beast.crufty.net> 874 875 * Remove NetBSD specific plumbing from unit-tests/Makefile 876 877 * VERSION (_MAKE_VERSION): 20200801 878 Merge with NetBSD make, pick up 879 o make Var_Value return const 880 o size_t for buf sizes 881 o optimize some buffer operations - avoid strlen 882 8832020-07-31 Simon J Gerraty <sjg@beast.crufty.net> 884 885 * VERSION (_MAKE_VERSION): 20200731 886 Merge with NetBSD make, pick up 887 o var.c: fix undefinded behavior for incomplete :t modifier 888 fixes unit-test/moderrs on Ubuntu 889 o parse.c: When parsing variable assignments other than := 890 if DEBUG(LINT) test substition of value, so we get a file and 891 line number in the resulting error. 892 o dir.c: fix parsing of nested braces in dependency lines 893 add unit-tests 894 8952020-07-30 Simon J Gerraty <sjg@beast.crufty.net> 896 897 * VERSION (_MAKE_VERSION): 20200730 898 Merge with NetBSD make, pick up 899 o var.c: minor cleanup 900 o unit-tests: more tests to improve code coverage 901 9022020-07-28 Simon J Gerraty <sjg@beast.crufty.net> 903 904 * VERSION (_MAKE_VERSION): 20200728 905 Merge with NetBSD make, pick up 906 o var.c: more optimizations 907 9082020-07-26 Simon J Gerraty <sjg@beast.crufty.net> 909 910 * VERSION (_MAKE_VERSION): 20200726 911 Merge with NetBSD make, pick up 912 o collapse lsd.lib into lst.c - reduce code size and allow inlining 913 o lots of function comment updates 914 o var.c: more optimizations 915 o make return of Var_Parse const 916 9172020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 918 919 * VERSION (_MAKE_VERSION): 20200720 920 Merge with NetBSD make, pick up 921 o DEBUG_HASH report stats at end and tone down the noise 922 o var.c: each flag type gets its own prefix. 923 move SysV string matching to var.c 924 make ampersand in ${VAR:from=to&} an ordinary character 925 cleanup and simplify implementation of modifiers 926 o make.1: move documentation for assignment modifiers 927 9282020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 929 930 * VERSION (_MAKE_VERSION): 20200718 931 Merge with NetBSD make, pick up 932 o DEBUG_HASH to see how well the hash tables are working 933 9342020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 935 936 * bsd.after-import.mk: make sure we update unit-tests/Makefile 937 9382020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 939 940 * configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC 941 942 * VERSION (_MAKE_VERSION): 20200710 943 Merge with NetBSD make, pick up 944 o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall 945 o meta.c: target flagged .META is out-of-date if meta file missing 946 9472020-07-09 Simon J Gerraty <sjg@beast.crufty.net> 948 949 * VERSION (_MAKE_VERSION): 20200709 950 Merge with NetBSD make, pick up 951 o cond.c: fix for compare_expression when doEval=0 952 o unit-tests/Makefile: rework 953 o filemon/filemon_dev.c: ensure filemon fd is closed on exec. 954 9552020-07-04 Simon J Gerraty <sjg@beast.crufty.net> 956 957 * VERSION (_MAKE_VERSION): 20200704 958 Merge with NetBSD make, pick up 959 (most of this by rillig@) 960 o lots of style and white-space cleanup 961 o lots more unit tests for variable modifiers 962 o simplified description of some functions 963 o str.c: refactor Str_Match 964 o var.c: debugging output for :@ 965 constify VarModify parameter 966 fix :hash modifier on 16-bit platforms 967 remove unnecessary forward declarations 968 refactor ApplyModifier_SysV to have less indentation 969 simplify code for :E and :R 970 clean up code for :H and :T 971 refactor ApplyModifiers 972 973 * var.c: we need stdint.h on some platforms to get uint32_t 974 * unit-test/Makefile: we need to supress the specific error 975 for RE substitution error in modmisc, since it varies accross 976 different OS. 977 9782020-07-02 Simon J Gerraty <sjg@beast.crufty.net> 979 980 * VERSION (_MAKE_VERSION): 20200702 981 Merge with NetBSD make, pick up 982 o var.c: more improvements to avoiding unnecessary evaluation 983 use enums for flags 984 o remove flags arg to Var_Set which outside of var.c is always 0 985 9862020-07-01 Simon J Gerraty <sjg@beast.crufty.net> 987 988 * VERSION (_MAKE_VERSION): 20200701 989 Merge with NetBSD make, pick up 990 o var.c: with change to cond.c; ensure that nested variables 991 within a variable name are expanded. 992 o unit-tests/varmisc.mk: test for nested varname 993 9942020-06-29 Simon J Gerraty <sjg@beast.crufty.net> 995 996 * VERSION (_MAKE_VERSION): 20200629 997 Merge with NetBSD make, pick up 998 o cond.c: do not eval unnecessary terms of conditionals. 999 10002020-06-25 Simon J Gerraty <sjg@beast.crufty.net> 1001 1002 * VERSION (_MAKE_VERSION): 20200625 1003 Merge with NetBSD make, pick up 1004 o meta.c: report error if lseek in filemon_read fails 1005 10062020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 1007 1008 * VERSION (_MAKE_VERSION): 20200622 1009 Merge with NetBSD make, pick up 1010 o dieQuietly: ignore OP_SUBMAKE as too aggressive 1011 10122020-06-19 Simon J Gerraty <sjg@beast.crufty.net> 1013 1014 * VERSION (_MAKE_VERSION): 20200619 1015 Merge with NetBSD make, pick up 1016 o str.c: performance improvement for Str_Match for multiple '*' 1017 o dieQuietly: supress the failure output from make 1018 when failing node is a sub-make or a sibling failed. 1019 This cuts down greatly on unhelpful noise at the end of 1020 build log. Disabled by -dj or .MAKE.DIE_QUIETLY=no 1021 10222020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 1023 1024 * FILES: add LICENSE to appease some packagers. 1025 This is an attempt to fairly represent the license on almost 1026 200 files, which are almost all BSD-3-Clause 1027 The few exceptions being more liberal. 1028 1029 * VERSION (_MAKE_VERSION): 20200610 1030 Merge with NetBSD make, pick up 1031 o unit test for :Or 1032 10332020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 1034 1035 * VERSION (_MAKE_VERSION): 20200606 1036 Merge with NetBSD make, pick up 1037 o make.1: cleanup 1038 1039 * Makefile: fix depends for main.o which broke MAKE_VERSION 1040 10412020-06-05 Simon J Gerraty <sjg@beast.crufty.net> 1042 1043 * VERSION (_MAKE_VERSION): 20200605 1044 Merge with NetBSD make, pick up 1045 o dir.c: cached_stats - don't confuse stat and lstat results. 1046 o var.c: add :Or for reverse sort. 1047 10482020-05-24 Simon J Gerraty <sjg@beast.crufty.net> 1049 1050 * configure.in: add AC_PROG_CC_C99 for mipspro compiler 1051 also if --with-filemon= specifies path to filemon.h 1052 set use_filemon=dev 1053 * dirname.c: remove include of namespace.h 1054 10552020-05-17 Simon J Gerraty <sjg@beast.crufty.net> 1056 1057 * VERSION (_MAKE_VERSION): 20200517 1058 Merge with NetBSD make, pick up 1059 o modified dollar tests to avoid shell dependencies 1060 o new tests for .INCLUDEFROM 1061 10622020-05-16 Simon J Gerraty <sjg@beast.crufty.net> 1063 1064 * unit-tests/dollar.mk: tweak '1 dollar literal' test 1065 to not depend so much on shell behavior 1066 10672020-05-10 Simon J Gerraty <sjg@beast.crufty.net> 1068 1069 * VERSION (_MAKE_VERSION): 20200510 1070 Merge with NetBSD make, pick up 1071 o unit test for dollar handling 1072 10732020-05-06 Simon J Gerraty <sjg@beast.crufty.net> 1074 1075 * VERSION (_MAKE_VERSION): 20200506 1076 Merge with NetBSD make, pick up 1077 o str.c: empty string does not match % pattern 1078 plus unit-test changes 1079 10802020-05-04 Simon J Gerraty <sjg@beast.crufty.net> 1081 1082 * VERSION (_MAKE_VERSION): 20200504 1083 May the 4th be with you 1084 Merge with NetBSD make, pick up 1085 o var.c: import handling of old sysV style modifier using '%' 1086 o str.c: refactor brk_string 1087 o unit-tests: add test case for lazy conditions 1088 10892020-04-18 Simon J Gerraty <sjg@beast.crufty.net> 1090 1091 * VERSION (_MAKE_VERSION): 20200418 1092 1093 * configure.in: use_makefile=no for cygwin et al. 1094 case insensitive filesystems just don't work if both 1095 makefile and Makefile exist. 1096 NOTE: bmake does not support cygwin and likely never will, 1097 but if brave souls want to try it - help them out. 1098 10992020-04-02 Simon J Gerraty <sjg@beast.crufty.net> 1100 1101 * VERSION (_MAKE_VERSION): 20200402 1102 Merge with NetBSD make, pick up 1103 o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD 1104 a blank command is perfectly valid. 1105 11062020-03-30 Simon J Gerraty <sjg@beast.crufty.net> 1107 1108 * VERSION (_MAKE_VERSION): 20200330 1109 Merge with NetBSD make, pick up 1110 o make.h: extern debug_file 1111 11122020-03-18 Simon J Gerraty <sjg@beast.crufty.net> 1113 1114 * VERSION (_MAKE_VERSION): 20200318 1115 Merge with NetBSD make, pick up 1116 o meta.c: meta_oodate, check for corrupted meta file 1117 earlier and more often. 1118 11192020-02-20 Simon J Gerraty <sjg@beast.crufty.net> 1120 1121 * VERSION (_MAKE_VERSION): 20200220 1122 11232020-02-19 Simon J Gerraty <sjg@beast.crufty.net> 1124 1125 * boot-strap: unset MAKEFLAGS 1126 11272020-02-12 Simon J Gerraty <sjg@beast.crufty.net> 1128 1129 * VERSION (_MAKE_VERSION): 20200212 1130 * meta.c: meta_compat_parent check for USE_FILEMON 1131 patch from Soeren Tempel 1132 11332020-02-05 Simon J Gerraty <sjg@beast.crufty.net> 1134 1135 * VERSION: 20200205 1136 Merge with NetBSD make, pick up 1137 o meta.c: fix compat mode, need to call meta_job_output() 1138 o job.c: extra fds for meta mode not needed if using filemon_dev 1139 11402020-01-22 Simon J Gerraty <sjg@beast.crufty.net> 1141 1142 * VERSION: 20200122 1143 Merge with NetBSD make, pick up 1144 o meta.c: avoid passing NULL to filemon_*() when meta_needed() 1145 returns FALSE. 1146 11472020-01-21 Simon J Gerraty <sjg@beast.crufty.net> 1148 1149 * VERSION: 20200121 1150 Merge with NetBSD make, pick up 1151 o filemon/filemon_{dev,ktrace}.c: allow selection of 1152 filemon implementation. filemon_dev.c uses the kernel module 1153 while filemon_ktrace.c leverages the fktrace api available in 1154 NetBSD. filemon_ktrace.c can hopefully form the basis for 1155 adding support for other tracing mechanisms such as strace on 1156 Linux. 1157 o meta.c: when target is out-of-date per normal make rules 1158 record value of .OODATE in meta file. 1159 11602019-09-26 Simon J Gerraty <sjg@beast.crufty.net> 1161 1162 * VERSION: 20190926 1163 Merge with NetBSD make, pick up 1164 o parse.c: don't pass NULL to realpath(3) 1165 some versions cannot handle it. 1166 11672019-04-09 Simon J Gerraty <sjg@beast.crufty.net> 1168 1169 * VERSION: 20190409 1170 Merge with NetBSD make, pick up 1171 o parse.c: ParseDoDependency: free paths rather than assert 1172 11732018-12-22 Simon J Gerraty <sjg@beast.crufty.net> 1174 1175 * VERSION: 20181222 1176 1177 * configure.in: add --without-makefile to avoid generating 1178 makefile and make-bootstrap.sh 1179 1180 * include Makefile.inc if it exists 1181 1182 * Use Makefile and Makefile.config.in in unit-tests 1183 so we can use just: make obj && make && make test 1184 when bmake is already available. 1185 We add --without-makefile to CONFIGURE_ARGS in this case. 1186 1187 * tweak bsd.after-import.mk (captures Makefile.config etc 1188 after import to FreeBSD for example) to cope with all the above. 1189 11902018-12-21 Simon J Gerraty <sjg@beast.crufty.net> 1191 1192 * VERSION: 20181221 1193 Merge with NetBSD make, pick up 1194 o parse.c: ParseVErrorInternal use .PARSEDIR 1195 and apply if relative, and then use .PARSEFILE 1196 for consistent result. 1197 11982018-12-20 Simon J Gerraty <sjg@beast.crufty.net> 1199 1200 * VERSION: 20181220 1201 Merge with NetBSD make, pick up 1202 o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR 1203 is relative 1204 o var.c: avoid SEGFAULT in .unexport-env 1205 when MAKELEVEL is not set 1206 12072018-12-16 Simon J Gerraty <sjg@beast.crufty.net> 1208 1209 * VERSION: 20181216 1210 Merge with NetBSD make, pick up 1211 o fix for unit-tests/varquote.mk on Debian 1212 12132018-09-21 Simon J. Gerraty <sjg@bad.crufty.net> 1214 1215 * VERSION: 20180919 1216 Merge with NetBSD make, pick up 1217 o var.c: add :q 1218 o dir.c: cleanup caching of stats 1219 12202018-09-21 Simon J Gerraty <sjg@beast.crufty.net> 1221 1222 * Makefile.config.in: use += where it makes sense. 1223 12242018-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 1225 1226 * VERSION: 20180512 1227 Merge with NetBSD make, pick up 1228 o job.c: skip polling job token pipe 1229 12302018-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1231 1232 * VERSION: 20180405 1233 Merge with NetBSD make, pick up 1234 o parse.c: be more cautious about detecting depenency line 1235 rather than sysV style include. 1236 12372018-02-22 Simon J. Gerraty <sjg@bad.crufty.net> 1238 1239 * VERSION: 20180222 1240 Merge with NetBSD make, pick up 1241 o parse.c: avoid calling sysconf for every call to loadfile 1242 12432018-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1244 1245 * VERSION: 20180218 1246 Merge with NetBSD make, pick up 1247 o var.c: Var_Set handle NULL value anytime. 1248 12492018-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 1250 1251 * VERSION: 20180212 1252 Merge with NetBSD make, pick up 1253 o parse.c: do not treat .info as warning with -W 1254 12552017-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 1256 1257 * VERSION: 20171207 1258 Merge with NetBSD make, pick up 1259 o var.c: Var_Append use Var_Set if var not previously set 1260 so that VAR_CMD is handled correctly. 1261 Add a suitable unit-test. 1262 12632017-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1264 1265 * VERSION (_MAKE_VERSION): 20171126 1266 1267 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__ 1268 since AC_TRY_COMPILE puts input inside main() 1269 which upsets modern compilers. 1270 12712017-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 1272 1273 * VERSION: 20171118 1274 Merge with NetBSD make, pick up 1275 o var.c: do not append to variable set on command line 1276 add unit-test to catch this. 1277 12782017-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 1279 1280 * VERSION: 20171028 1281 Merge with NetBSD make, pick up 1282 o main.c: ignore empty MAKEOBJDIR 1283 1284 * Makefile.config.in: 1285 make @prefix@ @machine*@ and @default_sys_path@ defaults. 1286 12872017-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 1288 1289 * VERSION: 20171005 1290 1291 * unit-tests/dotwait.mk: redirect stderr through pipe for more 1292 consistent result on some platforms. 1293 12942017-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 1295 1296 * machine.sh: entry for AIX 1297 12982017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 1299 1300 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION 1301 to a file that can be included by configure as well as make. 1302 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh 1303 13042017-08-10 Simon J. Gerraty <sjg@bad.crufty.net> 1305 1306 * Makefile (_MAKE_VERSION): 20170810 1307 Merge with NetBSD make, pick up 1308 o meta.c: if target is in subdir we only need subdir name in 1309 meta_name. 1310 13112017-07-20 Simon J. Gerraty <sjg@bad.crufty.net> 1312 1313 * Makefile (_MAKE_VERSION): 20170720 1314 Merge with NetBSD make, pick up 1315 o compat.c: pass SIGINT etc onto child and wait for it to exit 1316 before we self-terminate. 1317 13182017-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 1319 1320 * Makefile (_MAKE_VERSION): 20170711 1321 forgot to update after merge on 20170708 ;-) 1322 o main.c: refactor to reduce size of main function. 1323 add -v option to always fully expand values. 1324 o meta.c: ensure command output in meta file has ending newline 1325 even when filemon not being used. 1326 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use 1327 pathname via ':L' since any ':' in pathname breaks that. 1328 Instead set a '${.p.}' to pathname in the target context and 1329 use that. 1330 13312017-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1332 1333 * Makefile (_MAKE_VERSION): 20170510 1334 Merge with NetBSD make, pick up 1335 o main.c: Main_SetObjdir: ensure buf2 is in scope 1336 13372017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 1338 1339 * Makefile (_MAKE_VERSION): 20170505 1340 see mk/ChangeLog 1341 13422017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1343 1344 * parse.c: not everyone has stdint.h 1345 13462017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1347 1348 * Makefile (_MAKE_VERSION): 20170501 1349 see mk/ChangeLog 1350 13512017-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1352 1353 * Makefile (_MAKE_VERSION): 20170421 1354 Merge with NetBSD make, pick up 1355 o str.c: Str_Match: fix closure tests for [^] and add unit-test. 1356 13572017-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1358 1359 * Makefile (_MAKE_VERSION): 20170420 1360 Merge with NetBSD make, pick up 1361 o main.c: only use -C arg "as is" if it contains no 1362 relative component. 1363 13642017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1365 1366 * Makefile (_MAKE_VERSION): 20170418 1367 Merge with NetBSD make, pick up 1368 o main.c: fix Main_SetObjdir() for relative paths (eg obj). 1369 13702017-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1371 1372 * Makefile (_MAKE_VERSION): 20170417 1373 Merge with NetBSD make, pick up 1374 o fixes a number of coverity complaints 1375 - check return value of fseek, fcntl 1376 - plug memory leak in Dir_FindFile, Var_LoopExpand, 1377 JobPrintCommand, ParseTraditionalInclude 1378 - use bmake_malloc() where NULL is not tollerated 1379 - use MAKE_ATTR_UNUSED rather that kludges like 1380 return(unused ? 0 : 0) 1381 - use purge_cached_realpaths() rather than abuse cached_realpath() 1382 13832017-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 1384 1385 * Makefile (_MAKE_VERSION): 20170413 1386 Merge with NetBSD make, pick up 1387 o main.c: when setting .OBJDIR ignore '$' in paths. 1388 1389 * job.c: use MALLOC_OPTIONS to set malloc_options. 1390 13912017-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 1392 1393 * Makefile (_MAKE_VERSION): 20170411 1394 Merge with NetBSD make, pick up 1395 o str.c: Str_Match: allow [^a-z] to behave as expected. 1396 13972017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 1398 1399 * Makefile (_MAKE_VERSION): 20170326 1400 Merge with NetBSD make, pick up 1401 o main.c: purge relative paths from realpath cache when .OBJDIR 1402 is changed. 1403 14042017-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1405 1406 * Makefile (_MAKE_VERSION): 20170311 1407 Merge with NetBSD make, pick up 1408 o main.c: only use -C arg "as is" if it starts with '/'. 1409 14102017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1411 1412 * Makefile (_MAKE_VERSION): 20170301 1413 Merge with NetBSD make, pick up 1414 o main.c: use -C arg "as is" rather than getcwd() 1415 if they identify the same directory. 1416 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case 1417 14182017-02-01 Simon J. Gerraty <sjg@bad.crufty.net> 1419 1420 * Makefile (_MAKE_VERSION): 20170201 1421 Merge with NetBSD make, pick up 1422 o var.c: allow :_=var and avoid use of special context. 1423 14242017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 1425 1426 * Makefile (_MAKE_VERSION): 20170130 1427 Merge with NetBSD make, pick up 1428 o var.c: add :range and :_ 1429 o main.c: partially initialize Dir_* before MainParseArgs() 1430 can be called. 1431 If -V, skip Main_ExportMAKEFLAGS() 1432 14332017-01-14 Simon J. Gerraty <sjg@bad.crufty.net> 1434 1435 * Makefile (_MAKE_VERSION): 20170114 1436 Merge with NetBSD make, pick up 1437 o var.c: allow specifying the utc value used by :{gm,local}time 1438 14392016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1440 1441 * Makefile (_MAKE_VERSION): 20161212 1442 Merge with NetBSD make, pick up 1443 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too. 1444 14452016-12-09 Simon J. Gerraty <sjg@bad.crufty.net> 1446 1447 * Makefile (_MAKE_VERSION): 20161209 1448 Merge with NetBSD make, pick up 1449 o main.c: cleanup setting of .OBJDIR 1450 o parse.c: avoid coredump from (var)=val 1451 14522016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1453 1454 * Makefile (_MAKE_VERSION): 20161126 1455 Merge with NetBSD make, pick up 1456 o make.c: Make_OODate: report src node name if path not set 1457 14582016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 1459 1460 * Makefile (_MAKE_VERSION): 20160926 1461 Merge with NetBSD make, pick up 1462 o support for .DELETE_ON_ERROR: (remove targets that fail) 1463 14642016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 1465 1466 * Makefile MAN: tweak .Dt to match ${PROG} 1467 14682016-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 1469 1470 * Makefile (_MAKE_VERSION): 20160818 1471 its a neater number; pick up whitespace fixes to man page. 1472 14732016-08-17 Simon J. Gerraty <sjg@bad.crufty.net> 1474 1475 * Makefile (_MAKE_VERSION): 20160817 1476 Merge with NetBSD make, pick up 1477 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore() 1478 so we can call it before adding entries to missingFiles. 1479 Thus we do not track files we have been told to ignore. 1480 14812016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 1482 1483 * Makefile (_MAKE_VERSION): 20160815 1484 Merge with NetBSD make, pick up 1485 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to 1486 pathnames, and skip if the expansion is empty. 1487 Useful for dirdeps.mk when checking DIRDEPS_CACHE. 1488 14892016-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 1490 1491 * Makefile (_MAKE_VERSION): 20160812 1492 Merge with NetBSD make, pick up 1493 o meta.c: remove all missingFiles entries that match a deleted 1494 dir. 1495 o main.c: set .ERROR_CMD if possible. 1496 14972016-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1498 1499 * Makefile (_MAKE_VERSION): 20160606 1500 Merge with NetBSD make, pick up 1501 o dir.c: extend mtimes cache to others via cached_stat() 1502 15032016-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1504 1505 * Makefile (_MAKE_VERSION): 20160604 1506 Merge with NetBSD make, pick up 1507 o meta.c: missing filemon data is only relevant if we read a 1508 meta file. 1509 Also do not return oodate for a missing metafile if gn->path 1510 points to .CURDIR 1511 15122016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1513 1514 * Makefile (_MAKE_VERSION): 20160602 1515 Merge with NetBSD make, pick up 1516 o cached_realpath(): avoid hitting filesystem more than necessary. 1517 o meta.c: refactor need_meta decision, add knobs for 1518 missing meta file and filemon data wrt out-of-datedness. 1519 15202016-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 1521 1522 * Makefile (_MAKE_VERSION): 20160528 1523 1524 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 1525 15262016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 1527 1528 * Makefile (_MAKE_VERSION): 20160512 1529 Merge with NetBSD make, pick up 1530 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS 1531 this is useful for gcov builds. 1532 o propagate errors from filemon(4). 1533 15342016-05-09 Simon J. Gerraty <sjg@bad.crufty.net> 1535 1536 * Makefile (_MAKE_VERSION): 20160509 1537 Merge with NetBSD make, pick up 1538 o remove use of non-standard types u_int etc. 1539 o meta.c: apply realpath() before matching against metaIgnorePaths 1540 15412016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 1542 1543 * Makefile (_MAKE_VERSION): 20160404 1544 Merge with NetBSD make, pick up 1545 o allow makefile to set .MAKE.JOBS 1546 1547 * Makefile (PROG_NAME): use ${_MAKE_VERSION} 1548 15492016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1550 1551 * Makefile (_MAKE_VERSION): 20160315 1552 Merge with NetBSD make, pick up 1553 o fix handling of archive members 1554 15552016-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 1556 1557 * Makefile (_MAKE_VERSION): rename variable to avoid interference 1558 with checks for ${MAKE_VERSION} 1559 15602016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1561 1562 * Makefile (MAKE_VERSION): 20160310 1563 Merge with NetBSD make, pick up 1564 o meta.c: treat missing Read file same as Write, incase we Delete it. 1565 15662016-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1567 1568 * Makefile (MAKE_VERSION): 20160307 1569 Merge with NetBSD make, pick up 1570 o var.c: fix :ts\nnn to be octal by default. 1571 o meta.c: meta_finish() to cleanup memory. 1572 15732016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1574 1575 * Makefile (MAKE_VERSION): 20160226 1576 Merge with NetBSD make, pick up 1577 o meta.c: allow meta file for makeDepend if makefiles want it. 1578 15792016-02-19 Simon J. Gerraty <sjg@bad.crufty.net> 1580 1581 * var.c: default .MAKE.SAVE_DOLLARS to FALSE 1582 for backwards compatability. 1583 1584 * Makefile (MAKE_VERSION): 20160220 1585 Merge with NetBSD make, pick up 1586 o var.c: add knob to control handling of '$$' in := 1587 15882016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1589 1590 * Makefile (MAKE_VERSION): 20160218 1591 Merge with NetBSD make, pick up 1592 o var.c: add .export-literal allows us to fix sys.clean-env.mk 1593 post the changes to Var_Subst. 1594 Var_Subst now takes flags, and does not consume '$$' in := 1595 15962016-02-17 Simon J. Gerraty <sjg@bad.crufty.net> 1597 1598 * Makefile (MAKE_VERSION): 20160217 1599 Merge with NetBSD make, pick up 1600 o var.c: preserve '$$' in := 1601 o parse.c: add .dinclude for handling included 1602 makefile like .depend 1603 16042015-12-20 Simon J. Gerraty <sjg@bad.crufty.net> 1605 1606 * Makefile (MAKE_VERSION): 20151220 1607 Merge with NetBSD make, pick up 1608 o suff.c: re-initialize suffNull when clearing suffixes. 1609 16102015-12-01 Simon J. Gerraty <sjg@bad.crufty.net> 1611 1612 * Makefile (MAKE_VERSION): 20151201 1613 Merge with NetBSD make, pick up 1614 o cond.c: CondCvtArg: avoid access beyond end of empty buffer. 1615 o meta.c: meta_oodate: use lstat(2) for checking link target 1616 in case it is a symlink. 1617 o var.c: avoid calling brk_string and Var_Export1 with empty 1618 strings. 1619 16202015-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1621 1622 * Makefile (MAKE_VERSION): 20151126 1623 Merge with NetBSD make, pick up 1624 o parse.c: ParseTrackInput don't access beyond 1625 end of old value. 1626 16272015-10-22 Simon J. Gerraty <sjg@bad.crufty.net> 1628 1629 * Makefile (MAKE_VERSION): 20151022 1630 1631 * Add support for BSD/OS which lacks inttypes.h 1632 and really needs sys/param.h for sys/sysctl.h 1633 also 'type' is not a shell builtin. 1634 1635 * var.c: eliminate uint32_t and need for inttypes.h 1636 1637 * main.c: PrintOnError flush stdout before run .ERROR 1638 1639 * parse.c: cope with _SC_PAGESIZE not being defined. 1640 1641 16422015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1643 1644 * Makefile (MAKE_VERSION): 20151020 1645 Merge with NetBSD make, pick up 1646 o var.c: fix uninitialized var 1647 16482015-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1649 1650 * var.c: the conditional expressions used with ':?' can be 1651 expensive, if already discarding do not evaluate or expand 1652 anything. 1653 16542015-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1655 1656 * Makefile (MAKE_VERSION): 20151010 1657 Merge with NetBSD make, pick up 1658 o Add Boolean wantit flag to Var_Subst and Var_Parse 1659 when FALSE we know we are discarding the result and can 1660 skip operations like Cmd_Exec. 1661 16622015-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 1663 1664 * Makefile (MAKE_VERSION): 20151009 1665 Merge with NetBSD make, pick up 1666 o var.c: don't check for NULL before free() 1667 o meta.c: meta_oodate, do not hard code ignore of makeDependfile 1668 16692015-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 1670 1671 * Makefile (MAKE_VERSION): 20150910 1672 Merge with NetBSD make, pick up 1673 o main.c: with -w print Enter/Leaving messages for objdir too 1674 if necessary. 1675 o centralize shell metachar handling 1676 1677 * FILES: add metachar.[ch] 1678 16792015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1680 1681 * Makefile (MAKE_VERSION): 20150606 1682 Merge with NetBSD make, pick up 1683 o make.1: document .OBJDIR target 1684 16852015-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1686 1687 * Makefile (MAKE_VERSION): 20150505 1688 Merge with NetBSD make, pick up 1689 o cond.c: be strict about lhs of comparison when evaluating .if 1690 but less so when called from variable expansion. 1691 o unit-tests/cond2.mk: test various error conditions 1692 16932015-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1694 1695 * machine.sh (MACHINE): Add Bitrig 1696 patch from joerg@netbsd.org 1697 16982015-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1699 1700 * Makefile (MAKE_VERSION): 20150418 1701 Merge with NetBSD make, pick up 1702 o job.c: use memmove() rather than memcpy() 1703 1704 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL 1705 case, so skip it. 1706 17072015-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 1708 1709 * Makefile (MAKE_VERSION): 20150411 1710 bump version - only mk/ changes. 1711 17122015-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 1713 1714 * Makefile (MAKE_VERSION): 20150410 1715 Merge with NetBSD make, pick up 1716 o document different handling of '-' in jobs mode vs compat 1717 o fix jobs mode so that '-' only applies to whole job 1718 when shell lacks hasErrCtl 1719 o meta.c: use separate vars to track lcwd and latestdir (read) 1720 per process 1721 17222015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1723 1724 * Makefile (MAKE_VERSION): 20150401 1725 Merge with NetBSD make, pick up 1726 o meta.c: close meta file in child 1727 1728 * Makefile: use BINDIR.bmake if set. 1729 Same for MANDIR and SHAREDIR 1730 Handy for testing release candidates 1731 in various environments. 1732 17332015-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 1734 1735 * move initialization of savederr to block where it is used 1736 to avoid spurious warning from gcc5 1737 17382014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1739 1740 * Makefile (MAKE_VERSION): 20141111 1741 just a cooler number 1742 17432014-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 1744 1745 * Makefile (MAKE_VERSION): 20141105 1746 Merge with NetBSD make, pick up 1747 o revert major overhaul of suffix handling 1748 and POSIX compliance - too much breakage 1749 and impossible to make backwards compatible. 1750 o we still have the new unit test structure which is ok. 1751 o meta.c ensure "-- filemon" is at start of line. 1752 17532014-09-17 Simon J. Gerraty <sjg@bad.crufty.net> 1754 1755 * configure.in: test that result of getconf PATH_MAX is numeric 1756 and discard if not. Apparently needed for Hurd. 1757 17582014-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 1759 1760 * Makefile (MAKE_VERSION): 20140830 1761 Merge with NetBSD make, pick up 1762 o major overhaul of suffix handling 1763 o improved POSIX compliance 1764 o overhauled unit-tests 1765 17662014-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 1767 1768 * Makefile (MAKE_VERSION): 20140620 1769 Merge with NetBSD make, pick up 1770 o var.c return varNoError rather than var_Error for ::= modifiers. 1771 17722014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1773 1774 * Makefile (MAKE_VERSION): 20140522 1775 Merge with NetBSD make, pick up 1776 o var.c detect some parse errors. 1777 17782014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1779 1780 * Fix spelling errors - patch from Pedro Giffuni 1781 17822014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1783 1784 * Makefile (MAKE_VERSION): 20140214 1785 Merge with NetBSD make, pick up 1786 o .INCLUDEFROM* 1787 o use Var_Value to get MAKEOBJDIR[PREFIX] 1788 o reduced realloc'ign in brk_string. 1789 * configure.in: add a check for compiler supporting __func__ 1790 17912014-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 1792 1793 * boot-strap: ignore mksrc=none 1794 17952014-01-02 Simon J. Gerraty <sjg@bad.crufty.net> 1796 1797 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk 1798 17992014-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 1800 1801 * Makefile (MAKE_VERSION): 20140101 1802 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) 1803 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max 1804 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for 1805 Hurd) 1806 * configure.in: Add AC_PREREQ and check for 1807 sysctl; patch from Andrew Shadura andrewsh at debian.org 1808 18092013-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 1810 1811 * Makefile (MAKE_VERSION): 20131010 1812 * lose the const from arg to systcl to avoid problems on older BSDs. 1813 18142013-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1815 1816 * Makefile (MAKE_VERSION): 20131001 1817 Merge with NetBSD make, pick up 1818 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from 1819 hw.machine_arch if necessary. 1820 o meta.c: meta_oodate - need to look at src of Link and target 1821 of Move as well. 1822 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. 1823 provide __arraycount() if needed. 1824 18252013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1826 1827 * Makefile (MAKE_VERSION): 20130904 1828 Merge with NetBSD make, pick up 1829 o Add VAR_INTERNAL context, so that internal setting of 1830 MAKEFILE does not override value set by makefiles. 1831 18322013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1833 1834 * Makefile (MAKE_VERSION): 20130902 1835 Merge with NetBSD make, pick up 1836 o CompatRunCommand: only apply shellErrFlag when errCheck is true 1837 18382013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1839 1840 * Makefile (MAKE_VERSION): 20130828 1841 Merge with NetBSD make, pick up 1842 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 1843 o Call Job_SetPrefix() from Job_Init() so makefiles have 1844 opportunity to set .MAKE.JOB.PREFIX 1845 18462013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 1847 1848 * Makefile (MAKE_VERSION): 20130730 1849 Merge with NetBSD make, pick up 1850 o Allow suppression of --- job -- tokens by setting 1851 .MAKE.JOB.PREFIX empty. 1852 18532013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1854 1855 * Makefile (MAKE_VERSION): 20130716 1856 Merge with NetBSD make, pick up 1857 o number of gmake compatibility tweaks 1858 -w for gmake style entering/leaving messages 1859 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 1860 handle MAKEFLAGS containing only letters. 1861 o when overriding a GLOBAL variable on the command line, 1862 delete it from GLOBAL context so -V doesn't show the wrong 1863 value. 1864 18652013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 1866 1867 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 1868 1869 * Makefile (MAKE_VERSION): 20130706 1870 Merge with NetBSD make, pick up 1871 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 1872 true so that CompatRunCommand() can use it, to ensure 1873 consistent behavior with jobs mode. 1874 o use MAKE_LEVEL_ENV to define the variable to propagate 1875 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 1876 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 1877 paths to ignore. 1878 18792013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1880 1881 * Makefile (MAKE_VERSION): 20130604 1882 Merge with NetBSD make, pick up 1883 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 1884 to avoid leaking descriptors. 1885 18862013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 1887 1888 * Makefile (MAKE_VERSION): 20130528 1889 Merge with NetBSD make, pick up 1890 o var.c: cleanup some left-overs in VarHash() 1891 18922013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1893 1894 * Makefile (MAKE_VERSION): 20130520 1895 generate manifest from component FILES rather than have to 1896 update FILES when mk/FILES changes. 1897 18982013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 1899 1900 * Makefile (MAKE_VERSION): 20130518 1901 Merge with NetBSD make, pick up 1902 o suff.c: don't skip all processsing for .PHONY targets 1903 else wildcard srcs do not get expanded. 1904 o var.c: expand name of variable to delete if necessary. 1905 19062013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1907 1908 * Makefile (MAKE_VERSION): 20130330 1909 Merge with NetBSD make, pick up 1910 o meta.c: refine the handling of .OODATE in commands. 1911 Rather than suppress command comparison for the entire script 1912 as though .NOMETA_CMP had been used, only suppress it for the 1913 one command line. 1914 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 1915 suppress comparison of a command without otherwise affecting it. 1916 o make.1: document that 1917 19182013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 1919 1920 * Makefile (MAKE_VERSION): 20130321 1921 yes, not quite right but its a cooler number. 1922 Merge with NetBSD make, pick up 1923 o parse.c: fix ParseGmakeExport to be portable 1924 and add a unit-test. 1925 * meta.c: call meta_init() before makefiles are read and if built 1926 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 1927 this let's makefiles test for support. 1928 Call meta_mode_init() to process .MAKE.MODE. 1929 19302013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 1931 1932 * Makefile (MAKE_VERSION): 20130305 1933 Merge with NetBSD make, pick up 1934 o run .STALE: target when a dependency from .depend is missing. 1935 o job.c: add Job_RunTarget() for the above and .BEGIN 1936 19372013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1938 1939 * Makefile (MAKE_VERSION): 20130303 1940 Merge with NetBSD make, pick up 1941 o main.c: set .MAKE.OS to utsname.sysname 1942 o job.c: more checks for read and poll errors 1943 o var.c: lose VarChangeCase() saves 4% time 1944 19452013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 1946 1947 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 1948 want to use MAKEOBJDIR 1949 19502013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 1951 1952 * Merge with NetBSD make, pick up 1953 o make.1: more info on how shell commands are handled. 1954 o job.c,main.c: detect write errors to job pipes. 1955 19562013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 1957 1958 * Makefile (MAKE_VERSION): 20130123 1959 Merge with NetBSD make, pick up 1960 o meta.c: if script uses .OODATE and meta_oodate() decides 1961 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 1962 o var.c: in debug output indicate which variabale modifiers 1963 apply to. 1964 o remove Check_Cwd logic the makefiles have been fixed. 1965 19662012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1967 1968 * makefile.in: add a simple makefile for folk who insist on 1969 ./configure; make; make install 1970 it just runs boot-strap 1971 * include mk/* to accommodate the above 1972 * boot-strap: re-work to accommodate the above 1973 mksrc defaults to $Mydir/mk 1974 allow op={configure,build,install,clean,all} 1975 add options to facilitate install 1976 * Makefile.config.in: just the bits set by configure 1977 * Makefile: bump version to 20121212 1978 abandon Makefile.in (NetBSD Makefile) 1979 leverage mk/* instead 1980 * configure.in: ensure srcdir is absolute 1981 19822012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1983 1984 * Makefile.in (MAKE_VERSION): 20121111 1985 fix generation of bmake.cat1 1986 19872012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1988 1989 * Makefile.in (MAKE_VERSION): 20121109 1990 Merge with NetBSD make, pick up 1991 o make.c: MakeBuildChild: return 0 so search continues if a 1992 .ORDER dependency is detected. 1993 o unit-tests/order: test the above 1994 19952012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 1996 1997 * Makefile.in (MAKE_VERSION): 20121102 1998 Merge with NetBSD make, pick up 1999 o cond.c: allow cond_state[] to grow. 2000 In meta mode with a very large tree, we can hit the limit 2001 while processing dirdeps. 2002 20032012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 2004 2005 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 2006 20072012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 2008 2009 * Makefile.in (MAKE_VERSION): 20121010 2010 o protect syntax that only bmake parses correctly. 2011 o remove auto setting of FORCE_MACHINE, use configure's 2012 --with-force-machine=whatever if that is desired. 2013 20142012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 2015 2016 * Makefile.in: do not lose history from make.1 when generating bmake.1 2017 20182012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 2019 2020 * Makefile.in (MAKE_VERSION): 20121007 2021 Merge with NetBSD make, pick up 2022 o compat.c: ignore empty commands - same as jobs mode. 2023 o make.1: document meta chars that cause use of shell 2024 20252012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 2026 2027 * Makefile.in (MAKE_VERSION): bump version to 20120911 2028 * bsd.after-import.mk: include Makefile.inc early and allow it to 2029 override PROG 2030 20312012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 2032 2033 * Makefile.in (MAKE_VERSION): bump version to 20120831 2034 Merge with NetBSD make, pick up 2035 o cast sizeof() to int for comparison 2036 o minor make.1 tweak 2037 20382012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 2039 2040 * Makefile.in (MAKE_VERSION): bump version to 20120830 2041 Merge with NetBSD make, pick up 2042 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 2043 o debug flag -dV causes -V to show raw value regardless. 2044 20452012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 2046 2047 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 2048 gets SRCTOP set. 2049 20502012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 2051 2052 * Makefile.in (MAKE_VERSION): bump version to 20120704 2053 Merge with NetBSD make, pick up 2054 o Job_ParseShell should call Shell_Init if it has been 2055 previously called. 2056 * Makefile.in: set USE_META based on configure result. 2057 also .PARSEDIR is safer indicator of bmake. 2058 20592012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 2060 2061 * Makefile.in: bump version to 20120626 2062 ensure CPPFLAGS is in CFLAGS 2063 * meta.c: avoid nested externs 2064 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 2065 20662012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 2067 2068 * Makefile.in (MAKE_VERSION): bump version to 20120620 2069 Merge with NetBSD make, pick up 2070 o make_malloc.c: avoid including make_malloc.h again 2071 2072 * Makefile.in: avoid bmake only syntax or protect with 2073 .if defined(.MAKE.LEVEL) 2074 * bsd.after-import.mk: replace .-include with .sinclude 2075 ensure? SRCTOP gets a value 2076 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 2077 20782012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 2079 2080 * Makefile.in (MAKE_VERSION): bump version to 20120612 2081 Merge with NetBSD make, pick up 2082 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 2083 for greater portability. 2084 o unit-tests/forloop: check that .for works as expected wrt 2085 number of times and with "quoted strings". 2086 20872012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 2088 2089 * Makefile.in (MAKE_VERSION): bump version to 20120606 2090 Merge with NetBSD make, pick up 2091 o compat.c: use kill(2) rather than raise(3). 2092 * configure.in: look for sys/dev/filemon 2093 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 2094 and pass BOOTSTRAP_XTRAS to boot-strap. 2095 20962012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 2097 2098 * Makefile.in (MAKE_VERSION): bump version to 20120604 2099 Merge with NetBSD make, pick up 2100 o util.c and var.c share same var for tracking if environ 2101 has been reallocated. 2102 o util.c provide getenv with setenv. 2103 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 2104 when the shell actively strips .MAKE.* from the environment. 2105 We still refer to the variable always as .MAKE.LEVEL 2106 * util.c fix bug in findenv() was finding prefix of name. 2107 * compat.c: re-raising SIGINT etc after running .INTERRUPT 2108 results in more reliable termination of all activity on many 2109 platforms. 2110 21112012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 2112 2113 * Makefile.in (MAKE_VERSION): bump version to 20120602 2114 Merge with NetBSD make, pick up 2115 o for.c: handle quoted items in .for list 2116 21172012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 2118 2119 * Makefile.in (MAKE_VERSION): bump version to 20120530 2120 Merge with NetBSD make, pick up 2121 o compat.c: ignore empty command. 2122 21232012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 2124 2125 * Makefile.in (MAKE_VERSION): bump version to 20120524 2126 * FILES: add bsd.after-import.mk: 2127 A simple means of integrating bmake into a BSD build system. 2128 21292012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 2130 2131 * Makefile.in (MAKE_VERSION): bump version to 20120520 2132 Merge with NetBSD make, pick up 2133 o increased limit for nested conditionals. 2134 21352012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 2136 2137 * Makefile.in (MAKE_VERSION): bump version to 20120518 2138 Merge with NetBSD make, pick up 2139 o use _exit(2) in signal hanlder 2140 o Don't use the [dir] cache when building nodes that might have 2141 changed since the last exec. 2142 o Avoid nested extern declaration warnings. 2143 21442012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 2145 2146 * meta.c (fgetLine): avoid %z - not portable. 2147 * parse.c: Since we moved include of sys/mman.h 2148 and def's of MAP_COPY etc. we got dups from a merge. 2149 21502012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 2151 2152 * Makefile.in (MAKE_VERSION): bump version to 20120420 2153 Merge with NetBSD make, pick up 2154 o restore duplicate supression in .MAKE.MAKEFILES 2155 runtime saving can be significant. 2156 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 2157 consumption up to 20%. 2158 21592012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 2160 2161 * Makefile.in (MAKE_VERSION): bump version to 20120420 2162 Merge with NetBSD make, pick up 2163 o remove duplicate supression in .MAKE.MAKEFILES 2164 o improved dir cache behavior 2165 o gmake'ish export command 2166 21672012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 2168 2169 * Makefile.in (MAKE_VERSION): bump version to 20120325 2170 Merge with NetBSD make, pick up 2171 o fix parsing of :[#] in conditionals. 2172 21732012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 2174 2175 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 2176 since some systems cannot cope with .Nx <version> 2177 21782011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 2179 2180 * Makefile.in (MAKE_VERSION): bump version to 20111111 2181 Merge with NetBSD make, pick up 2182 o debug output for .PARSEDIR and .PARSEFILE 2183 21842011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 2185 2186 * Makefile.in (MAKE_VERSION): bump version to 20111010 2187 21882011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 2189 2190 * boot-strap: check for an expected file in the dirs we look for. 2191 * make-bootstrap.sh: pass on LDSTATIC 2192 21932011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 2194 2195 * Makefile.in (MAKE_VERSION): bump version to 20111001 2196 Merge with NetBSD make, pick up 2197 o ensure .PREFIX is set for .PHONY 2198 and .TARGET set for .PHONY run via .END 2199 o __dead used consistently 2200 22012011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 2202 2203 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 2204 22052011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 2206 2207 * Makefile.in (MAKE_VERSION): bump version to 20110905 2208 Merge with NetBSD make, pick up 2209 o meta_oodate: ignore makeDependfile 2210 22112011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 2212 2213 * Makefile.in (MAKE_VERSION): bump version to 20110828 2214 Merge with NetBSD make, pick up 2215 o silent=yes in .MAKE.MODE causes meta mode to mark targets 2216 as SILENT if a .meta file is created 2217 22182011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 2219 2220 * Makefile.in (MAKE_VERSION): bump version to 20110818 2221 Merge with NetBSD make, pick up 2222 o in meta mode, if target flagged .META a missing .meta file 2223 means target is out-of-date 2224 o fixes for gcc 4.5 warnings 2225 o simplify job printing code 2226 22272011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 2228 2229 * Makefile.in (MAKE_VERSION): bump version to 20110808 2230 Merge with NetBSD make, pick up 2231 o do not touch OP_SPECIAL targets when doing make -t 2232 22332011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 2234 2235 * Makefile.in (MAKE_VERSION): bump version to 20110622 2236 Merge with NetBSD make, pick up 2237 o meta_oodate detect corrupted .meta file and declare oodate. 2238 * configure.in: add check for setsid 2239 22402011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 2241 2242 * Merge with NetBSD make, pick up 2243 o unit-tests/modts now works on MirBSD 2244 22452011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 2246 2247 * Makefile.in (MAKE_VERSION): bump version to 20110606 2248 Merge with NetBSD make, pick up 2249 o ApplyModifiers: when we parse a variable which is not 2250 the entire modifier string, or not followed by ':', do not 2251 consider it as containing modifiers. 2252 o loadfile: ensure newline at end of mapped file. 2253 22542011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 2255 2256 * Makefile.in (MAKE_VERSION): bump version to 20110505 2257 Merge with NetBSD make, pick up 2258 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 2259 of make's control. In meta mode, any generated file within 2260 said bailiwick, which is found to be missing, causes current 2261 target to be out-of-date. 2262 22632011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 2264 2265 * Makefile.in (MAKE_VERSION): bump version to 20110411 2266 Merge with NetBSD make, pick up 2267 o when long modifiers fail to match, check sysV style. 2268 - add a test case 2269 22702011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 2271 2272 * Makefile.in (MAKE_VERSION): bump version to 20110410 2273 Merge with NetBSD make, pick up 2274 o :hash - cheap 32bit hash of value 2275 o :localtime, :gmtime - use value as format string for strftime. 2276 22772011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 2278 2279 * Makefile.in (MAKE_VERSION): bump version to 20110330 2280 mostly because its a cooler version. 2281 Merge with NetBSD make, pick up 2282 o NetBSD tags for meta.[ch] 2283 o job.c call meta_job_finish() after meta_job_error(). 2284 o meta_job_error() should call meta_job_finish() to ensure 2285 .meta file is closed, and safe to copy - if .ERROR target wants. 2286 meta_job_finish() is safe to call repeatedly. 2287 22882011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 2289 2290 * unit-tests/modts: use printf if it is a builtin, 2291 to save us from MirBSD 2292 2293 * Makefile.in (MAKE_VERSION): bump version to 20110329 2294 Merge with NetBSD make, pick up 2295 o fix for use after free() in CondDoExists(). 2296 o meta_oodate() report extra commands and return earlier. 2297 22982011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 2299 2300 * Makefile.in (MAKE_VERSION): bump version to 20110327 2301 Merge with NetBSD make, pick up 2302 o meta.c, if .MAKE.MODE contains curdirOk=yes 2303 allow creating .meta files in .CURDIR 2304 * boot-strap (TOOL_DIFF): aparently at least on linux distro 2305 formats the output of 'type' differently - so eat any "()" 2306 23072011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 2308 2309 * Makefile.in (MAKE_VERSION): bump version to 20110306 2310 Merge with NetBSD make, pick up 2311 o meta.c, only do getcwd() once 2312 23132011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 2314 2315 * Makefile.in (MAKE_VERSION): bump version to 20110305 2316 Merge with NetBSD make, pick up 2317 o correct sysV substitution handling of empty lhs and variable 2318 o correct exists() check for dir with trailing / 2319 o correct handling of modifiers for non-existant variables 2320 during evaluation of conditionals. 2321 o ensure MAP_FILE is defined. 2322 o meta.c use curdir[] now exported by main.c 2323 23242011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 2325 2326 * Makefile.in (MAKE_VERSION): bump version to 20110225 2327 Merge with NetBSD make, pick up 2328 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 2329 makefiles have been read. 2330 o fix example of :? modifier in man page. 2331 23322011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 2333 2334 * Makefile.in (MAKE_VERSION): bump version to 20110214 2335 Merge with NetBSD make, pick up 2336 o meta.c handle realpath() failing when generating meta file 2337 name. 2338 2339 * sigcompat.c: convert to ansi so we can use higher warning levels. 2340 2341 23422011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 2343 2344 * Makefile.in (MAKE_VERSION): bump version to 20110207 2345 Merge with NetBSD make, pick up 2346 o fix for bug in meta mode. 2347 23482011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 2349 2350 * parse.c: SunOS 5.8 at least does not have MAP_FILE 2351 23522011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 2353 2354 * Makefile.in (MAKE_VERSION): bump version to 20110101 2355 Merge with NetBSD make, pick up 2356 o use mmap(2) if available, for reading makefiles 2357 23582010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 2359 2360 * Makefile.in (MAKE_VERSION): bump version to 20101215 2361 Merge with NetBSD make, pick up 2362 o ensure meta_job_error() does not report a previous .meta file 2363 as being culprit. 2364 23652010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 2366 2367 * Makefile.in (MAKE_VERSION): bump version to 20101210 2368 Merge with NetBSD make, pick up 2369 o meta_oodate: track cwd per process, and only consider target 2370 out-of-date if missing file is outside make's CWD. 2371 Ignore files in /tmp/ etc. 2372 o to ensure unit-tests results match, need to control LC_ALL 2373 as well as LANG. 2374 o fix for parsing bug in var.c 2375 23762010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 2377 2378 * Makefile.in (MAKE_VERSION): bump version to 20101126 2379 Merge with NetBSD make, pick up 2380 o if stale dependency is an IMPSRC, search via .PATH 2381 o meta_oodate: if a referenced file is missing, target is 2382 out-of-date. 2383 o meta_oodate: if a target uses .OODATE in its commands, 2384 it (.OODATE) needs to be recomputed. 2385 o keep a pointer to youngest child node, rather than just its 2386 mtime. 2387 23882010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 2389 2390 * Makefile.in (MAKE_VERSION): bump version to 20101101 2391 23922010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 2393 2394 * machine.sh: like os.sh, 2395 allow for uname -p producing useless drivel 2396 23972010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 2398 2399 * boot-strap: document configure knobs for meta and filemon. 2400 2401 * Makefile.in (MAKE_VERSION): bump version to 20100911 2402 Merge with NetBSD make, pick up 2403 o meta.c - meta mode 2404 2405 * make-bootstrap.sh.in: handle meta.c 2406 * configure.in: add knobs for use_meta and filemon_h 2407 also, look for dirname, str[e]sep and strlcpy 2408 * util.c: add simple err[x] and warn[x] 2409 24102010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 2411 2412 * boot-strap (TOOL_DIFF): set this to ensure tests use 2413 the same version of diff that configure tested 2414 2415 * Makefile.in (MAKE_VERSION): bump version to 20100808 2416 Merge with NetBSD make, pick up 2417 o in jobs mode, when we discover we cannot make something, 2418 call PrintOnError before exit. 2419 24202010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 2421 2422 * Makefile.in (MAKE_VERSION): bump version to 20100806 2423 Merge with NetBSD make, pick up 2424 o formatting fixes for ignored errors 2425 o ensure jobs are cleaned up regardless of where wait() was called. 2426 24272010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 2428 2429 * Makefile.in (MAKE_VERSION): bump version to 20100618 2430 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 2431 24322010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 2433 2434 * Makefile.in (MAKE_VERSION): bump version to 20100616 2435 Merge with NetBSD make, pick up 2436 o man page update 2437 o call PrintOnError from JobFinish when we detect an error we 2438 are not ignoring. 2439 24402010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 2441 2442 * Makefile.in (MAKE_VERSION): bump version to 20100606 2443 Merge with NetBSD make, pick up 2444 o man page update 2445 24462010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 2447 2448 * Makefile.in (MAKE_VERSION): bump version to 20100605 2449 Merge with NetBSD make, pick up 2450 o use bmake_signal() which is a wrapper around sigaction() 2451 in place of signal() 2452 o add .export-env to allow exporting variables to environment 2453 without tracking (so no re-export when the internal value is 2454 changed). 2455 24562010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 2457 2458 * Makefile.in (MAKE_VERSION): bump version to 20100524 2459 Merge with NetBSD make, pick up 2460 o fix for .info et al being greedy. 2461 24622010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 2463 2464 * Makefile.in (MAKE_VERSION): bump version to 20100520 2465 Merge with NetBSD make, pick up 2466 o back to using realpath on argv[0] 2467 but only if contains '/' and does not start with '/'. 2468 24692010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 2470 2471 * boot-strap: use absolute path for bmake when running tests. 2472 2473 * Makefile.in (MAKE_VERSION): bump version to 20100510 2474 Merge with NetBSD make, pick up 2475 o revert use of realpath on argv[0] 2476 too many corner cases. 2477 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 2478 24792010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 2480 2481 * Makefile.in (MAKE_VERSION): bump version to 20100505 2482 Merge with NetBSD make, pick up 2483 o fix for missed SIGCHLD when compiled with SunPRO 2484 actually for bmake, defining FORCE_POSIX_SIGNALS would have 2485 done the job. 2486 24872010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 2488 2489 * Makefile.in (MAKE_VERSION): bump version to 20100430 2490 Merge with NetBSD make, pick up 2491 o fflush stdout before writing to stdout 2492 24932010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 2494 2495 * Makefile.in (MAKE_VERSION): bump version to 20100423 2496 Merge with NetBSD make, pick up 2497 o updated unit tests for Haiku (this time for sure). 2498 * boot-strap: based on patch from joerg 2499 honor --with-default-sys-path better. 2500 * boot-strap: remove mention of --with-prefix-sys-path 2501 25022010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 2503 2504 * Makefile.in (MAKE_VERSION): bump version to 20100422 2505 * Merge with NetBSD make, pick up 2506 o fix for vfork() on Darwin. 2507 o fix for bogus $TMPDIR. 2508 o set .MAKE.MODE=compat for -B 2509 o set .MAKE.JOBS=max_jobs for -j max_jobs 2510 o allow unit-tests to run without any *.mk 2511 o unit-tests/modmisc be more conservative in dirs presumed to exist. 2512 * boot-strap: ignore /usr/share/mk except on NetBSD. 2513 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 2514 ensure sort(1) behaves as expected. 2515 25162010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 2517 2518 * boot-strap: add FindHereOrAbove so we can use -m .../mk 2519 25202010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 2521 2522 * Makefile.in (MAKE_VERSION): bump version to 20100420 2523 * Merge with NetBSD make, pick up 2524 o fix for variable realpath() behavior. 2525 we have to stat(2) the result to be sure. 2526 o fix for .export (all) when nested vars use :sh 2527 25282010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 2529 2530 * Makefile.in (MAKE_VERSION): bump version to 20100414 2531 * Merge with NetBSD make, pick up 2532 o use realpath to resolve argv[0] (for .MAKE) if needed. 2533 o add realpath from libc. 2534 o add :tA to resolve variable via realpath(3) if possible. 2535 25362010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 2537 2538 * Makefile.in (MAKE_VERSION): bump version to 20100408 2539 * Merge with NetBSD make, pick up 2540 o unit tests for .ERROR, .error 2541 o fix for .ERROR to ensure it cannot be default target. 2542 25432010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 2544 2545 * Makefile.in (MAKE_VERSION): bump version to 20100406 2546 * Merge with NetBSD make, pick up 2547 o fix for compat mode "Error code" going to debug_file. 2548 o fix for .ALLSRC being populated twice. 2549 o support for .info, .warning and .error directives 2550 o .MAKE.MODE to control make's operational mode 2551 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 2552 name(s). 2553 o .MAKE.DEPENDFILE to control the name of the depend file 2554 o .ERROR target - run on failure. 2555 25562010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 2557 2558 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 2559 2560 * os.sh,arch.c: patch for Haiku from joerg at netbsd 2561 25622010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 2563 2564 * Makefile.in (MAKE_VERSION): bump version to 20100222 2565 * Merge with NetBSD make, pick up 2566 o better error msg for .for with mutiple inter vars 2567 2568 * boot-strap: 2569 o use make-bootstrap.sh from joerg at netbsd 2570 to avoid the need for a native make when bootstrapping. 2571 o add "" everywhere ;-) 2572 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 2573 otherwise the pre-formated version. 2574 25752010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 2576 2577 * Makefile.in (MAKE_VERSION): bump version to 20100102 2578 * Merge with NetBSD make, pick up: 2579 o fix for -m .../ 2580 25812009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 2582 2583 * Makefile.in (MAKE_VERSION): bump version to 20091118 2584 * Merge with NetBSD make, pick up: 2585 o .unexport 2586 o report lines that start with '.' and should have ':' 2587 (catch typo's of .el*if). 2588 25892009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 2590 2591 * configure.in: Ensure that srcdir and mksrc are absolute paths. 2592 25932009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2594 2595 * Makefile.in (MAKE_VERSION): fix version to 20091007 2596 25972009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 2598 2599 * Makefile.in (MAKE_VERSION): bump version to 200910007 2600 * Merge with NetBSD make, pick up: 2601 o fix for parsing of :S;...;...; applied to .for loop iterator 2602 appearing in a dependency line. 2603 26042009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 2605 2606 * Makefile.in (MAKE_VERSION): bump version to 20090909 2607 * Merge with NetBSD make, pick up: 2608 o fix for -C, .CURDIR and .OBJDIR 2609 * boot-strap: 2610 o allow share_dir to be set independent of prefix. 2611 o select default share_dir better when prefix ends in $HOST_TARGET 2612 o if FORCE_BSD_MK etc were set, include them in the suggested 2613 install-mk command. 2614 26152009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 2616 2617 * Makefile.in (MAKE_VERSION): bump version to 20090908 2618 * Merge with NetBSD make, pick up: 2619 o .MAKE.LEVEL for recursion tracking 2620 o fix for :M scanning \: 2621 26222009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 2623 2624 * configure.in: Don't -D__EXTENSIONS__ if 2625 AC_USE_SYSTEM_EXTENSIONS says "no". 2626 26272009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 2628 2629 * Makefile.in (MAKE_VERSION): bump version to 20090826 2630 Simplify MAKE_VERSION to just the bare date. 2631 * Merge with NetBSD make, pick up: 2632 o -C directory support. 2633 o support for SIGINFO 2634 o use $TMPDIR for temp files. 2635 o child of vfork should be careful about modifying parent's state. 2636 2637 26382009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 2639 2640 * Appy some patches for MiNT from David Brownlee 2641 26422009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 2643 2644 * Makefile.in (BMAKE_VERSION): bump version to 20090222 2645 * Merge with NetBSD make, pick up: 2646 o Possible null pointer de-ref in Var_Set. 2647 26482009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 2649 2650 * Makefile.in (BMAKE_VERSION): bump version to 20090204 2651 * Merge with NetBSD make, pick up: 2652 o bmake_malloc et al moved to their own .c 2653 o Count both () and {} when looking for the end of a :M pattern 2654 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 2655 o strlist.c - functions for processing extendable arrays of pointers to strings. 2656 o ClientData replaced with void *, so const void * can be used. 2657 o New debug flag C for DEBUG_CWD 2658 26592008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 2660 2661 * Makefile.in (BMAKE_VERSION): bump version to 20081111 2662 Apply patch from Joerg Sonnenberge to 2663 configure.in: 2664 o remove some redundant checks 2665 o check for emlloc etc only in libutil and require the whole family. 2666 util.c: 2667 o remove [v]asprintf which is no longer used. 2668 26692008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2670 2671 * Makefile.in (BMAKE_VERSION): bump version to 20081101 2672 * Merge with NetBSD make, pick up: 2673 o util.c: avoid use of putenv() - christos 2674 26752008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 2676 2677 * Makefile.in (BMAKE_VERSION): bump version to 20081030 2678 pick up man page tweaks. 2679 26802008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 2681 2682 * Makefile.in: move processing of LIBOBJS to after is definition! 2683 thus we'll have getenv.c in SRCS only if needed. 2684 2685 * make.1: add examples of how to use :? 2686 2687 * Makefile.in (BMAKE_VERSION): bump version to 20081029 2688 * Merge with NetBSD make, pick up: 2689 o fix for .END processing with -j 2690 o segfault from Parse_Error when no makefile is open 2691 o handle numeric expressions in any variable expansion 2692 o debug output now defaults to stderr, -dF to change it - apb 2693 o make now uses bmake_malloc etc so that it can build natively 2694 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 2695 26962008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 2697 2698 * Makefile.in (BMAKE_VERSION): bump version to 20080808 2699 * Merge with NetBSD make, pick up: 2700 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 2701 long lines in Makefiles 2702 o optimizations for VarQuote by joerg 2703 o fix for PR/38756: dominik: make dumps core on invalid makefile 2704 27052008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 2706 2707 * Makefile.in (BMAKE_VERSION): bump version to 20080515 2708 * Merge with NetBSD make, pick up: 2709 o fix skip setting vars in VAR_GLOBAL context, to handle 2710 cases where VAR_CMD is used for other than command line vars. 2711 27122008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 2713 2714 * boot-strap (make_version): we may need to look in 2715 $prefix/share/mk for sys.mk 2716 2717 * Makefile.in (BMAKE_VERSION): bump version to 20080514 2718 * Merge with NetBSD make, pick up: 2719 o skip setting vars in VAR_GLOBAL context, when already set in 2720 VAR_CMD which takes precedence. 2721 27222008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 2723 2724 * Makefile.in (BMAKE_VERSION): bump version to 20080330 2725 * Merge with NetBSD make, pick up: 2726 o fix for ?= when LHS contains variable reference. 2727 27282008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2729 2730 * merge some patches from NetBSD pkgsrc. 2731 2732 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 2733 the MAKSYSPATH used during bootstrap. 2734 2735 * Makefile.in (BMAKE_VERSION): bump version to 20080215 2736 * Merge with NetBSD make, pick up: 2737 o warn if non-space chars follow 'empty' in a conditional. 2738 27392008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 2740 2741 * Makefile.in (BMAKE_VERSION): bump version to 20080118 2742 * Merge with NetBSD make, pick up: 2743 o consider dependencies read from .depend as optional - dsl 2744 o remember when buffer for reading makefile grows - dsl 2745 o add -dl (aka LOUD) - David O'Brien 2746 27472007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 2748 2749 * Makefile.in (BMAKE_VERSION): bump version to 20071022 2750 * Merge with NetBSD make, pick up: 2751 o Allow .PATH<suffix> to be used for .include "" 2752 2753 * boot-strap: source default settings from .bmake-boot-strap.rc 2754 27552007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 2756 2757 * Makefile.in: fix maninstall on various systems 2758 provided that our man.mk is used. 2759 For non-BSD systems we install the preformatted page 2760 into $MANDIR/cat1 2761 27622007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 2763 2764 * boot-strap: make bmake.1 too, so maninstall works. 2765 27662007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 2767 2768 * Makefile.in (BMAKE_VERSION): bump version to 20071014 2769 * Merge with NetBSD make, pick up: 2770 o revamped handling of defshell - configure no longer needs to 2771 know the content of the shells array - apb 2772 o stop Var_Subst modifying its input - apb 2773 o avoid calling ParseTrackInput too often - dsl 2774 27752007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 2776 2777 * Makefile.in (BMAKE_VERSION): bump version to 20071011 2778 * Merge with NetBSD make, pick up: 2779 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 2780 2781 * sigcompat.c: some tweaks for HP-UX 11.x based on 2782 patch from Tobias Nygren 2783 2784 * configure.in: update handling of --with-defshell to match 2785 new make behavior. --with-defshell=/usr/xpg4/bin/sh 2786 will now do what one might hope - provided the chosen shell 2787 behaves enough like sh. 2788 27892007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 2790 2791 * Makefile.in (BMAKE_VERSION): bump to 20071008 2792 * Merge with NetBSD make, pick up: 2793 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 2794 o .export/.MAKE.EXPORTED - export of variables - sjg 2795 o .MAKE.MAKEFILES - track all makefiles read - sjg 2796 o performance improvements - dsl 2797 o revamp parallel job scheduling - dsl 2798 27992006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2800 2801 * Makefile.in (BMAKE_VERSION): bump to 20060728 2802 * Merge with NetBSD make, pick up: 2803 o extra debug info during variable and cond processing - sjg 2804 o shell definition now covers newline - rillig 2805 o minor mem leak in PrintOnError - sjg 2806 28072006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 2808 2809 * Makefile.in (BMAKE_VERSION): bump to 20060511 2810 * Merge with NetBSD make, pick up: 2811 o more memory leaks - coverity 2812 o possible overflow in ArchFindMember - coverity 2813 o extract variable modifier code out of Var_Parse() 2814 so it can be called recursively - sjg 2815 o unit-tests/moderrs - sjg 2816 28172006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 2818 2819 * Makefile.in (BMAKE_VERSION): bump to 20060412 2820 * Merge with NetBSD make, pick up: 2821 o fixes for some memory leaks - coverity 2822 o only read first sys.mk etc when searching sysIncPath - sjg 2823 2824 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 2825 setting ${MAKEFILE} - OBATA Akio 2826 28272006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 2828 2829 * Makefile.in (BMAKE_VERSION): bump to 20060318 2830 * Merge with NetBSD make, pick up: 2831 o cleanup of job.c to remove remote handling, distcc is more 2832 useful and this code was likely bit-rotting - dsl 2833 o fix for :P modifier - sjg 2834 * boot-strap: set default prefix to something reasonable 2835 (for me anyway). 2836 28372006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 2838 2839 * Makefile.in (BMAKE_VERSION): bump to 20060301 2840 * Merge with NetBSD make, pick up: 2841 o make .WAIT apply recursively, document and test case - apb 2842 o allow variable modifiers in a variable appear anywhere in 2843 modifier list, document and test case - sjg 2844 28452006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 2846 2847 * Makefile.in (BMAKE_VERSION): bump to 20060222 2848 * Merge with NetBSD make, pick up: 2849 o improved job token handling - dsl 2850 o SIG_DFL the correct signal before exec - dsl 2851 o more debug info during parsing - dsl 2852 o allow variable modifiers to be specified via variable - sjg 2853 * boot-strap: explain why we died if no mksrc 2854 28552005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 2856 2857 * Makefile.in (BMAKE_VERSION): bump to 20051105 2858 * configure.in: always set default_sys_path 2859 default is ${prefix}/share/mk 2860 - remove prefix_sys_path, anyone wanting more than above 2861 needs to set it manually. 2862 28632005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2864 2865 * boot-strap: make this a bit easier for pkgsrc folk. 2866 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 2867 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 2868 28692005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 2870 2871 * Makefile.in (BMAKE_VERSION): bump to 20051102 2872 * job.c (JobFinish): fix likely ancient merge lossage 2873 fix from Todd Vierling. 2874 * boot-strap (srcdir): allow setting mksrc=none 2875 28762005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 2877 2878 * Makefile.in (BMAKE_VERSION): bump to 20051031 2879 * ranlib.h: skip on OSF too. 2880 (NetBSD PR 31864) 2881 28822005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 2883 2884 * Makefile.in (BMAKE_VERSION): bump to 20051002 2885 fix a silly typo 2886 28872005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2888 2889 * Makefile.in (BMAKE_VERSION): bump to 20051001 2890 support for UnixWare and some other systems, 2891 based on patches from pkgsrc/bootstrap 2892 28932005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 2894 2895 * Makefile.in (BMAKE_VERSION): bump to 20050901 2896 * Merge with NetBSD make, pick up: 2897 o possible parse error causing us to wander off. 2898 28992005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 2900 2901 * Makefile.in (BMAKE_VERSION): bump to 20050606 2902 * Merge with NetBSD make, pick up: 2903 o :0x modifier for randomizing a list 2904 o fixes for a number of -Wuninitialized issues. 2905 29062005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 2907 2908 * Makefile.in (BMAKE_VERSION): bump to 20050530 2909 * Merge with NetBSD make, pick up: 2910 o Handle dependencies for .BEGIN, .END and .INTERRUPT 2911 2912 * README: was seriously out of date. 2913 29142005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 2915 2916 * Important to use .MAKE rather than MAKE. 2917 29182005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 2919 2920 * Makefile.in (BMAKE_VERSION): bump to 20050315 2921 * Merge with NetBSD make, pick up: 2922 o don't mistake .elsefoo for .else 2923 o use suffix-specific search path correctly 2924 o bunch of style nits 2925 29262004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 2927 2928 * boot-strap: 2929 o ensure that args to --src and --with-mksrc 2930 are resolved before giving them to configure. 2931 o add -o "objdir" so that builder can control it, 2932 default is $OS as determined by os.sh 2933 o add -q to suppress all the install instructions. 2934 29352004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 2936 2937 * Remove __IDSTRING() 2938 2939 * Makefile.in (BMAKE_VERSION): bump to 20040508 2940 * Merge with NetBSD make, pick up: 2941 o posix fixes 2942 - remove '-e' from compat mode 2943 - add support for '+' command-line prefix. 2944 o fix for handling '--' on command-line. 2945 o fix include in lst.lib/lstInt.h to simplify '-I's 2946 o we also picked up replacement of MAKE_BOOTSTRAP 2947 with !MAKE_NATIVE which is a noop, but possibly confusing. 2948 29492004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 2950 2951 * Makefile.in (BMAKE_VERSION): bump to 20040414 2952 * Merge with NetBSD make, pick up: 2953 o allow quoted strings on lhs of conditionals 2954 o issue warning when extra .else is seen 2955 o print line numer when errors encountered during parsing from 2956 string. 2957 29582004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 2959 2960 * Makefile.in (BMAKE_VERSION): bump to 20040220 2961 * Merge with NetBSD make, pick up: 2962 o fix for old :M parsing bug. 2963 o re-jigged unit-tests 2964 29652004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2966 2967 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 2968 so that './bmake -f Makefile test' works. 2969 29702004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 2971 2972 * Makefile.in: (BMAKE_VERSION): bump to 20040214 2973 * Merge with NetBSD make, pick up: 2974 o search upwards for *.mk 2975 o fix for double free of var substitution buffers 2976 o use of getopt replaced with custom code, since the usage 2977 (re-scanning) isn't posix compatible. 2978 29792004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 2980 2981 * arch.c: don't include ranlib.h on ELF systems 2982 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 2983 29842004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 2985 2986 * Makefile.in (BMAKE_VERSION): bump to 20040118 2987 2988 * boot-strap (while): export vars we assign to on cmdline 2989 * unit-test/Makefile.in: ternary is .PHONY 2990 29912004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 2992 2993 * Makefile.in (BMAKE_VERSION): bump version to 20040108 2994 * Merge with NetBSD make, pick up: 2995 o fix for ternary modifier 2996 29972004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 2998 2999 * Makefile.in (BMAKE_VERSION): bump version to 20040105 3000 * Merge with NetBSD make, pick up: 3001 o fix for cond.c to handle compound expressions better 3002 o variable expansion within sysV style replacements 3003 30042003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 3005 3006 * Make portable snprintf safer - output to /dev/null first to 3007 check space needed. 3008 3009 * Makefile.in (BMAKE_VERSION): bump version to 20031222 3010 * Merge with NetBSD make, pick up: 3011 o -dg3 to show input graph when things go wrong. 3012 o explicitly look for makefiles in objdir if not found in curdir so 3013 that errors in .depend etc will be reported accurarely. 3014 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 3015 instead as it more accurately reflects the expected behavior and 3016 is more consistently implemented. 3017 o avoid use of asprintf. 3018 30192003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 3020 3021 * util.c: Add asprintf and vasprintf. 3022 3023 * Makefile.in (BMAKE_VERSION): bump version to 20030928 3024 * Merge with NetBSD make, pick up: 3025 :[] modifier - allows picking words from a variable. 3026 :tW modifier - allows treating value as one big word. 3027 W flag for :C and :S - allows treating value as one big word. 3028 30292003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 3030 3031 * Merge with NetBSD make 3032 pick up -de flag to enable printing failed command. 3033 don't skip 1st two dir entries (normally . and ..) since 3034 coda does not have them. 3035 30362003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 3037 3038 * Makefile.in (BMAKE_VERSION): bump version to 20030909 3039 * Merge with NetBSD make, pick up: 3040 - changes for -V '${VAR}' to print fully expanded value 3041 cf. -V VAR 3042 - CompatRunCommand now prints the command that failed. 3043 - several files got updated 3 clause Berkeley license. 3044 30452003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 3046 3047 * boot-strap: Allow setting configure args on command line. 3048 30492003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 3050 3051 * configure.in: add --with-defshell to allow sh or ksh 3052 to be selected as default shell. 3053 3054 * Makefile.in: bump version to 20030731 3055 3056 * Merge with NetBSD make 3057 Pick up .SHELL spec for ksh and associate man page changes. 3058 Also compat mode now uses the same shell specs. 3059 30602003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 3061 3062 * var.c (Var_Parse): ensure delim is initialized. 3063 3064 * unit-tests/Makefile.in: use single quotes to avoid problems from 3065 some shells. 3066 3067 * makefile.boot.in: 3068 Run the unit-tests as part of the bootstrap procedure. 3069 30702003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 3071 3072 * unit-tests/Makefile.in: always force complaints from 3073 ${TEST_MAKE} to be from 'make'. 3074 3075 * configure.in: add check for 'diff -u' 3076 also fix some old autoconf'isms 3077 3078 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 3079 if using GCC add -Wno-cast-qual to CFLAGS for var.o 3080 3081 * Merge with NetBSD make 3082 Pick up fix for :ts parsing error in some cases. 3083 Pick unit-tests. 3084 30852003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 3086 3087 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 3088 3089 * var.c (Var_Parse): fix bug in :ts modifier, after const 3090 correctness fixes, must pass nstr to VarModify. 3091 30922003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 3093 3094 * Makefile.in: BMAKE_VERSION switch to a date based version. 3095 We'll generally use the date of last import from NetBSD. 3096 3097 * Merge with NetBSD make 3098 Pick up fixes for const-correctness, now passes WARNS=3 on 3099 NetBSD. 3100 Pick up :ts modifier, allows controlling the separator used 3101 between words in variable expansion. 3102 31032003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 3104 3105 * FILES: include boot-strap and os.sh 3106 3107 * Makefile.in: only set WARNS if we are NetBSD, the effect on 3108 FreeBSD is known to be bad. 3109 3110 * makefile.boot.in (bootstrap): make this the default target. 3111 3112 * Makefile.in: bump version to 3.1.19 3113 3114 * machine.sh: avoid A-Z with tr as it is bound to lose. 3115 31162003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 3117 3118 * Merge with NetBSD make 3119 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 3120 Plus some doc fixes. 3121 31222003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 3123 3124 * Merge with NetBSD make 3125 Pick up fix for PR/1523 - don't count a library as built, if there 3126 is no way to build it 3127 3128 * Bump version to 3.1.18 3129 31302003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 3131 3132 * Merge with NetBSD make 3133 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 3134 appears in src list. 3135 31362003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 3137 3138 * Merge with NetBSD make (mmm 10th anniversary!) 3139 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 3140 pick up -X which tells us to not export VAR=val via setenv if 3141 we are already doing so via MAKEFLAGS. This saves valuable env 3142 space on systems like Darwin. 3143 set MAKE_VERSION to 3.1.17 3144 3145 * parse.c: pix up fix for suffix rules 3146 31472003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 3148 3149 * Merge with NetBSD make. 3150 pick up fix for propagating -B via MAKEFLAGS. 3151 set MAKE_VERSION to 3.1.16 3152 3153 * Apply some patches from pkgsrc-bootstrap/bmake 3154 Originally by Grant Beattie <grant@netbsd.org> 3155 I may have missed some - since they are based on bmake-3.1.12 3156 31572002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 3158 3159 * makefile.boot.in (bmake): update install targets for those that 3160 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 3161 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 3162 3163 * bmake.cat1: update the pre-formatted man page! 3164 31652002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 3166 3167 * Merge with NetBSD make. 3168 pick up fix for premature free of pointer used in call 3169 to Dir_InitCur(). 3170 set MAKE_VERSION to 3.1.15 3171 31722002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 3173 3174 * configure.in: determine suitable value for MKSRC. 3175 override using --with-mksrc=PATH. 3176 3177 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 3178 configs(8) will use 'sun4' as an alias for 'sparc'. 3179 31802002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 3181 3182 * Merge with NetBSD make. 3183 pick up ${.PATH} 3184 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 3185 set MAKE_VERSION to 3.1.14 3186 add configure checks for killpg and sys/socket.h 3187 31882002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 3189 3190 * tag bmake-3-1-13 3191 3192 * makefile.boot.in (bmake): use install-mk 3193 Also setup ./mk before trying to invoke bmake.boot incase we 3194 needed install-mk to create a sys.mk for us. 3195 3196 * configure.in: If we need to add -I${srcdir}/missing, make it an 3197 absolute path so that it works for lst.lib too. 3198 3199 * make.h: always include sys/cdefs.h since we provide one if the 3200 host does not. 3201 3202 * Makefile.in (install-mk): 3203 use MKSRC/install-mk which will do the right thing. 3204 use uname -p for ARCH if possible. 3205 since install-mk will setup links bsd.prog.mk -> prog.mk if 3206 needed, just .include bsd.prog.mk 3207 3208 * Merge with NetBSD make (NetBSD-1.6) 3209 Code is ansi-C only now. 3210 Bug in handling of dotLast is fixed. 3211 Can now assign .OBJDIR and make will reset its notions of life. 3212 New modifiers :tu :tl for toUpper and toLower. 3213 3214Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 3215 3216 * Merge with NetBSD make 3217 pick up fix for .END failure in compat mode. 3218 pick up fix for extra va_end() in ParseVErrorInternal. 3219 3220Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 3221 3222 * configure.in: for systems that have sys/cdefs.h check if it is 3223 compatible. If not, include the one under missing, but tell it to 3224 include the native one too - necessary on Linux. 3225 3226 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 3227 include_next (for gcc) to get the native sys/cdefs.h 3228 3229Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3230 3231 * job.c (JobFinish): Fix an earlier merge bug that resulted in 3232 leaking descriptors when using -jN. 3233 3234 * job.c (JobPrintCommand): See if "curdir" exists before 3235 attempting to chdir(). Doing the chdir directly in make (when in 3236 compat mode) fails silently, so let the -jN version do the same. 3237 This can happen when building kernels in an object tree and 3238 playing clever games to reset .CURDIR. 3239 3240 * Merged with NetBSD make 3241 pick up .USEBEFORE 3242 3243Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3244 3245 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 3246 3247Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3248 3249 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 3250 us not to export the iterator variable when using VAR_CMD context. 3251 3252Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3253 3254 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 3255 its the wrong "fix". 3256 3257Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3258 3259 * Redesigned export of VAR_CMD's via MAKEFLAGS. 3260 We now simply append the variable names to .MAKEOVERRIDES, and 3261 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 3262 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 3263 Apart from fixing quoting bugs in previous version, this allows us 3264 to export vars to the environment by simply doing: 3265 .MAKEOVERRIDES+= PATH 3266 Merged again with NetBSD make, but the above is the only change. 3267 3268 * configure.in: added 3269 --disable-pwd-override disable $PWD overriding getcwd() 3270 --disable-check-make-chdir disable make trying to guess 3271 when it should automatically cd ${.CURDIR} 3272 3273 * Merge with NetBSD make, changes include: 3274 parse.c (ParseDoDependency): Spot that the syntax error is 3275 caused by an unresolved cvs/rcs conflict and say so. 3276 var.c: most of Var* functions now take a ctxt as 1st arg. 3277 now does variable substituion on rhs of sysv style modifiers. 3278 3279 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 3280 is now done here. We append the name='value' to .MAKEOVERRIDES 3281 rather than directly into MAKEFLAGS as this allows a Makefile to 3282 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 3283 very similar mechanism. Note that in adding name='value' to 3284 .MAKEOVERRIDES we do the moral equivalent of: 3285 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 3286 3287Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3288 3289 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 3290 3291 * Merged with NetBSD make 3292 make -dx can now be used to run commands via sh -x 3293 better error messages on exec failures. 3294 3295Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3296 3297 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 3298 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 3299 MACHINE etc otherwise they propagate from the previous bmake. 3300 3301 * configure.in (machine): allow --with-machine=generic to make 3302 configure use machine.sh to set MACHINE. 3303 3304 * job.c (JobInterrupt): convert to using WAIT_T and friends. 3305 3306 * Makefile.in: mention in bmake.1 that we use autoconf. 3307 3308 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 3309 3310Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3311 3312 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 3313 as that rather defeats the usefulness of ${MAKEFILE}. 3314 3315 * main.c (MainParseArgs): append command line variable assignments 3316 to MAKEFLAGS so that they get propagated to child make's. 3317 Apparently this is required POSIX behaviour? Its useful anyway. 3318 3319Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3320 3321 * compat.c (CompatRunCommand): don't use perror() since stdio may 3322 cause problems in child of vfork(). 3323 3324 * compat.c, main.c: Call PrintOnError() when we are going to bail. 3325 This routine prints out the .curdir where we stopped and will also 3326 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 3327 3328 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 3329 :@ expansion. 3330 3331 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 3332 3333 * Added RCSid's for the files we've touched. 3334 3335Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3336 3337 * configure.in: Thanks to some clues from mdb@juniper.net, 3338 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 3339 as well as what ends up in _PATH_DEFSYSPATH. We now have: 3340 3341 --with-machine=MACHINE explicitly set MACHINE 3342 --with-force-machine=MACHINE set FORCE_MACHINE 3343 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 3344 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 3345 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 3346 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 3347 3348 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 3349 3350 * makefile: added a pathetically simple makefile to drive 3351 bootstrapping. Running configure by hand is more useful. 3352 3353 * Makefile.in: added MAKE_VERSION, and reworked things to be less 3354 dependent on NetBSD bsd.*.mk 3355 3356 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 3357 _PATH_OBJDIRPREFIX for those that don't want a default. 3358 construct _PATH_DEFSYSPATH from the info we get from configure. 3359 3360 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 3361 if MAKE_VERSION is defined. 3362 3363 * compat.c: when we bail, print out the .CURDIR we were in. 3364 3365Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3366 3367 * Merged with NetBSD make 3368 3369 * var.c: fixed a bug in the handling of the modifier :P 3370 if the node as found but the path was null, we segfault trying to 3371 duplicate it. 3372 3373Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3374 3375 * Merged with NetBSD make 3376 3377 * make.c: Make_OODate's test for a library out of date was using 3378 cmtime where it should have used mtime (my bug). 3379 3380 * compat.c: Use perror() to tell us what really went wrong when we 3381 cannot exec a command. 3382 3383Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3384 3385 * Merged with NetBSD make 3386 3387Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3388 3389 * Merged with NetBSD make 3390 3391Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3392 3393 * Merged with NetBSD make 3394 3395Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3396 3397 * Merged with NetBSD make 3398 3399Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3400 3401 * util.c: don't provide signal() since we use sigcompat.c 3402 3403 * Makefile.in: added a build target. 3404 3405 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 3406 These allow some quite clever magic. 3407 3408 * main.c (main): added support for getenv(MAKESYSPATH). 3409 3410Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3411 3412 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 3413 This avoids objdir having a different value depending on how a 3414 directory was reached (via command line, or subdir.mk). 3415 3416 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 3417 3418Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3419 3420 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 3421 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 3422 I've been testing this in NetBSD's make for some weeks. 3423 3424 * Turn Makefile into Makefile.in and make it useful. 3425 3426Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3427 3428 * Imported NetBSD's -current make(1) and resolve conflicts. 3429 3430 * Applied autoconf patches from bmake v2 3431 3432 * Imported clean code base from NetBSD-1.0 3433