1 2020-11-17 Simon J Gerraty <sjg@beast.crufty.net>
3 * VERSION (_MAKE_VERSION): 20201117
4 Merge with NetBSD make, pick up
5 o fix some unit-tests when dash is .SHELL
6 o rename Targ_NewGN to GNode_New
7 o make some GNode functions const
8 o main.c: call Targ_Init before Var_Init
9 cleanup PrintOnError, getTmpdir and ParseBoolean
10 o var.c: fix error message of failed :!cmd! modifier
12 2020-11-14 Simon J Gerraty <sjg@beast.crufty.net>
14 * VERSION (_MAKE_VERSION): 20201114
15 Merge with NetBSD make, pick up
16 o replace a few HashTable_CreateEntry with HashTable_Set
17 o clean up cached_stats
18 o rename DEFAULT to defaultNode
19 o remove redundant struct make_stat
20 o cond.c: in lint mode, check for ".else <cond>"
21 use bitset for IfState
22 replace large switch with if-else in Cond_EvalLine
23 o job.c: clean up JobExec, JobStart, JobDoOutput
24 use stderr for error message about failed touch
26 replace macro DBPRINTF with JobPrintln
27 rename JobState to JobStatus
28 main.c: switch cache for realpath from GNode to HashTable
30 clean up InitDefSysIncPath
31 use progname instead of hard-coded 'make' in warning
32 rename Main_SetVarObjdir to SetVarObjdir
33 make.1: document the -S option
34 make.c: fix debug output for GNode details
35 use symbolic names in debug output of GNodes
37 2020-11-12 Simon J Gerraty <sjg@beast.crufty.net>
39 * configure.in: fix --with-force-machine-arch
41 * VERSION (_MAKE_VERSION): 20201112
42 Merge with NetBSD make, pick up
43 o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable
44 checks in InitObjdir. Explicit .OBJDIR target always allows
46 o cond.c: clean up Cond_EvalLine
48 2020-11-11 Simon J Gerraty <sjg@beast.crufty.net>
50 * VERSION (_MAKE_VERSION): 20201111
51 Merge with NetBSD make, pick up
54 remove redundant parentheses from sizeof operator
55 replace character literal 0 with '\0'.
56 replace pointer literal 0 with NULL.
57 remove redundant parentheses.
58 replace (expr & mask) == 0 with !(expr & mask).
59 use strict typing in conditions of the form !var
60 o rename Make_OODate to GNode_IsOODate
61 o rename Make_TimeStamp to GNode_UpdateYoungestChild
62 o rename Var_Set_with_flags to Var_SetWithFlags
63 o rename dieQuietly to shouldDieQuietly
64 o buf.c: make API of Buf_Init simpler
65 o compat.c: clean up Compat_Make, Compat_RunCommand,
66 CompatDeleteTarget and CompatInterrupt
67 o cond.c: in lint mode, only allow '&&' and '||', not '&' and '|'
68 clean up CondParser_Comparison
69 o main.c: rename getBoolean and s2Boolean
70 rename MAKEFILE_PREFERENCE for consistency
71 o parse.c: replace strstr in ParseMaybeSubMake with optimized code
72 o var.c: rename VARE_ASSIGN to VARE_KEEP_DOLLAR
73 replace emptyString with allocated empty string
74 error out on unclosed expressions after the colon
76 2020-11-01 Simon J Gerraty <sjg@beast.crufty.net>
78 * VERSION (_MAKE_VERSION): 20201101
79 Merge with NetBSD make, pick up
80 o negate NoExecute to GNode_ShouldExecute
81 o job.c: rename JobMatchShell to FindShellByName
82 extract EscapeShellDblQuot from JobPrintCommand
83 extract ParseRunOptions from JobPrintCommand
84 o var.c: extract ApplyModifiersIndirect from ApplyModifiers
85 treat malformed :range, :ts and :[...] as errors
86 add tests for the variable modifiers :[words] and :range
88 2020-10-31 Simon J Gerraty <sjg@beast.crufty.net>
90 * VERSION (_MAKE_VERSION): 20201031
91 Merge with NetBSD make, pick up
92 o format #include directives consistently
93 o do not look up local variables like .TARGET anywhere else
94 o main.c: Main_SetObjdir is first called for curdir which may be
96 reduce the scope where recursive expressions are detected
97 remove redundant :tl from getBoolean
99 o meta.c: simplify memory allocation in meta_create and meta_oodate
100 o parse.c: extract loadedfile_mmap from loadfile
101 o trace.c: document possible undefined behavior with .CURDIR
102 o var.c: make parsing of the :gmtime and :localtime modifiers stricter
103 rename ismeta to is_shell_metachar
104 remove debug logging for the :Q variable modifier
105 rename VarIsDynamic to VarnameIsDynamic
106 use consistent parameter order in varname parsing functions
107 extract ParseVarnameLong from Var_Parse
108 extract ParseVarnameShort from Var_Parse
109 fix type of ParseModifierPart parameter delim
110 extract IsEscapedModifierPart from ParseModifierPart
112 add test for combining the :@ and :? variable modifiers
114 2020-10-30 Simon J Gerraty <sjg@beast.crufty.net>
116 * VERSION (_MAKE_VERSION): 20201030
117 Merge with NetBSD make, pick up
118 o change char * to void * in Var_Value
119 o make iterating over HashTable simpler
120 o rename VAR_CMD to VAR_CMDLINE
121 o cond.c: clean up is_separator
122 fix parse error in string literal in conditional
123 o main.c: do not use objdir that is not writable
124 in lint mode, exit with error status on errors
125 o parse.c: clean up StrContainsWord
126 fix out-of-bounds pointer in ParseTrackInput
127 o var.c: rename Str_SYSVMatch and its parameters
128 remove unsatisfiable conditions in Var_Set_with_flags
129 document where the variable name is expanded
130 fix documentation for VARP_SUB_ONE
131 rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME
132 document VAR_READONLY
133 prevent appending to read-only variables
134 extract MayExport from Var_Export1
135 remove redundant evaluations in VarFind
136 replace VarFindFlags with a simple Boolean
137 rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE
139 2020-10-28 Simon J Gerraty <sjg@beast.crufty.net>
141 * VERSION (_MAKE_VERSION): 20201028
142 Merge with NetBSD make, pick up
143 o rename defIncPath to defSysIncPath
144 o initialize all CmdOpts fields
145 o lst.c: inline Vector_Get
146 o main.c: refactor main extract
147 InitMaxJobs,InitObjdir,InitVarMake,InitRandom,
148 ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules,
149 InitDefIncPath,CmdOpts_Init,UnlimitFiles
150 o parse.c: merge curFile into includes
151 rename predecessor to order_pred
152 sort ParseSpecial alphabetically
153 remove unused, undocumented .NOEXPORT
154 rename ParseSpecial enum values consistently
155 rename some fields of struct IFile
157 2020-10-26 Simon J Gerraty <sjg@beast.crufty.net>
159 * VERSION (_MAKE_VERSION): 20201026
160 Merge with NetBSD make, pick up
161 o group the command line options and arguments into a struct
162 o rename GNode.cmgn to youngestChild
163 o rename hash functions to identify the type name
164 o negate OP_NOP and rename it to GNode_IsTarget
165 o add GNode_Path to access the path of a GNode
166 o remove macros MIN and MAX
167 o remove unused Lst_Find and Lst_FindFrom
168 o arch.c: and make Arch_FindLib simpler
170 make Arch_ParseArchive simpler
171 o cond.c: inline CondFindStrMatch into FuncMake
172 o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath
173 omit trailing space in debug output for expanding file patterns
174 refactor DirMatchFiles
175 document that the SearchPath of Dir_FindFile may be NULL
176 remove UNCONST from Dir_Expand
178 o for.c: clean up code for handling .for loops
179 o hash.c: print hash in debug log with fixed width
180 clean up hash table functions
181 reduce amount of string hashing
182 o job.c: refactor JobDeleteTarget
183 use proper enum constants for aborting
184 convert result of JobStart from macros to enum
185 convert abort reason macros to enum
186 rework Job_CheckCommands to reduce indentation
188 add field names in declaration of DEFSHELL_CUSTOM
189 convert JobState and JobFlags to enum types
190 move handling of the "..." command to JobPrintCommands
193 remove Lst_Open, Lst_Next, Lst_Close
194 remove code for circular lists from Lst_Next
195 o main.c: do not attempt to read .MAKE.DEPENFILE if set to
196 /dev/null or anything starting with "no"
197 convert macros for debug flags into enum
198 o make.c: inline Lst_Copy in Make_ExpandUse
199 o meta.c: inline Lst_Find in meta_oodate
200 make Lst_RemoveIf simpler in meta_oodate
201 o parse.c: convert error level for Parse_Error to an enum
202 o suff.c: properly terminate debug output with newline
203 add more details to DEBUG_SRC log
204 replace Dir_CopyDir with Dir_CopyDirSearchPath
205 don't modify GNode name while rebuilding the suffix graph
206 o var.c: reduce duplicate code in VarFind
208 2020-10-22 Simon J Gerraty <sjg@beast.crufty.net>
210 * VERSION (_MAKE_VERSION): 20201022
211 Merge with NetBSD make, pick up
212 o more refactoring and simplification to reduce code size
213 o var.c: extract CanonicalVarname from VarFind
214 o make.c: extract UpdateImplicitParentsVars from Make_Update
215 o main.c: extract PrintVar from doPrintVars
216 extract HandlePWD from main
217 o lst.c: inline simple Lst getters
218 remove unused Lst_ForEach
219 o job.c: move struct Shell from job.h to job.c
222 2020-10-19 Simon J Gerraty <sjg@beast.crufty.net>
224 * configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT
226 2020-10-18 Simon J Gerraty <sjg@beast.crufty.net>
228 * VERSION (_MAKE_VERSION): 20201018
229 Merge with NetBSD make, pick up
231 o rename some Hash_* apis to Hash*
232 o replace execError with execDie
233 o rename Lst_Init to Lst_New
234 o add tags to enum types
235 o rename Stack to Vector
236 o parse.c: more refactoring
237 o unit-tests: make some tests use line buffered stdout
238 o unit-tests/Makefile: in meta mode do not make all tests depend on
239 Makefile, it isn't necessary.
241 2020-10-10 Simon J Gerraty <sjg@beast.crufty.net>
243 * main.c: check for CTL_HW being defined.
244 * unit-tests/Makefile: ensure export tests output are POSIX compliant
245 disable opt-debug-jobs test until it works on ubuntu
247 * VERSION (_MAKE_VERSION): 20201010
248 Merge with NetBSD make, pick up
249 o dir.c: remove pathname limit for Dir_FindHereOrAbove
250 o hash.c: replace strcpy with memcpy in Hash_CreateEntry
251 o main.c: extract init_machine and init_machine_arch from main
252 allow to disable debug logging options
253 o parse.c: enable format string truncation warnings
254 extract parsing of sources from ParseDoDependency
255 split ParseDoSrc into smaller functions
256 hide implementation details from Parse_DoVar
257 clean up parsing of variable assignments
258 split Parse_DoVar into manageable pieces
259 don't modify the given line during Parse_DoVar
260 fix out-of-bounds memory access in Parse_DoVar
261 fix parsing of the :sh assignment modifier
262 o var.c: rework memory allocation for the name of variables
263 extract ApplyModifier_Literal into separate function
264 in lint mode, reject modifiers without delimiter
265 do not export variable names starting with '-'
266 o fix double-free bug in -DCLEANUP mode
267 o more cleanup to enable higher warnings level
270 2020-10-02 Simon J Gerraty <sjg@beast.crufty.net>
272 * VERSION (_MAKE_VERSION): 20201002
273 Merge with NetBSD make, pick up
274 o dir.c: use hash table for looking up open directories by name
275 o main.c: clean up option handling
276 o parse.c: add missing const for Parse_AddIncludeDir
277 o var.c: ApplyModifier_To, update pp in each branch
278 o remove redundant function prototypes
281 2020-10-01 Simon J Gerraty <sjg@beast.crufty.net>
283 * VERSION (_MAKE_VERSION): 20201001
284 Merge with NetBSD make, pick up
285 o compat.c: comment about "..."
287 2020-09-30 Simon J Gerraty <sjg@beast.crufty.net>
289 * VERSION (_MAKE_VERSION): 20200930
290 Merge with NetBSD make, pick up
291 o job.c: split Job.jobPipe into 2 separate fields
292 replace Lst_Open with direct iteration
293 o lst.c: remove redundant assertions
294 o targ.c: replace Lst_Open with direct iteration
295 o var.c: fix bug in evaluation of indirect variable modifiers
296 extract ApplyModifier_Quote into separate function
297 o make debug logging simpler
299 2020-09-27 Simon J Gerraty <sjg@beast.crufty.net>
301 * VERSION (_MAKE_VERSION): 20200927
302 Merge with NetBSD make, pick up
303 o parse.c: ensure parse errors result in 'stopped in' message.
304 o compat.c: make parameter of Compat_RunCommand const
305 o main.c: extract InitVarTarget from main
306 o parse.c: rename ParseFinishLine to FinishDependencyGroup
307 refactor ParseDoDependency
308 o var.c: Var_Subst no longer returns string result
309 rename Var_ParsePP back to Var_Parse
310 in lint mode, improve error handling for undefined variables
311 extract ParseVarname from Var_Parse
312 o rename Lst_ForEach to Lst_ForEachUntil
313 o inline Lst_ForEachUntil in several cases
314 o clean up API for finding and creating GNodes
315 o fix assertion failure in -j mode with .END node
316 o inline and remove LstNode_Prev and LstNode_Next
317 o use fine-grained type names for lists and their nodes
320 2020-09-11 Simon J Gerraty <sjg@beast.crufty.net>
322 * VERSION (_MAKE_VERSION): 20200911
323 Merge with NetBSD make, pick up
324 o cond.c: split EvalComparison into smaller functions
325 reorder parameters of condition parsing functions
326 reduce code size in CondParser_Eval
327 rename CondGetString to CondParser_String
328 add CondLexer_SkipWhitespace
329 group the condition parsing state into a struct
330 in CondGetString, replace repeated Buf_Add with Buf_AddStr
331 o migrate Var_Parse to Var_ParsePP
332 o add wrappers around ctype.h functions
333 o lst.c: use a stack instead of a list for the nested include path
336 2020-09-04 Simon J Gerraty <sjg@beast.crufty.net>
338 * make-bootstrap.sh.in: adjust object list
340 2020-09-02 Simon J Gerraty <sjg@beast.crufty.net>
342 * VERSION (_MAKE_VERSION): 20200902
343 Merge with NetBSD make, pick up
344 o use make_stat to ensure no confusion over valid fields
345 returned by cached_stat
346 o var.c: make VarQuote const-correct
347 o add unit tests for .for
349 2020-09-01 Simon J Gerraty <sjg@beast.crufty.net>
351 * VERSION (_MAKE_VERSION): 20200901
352 Merge with NetBSD make, pick up
353 o rename Hash_Table fields
354 o make data types in Dir_HasWildcards more precise
356 2020-08-31 Simon J Gerraty <sjg@beast.crufty.net>
358 * VERSION (_MAKE_VERSION): 20200831
359 Merge with NetBSD make, pick up
360 o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds
361 o lst.c: Lst_Open renable assert that list isn't open
362 o unit test for .TARGET dependent flags
363 o var.c: fix aliasing bug in VarUniq
364 o more unit tests for :u
366 2020-08-30 Simon J Gerraty <sjg@beast.crufty.net>
368 * VERSION (_MAKE_VERSION): 20200830
369 Merge with NetBSD make, pick up
370 o allow for strict type checking for Boolean
371 o Var_Parse never returns NULL
372 o Var_Subst never returns NULL
373 o Lst_Find now takes boolean match function
374 o rename Lst_Memeber to Lst_FindDatum
375 o rename LstNode functions to match their type
376 o rename GNode.iParents to implicitParents
377 o fix assertion failure for .SUFFIXES in archives
378 o compat.c: clean up documentation for CompatInterrupt and Compat_Run
379 remove unreachable code from CompatRunCommand
380 o main.c: simplify getBoolean
381 o stc.c: replace brk_string with simpler Str_Words
382 o suff.c: add debug macros
384 2020-08-28 Simon J Gerraty <sjg@beast.crufty.net>
386 * VERSION (_MAKE_VERSION): 20200828
387 Merge with NetBSD make, pick up
388 o lst.c: inline LstIsValid and LstNodeIsValid
389 o remove trailing S from Lst function names after migration complete
390 o more comment cleanup/clarification
391 o suff.c: clean up suffix handling
394 2020-08-26 Simon J Gerraty <sjg@beast.crufty.net>
396 * VERSION (_MAKE_VERSION): 20200826
397 Merge with NetBSD make, pick up
398 o enum.c: distinguish between bitsets containing flags and
400 o var.c: fix error message for ::!= modifier with shell error
401 o fix bugs in -DCLEANUP mode
403 2020-08-24 Simon J Gerraty <sjg@beast.crufty.net>
405 * VERSION (_MAKE_VERSION): 20200824
406 Merge with NetBSD make, pick up
407 o in debug mode, print GNode details in symbols
409 2020-08-23 Simon J Gerraty <sjg@beast.crufty.net>
411 * VERSION (_MAKE_VERSION): 20200823
412 Merge with NetBSD make, pick up
413 o lst.c: more asserts,
414 make args to Lst_Find match others.
415 o var.c: pass flags to VarAdd
417 o str.c: brk_string return size_t for nwords
420 2020-08-22 Simon J Gerraty <sjg@beast.crufty.net>
422 * VERSION (_MAKE_VERSION):
423 Merge with NetBSD make, pick up
424 o var.c: support for read-only variables eg .SHELL
425 being the shell used to run scripts.
426 o lst.c: more simplification
427 o more documentation and style cleanup
429 o ensure unit-test/Makefile is run by TEST_MAKE
430 o reduce duplication of header inclusion
432 2020-08-21 Simon J Gerraty <sjg@beast.crufty.net>
434 * VERSION (_MAKE_VERSION): 20200821
435 Merge with NetBSD make, pick up
436 o lst.c: revert invalid assertion - but document it
437 o dir.c: split Dir_Init into two functions
439 2020-08-20 Simon J Gerraty <sjg@beast.crufty.net>
441 * lst.c: needs inttypes.h on Linux
443 * VERSION (_MAKE_VERSION): 20200820
444 Merge with NetBSD make, pick up
445 o make.1: clarify some passages
446 o var.c: more cleanup, clarify comments
447 o make_malloc.c: remove unreachable code
448 o cond.c: make CondGetString easier to debug
449 o simplify list usage
452 2020-08-16 Simon J Gerraty <sjg@beast.crufty.net>
454 * VERSION (_MAKE_VERSION): 20200816
455 Merge with NetBSD make, pick up
456 o refactor unit-tests to be more fine grained
457 not all tests moved yet
459 2020-08-14 Simon J Gerraty <sjg@beast.crufty.net>
461 * VERSION (_MAKE_VERSION): 20200814
462 Merge with NetBSD make, pick up
463 o more str_concat variants
464 o more enums for flags
465 o var.c: cleanup for higher warnings level
467 2020-08-10 Simon J Gerraty <sjg@beast.crufty.net>
469 * VERSION (_MAKE_VERSION): 20200810
470 Merge with NetBSD make, pick up
472 o general comment and style cleanup
474 2020-08-08 Simon J Gerraty <sjg@beast.crufty.net>
476 * VERSION (_MAKE_VERSION): 20200808
477 Merge with NetBSD make, pick up
478 o enum.[ch]: streamline, enums for use in flags and debug output
480 o var.c: reduce duplicate code for modifiers
481 debug logging for Var_Parse
482 more detailed debug output
485 2020-08-06 Simon J Gerraty <sjg@beast.crufty.net>
487 * unit-tests/Makefile: -r for recursive and include Makefile.inc
488 so I can run tests in meta mode
489 supress extra noise if in meta mode
491 * VERSION (_MAKE_VERSION): 20200806
492 Merge with NetBSD make, pick up
493 o parse.c: remove VARE_WANTRES for LINT
494 we just want to check parsing (for now).
496 2020-08-05 Simon J Gerraty <sjg@beast.crufty.net>
498 * VERSION (_MAKE_VERSION): 20200805
499 Merge with NetBSD make, pick up
500 o make.1: Rework the description of dependence operators
502 2020-08-03 Simon J Gerraty <sjg@beast.crufty.net>
504 * VERSION (_MAKE_VERSION): 20200803
505 Merge with NetBSD make, pick up
506 o revert some C99 usage, for max portability
509 2020-08-02 Simon J Gerraty <sjg@beast.crufty.net>
511 * VERSION (_MAKE_VERSION): 20200802
512 Merge with NetBSD make, pick up
515 2020-08-01 Simon J Gerraty <sjg@beast.crufty.net>
517 * Remove NetBSD specific plumbing from unit-tests/Makefile
519 * VERSION (_MAKE_VERSION): 20200801
520 Merge with NetBSD make, pick up
521 o make Var_Value return const
522 o size_t for buf sizes
523 o optimize some buffer operations - avoid strlen
525 2020-07-31 Simon J Gerraty <sjg@beast.crufty.net>
527 * VERSION (_MAKE_VERSION): 20200731
528 Merge with NetBSD make, pick up
529 o var.c: fix undefinded behavior for incomplete :t modifier
530 fixes unit-test/moderrs on Ubuntu
531 o parse.c: When parsing variable assignments other than :=
532 if DEBUG(LINT) test substition of value, so we get a file and
533 line number in the resulting error.
534 o dir.c: fix parsing of nested braces in dependency lines
537 2020-07-30 Simon J Gerraty <sjg@beast.crufty.net>
539 * VERSION (_MAKE_VERSION): 20200730
540 Merge with NetBSD make, pick up
541 o var.c: minor cleanup
542 o unit-tests: more tests to improve code coverage
544 2020-07-28 Simon J Gerraty <sjg@beast.crufty.net>
546 * VERSION (_MAKE_VERSION): 20200728
547 Merge with NetBSD make, pick up
548 o var.c: more optimizations
550 2020-07-26 Simon J Gerraty <sjg@beast.crufty.net>
552 * VERSION (_MAKE_VERSION): 20200726
553 Merge with NetBSD make, pick up
554 o collapse lsd.lib into lst.c - reduce code size and allow inlining
555 o lots of function comment updates
556 o var.c: more optimizations
557 o make return of Var_Parse const
559 2020-07-20 Simon J Gerraty <sjg@beast.crufty.net>
561 * VERSION (_MAKE_VERSION): 20200720
562 Merge with NetBSD make, pick up
563 o DEBUG_HASH report stats at end and tone down the noise
564 o var.c: each flag type gets its own prefix.
565 move SysV string matching to var.c
566 make ampersand in ${VAR:from=to&} an ordinary character
567 cleanup and simplify implementation of modifiers
568 o make.1: move documentation for assignment modifiers
570 2020-07-18 Simon J Gerraty <sjg@beast.crufty.net>
572 * VERSION (_MAKE_VERSION): 20200718
573 Merge with NetBSD make, pick up
574 o DEBUG_HASH to see how well the hash tables are working
576 2020-07-11 Simon J Gerraty <sjg@beast.crufty.net>
578 * bsd.after-import.mk: make sure we update unit-tests/Makefile
580 2020-07-10 Simon J Gerraty <sjg@beast.crufty.net>
582 * configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC
584 * VERSION (_MAKE_VERSION): 20200710
585 Merge with NetBSD make, pick up
586 o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall
587 o meta.c: target flagged .META is out-of-date if meta file missing
589 2020-07-09 Simon J Gerraty <sjg@beast.crufty.net>
591 * VERSION (_MAKE_VERSION): 20200709
592 Merge with NetBSD make, pick up
593 o cond.c: fix for compare_expression when doEval=0
594 o unit-tests/Makefile: rework
595 o filemon/filemon_dev.c: ensure filemon fd is closed on exec.
597 2020-07-04 Simon J Gerraty <sjg@beast.crufty.net>
599 * VERSION (_MAKE_VERSION): 20200704
600 Merge with NetBSD make, pick up
601 (most of this by rillig@)
602 o lots of style and white-space cleanup
603 o lots more unit tests for variable modifiers
604 o simplified description of some functions
605 o str.c: refactor Str_Match
606 o var.c: debugging output for :@
607 constify VarModify parameter
608 fix :hash modifier on 16-bit platforms
609 remove unnecessary forward declarations
610 refactor ApplyModifier_SysV to have less indentation
611 simplify code for :E and :R
612 clean up code for :H and :T
613 refactor ApplyModifiers
615 * var.c: we need stdint.h on some platforms to get uint32_t
616 * unit-test/Makefile: we need to supress the specific error
617 for RE substitution error in modmisc, since it varies accross
620 2020-07-02 Simon J Gerraty <sjg@beast.crufty.net>
622 * VERSION (_MAKE_VERSION): 20200702
623 Merge with NetBSD make, pick up
624 o var.c: more improvements to avoiding unnecessary evaluation
626 o remove flags arg to Var_Set which outside of var.c is always 0
628 2020-07-01 Simon J Gerraty <sjg@beast.crufty.net>
630 * VERSION (_MAKE_VERSION): 20200701
631 Merge with NetBSD make, pick up
632 o var.c: with change to cond.c; ensure that nested variables
633 within a variable name are expanded.
634 o unit-tests/varmisc.mk: test for nested varname
636 2020-06-29 Simon J Gerraty <sjg@beast.crufty.net>
638 * VERSION (_MAKE_VERSION): 20200629
639 Merge with NetBSD make, pick up
640 o cond.c: do not eval unnecessary terms of conditionals.
642 2020-06-25 Simon J Gerraty <sjg@beast.crufty.net>
644 * VERSION (_MAKE_VERSION): 20200625
645 Merge with NetBSD make, pick up
646 o meta.c: report error if lseek in filemon_read fails
648 2020-06-22 Simon J Gerraty <sjg@beast.crufty.net>
650 * VERSION (_MAKE_VERSION): 20200622
651 Merge with NetBSD make, pick up
652 o dieQuietly: ignore OP_SUBMAKE as too aggressive
654 2020-06-19 Simon J Gerraty <sjg@beast.crufty.net>
656 * VERSION (_MAKE_VERSION): 20200619
657 Merge with NetBSD make, pick up
658 o str.c: performance improvement for Str_Match for multiple '*'
659 o dieQuietly: supress the failure output from make
660 when failing node is a sub-make or a sibling failed.
661 This cuts down greatly on unhelpful noise at the end of
662 build log. Disabled by -dj or .MAKE.DIE_QUIETLY=no
664 2020-06-10 Simon J Gerraty <sjg@beast.crufty.net>
666 * FILES: add LICENSE to appease some packagers.
667 This is an attempt to fairly represent the license on almost
668 200 files, which are almost all BSD-3-Clause
669 The few exceptions being more liberal.
671 * VERSION (_MAKE_VERSION): 20200610
672 Merge with NetBSD make, pick up
675 2020-06-06 Simon J Gerraty <sjg@beast.crufty.net>
677 * VERSION (_MAKE_VERSION): 20200606
678 Merge with NetBSD make, pick up
681 * Makefile: fix depends for main.o which broke MAKE_VERSION
683 2020-06-05 Simon J Gerraty <sjg@beast.crufty.net>
685 * VERSION (_MAKE_VERSION): 20200605
686 Merge with NetBSD make, pick up
687 o dir.c: cached_stats - don't confuse stat and lstat results.
688 o var.c: add :Or for reverse sort.
690 2020-05-24 Simon J Gerraty <sjg@beast.crufty.net>
692 * configure.in: add AC_PROG_CC_C99 for mipspro compiler
693 also if --with-filemon= specifies path to filemon.h
695 * dirname.c: remove include of namespace.h
697 2020-05-17 Simon J Gerraty <sjg@beast.crufty.net>
699 * VERSION (_MAKE_VERSION): 20200517
700 Merge with NetBSD make, pick up
701 o modified dollar tests to avoid shell dependencies
702 o new tests for .INCLUDEFROM
704 2020-05-16 Simon J Gerraty <sjg@beast.crufty.net>
706 * unit-tests/dollar.mk: tweak '1 dollar literal' test
707 to not depend so much on shell behavior
709 2020-05-10 Simon J Gerraty <sjg@beast.crufty.net>
711 * VERSION (_MAKE_VERSION): 20200510
712 Merge with NetBSD make, pick up
713 o unit test for dollar handling
715 2020-05-06 Simon J Gerraty <sjg@beast.crufty.net>
717 * VERSION (_MAKE_VERSION): 20200506
718 Merge with NetBSD make, pick up
719 o str.c: empty string does not match % pattern
720 plus unit-test changes
722 2020-05-04 Simon J Gerraty <sjg@beast.crufty.net>
724 * VERSION (_MAKE_VERSION): 20200504
725 May the 4th be with you
726 Merge with NetBSD make, pick up
727 o var.c: import handling of old sysV style modifier using '%'
728 o str.c: refactor brk_string
729 o unit-tests: add test case for lazy conditions
731 2020-04-18 Simon J Gerraty <sjg@beast.crufty.net>
733 * VERSION (_MAKE_VERSION): 20200418
735 * configure.in: use_makefile=no for cygwin et al.
736 case insensitive filesystems just don't work if both
737 makefile and Makefile exist.
738 NOTE: bmake does not support cygwin and likely never will,
739 but if brave souls want to try it - help them out.
741 2020-04-02 Simon J Gerraty <sjg@beast.crufty.net>
743 * VERSION (_MAKE_VERSION): 20200402
744 Merge with NetBSD make, pick up
745 o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD
746 a blank command is perfectly valid.
748 2020-03-30 Simon J Gerraty <sjg@beast.crufty.net>
750 * VERSION (_MAKE_VERSION): 20200330
751 Merge with NetBSD make, pick up
752 o make.h: extern debug_file
754 2020-03-18 Simon J Gerraty <sjg@beast.crufty.net>
756 * VERSION (_MAKE_VERSION): 20200318
757 Merge with NetBSD make, pick up
758 o meta.c: meta_oodate, check for corrupted meta file
759 earlier and more often.
761 2020-02-20 Simon J Gerraty <sjg@beast.crufty.net>
763 * VERSION (_MAKE_VERSION): 20200220
765 2020-02-19 Simon J Gerraty <sjg@beast.crufty.net>
767 * boot-strap: unset MAKEFLAGS
769 2020-02-12 Simon J Gerraty <sjg@beast.crufty.net>
771 * VERSION (_MAKE_VERSION): 20200212
772 * meta.c: meta_compat_parent check for USE_FILEMON
773 patch from Soeren Tempel
775 2020-02-05 Simon J Gerraty <sjg@beast.crufty.net>
778 Merge with NetBSD make, pick up
779 o meta.c: fix compat mode, need to call meta_job_output()
780 o job.c: extra fds for meta mode not needed if using filemon_dev
782 2020-01-22 Simon J Gerraty <sjg@beast.crufty.net>
785 Merge with NetBSD make, pick up
786 o meta.c: avoid passing NULL to filemon_*() when meta_needed()
789 2020-01-21 Simon J Gerraty <sjg@beast.crufty.net>
792 Merge with NetBSD make, pick up
793 o filemon/filemon_{dev,ktrace}.c: allow selection of
794 filemon implementation. filemon_dev.c uses the kernel module
795 while filemon_ktrace.c leverages the fktrace api available in
796 NetBSD. filemon_ktrace.c can hopefully form the basis for
797 adding support for other tracing mechanisms such as strace on
799 o meta.c: when target is out-of-date per normal make rules
800 record value of .OODATE in meta file.
802 2019-09-26 Simon J Gerraty <sjg@beast.crufty.net>
805 Merge with NetBSD make, pick up
806 o parse.c: don't pass NULL to realpath(3)
807 some versions cannot handle it.
809 2019-04-09 Simon J Gerraty <sjg@beast.crufty.net>
812 Merge with NetBSD make, pick up
813 o parse.c: ParseDoDependency: free paths rather than assert
815 2018-12-22 Simon J Gerraty <sjg@beast.crufty.net>
819 * configure.in: add --without-makefile to avoid generating
820 makefile and make-bootstrap.sh
822 * include Makefile.inc if it exists
824 * Use Makefile and Makefile.config.in in unit-tests
825 so we can use just: make obj && make && make test
826 when bmake is already available.
827 We add --without-makefile to CONFIGURE_ARGS in this case.
829 * tweak bsd.after-import.mk (captures Makefile.config etc
830 after import to FreeBSD for example) to cope with all the above.
832 2018-12-21 Simon J Gerraty <sjg@beast.crufty.net>
835 Merge with NetBSD make, pick up
836 o parse.c: ParseVErrorInternal use .PARSEDIR
837 and apply if relative, and then use .PARSEFILE
838 for consistent result.
840 2018-12-20 Simon J Gerraty <sjg@beast.crufty.net>
843 Merge with NetBSD make, pick up
844 o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR
846 o var.c: avoid SEGFAULT in .unexport-env
847 when MAKELEVEL is not set
849 2018-12-16 Simon J Gerraty <sjg@beast.crufty.net>
852 Merge with NetBSD make, pick up
853 o fix for unit-tests/varquote.mk on Debian
855 2018-09-21 Simon J. Gerraty <sjg@bad.crufty.net>
858 Merge with NetBSD make, pick up
860 o dir.c: cleanup caching of stats
862 2018-09-21 Simon J Gerraty <sjg@beast.crufty.net>
864 * Makefile.config.in: use += where it makes sense.
866 2018-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
869 Merge with NetBSD make, pick up
870 o job.c: skip polling job token pipe
872 2018-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
875 Merge with NetBSD make, pick up
876 o parse.c: be more cautious about detecting depenency line
877 rather than sysV style include.
879 2018-02-22 Simon J. Gerraty <sjg@bad.crufty.net>
882 Merge with NetBSD make, pick up
883 o parse.c: avoid calling sysconf for every call to loadfile
885 2018-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
888 Merge with NetBSD make, pick up
889 o var.c: Var_Set handle NULL value anytime.
891 2018-02-12 Simon J. Gerraty <sjg@bad.crufty.net>
894 Merge with NetBSD make, pick up
895 o parse.c: do not treat .info as warning with -W
897 2017-12-07 Simon J. Gerraty <sjg@bad.crufty.net>
900 Merge with NetBSD make, pick up
901 o var.c: Var_Append use Var_Set if var not previously set
902 so that VAR_CMD is handled correctly.
903 Add a suitable unit-test.
905 2017-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
907 * VERSION (_MAKE_VERSION): 20171126
909 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
910 since AC_TRY_COMPILE puts input inside main()
911 which upsets modern compilers.
913 2017-11-18 Simon J. Gerraty <sjg@bad.crufty.net>
916 Merge with NetBSD make, pick up
917 o var.c: do not append to variable set on command line
918 add unit-test to catch this.
920 2017-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
923 Merge with NetBSD make, pick up
924 o main.c: ignore empty MAKEOBJDIR
926 * Makefile.config.in:
927 make @prefix@ @machine*@ and @default_sys_path@ defaults.
929 2017-10-05 Simon J. Gerraty <sjg@bad.crufty.net>
933 * unit-tests/dotwait.mk: redirect stderr through pipe for more
934 consistent result on some platforms.
936 2017-08-13 Simon J. Gerraty <sjg@bad.crufty.net>
938 * machine.sh: entry for AIX
940 2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
942 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
943 to a file that can be included by configure as well as make.
944 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
946 2017-08-10 Simon J. Gerraty <sjg@bad.crufty.net>
948 * Makefile (_MAKE_VERSION): 20170810
949 Merge with NetBSD make, pick up
950 o meta.c: if target is in subdir we only need subdir name in
953 2017-07-20 Simon J. Gerraty <sjg@bad.crufty.net>
955 * Makefile (_MAKE_VERSION): 20170720
956 Merge with NetBSD make, pick up
957 o compat.c: pass SIGINT etc onto child and wait for it to exit
958 before we self-terminate.
960 2017-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
962 * Makefile (_MAKE_VERSION): 20170711
963 forgot to update after merge on 20170708 ;-)
964 o main.c: refactor to reduce size of main function.
965 add -v option to always fully expand values.
966 o meta.c: ensure command output in meta file has ending newline
967 even when filemon not being used.
968 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
969 pathname via ':L' since any ':' in pathname breaks that.
970 Instead set a '${.p.}' to pathname in the target context and
973 2017-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
975 * Makefile (_MAKE_VERSION): 20170510
976 Merge with NetBSD make, pick up
977 o main.c: Main_SetObjdir: ensure buf2 is in scope
979 2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net>
981 * Makefile (_MAKE_VERSION): 20170505
984 2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
986 * parse.c: not everyone has stdint.h
988 2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
990 * Makefile (_MAKE_VERSION): 20170501
993 2017-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
995 * Makefile (_MAKE_VERSION): 20170421
996 Merge with NetBSD make, pick up
997 o str.c: Str_Match: fix closure tests for [^] and add unit-test.
999 2017-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1001 * Makefile (_MAKE_VERSION): 20170420
1002 Merge with NetBSD make, pick up
1003 o main.c: only use -C arg "as is" if it contains no
1006 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
1008 * Makefile (_MAKE_VERSION): 20170418
1009 Merge with NetBSD make, pick up
1010 o main.c: fix Main_SetObjdir() for relative paths (eg obj).
1012 2017-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
1014 * Makefile (_MAKE_VERSION): 20170417
1015 Merge with NetBSD make, pick up
1016 o fixes a number of coverity complaints
1017 - check return value of fseek, fcntl
1018 - plug memory leak in Dir_FindFile, Var_LoopExpand,
1019 JobPrintCommand, ParseTraditionalInclude
1020 - use bmake_malloc() where NULL is not tollerated
1021 - use MAKE_ATTR_UNUSED rather that kludges like
1022 return(unused ? 0 : 0)
1023 - use purge_cached_realpaths() rather than abuse cached_realpath()
1025 2017-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
1027 * Makefile (_MAKE_VERSION): 20170413
1028 Merge with NetBSD make, pick up
1029 o main.c: when setting .OBJDIR ignore '$' in paths.
1031 * job.c: use MALLOC_OPTIONS to set malloc_options.
1033 2017-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
1035 * Makefile (_MAKE_VERSION): 20170411
1036 Merge with NetBSD make, pick up
1037 o str.c: Str_Match: allow [^a-z] to behave as expected.
1039 2017-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
1041 * Makefile (_MAKE_VERSION): 20170326
1042 Merge with NetBSD make, pick up
1043 o main.c: purge relative paths from realpath cache when .OBJDIR
1046 2017-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
1048 * Makefile (_MAKE_VERSION): 20170311
1049 Merge with NetBSD make, pick up
1050 o main.c: only use -C arg "as is" if it starts with '/'.
1052 2017-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
1054 * Makefile (_MAKE_VERSION): 20170301
1055 Merge with NetBSD make, pick up
1056 o main.c: use -C arg "as is" rather than getcwd()
1057 if they identify the same directory.
1058 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
1060 2017-02-01 Simon J. Gerraty <sjg@bad.crufty.net>
1062 * Makefile (_MAKE_VERSION): 20170201
1063 Merge with NetBSD make, pick up
1064 o var.c: allow :_=var and avoid use of special context.
1066 2017-01-30 Simon J. Gerraty <sjg@bad.crufty.net>
1068 * Makefile (_MAKE_VERSION): 20170130
1069 Merge with NetBSD make, pick up
1070 o var.c: add :range and :_
1071 o main.c: partially initialize Dir_* before MainParseArgs()
1073 If -V, skip Main_ExportMAKEFLAGS()
1075 2017-01-14 Simon J. Gerraty <sjg@bad.crufty.net>
1077 * Makefile (_MAKE_VERSION): 20170114
1078 Merge with NetBSD make, pick up
1079 o var.c: allow specifying the utc value used by :{gm,local}time
1081 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
1083 * Makefile (_MAKE_VERSION): 20161212
1084 Merge with NetBSD make, pick up
1085 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
1087 2016-12-09 Simon J. Gerraty <sjg@bad.crufty.net>
1089 * Makefile (_MAKE_VERSION): 20161209
1090 Merge with NetBSD make, pick up
1091 o main.c: cleanup setting of .OBJDIR
1092 o parse.c: avoid coredump from (var)=val
1094 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
1096 * Makefile (_MAKE_VERSION): 20161126
1097 Merge with NetBSD make, pick up
1098 o make.c: Make_OODate: report src node name if path not set
1100 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
1102 * Makefile (_MAKE_VERSION): 20160926
1103 Merge with NetBSD make, pick up
1104 o support for .DELETE_ON_ERROR: (remove targets that fail)
1106 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
1108 * Makefile MAN: tweak .Dt to match ${PROG}
1110 2016-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
1112 * Makefile (_MAKE_VERSION): 20160818
1113 its a neater number; pick up whitespace fixes to man page.
1115 2016-08-17 Simon J. Gerraty <sjg@bad.crufty.net>
1117 * Makefile (_MAKE_VERSION): 20160817
1118 Merge with NetBSD make, pick up
1119 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
1120 so we can call it before adding entries to missingFiles.
1121 Thus we do not track files we have been told to ignore.
1123 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
1125 * Makefile (_MAKE_VERSION): 20160815
1126 Merge with NetBSD make, pick up
1127 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
1128 pathnames, and skip if the expansion is empty.
1129 Useful for dirdeps.mk when checking DIRDEPS_CACHE.
1131 2016-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
1133 * Makefile (_MAKE_VERSION): 20160812
1134 Merge with NetBSD make, pick up
1135 o meta.c: remove all missingFiles entries that match a deleted
1137 o main.c: set .ERROR_CMD if possible.
1139 2016-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1141 * Makefile (_MAKE_VERSION): 20160606
1142 Merge with NetBSD make, pick up
1143 o dir.c: extend mtimes cache to others via cached_stat()
1145 2016-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1147 * Makefile (_MAKE_VERSION): 20160604
1148 Merge with NetBSD make, pick up
1149 o meta.c: missing filemon data is only relevant if we read a
1151 Also do not return oodate for a missing metafile if gn->path
1154 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
1156 * Makefile (_MAKE_VERSION): 20160602
1157 Merge with NetBSD make, pick up
1158 o cached_realpath(): avoid hitting filesystem more than necessary.
1159 o meta.c: refactor need_meta decision, add knobs for
1160 missing meta file and filemon data wrt out-of-datedness.
1162 2016-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
1164 * Makefile (_MAKE_VERSION): 20160528
1166 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
1168 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
1170 * Makefile (_MAKE_VERSION): 20160512
1171 Merge with NetBSD make, pick up
1172 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
1173 this is useful for gcov builds.
1174 o propagate errors from filemon(4).
1176 2016-05-09 Simon J. Gerraty <sjg@bad.crufty.net>
1178 * Makefile (_MAKE_VERSION): 20160509
1179 Merge with NetBSD make, pick up
1180 o remove use of non-standard types u_int etc.
1181 o meta.c: apply realpath() before matching against metaIgnorePaths
1183 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
1185 * Makefile (_MAKE_VERSION): 20160404
1186 Merge with NetBSD make, pick up
1187 o allow makefile to set .MAKE.JOBS
1189 * Makefile (PROG_NAME): use ${_MAKE_VERSION}
1191 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
1193 * Makefile (_MAKE_VERSION): 20160315
1194 Merge with NetBSD make, pick up
1195 o fix handling of archive members
1197 2016-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
1199 * Makefile (_MAKE_VERSION): rename variable to avoid interference
1200 with checks for ${MAKE_VERSION}
1202 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
1204 * Makefile (MAKE_VERSION): 20160310
1205 Merge with NetBSD make, pick up
1206 o meta.c: treat missing Read file same as Write, incase we Delete it.
1208 2016-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
1210 * Makefile (MAKE_VERSION): 20160307
1211 Merge with NetBSD make, pick up
1212 o var.c: fix :ts\nnn to be octal by default.
1213 o meta.c: meta_finish() to cleanup memory.
1215 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
1217 * Makefile (MAKE_VERSION): 20160226
1218 Merge with NetBSD make, pick up
1219 o meta.c: allow meta file for makeDepend if makefiles want it.
1221 2016-02-19 Simon J. Gerraty <sjg@bad.crufty.net>
1223 * var.c: default .MAKE.SAVE_DOLLARS to FALSE
1224 for backwards compatability.
1226 * Makefile (MAKE_VERSION): 20160220
1227 Merge with NetBSD make, pick up
1228 o var.c: add knob to control handling of '$$' in :=
1230 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
1232 * Makefile (MAKE_VERSION): 20160218
1233 Merge with NetBSD make, pick up
1234 o var.c: add .export-literal allows us to fix sys.clean-env.mk
1235 post the changes to Var_Subst.
1236 Var_Subst now takes flags, and does not consume '$$' in :=
1238 2016-02-17 Simon J. Gerraty <sjg@bad.crufty.net>
1240 * Makefile (MAKE_VERSION): 20160217
1241 Merge with NetBSD make, pick up
1242 o var.c: preserve '$$' in :=
1243 o parse.c: add .dinclude for handling included
1244 makefile like .depend
1246 2015-12-20 Simon J. Gerraty <sjg@bad.crufty.net>
1248 * Makefile (MAKE_VERSION): 20151220
1249 Merge with NetBSD make, pick up
1250 o suff.c: re-initialize suffNull when clearing suffixes.
1252 2015-12-01 Simon J. Gerraty <sjg@bad.crufty.net>
1254 * Makefile (MAKE_VERSION): 20151201
1255 Merge with NetBSD make, pick up
1256 o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
1257 o meta.c: meta_oodate: use lstat(2) for checking link target
1258 in case it is a symlink.
1259 o var.c: avoid calling brk_string and Var_Export1 with empty
1262 2015-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
1264 * Makefile (MAKE_VERSION): 20151126
1265 Merge with NetBSD make, pick up
1266 o parse.c: ParseTrackInput don't access beyond
1269 2015-10-22 Simon J. Gerraty <sjg@bad.crufty.net>
1271 * Makefile (MAKE_VERSION): 20151022
1273 * Add support for BSD/OS which lacks inttypes.h
1274 and really needs sys/param.h for sys/sysctl.h
1275 also 'type' is not a shell builtin.
1277 * var.c: eliminate uint32_t and need for inttypes.h
1279 * main.c: PrintOnError flush stdout before run .ERROR
1281 * parse.c: cope with _SC_PAGESIZE not being defined.
1284 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
1286 * Makefile (MAKE_VERSION): 20151020
1287 Merge with NetBSD make, pick up
1288 o var.c: fix uninitialized var
1290 2015-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
1292 * var.c: the conditional expressions used with ':?' can be
1293 expensive, if already discarding do not evaluate or expand
1296 2015-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1298 * Makefile (MAKE_VERSION): 20151010
1299 Merge with NetBSD make, pick up
1300 o Add Boolean wantit flag to Var_Subst and Var_Parse
1301 when FALSE we know we are discarding the result and can
1302 skip operations like Cmd_Exec.
1304 2015-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
1306 * Makefile (MAKE_VERSION): 20151009
1307 Merge with NetBSD make, pick up
1308 o var.c: don't check for NULL before free()
1309 o meta.c: meta_oodate, do not hard code ignore of makeDependfile
1311 2015-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
1313 * Makefile (MAKE_VERSION): 20150910
1314 Merge with NetBSD make, pick up
1315 o main.c: with -w print Enter/Leaving messages for objdir too
1317 o centralize shell metachar handling
1319 * FILES: add metachar.[ch]
1321 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1323 * Makefile (MAKE_VERSION): 20150606
1324 Merge with NetBSD make, pick up
1325 o make.1: document .OBJDIR target
1327 2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1329 * Makefile (MAKE_VERSION): 20150505
1330 Merge with NetBSD make, pick up
1331 o cond.c: be strict about lhs of comparison when evaluating .if
1332 but less so when called from variable expansion.
1333 o unit-tests/cond2.mk: test various error conditions
1335 2015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
1337 * machine.sh (MACHINE): Add Bitrig
1338 patch from joerg@netbsd.org
1340 2015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
1342 * Makefile (MAKE_VERSION): 20150418
1343 Merge with NetBSD make, pick up
1344 o job.c: use memmove() rather than memcpy()
1346 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
1349 2015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
1351 * Makefile (MAKE_VERSION): 20150411
1352 bump version - only mk/ changes.
1354 2015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
1356 * Makefile (MAKE_VERSION): 20150410
1357 Merge with NetBSD make, pick up
1358 o document different handling of '-' in jobs mode vs compat
1359 o fix jobs mode so that '-' only applies to whole job
1360 when shell lacks hasErrCtl
1361 o meta.c: use separate vars to track lcwd and latestdir (read)
1364 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
1366 * Makefile (MAKE_VERSION): 20150401
1367 Merge with NetBSD make, pick up
1368 o meta.c: close meta file in child
1370 * Makefile: use BINDIR.bmake if set.
1371 Same for MANDIR and SHAREDIR
1372 Handy for testing release candidates
1373 in various environments.
1375 2015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
1377 * move initialization of savederr to block where it is used
1378 to avoid spurious warning from gcc5
1380 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
1382 * Makefile (MAKE_VERSION): 20141111
1383 just a cooler number
1385 2014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
1387 * Makefile (MAKE_VERSION): 20141105
1388 Merge with NetBSD make, pick up
1389 o revert major overhaul of suffix handling
1390 and POSIX compliance - too much breakage
1391 and impossible to make backwards compatible.
1392 o we still have the new unit test structure which is ok.
1393 o meta.c ensure "-- filemon" is at start of line.
1395 2014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
1397 * configure.in: test that result of getconf PATH_MAX is numeric
1398 and discard if not. Apparently needed for Hurd.
1400 2014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
1402 * Makefile (MAKE_VERSION): 20140830
1403 Merge with NetBSD make, pick up
1404 o major overhaul of suffix handling
1405 o improved POSIX compliance
1406 o overhauled unit-tests
1408 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
1410 * Makefile (MAKE_VERSION): 20140620
1411 Merge with NetBSD make, pick up
1412 o var.c return varNoError rather than var_Error for ::= modifiers.
1414 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
1416 * Makefile (MAKE_VERSION): 20140522
1417 Merge with NetBSD make, pick up
1418 o var.c detect some parse errors.
1420 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
1422 * Fix spelling errors - patch from Pedro Giffuni
1424 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
1426 * Makefile (MAKE_VERSION): 20140214
1427 Merge with NetBSD make, pick up
1429 o use Var_Value to get MAKEOBJDIR[PREFIX]
1430 o reduced realloc'ign in brk_string.
1431 * configure.in: add a check for compiler supporting __func__
1433 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
1435 * boot-strap: ignore mksrc=none
1437 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
1439 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
1441 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
1443 * Makefile (MAKE_VERSION): 20140101
1444 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
1445 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
1446 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
1448 * configure.in: Add AC_PREREQ and check for
1449 sysctl; patch from Andrew Shadura andrewsh at debian.org
1451 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
1453 * Makefile (MAKE_VERSION): 20131010
1454 * lose the const from arg to systcl to avoid problems on older BSDs.
1456 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
1458 * Makefile (MAKE_VERSION): 20131001
1459 Merge with NetBSD make, pick up
1460 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
1461 hw.machine_arch if necessary.
1462 o meta.c: meta_oodate - need to look at src of Link and target
1464 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
1465 provide __arraycount() if needed.
1467 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
1469 * Makefile (MAKE_VERSION): 20130904
1470 Merge with NetBSD make, pick up
1471 o Add VAR_INTERNAL context, so that internal setting of
1472 MAKEFILE does not override value set by makefiles.
1474 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
1476 * Makefile (MAKE_VERSION): 20130902
1477 Merge with NetBSD make, pick up
1478 o CompatRunCommand: only apply shellErrFlag when errCheck is true
1480 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
1482 * Makefile (MAKE_VERSION): 20130828
1483 Merge with NetBSD make, pick up
1484 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
1485 o Call Job_SetPrefix() from Job_Init() so makefiles have
1486 opportunity to set .MAKE.JOB.PREFIX
1488 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
1490 * Makefile (MAKE_VERSION): 20130730
1491 Merge with NetBSD make, pick up
1492 o Allow suppression of --- job -- tokens by setting
1493 .MAKE.JOB.PREFIX empty.
1495 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
1497 * Makefile (MAKE_VERSION): 20130716
1498 Merge with NetBSD make, pick up
1499 o number of gmake compatibility tweaks
1500 -w for gmake style entering/leaving messages
1501 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
1502 handle MAKEFLAGS containing only letters.
1503 o when overriding a GLOBAL variable on the command line,
1504 delete it from GLOBAL context so -V doesn't show the wrong
1507 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
1509 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
1511 * Makefile (MAKE_VERSION): 20130706
1512 Merge with NetBSD make, pick up
1513 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
1514 true so that CompatRunCommand() can use it, to ensure
1515 consistent behavior with jobs mode.
1516 o use MAKE_LEVEL_ENV to define the variable to propagate
1517 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
1518 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
1521 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1523 * Makefile (MAKE_VERSION): 20130604
1524 Merge with NetBSD make, pick up
1525 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
1526 to avoid leaking descriptors.
1528 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
1530 * Makefile (MAKE_VERSION): 20130528
1531 Merge with NetBSD make, pick up
1532 o var.c: cleanup some left-overs in VarHash()
1534 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
1536 * Makefile (MAKE_VERSION): 20130520
1537 generate manifest from component FILES rather than have to
1538 update FILES when mk/FILES changes.
1540 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
1542 * Makefile (MAKE_VERSION): 20130518
1543 Merge with NetBSD make, pick up
1544 o suff.c: don't skip all processsing for .PHONY targets
1545 else wildcard srcs do not get expanded.
1546 o var.c: expand name of variable to delete if necessary.
1548 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1550 * Makefile (MAKE_VERSION): 20130330
1551 Merge with NetBSD make, pick up
1552 o meta.c: refine the handling of .OODATE in commands.
1553 Rather than suppress command comparison for the entire script
1554 as though .NOMETA_CMP had been used, only suppress it for the
1556 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
1557 suppress comparison of a command without otherwise affecting it.
1558 o make.1: document that
1560 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
1562 * Makefile (MAKE_VERSION): 20130321
1563 yes, not quite right but its a cooler number.
1564 Merge with NetBSD make, pick up
1565 o parse.c: fix ParseGmakeExport to be portable
1566 and add a unit-test.
1567 * meta.c: call meta_init() before makefiles are read and if built
1568 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
1569 this let's makefiles test for support.
1570 Call meta_mode_init() to process .MAKE.MODE.
1572 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
1574 * Makefile (MAKE_VERSION): 20130305
1575 Merge with NetBSD make, pick up
1576 o run .STALE: target when a dependency from .depend is missing.
1577 o job.c: add Job_RunTarget() for the above and .BEGIN
1579 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
1581 * Makefile (MAKE_VERSION): 20130303
1582 Merge with NetBSD make, pick up
1583 o main.c: set .MAKE.OS to utsname.sysname
1584 o job.c: more checks for read and poll errors
1585 o var.c: lose VarChangeCase() saves 4% time
1587 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
1589 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
1590 want to use MAKEOBJDIR
1592 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
1594 * Merge with NetBSD make, pick up
1595 o make.1: more info on how shell commands are handled.
1596 o job.c,main.c: detect write errors to job pipes.
1598 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
1600 * Makefile (MAKE_VERSION): 20130123
1601 Merge with NetBSD make, pick up
1602 o meta.c: if script uses .OODATE and meta_oodate() decides
1603 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
1604 o var.c: in debug output indicate which variabale modifiers
1606 o remove Check_Cwd logic the makefiles have been fixed.
1608 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
1610 * makefile.in: add a simple makefile for folk who insist on
1611 ./configure; make; make install
1612 it just runs boot-strap
1613 * include mk/* to accommodate the above
1614 * boot-strap: re-work to accommodate the above
1615 mksrc defaults to $Mydir/mk
1616 allow op={configure,build,install,clean,all}
1617 add options to facilitate install
1618 * Makefile.config.in: just the bits set by configure
1619 * Makefile: bump version to 20121212
1620 abandon Makefile.in (NetBSD Makefile)
1621 leverage mk/* instead
1622 * configure.in: ensure srcdir is absolute
1624 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
1626 * Makefile.in (MAKE_VERSION): 20121111
1627 fix generation of bmake.cat1
1629 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
1631 * Makefile.in (MAKE_VERSION): 20121109
1632 Merge with NetBSD make, pick up
1633 o make.c: MakeBuildChild: return 0 so search continues if a
1634 .ORDER dependency is detected.
1635 o unit-tests/order: test the above
1637 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
1639 * Makefile.in (MAKE_VERSION): 20121102
1640 Merge with NetBSD make, pick up
1641 o cond.c: allow cond_state[] to grow.
1642 In meta mode with a very large tree, we can hit the limit
1643 while processing dirdeps.
1645 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
1647 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
1649 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1651 * Makefile.in (MAKE_VERSION): 20121010
1652 o protect syntax that only bmake parses correctly.
1653 o remove auto setting of FORCE_MACHINE, use configure's
1654 --with-force-machine=whatever if that is desired.
1656 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
1658 * Makefile.in: do not lose history from make.1 when generating bmake.1
1660 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
1662 * Makefile.in (MAKE_VERSION): 20121007
1663 Merge with NetBSD make, pick up
1664 o compat.c: ignore empty commands - same as jobs mode.
1665 o make.1: document meta chars that cause use of shell
1667 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
1669 * Makefile.in (MAKE_VERSION): bump version to 20120911
1670 * bsd.after-import.mk: include Makefile.inc early and allow it to
1673 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
1675 * Makefile.in (MAKE_VERSION): bump version to 20120831
1676 Merge with NetBSD make, pick up
1677 o cast sizeof() to int for comparison
1678 o minor make.1 tweak
1680 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
1682 * Makefile.in (MAKE_VERSION): bump version to 20120830
1683 Merge with NetBSD make, pick up
1684 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
1685 o debug flag -dV causes -V to show raw value regardless.
1687 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
1689 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
1692 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
1694 * Makefile.in (MAKE_VERSION): bump version to 20120704
1695 Merge with NetBSD make, pick up
1696 o Job_ParseShell should call Shell_Init if it has been
1698 * Makefile.in: set USE_META based on configure result.
1699 also .PARSEDIR is safer indicator of bmake.
1701 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
1703 * Makefile.in: bump version to 20120626
1704 ensure CPPFLAGS is in CFLAGS
1705 * meta.c: avoid nested externs
1706 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
1708 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
1710 * Makefile.in (MAKE_VERSION): bump version to 20120620
1711 Merge with NetBSD make, pick up
1712 o make_malloc.c: avoid including make_malloc.h again
1714 * Makefile.in: avoid bmake only syntax or protect with
1715 .if defined(.MAKE.LEVEL)
1716 * bsd.after-import.mk: replace .-include with .sinclude
1717 ensure? SRCTOP gets a value
1718 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
1720 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
1722 * Makefile.in (MAKE_VERSION): bump version to 20120612
1723 Merge with NetBSD make, pick up
1724 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
1725 for greater portability.
1726 o unit-tests/forloop: check that .for works as expected wrt
1727 number of times and with "quoted strings".
1729 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1731 * Makefile.in (MAKE_VERSION): bump version to 20120606
1732 Merge with NetBSD make, pick up
1733 o compat.c: use kill(2) rather than raise(3).
1734 * configure.in: look for sys/dev/filemon
1735 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
1736 and pass BOOTSTRAP_XTRAS to boot-strap.
1738 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1740 * Makefile.in (MAKE_VERSION): bump version to 20120604
1741 Merge with NetBSD make, pick up
1742 o util.c and var.c share same var for tracking if environ
1743 has been reallocated.
1744 o util.c provide getenv with setenv.
1745 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
1746 when the shell actively strips .MAKE.* from the environment.
1747 We still refer to the variable always as .MAKE.LEVEL
1748 * util.c fix bug in findenv() was finding prefix of name.
1749 * compat.c: re-raising SIGINT etc after running .INTERRUPT
1750 results in more reliable termination of all activity on many
1753 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
1755 * Makefile.in (MAKE_VERSION): bump version to 20120602
1756 Merge with NetBSD make, pick up
1757 o for.c: handle quoted items in .for list
1759 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
1761 * Makefile.in (MAKE_VERSION): bump version to 20120530
1762 Merge with NetBSD make, pick up
1763 o compat.c: ignore empty command.
1765 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1767 * Makefile.in (MAKE_VERSION): bump version to 20120524
1768 * FILES: add bsd.after-import.mk:
1769 A simple means of integrating bmake into a BSD build system.
1771 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
1773 * Makefile.in (MAKE_VERSION): bump version to 20120520
1774 Merge with NetBSD make, pick up
1775 o increased limit for nested conditionals.
1777 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
1779 * Makefile.in (MAKE_VERSION): bump version to 20120518
1780 Merge with NetBSD make, pick up
1781 o use _exit(2) in signal hanlder
1782 o Don't use the [dir] cache when building nodes that might have
1783 changed since the last exec.
1784 o Avoid nested extern declaration warnings.
1786 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
1788 * meta.c (fgetLine): avoid %z - not portable.
1789 * parse.c: Since we moved include of sys/mman.h
1790 and def's of MAP_COPY etc. we got dups from a merge.
1792 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
1794 * Makefile.in (MAKE_VERSION): bump version to 20120420
1795 Merge with NetBSD make, pick up
1796 o restore duplicate supression in .MAKE.MAKEFILES
1797 runtime saving can be significant.
1798 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
1799 consumption up to 20%.
1801 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1803 * Makefile.in (MAKE_VERSION): bump version to 20120420
1804 Merge with NetBSD make, pick up
1805 o remove duplicate supression in .MAKE.MAKEFILES
1806 o improved dir cache behavior
1807 o gmake'ish export command
1809 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
1811 * Makefile.in (MAKE_VERSION): bump version to 20120325
1812 Merge with NetBSD make, pick up
1813 o fix parsing of :[#] in conditionals.
1815 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
1817 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
1818 since some systems cannot cope with .Nx <version>
1820 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
1822 * Makefile.in (MAKE_VERSION): bump version to 20111111
1823 Merge with NetBSD make, pick up
1824 o debug output for .PARSEDIR and .PARSEFILE
1826 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1828 * Makefile.in (MAKE_VERSION): bump version to 20111010
1830 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
1832 * boot-strap: check for an expected file in the dirs we look for.
1833 * make-bootstrap.sh: pass on LDSTATIC
1835 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
1837 * Makefile.in (MAKE_VERSION): bump version to 20111001
1838 Merge with NetBSD make, pick up
1839 o ensure .PREFIX is set for .PHONY
1840 and .TARGET set for .PHONY run via .END
1841 o __dead used consistently
1843 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
1845 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
1847 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
1849 * Makefile.in (MAKE_VERSION): bump version to 20110905
1850 Merge with NetBSD make, pick up
1851 o meta_oodate: ignore makeDependfile
1853 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
1855 * Makefile.in (MAKE_VERSION): bump version to 20110828
1856 Merge with NetBSD make, pick up
1857 o silent=yes in .MAKE.MODE causes meta mode to mark targets
1858 as SILENT if a .meta file is created
1860 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
1862 * Makefile.in (MAKE_VERSION): bump version to 20110818
1863 Merge with NetBSD make, pick up
1864 o in meta mode, if target flagged .META a missing .meta file
1865 means target is out-of-date
1866 o fixes for gcc 4.5 warnings
1867 o simplify job printing code
1869 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
1871 * Makefile.in (MAKE_VERSION): bump version to 20110808
1872 Merge with NetBSD make, pick up
1873 o do not touch OP_SPECIAL targets when doing make -t
1875 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
1877 * Makefile.in (MAKE_VERSION): bump version to 20110622
1878 Merge with NetBSD make, pick up
1879 o meta_oodate detect corrupted .meta file and declare oodate.
1880 * configure.in: add check for setsid
1882 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
1884 * Merge with NetBSD make, pick up
1885 o unit-tests/modts now works on MirBSD
1887 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1889 * Makefile.in (MAKE_VERSION): bump version to 20110606
1890 Merge with NetBSD make, pick up
1891 o ApplyModifiers: when we parse a variable which is not
1892 the entire modifier string, or not followed by ':', do not
1893 consider it as containing modifiers.
1894 o loadfile: ensure newline at end of mapped file.
1896 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1898 * Makefile.in (MAKE_VERSION): bump version to 20110505
1899 Merge with NetBSD make, pick up
1900 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
1901 of make's control. In meta mode, any generated file within
1902 said bailiwick, which is found to be missing, causes current
1903 target to be out-of-date.
1905 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
1907 * Makefile.in (MAKE_VERSION): bump version to 20110411
1908 Merge with NetBSD make, pick up
1909 o when long modifiers fail to match, check sysV style.
1912 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
1914 * Makefile.in (MAKE_VERSION): bump version to 20110410
1915 Merge with NetBSD make, pick up
1916 o :hash - cheap 32bit hash of value
1917 o :localtime, :gmtime - use value as format string for strftime.
1919 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1921 * Makefile.in (MAKE_VERSION): bump version to 20110330
1922 mostly because its a cooler version.
1923 Merge with NetBSD make, pick up
1924 o NetBSD tags for meta.[ch]
1925 o job.c call meta_job_finish() after meta_job_error().
1926 o meta_job_error() should call meta_job_finish() to ensure
1927 .meta file is closed, and safe to copy - if .ERROR target wants.
1928 meta_job_finish() is safe to call repeatedly.
1930 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
1932 * unit-tests/modts: use printf if it is a builtin,
1933 to save us from MirBSD
1935 * Makefile.in (MAKE_VERSION): bump version to 20110329
1936 Merge with NetBSD make, pick up
1937 o fix for use after free() in CondDoExists().
1938 o meta_oodate() report extra commands and return earlier.
1940 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
1942 * Makefile.in (MAKE_VERSION): bump version to 20110327
1943 Merge with NetBSD make, pick up
1944 o meta.c, if .MAKE.MODE contains curdirOk=yes
1945 allow creating .meta files in .CURDIR
1946 * boot-strap (TOOL_DIFF): aparently at least on linux distro
1947 formats the output of 'type' differently - so eat any "()"
1949 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
1951 * Makefile.in (MAKE_VERSION): bump version to 20110306
1952 Merge with NetBSD make, pick up
1953 o meta.c, only do getcwd() once
1955 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
1957 * Makefile.in (MAKE_VERSION): bump version to 20110305
1958 Merge with NetBSD make, pick up
1959 o correct sysV substitution handling of empty lhs and variable
1960 o correct exists() check for dir with trailing /
1961 o correct handling of modifiers for non-existant variables
1962 during evaluation of conditionals.
1963 o ensure MAP_FILE is defined.
1964 o meta.c use curdir[] now exported by main.c
1966 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
1968 * Makefile.in (MAKE_VERSION): bump version to 20110225
1969 Merge with NetBSD make, pick up
1970 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
1971 makefiles have been read.
1972 o fix example of :? modifier in man page.
1974 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
1976 * Makefile.in (MAKE_VERSION): bump version to 20110214
1977 Merge with NetBSD make, pick up
1978 o meta.c handle realpath() failing when generating meta file
1981 * sigcompat.c: convert to ansi so we can use higher warning levels.
1984 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
1986 * Makefile.in (MAKE_VERSION): bump version to 20110207
1987 Merge with NetBSD make, pick up
1988 o fix for bug in meta mode.
1990 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
1992 * parse.c: SunOS 5.8 at least does not have MAP_FILE
1994 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
1996 * Makefile.in (MAKE_VERSION): bump version to 20110101
1997 Merge with NetBSD make, pick up
1998 o use mmap(2) if available, for reading makefiles
2000 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
2002 * Makefile.in (MAKE_VERSION): bump version to 20101215
2003 Merge with NetBSD make, pick up
2004 o ensure meta_job_error() does not report a previous .meta file
2007 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
2009 * Makefile.in (MAKE_VERSION): bump version to 20101210
2010 Merge with NetBSD make, pick up
2011 o meta_oodate: track cwd per process, and only consider target
2012 out-of-date if missing file is outside make's CWD.
2013 Ignore files in /tmp/ etc.
2014 o to ensure unit-tests results match, need to control LC_ALL
2016 o fix for parsing bug in var.c
2018 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
2020 * Makefile.in (MAKE_VERSION): bump version to 20101126
2021 Merge with NetBSD make, pick up
2022 o if stale dependency is an IMPSRC, search via .PATH
2023 o meta_oodate: if a referenced file is missing, target is
2025 o meta_oodate: if a target uses .OODATE in its commands,
2026 it (.OODATE) needs to be recomputed.
2027 o keep a pointer to youngest child node, rather than just its
2030 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
2032 * Makefile.in (MAKE_VERSION): bump version to 20101101
2034 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
2036 * machine.sh: like os.sh,
2037 allow for uname -p producing useless drivel
2039 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
2041 * boot-strap: document configure knobs for meta and filemon.
2043 * Makefile.in (MAKE_VERSION): bump version to 20100911
2044 Merge with NetBSD make, pick up
2045 o meta.c - meta mode
2047 * make-bootstrap.sh.in: handle meta.c
2048 * configure.in: add knobs for use_meta and filemon_h
2049 also, look for dirname, str[e]sep and strlcpy
2050 * util.c: add simple err[x] and warn[x]
2052 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
2054 * boot-strap (TOOL_DIFF): set this to ensure tests use
2055 the same version of diff that configure tested
2057 * Makefile.in (MAKE_VERSION): bump version to 20100808
2058 Merge with NetBSD make, pick up
2059 o in jobs mode, when we discover we cannot make something,
2060 call PrintOnError before exit.
2062 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
2064 * Makefile.in (MAKE_VERSION): bump version to 20100806
2065 Merge with NetBSD make, pick up
2066 o formatting fixes for ignored errors
2067 o ensure jobs are cleaned up regardless of where wait() was called.
2069 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
2071 * Makefile.in (MAKE_VERSION): bump version to 20100618
2072 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
2074 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
2076 * Makefile.in (MAKE_VERSION): bump version to 20100616
2077 Merge with NetBSD make, pick up
2079 o call PrintOnError from JobFinish when we detect an error we
2082 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
2084 * Makefile.in (MAKE_VERSION): bump version to 20100606
2085 Merge with NetBSD make, pick up
2088 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
2090 * Makefile.in (MAKE_VERSION): bump version to 20100605
2091 Merge with NetBSD make, pick up
2092 o use bmake_signal() which is a wrapper around sigaction()
2093 in place of signal()
2094 o add .export-env to allow exporting variables to environment
2095 without tracking (so no re-export when the internal value is
2098 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
2100 * Makefile.in (MAKE_VERSION): bump version to 20100524
2101 Merge with NetBSD make, pick up
2102 o fix for .info et al being greedy.
2104 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
2106 * Makefile.in (MAKE_VERSION): bump version to 20100520
2107 Merge with NetBSD make, pick up
2108 o back to using realpath on argv[0]
2109 but only if contains '/' and does not start with '/'.
2111 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
2113 * boot-strap: use absolute path for bmake when running tests.
2115 * Makefile.in (MAKE_VERSION): bump version to 20100510
2116 Merge with NetBSD make, pick up
2117 o revert use of realpath on argv[0]
2118 too many corner cases.
2119 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
2121 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
2123 * Makefile.in (MAKE_VERSION): bump version to 20100505
2124 Merge with NetBSD make, pick up
2125 o fix for missed SIGCHLD when compiled with SunPRO
2126 actually for bmake, defining FORCE_POSIX_SIGNALS would have
2129 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
2131 * Makefile.in (MAKE_VERSION): bump version to 20100430
2132 Merge with NetBSD make, pick up
2133 o fflush stdout before writing to stdout
2135 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
2137 * Makefile.in (MAKE_VERSION): bump version to 20100423
2138 Merge with NetBSD make, pick up
2139 o updated unit tests for Haiku (this time for sure).
2140 * boot-strap: based on patch from joerg
2141 honor --with-default-sys-path better.
2142 * boot-strap: remove mention of --with-prefix-sys-path
2144 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
2146 * Makefile.in (MAKE_VERSION): bump version to 20100422
2147 * Merge with NetBSD make, pick up
2148 o fix for vfork() on Darwin.
2149 o fix for bogus $TMPDIR.
2150 o set .MAKE.MODE=compat for -B
2151 o set .MAKE.JOBS=max_jobs for -j max_jobs
2152 o allow unit-tests to run without any *.mk
2153 o unit-tests/modmisc be more conservative in dirs presumed to exist.
2154 * boot-strap: ignore /usr/share/mk except on NetBSD.
2155 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
2156 ensure sort(1) behaves as expected.
2158 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
2160 * boot-strap: add FindHereOrAbove so we can use -m .../mk
2162 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
2164 * Makefile.in (MAKE_VERSION): bump version to 20100420
2165 * Merge with NetBSD make, pick up
2166 o fix for variable realpath() behavior.
2167 we have to stat(2) the result to be sure.
2168 o fix for .export (all) when nested vars use :sh
2170 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
2172 * Makefile.in (MAKE_VERSION): bump version to 20100414
2173 * Merge with NetBSD make, pick up
2174 o use realpath to resolve argv[0] (for .MAKE) if needed.
2175 o add realpath from libc.
2176 o add :tA to resolve variable via realpath(3) if possible.
2178 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
2180 * Makefile.in (MAKE_VERSION): bump version to 20100408
2181 * Merge with NetBSD make, pick up
2182 o unit tests for .ERROR, .error
2183 o fix for .ERROR to ensure it cannot be default target.
2185 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
2187 * Makefile.in (MAKE_VERSION): bump version to 20100406
2188 * Merge with NetBSD make, pick up
2189 o fix for compat mode "Error code" going to debug_file.
2190 o fix for .ALLSRC being populated twice.
2191 o support for .info, .warning and .error directives
2192 o .MAKE.MODE to control make's operational mode
2193 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
2195 o .MAKE.DEPENDFILE to control the name of the depend file
2196 o .ERROR target - run on failure.
2198 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
2200 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
2202 * os.sh,arch.c: patch for Haiku from joerg at netbsd
2204 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
2206 * Makefile.in (MAKE_VERSION): bump version to 20100222
2207 * Merge with NetBSD make, pick up
2208 o better error msg for .for with mutiple inter vars
2211 o use make-bootstrap.sh from joerg at netbsd
2212 to avoid the need for a native make when bootstrapping.
2213 o add "" everywhere ;-)
2214 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
2215 otherwise the pre-formated version.
2217 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
2219 * Makefile.in (MAKE_VERSION): bump version to 20100102
2220 * Merge with NetBSD make, pick up:
2223 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
2225 * Makefile.in (MAKE_VERSION): bump version to 20091118
2226 * Merge with NetBSD make, pick up:
2228 o report lines that start with '.' and should have ':'
2229 (catch typo's of .el*if).
2231 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
2233 * configure.in: Ensure that srcdir and mksrc are absolute paths.
2235 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
2237 * Makefile.in (MAKE_VERSION): fix version to 20091007
2239 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
2241 * Makefile.in (MAKE_VERSION): bump version to 200910007
2242 * Merge with NetBSD make, pick up:
2243 o fix for parsing of :S;...;...; applied to .for loop iterator
2244 appearing in a dependency line.
2246 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
2248 * Makefile.in (MAKE_VERSION): bump version to 20090909
2249 * Merge with NetBSD make, pick up:
2250 o fix for -C, .CURDIR and .OBJDIR
2252 o allow share_dir to be set independent of prefix.
2253 o select default share_dir better when prefix ends in $HOST_TARGET
2254 o if FORCE_BSD_MK etc were set, include them in the suggested
2257 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
2259 * Makefile.in (MAKE_VERSION): bump version to 20090908
2260 * Merge with NetBSD make, pick up:
2261 o .MAKE.LEVEL for recursion tracking
2262 o fix for :M scanning \:
2264 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
2266 * configure.in: Don't -D__EXTENSIONS__ if
2267 AC_USE_SYSTEM_EXTENSIONS says "no".
2269 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
2271 * Makefile.in (MAKE_VERSION): bump version to 20090826
2272 Simplify MAKE_VERSION to just the bare date.
2273 * Merge with NetBSD make, pick up:
2274 o -C directory support.
2275 o support for SIGINFO
2276 o use $TMPDIR for temp files.
2277 o child of vfork should be careful about modifying parent's state.
2280 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
2282 * Appy some patches for MiNT from David Brownlee
2284 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
2286 * Makefile.in (BMAKE_VERSION): bump version to 20090222
2287 * Merge with NetBSD make, pick up:
2288 o Possible null pointer de-ref in Var_Set.
2290 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
2292 * Makefile.in (BMAKE_VERSION): bump version to 20090204
2293 * Merge with NetBSD make, pick up:
2294 o bmake_malloc et al moved to their own .c
2295 o Count both () and {} when looking for the end of a :M pattern
2296 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
2297 o strlist.c - functions for processing extendable arrays of pointers to strings.
2298 o ClientData replaced with void *, so const void * can be used.
2299 o New debug flag C for DEBUG_CWD
2301 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
2303 * Makefile.in (BMAKE_VERSION): bump version to 20081111
2304 Apply patch from Joerg Sonnenberge to
2306 o remove some redundant checks
2307 o check for emlloc etc only in libutil and require the whole family.
2309 o remove [v]asprintf which is no longer used.
2311 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
2313 * Makefile.in (BMAKE_VERSION): bump version to 20081101
2314 * Merge with NetBSD make, pick up:
2315 o util.c: avoid use of putenv() - christos
2317 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
2319 * Makefile.in (BMAKE_VERSION): bump version to 20081030
2320 pick up man page tweaks.
2322 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
2324 * Makefile.in: move processing of LIBOBJS to after is definition!
2325 thus we'll have getenv.c in SRCS only if needed.
2327 * make.1: add examples of how to use :?
2329 * Makefile.in (BMAKE_VERSION): bump version to 20081029
2330 * Merge with NetBSD make, pick up:
2331 o fix for .END processing with -j
2332 o segfault from Parse_Error when no makefile is open
2333 o handle numeric expressions in any variable expansion
2334 o debug output now defaults to stderr, -dF to change it - apb
2335 o make now uses bmake_malloc etc so that it can build natively
2336 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
2338 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
2340 * Makefile.in (BMAKE_VERSION): bump version to 20080808
2341 * Merge with NetBSD make, pick up:
2342 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
2343 long lines in Makefiles
2344 o optimizations for VarQuote by joerg
2345 o fix for PR/38756: dominik: make dumps core on invalid makefile
2347 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
2349 * Makefile.in (BMAKE_VERSION): bump version to 20080515
2350 * Merge with NetBSD make, pick up:
2351 o fix skip setting vars in VAR_GLOBAL context, to handle
2352 cases where VAR_CMD is used for other than command line vars.
2354 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
2356 * boot-strap (make_version): we may need to look in
2357 $prefix/share/mk for sys.mk
2359 * Makefile.in (BMAKE_VERSION): bump version to 20080514
2360 * Merge with NetBSD make, pick up:
2361 o skip setting vars in VAR_GLOBAL context, when already set in
2362 VAR_CMD which takes precedence.
2364 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
2366 * Makefile.in (BMAKE_VERSION): bump version to 20080330
2367 * Merge with NetBSD make, pick up:
2368 o fix for ?= when LHS contains variable reference.
2370 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
2372 * merge some patches from NetBSD pkgsrc.
2374 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
2375 the MAKSYSPATH used during bootstrap.
2377 * Makefile.in (BMAKE_VERSION): bump version to 20080215
2378 * Merge with NetBSD make, pick up:
2379 o warn if non-space chars follow 'empty' in a conditional.
2381 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
2383 * Makefile.in (BMAKE_VERSION): bump version to 20080118
2384 * Merge with NetBSD make, pick up:
2385 o consider dependencies read from .depend as optional - dsl
2386 o remember when buffer for reading makefile grows - dsl
2387 o add -dl (aka LOUD) - David O'Brien
2389 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
2391 * Makefile.in (BMAKE_VERSION): bump version to 20071022
2392 * Merge with NetBSD make, pick up:
2393 o Allow .PATH<suffix> to be used for .include ""
2395 * boot-strap: source default settings from .bmake-boot-strap.rc
2397 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
2399 * Makefile.in: fix maninstall on various systems
2400 provided that our man.mk is used.
2401 For non-BSD systems we install the preformatted page
2404 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
2406 * boot-strap: make bmake.1 too, so maninstall works.
2408 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
2410 * Makefile.in (BMAKE_VERSION): bump version to 20071014
2411 * Merge with NetBSD make, pick up:
2412 o revamped handling of defshell - configure no longer needs to
2413 know the content of the shells array - apb
2414 o stop Var_Subst modifying its input - apb
2415 o avoid calling ParseTrackInput too often - dsl
2417 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
2419 * Makefile.in (BMAKE_VERSION): bump version to 20071011
2420 * Merge with NetBSD make, pick up:
2421 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
2423 * sigcompat.c: some tweaks for HP-UX 11.x based on
2424 patch from Tobias Nygren
2426 * configure.in: update handling of --with-defshell to match
2427 new make behavior. --with-defshell=/usr/xpg4/bin/sh
2428 will now do what one might hope - provided the chosen shell
2429 behaves enough like sh.
2431 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
2433 * Makefile.in (BMAKE_VERSION): bump to 20071008
2434 * Merge with NetBSD make, pick up:
2435 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
2436 o .export/.MAKE.EXPORTED - export of variables - sjg
2437 o .MAKE.MAKEFILES - track all makefiles read - sjg
2438 o performance improvements - dsl
2439 o revamp parallel job scheduling - dsl
2441 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
2443 * Makefile.in (BMAKE_VERSION): bump to 20060728
2444 * Merge with NetBSD make, pick up:
2445 o extra debug info during variable and cond processing - sjg
2446 o shell definition now covers newline - rillig
2447 o minor mem leak in PrintOnError - sjg
2449 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
2451 * Makefile.in (BMAKE_VERSION): bump to 20060511
2452 * Merge with NetBSD make, pick up:
2453 o more memory leaks - coverity
2454 o possible overflow in ArchFindMember - coverity
2455 o extract variable modifier code out of Var_Parse()
2456 so it can be called recursively - sjg
2457 o unit-tests/moderrs - sjg
2459 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
2461 * Makefile.in (BMAKE_VERSION): bump to 20060412
2462 * Merge with NetBSD make, pick up:
2463 o fixes for some memory leaks - coverity
2464 o only read first sys.mk etc when searching sysIncPath - sjg
2466 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
2467 setting ${MAKEFILE} - OBATA Akio
2469 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
2471 * Makefile.in (BMAKE_VERSION): bump to 20060318
2472 * Merge with NetBSD make, pick up:
2473 o cleanup of job.c to remove remote handling, distcc is more
2474 useful and this code was likely bit-rotting - dsl
2475 o fix for :P modifier - sjg
2476 * boot-strap: set default prefix to something reasonable
2479 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
2481 * Makefile.in (BMAKE_VERSION): bump to 20060301
2482 * Merge with NetBSD make, pick up:
2483 o make .WAIT apply recursively, document and test case - apb
2484 o allow variable modifiers in a variable appear anywhere in
2485 modifier list, document and test case - sjg
2487 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
2489 * Makefile.in (BMAKE_VERSION): bump to 20060222
2490 * Merge with NetBSD make, pick up:
2491 o improved job token handling - dsl
2492 o SIG_DFL the correct signal before exec - dsl
2493 o more debug info during parsing - dsl
2494 o allow variable modifiers to be specified via variable - sjg
2495 * boot-strap: explain why we died if no mksrc
2497 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
2499 * Makefile.in (BMAKE_VERSION): bump to 20051105
2500 * configure.in: always set default_sys_path
2501 default is ${prefix}/share/mk
2502 - remove prefix_sys_path, anyone wanting more than above
2503 needs to set it manually.
2505 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
2507 * boot-strap: make this a bit easier for pkgsrc folk.
2508 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
2509 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
2511 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
2513 * Makefile.in (BMAKE_VERSION): bump to 20051102
2514 * job.c (JobFinish): fix likely ancient merge lossage
2515 fix from Todd Vierling.
2516 * boot-strap (srcdir): allow setting mksrc=none
2518 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
2520 * Makefile.in (BMAKE_VERSION): bump to 20051031
2521 * ranlib.h: skip on OSF too.
2524 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
2526 * Makefile.in (BMAKE_VERSION): bump to 20051002
2529 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
2531 * Makefile.in (BMAKE_VERSION): bump to 20051001
2532 support for UnixWare and some other systems,
2533 based on patches from pkgsrc/bootstrap
2535 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
2537 * Makefile.in (BMAKE_VERSION): bump to 20050901
2538 * Merge with NetBSD make, pick up:
2539 o possible parse error causing us to wander off.
2541 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
2543 * Makefile.in (BMAKE_VERSION): bump to 20050606
2544 * Merge with NetBSD make, pick up:
2545 o :0x modifier for randomizing a list
2546 o fixes for a number of -Wuninitialized issues.
2548 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
2550 * Makefile.in (BMAKE_VERSION): bump to 20050530
2551 * Merge with NetBSD make, pick up:
2552 o Handle dependencies for .BEGIN, .END and .INTERRUPT
2554 * README: was seriously out of date.
2556 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
2558 * Important to use .MAKE rather than MAKE.
2560 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
2562 * Makefile.in (BMAKE_VERSION): bump to 20050315
2563 * Merge with NetBSD make, pick up:
2564 o don't mistake .elsefoo for .else
2565 o use suffix-specific search path correctly
2566 o bunch of style nits
2568 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
2571 o ensure that args to --src and --with-mksrc
2572 are resolved before giving them to configure.
2573 o add -o "objdir" so that builder can control it,
2574 default is $OS as determined by os.sh
2575 o add -q to suppress all the install instructions.
2577 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
2579 * Remove __IDSTRING()
2581 * Makefile.in (BMAKE_VERSION): bump to 20040508
2582 * Merge with NetBSD make, pick up:
2584 - remove '-e' from compat mode
2585 - add support for '+' command-line prefix.
2586 o fix for handling '--' on command-line.
2587 o fix include in lst.lib/lstInt.h to simplify '-I's
2588 o we also picked up replacement of MAKE_BOOTSTRAP
2589 with !MAKE_NATIVE which is a noop, but possibly confusing.
2591 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
2593 * Makefile.in (BMAKE_VERSION): bump to 20040414
2594 * Merge with NetBSD make, pick up:
2595 o allow quoted strings on lhs of conditionals
2596 o issue warning when extra .else is seen
2597 o print line numer when errors encountered during parsing from
2600 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
2602 * Makefile.in (BMAKE_VERSION): bump to 20040220
2603 * Merge with NetBSD make, pick up:
2604 o fix for old :M parsing bug.
2605 o re-jigged unit-tests
2607 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
2609 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
2610 so that './bmake -f Makefile test' works.
2612 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
2614 * Makefile.in: (BMAKE_VERSION): bump to 20040214
2615 * Merge with NetBSD make, pick up:
2616 o search upwards for *.mk
2617 o fix for double free of var substitution buffers
2618 o use of getopt replaced with custom code, since the usage
2619 (re-scanning) isn't posix compatible.
2621 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
2623 * arch.c: don't include ranlib.h on ELF systems
2624 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
2626 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
2628 * Makefile.in (BMAKE_VERSION): bump to 20040118
2630 * boot-strap (while): export vars we assign to on cmdline
2631 * unit-test/Makefile.in: ternary is .PHONY
2633 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
2635 * Makefile.in (BMAKE_VERSION): bump version to 20040108
2636 * Merge with NetBSD make, pick up:
2637 o fix for ternary modifier
2639 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
2641 * Makefile.in (BMAKE_VERSION): bump version to 20040105
2642 * Merge with NetBSD make, pick up:
2643 o fix for cond.c to handle compound expressions better
2644 o variable expansion within sysV style replacements
2646 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
2648 * Make portable snprintf safer - output to /dev/null first to
2651 * Makefile.in (BMAKE_VERSION): bump version to 20031222
2652 * Merge with NetBSD make, pick up:
2653 o -dg3 to show input graph when things go wrong.
2654 o explicitly look for makefiles in objdir if not found in curdir so
2655 that errors in .depend etc will be reported accurarely.
2656 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
2657 instead as it more accurately reflects the expected behavior and
2658 is more consistently implemented.
2659 o avoid use of asprintf.
2661 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
2663 * util.c: Add asprintf and vasprintf.
2665 * Makefile.in (BMAKE_VERSION): bump version to 20030928
2666 * Merge with NetBSD make, pick up:
2667 :[] modifier - allows picking words from a variable.
2668 :tW modifier - allows treating value as one big word.
2669 W flag for :C and :S - allows treating value as one big word.
2671 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
2673 * Merge with NetBSD make
2674 pick up -de flag to enable printing failed command.
2675 don't skip 1st two dir entries (normally . and ..) since
2676 coda does not have them.
2678 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
2680 * Makefile.in (BMAKE_VERSION): bump version to 20030909
2681 * Merge with NetBSD make, pick up:
2682 - changes for -V '${VAR}' to print fully expanded value
2684 - CompatRunCommand now prints the command that failed.
2685 - several files got updated 3 clause Berkeley license.
2687 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
2689 * boot-strap: Allow setting configure args on command line.
2691 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
2693 * configure.in: add --with-defshell to allow sh or ksh
2694 to be selected as default shell.
2696 * Makefile.in: bump version to 20030731
2698 * Merge with NetBSD make
2699 Pick up .SHELL spec for ksh and associate man page changes.
2700 Also compat mode now uses the same shell specs.
2702 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
2704 * var.c (Var_Parse): ensure delim is initialized.
2706 * unit-tests/Makefile.in: use single quotes to avoid problems from
2710 Run the unit-tests as part of the bootstrap procedure.
2712 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
2714 * unit-tests/Makefile.in: always force complaints from
2715 ${TEST_MAKE} to be from 'make'.
2717 * configure.in: add check for 'diff -u'
2718 also fix some old autoconf'isms
2720 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
2721 if using GCC add -Wno-cast-qual to CFLAGS for var.o
2723 * Merge with NetBSD make
2724 Pick up fix for :ts parsing error in some cases.
2727 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
2729 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
2731 * var.c (Var_Parse): fix bug in :ts modifier, after const
2732 correctness fixes, must pass nstr to VarModify.
2734 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
2736 * Makefile.in: BMAKE_VERSION switch to a date based version.
2737 We'll generally use the date of last import from NetBSD.
2739 * Merge with NetBSD make
2740 Pick up fixes for const-correctness, now passes WARNS=3 on
2742 Pick up :ts modifier, allows controlling the separator used
2743 between words in variable expansion.
2745 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
2747 * FILES: include boot-strap and os.sh
2749 * Makefile.in: only set WARNS if we are NetBSD, the effect on
2750 FreeBSD is known to be bad.
2752 * makefile.boot.in (bootstrap): make this the default target.
2754 * Makefile.in: bump version to 3.1.19
2756 * machine.sh: avoid A-Z with tr as it is bound to lose.
2758 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
2760 * Merge with NetBSD make
2761 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
2762 Plus some doc fixes.
2764 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
2766 * Merge with NetBSD make
2767 Pick up fix for PR/1523 - don't count a library as built, if there
2768 is no way to build it
2770 * Bump version to 3.1.18
2772 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
2774 * Merge with NetBSD make
2775 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
2776 appears in src list.
2778 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
2780 * Merge with NetBSD make (mmm 10th anniversary!)
2781 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
2782 pick up -X which tells us to not export VAR=val via setenv if
2783 we are already doing so via MAKEFLAGS. This saves valuable env
2784 space on systems like Darwin.
2785 set MAKE_VERSION to 3.1.17
2787 * parse.c: pix up fix for suffix rules
2789 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
2791 * Merge with NetBSD make.
2792 pick up fix for propagating -B via MAKEFLAGS.
2793 set MAKE_VERSION to 3.1.16
2795 * Apply some patches from pkgsrc-bootstrap/bmake
2796 Originally by Grant Beattie <grant@netbsd.org>
2797 I may have missed some - since they are based on bmake-3.1.12
2799 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
2801 * makefile.boot.in (bmake): update install targets for those that
2802 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
2803 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
2805 * bmake.cat1: update the pre-formatted man page!
2807 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
2809 * Merge with NetBSD make.
2810 pick up fix for premature free of pointer used in call
2812 set MAKE_VERSION to 3.1.15
2814 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
2816 * configure.in: determine suitable value for MKSRC.
2817 override using --with-mksrc=PATH.
2819 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
2820 configs(8) will use 'sun4' as an alias for 'sparc'.
2822 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
2824 * Merge with NetBSD make.
2826 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
2827 set MAKE_VERSION to 3.1.14
2828 add configure checks for killpg and sys/socket.h
2830 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
2834 * makefile.boot.in (bmake): use install-mk
2835 Also setup ./mk before trying to invoke bmake.boot incase we
2836 needed install-mk to create a sys.mk for us.
2838 * configure.in: If we need to add -I${srcdir}/missing, make it an
2839 absolute path so that it works for lst.lib too.
2841 * make.h: always include sys/cdefs.h since we provide one if the
2844 * Makefile.in (install-mk):
2845 use MKSRC/install-mk which will do the right thing.
2846 use uname -p for ARCH if possible.
2847 since install-mk will setup links bsd.prog.mk -> prog.mk if
2848 needed, just .include bsd.prog.mk
2850 * Merge with NetBSD make (NetBSD-1.6)
2851 Code is ansi-C only now.
2852 Bug in handling of dotLast is fixed.
2853 Can now assign .OBJDIR and make will reset its notions of life.
2854 New modifiers :tu :tl for toUpper and toLower.
2856 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
2858 * Merge with NetBSD make
2859 pick up fix for .END failure in compat mode.
2860 pick up fix for extra va_end() in ParseVErrorInternal.
2862 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
2864 * configure.in: for systems that have sys/cdefs.h check if it is
2865 compatible. If not, include the one under missing, but tell it to
2866 include the native one too - necessary on Linux.
2868 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
2869 include_next (for gcc) to get the native sys/cdefs.h
2871 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2873 * job.c (JobFinish): Fix an earlier merge bug that resulted in
2874 leaking descriptors when using -jN.
2876 * job.c (JobPrintCommand): See if "curdir" exists before
2877 attempting to chdir(). Doing the chdir directly in make (when in
2878 compat mode) fails silently, so let the -jN version do the same.
2879 This can happen when building kernels in an object tree and
2880 playing clever games to reset .CURDIR.
2882 * Merged with NetBSD make
2885 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2887 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
2889 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2891 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
2892 us not to export the iterator variable when using VAR_CMD context.
2894 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2896 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
2897 its the wrong "fix".
2899 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2901 * Redesigned export of VAR_CMD's via MAKEFLAGS.
2902 We now simply append the variable names to .MAKEOVERRIDES, and
2903 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
2904 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
2905 Apart from fixing quoting bugs in previous version, this allows us
2906 to export vars to the environment by simply doing:
2907 .MAKEOVERRIDES+= PATH
2908 Merged again with NetBSD make, but the above is the only change.
2910 * configure.in: added
2911 --disable-pwd-override disable $PWD overriding getcwd()
2912 --disable-check-make-chdir disable make trying to guess
2913 when it should automatically cd ${.CURDIR}
2915 * Merge with NetBSD make, changes include:
2916 parse.c (ParseDoDependency): Spot that the syntax error is
2917 caused by an unresolved cvs/rcs conflict and say so.
2918 var.c: most of Var* functions now take a ctxt as 1st arg.
2919 now does variable substituion on rhs of sysv style modifiers.
2921 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
2922 is now done here. We append the name='value' to .MAKEOVERRIDES
2923 rather than directly into MAKEFLAGS as this allows a Makefile to
2924 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
2925 very similar mechanism. Note that in adding name='value' to
2926 .MAKEOVERRIDES we do the moral equivalent of:
2927 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
2929 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2931 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
2933 * Merged with NetBSD make
2934 make -dx can now be used to run commands via sh -x
2935 better error messages on exec failures.
2937 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2939 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
2940 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
2941 MACHINE etc otherwise they propagate from the previous bmake.
2943 * configure.in (machine): allow --with-machine=generic to make
2944 configure use machine.sh to set MACHINE.
2946 * job.c (JobInterrupt): convert to using WAIT_T and friends.
2948 * Makefile.in: mention in bmake.1 that we use autoconf.
2950 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
2952 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2954 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
2955 as that rather defeats the usefulness of ${MAKEFILE}.
2957 * main.c (MainParseArgs): append command line variable assignments
2958 to MAKEFLAGS so that they get propagated to child make's.
2959 Apparently this is required POSIX behaviour? Its useful anyway.
2961 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2963 * compat.c (CompatRunCommand): don't use perror() since stdio may
2964 cause problems in child of vfork().
2966 * compat.c, main.c: Call PrintOnError() when we are going to bail.
2967 This routine prints out the .curdir where we stopped and will also
2968 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
2970 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
2973 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
2975 * Added RCSid's for the files we've touched.
2977 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2979 * configure.in: Thanks to some clues from mdb@juniper.net,
2980 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2981 as well as what ends up in _PATH_DEFSYSPATH. We now have:
2983 --with-machine=MACHINE explicitly set MACHINE
2984 --with-force-machine=MACHINE set FORCE_MACHINE
2985 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
2986 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
2987 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
2988 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
2990 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2992 * makefile: added a pathetically simple makefile to drive
2993 bootstrapping. Running configure by hand is more useful.
2995 * Makefile.in: added MAKE_VERSION, and reworked things to be less
2996 dependent on NetBSD bsd.*.mk
2998 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2999 _PATH_OBJDIRPREFIX for those that don't want a default.
3000 construct _PATH_DEFSYSPATH from the info we get from configure.
3002 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
3003 if MAKE_VERSION is defined.
3005 * compat.c: when we bail, print out the .CURDIR we were in.
3007 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
3009 * Merged with NetBSD make
3011 * var.c: fixed a bug in the handling of the modifier :P
3012 if the node as found but the path was null, we segfault trying to
3015 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
3017 * Merged with NetBSD make
3019 * make.c: Make_OODate's test for a library out of date was using
3020 cmtime where it should have used mtime (my bug).
3022 * compat.c: Use perror() to tell us what really went wrong when we
3023 cannot exec a command.
3025 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
3027 * Merged with NetBSD make
3029 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
3031 * Merged with NetBSD make
3033 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
3035 * Merged with NetBSD make
3037 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
3039 * Merged with NetBSD make
3041 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
3043 * util.c: don't provide signal() since we use sigcompat.c
3045 * Makefile.in: added a build target.
3047 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
3048 These allow some quite clever magic.
3050 * main.c (main): added support for getenv(MAKESYSPATH).
3052 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
3054 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
3055 This avoids objdir having a different value depending on how a
3056 directory was reached (via command line, or subdir.mk).
3058 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
3060 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
3062 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
3063 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
3064 I've been testing this in NetBSD's make for some weeks.
3066 * Turn Makefile into Makefile.in and make it useful.
3068 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
3070 * Imported NetBSD's -current make(1) and resolve conflicts.
3072 * Applied autoconf patches from bmake v2
3074 * Imported clean code base from NetBSD-1.0