1 2017-07-20 Simon J. Gerraty <sjg@bad.crufty.net>
3 * Makefile (_MAKE_VERSION): 20170720
4 Merge with NetBSD make, pick up
5 o compat.c: pass SIGINT etc onto child and wait for it to exit
6 before we self-terminate.
8 2017-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
10 * Makefile (_MAKE_VERSION): 20170711
11 forgot to update after merge on 20170708 ;-)
12 o main.c: refactor to reduce size of main function.
13 add -v option to always fully expand values.
14 o meta.c: ensure command output in meta file has ending newline
15 even when filemon not being used.
16 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
17 pathname via ':L' since any ':' in pathname breaks that.
18 Instead set a '${.p.}' to pathname in the target context and
21 2017-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
23 * Makefile (_MAKE_VERSION): 20170510
24 Merge with NetBSD make, pick up
25 o main.c: Main_SetObjdir: ensure buf2 is in scope
27 2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net>
29 * Makefile (_MAKE_VERSION): 20170505
32 2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
34 * parse.c: not everyone has stdint.h
36 2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
38 * Makefile (_MAKE_VERSION): 20170501
41 2017-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
43 * Makefile (_MAKE_VERSION): 20170421
44 Merge with NetBSD make, pick up
45 o str.c: Str_Match: fix closure tests for [^] and add unit-test.
47 2017-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
49 * Makefile (_MAKE_VERSION): 20170420
50 Merge with NetBSD make, pick up
51 o main.c: only use -C arg "as is" if it contains no
54 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
56 * Makefile (_MAKE_VERSION): 20170418
57 Merge with NetBSD make, pick up
58 o main.c: fix Main_SetObjdir() for relative paths (eg obj).
60 2017-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
62 * Makefile (_MAKE_VERSION): 20170417
63 Merge with NetBSD make, pick up
64 o fixes a number of coverity complaints
65 - check return value of fseek, fcntl
66 - plug memory leak in Dir_FindFile, Var_LoopExpand,
67 JobPrintCommand, ParseTraditionalInclude
68 - use bmake_malloc() where NULL is not tollerated
69 - use MAKE_ATTR_UNUSED rather that kludges like
70 return(unused ? 0 : 0)
71 - use purge_cached_realpaths() rather than abuse cached_realpath()
73 2017-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
75 * Makefile (_MAKE_VERSION): 20170413
76 Merge with NetBSD make, pick up
77 o main.c: when setting .OBJDIR ignore '$' in paths.
79 * job.c: use MALLOC_OPTIONS to set malloc_options.
81 2017-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
83 * Makefile (_MAKE_VERSION): 20170411
84 Merge with NetBSD make, pick up
85 o str.c: Str_Match: allow [^a-z] to behave as expected.
87 2017-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
89 * Makefile (_MAKE_VERSION): 20170326
90 Merge with NetBSD make, pick up
91 o main.c: purge relative paths from realpath cache when .OBJDIR
94 2017-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
96 * Makefile (_MAKE_VERSION): 20170311
97 Merge with NetBSD make, pick up
98 o main.c: only use -C arg "as is" if it starts with '/'.
100 2017-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
102 * Makefile (_MAKE_VERSION): 20170301
103 Merge with NetBSD make, pick up
104 o main.c: use -C arg "as is" rather than getcwd()
105 if they identify the same directory.
106 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
108 2017-02-01 Simon J. Gerraty <sjg@bad.crufty.net>
110 * Makefile (_MAKE_VERSION): 20170201
111 Merge with NetBSD make, pick up
112 o var.c: allow :_=var and avoid use of special context.
114 2017-01-30 Simon J. Gerraty <sjg@bad.crufty.net>
116 * Makefile (_MAKE_VERSION): 20170130
117 Merge with NetBSD make, pick up
118 o var.c: add :range and :_
119 o main.c: partially initialize Dir_* before MainParseArgs()
121 If -V, skip Main_ExportMAKEFLAGS()
123 2017-01-14 Simon J. Gerraty <sjg@bad.crufty.net>
125 * Makefile (_MAKE_VERSION): 20170114
126 Merge with NetBSD make, pick up
127 o var.c: allow specifying the utc value used by :{gm,local}time
129 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
131 * Makefile (_MAKE_VERSION): 20161212
132 Merge with NetBSD make, pick up
133 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
135 2016-12-09 Simon J. Gerraty <sjg@bad.crufty.net>
137 * Makefile (_MAKE_VERSION): 20161209
138 Merge with NetBSD make, pick up
139 o main.c: cleanup setting of .OBJDIR
140 o parse.c: avoid coredump from (var)=val
142 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
144 * Makefile (_MAKE_VERSION): 20161126
145 Merge with NetBSD make, pick up
146 o make.c: Make_OODate: report src node name if path not set
148 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
150 * Makefile (_MAKE_VERSION): 20160926
151 Merge with NetBSD make, pick up
152 o support for .DELETE_ON_ERROR: (remove targets that fail)
154 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
156 * Makefile MAN: tweak .Dt to match ${PROG}
158 2016-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
160 * Makefile (_MAKE_VERSION): 20160818
161 its a neater number; pick up whitespace fixes to man page.
163 2016-08-17 Simon J. Gerraty <sjg@bad.crufty.net>
165 * Makefile (_MAKE_VERSION): 20160817
166 Merge with NetBSD make, pick up
167 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
168 so we can call it before adding entries to missingFiles.
169 Thus we do not track files we have been told to ignore.
171 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
173 * Makefile (_MAKE_VERSION): 20160815
174 Merge with NetBSD make, pick up
175 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
176 pathnames, and skip if the expansion is empty.
177 Useful for dirdeps.mk when checking DIRDEPS_CACHE.
179 2016-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
181 * Makefile (_MAKE_VERSION): 20160812
182 Merge with NetBSD make, pick up
183 o meta.c: remove all missingFiles entries that match a deleted
185 o main.c: set .ERROR_CMD if possible.
187 2016-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
189 * Makefile (_MAKE_VERSION): 20160606
190 Merge with NetBSD make, pick up
191 o dir.c: extend mtimes cache to others via cached_stat()
193 2016-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
195 * Makefile (_MAKE_VERSION): 20160604
196 Merge with NetBSD make, pick up
197 o meta.c: missing filemon data is only relevant if we read a
199 Also do not return oodate for a missing metafile if gn->path
202 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
204 * Makefile (_MAKE_VERSION): 20160602
205 Merge with NetBSD make, pick up
206 o cached_realpath(): avoid hitting filesystem more than necessary.
207 o meta.c: refactor need_meta decision, add knobs for
208 missing meta file and filemon data wrt out-of-datedness.
210 2016-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
212 * Makefile (_MAKE_VERSION): 20160528
214 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
216 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
218 * Makefile (_MAKE_VERSION): 20160512
219 Merge with NetBSD make, pick up
220 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
221 this is useful for gcov builds.
222 o propagate errors from filemon(4).
224 2016-05-09 Simon J. Gerraty <sjg@bad.crufty.net>
226 * Makefile (_MAKE_VERSION): 20160509
227 Merge with NetBSD make, pick up
228 o remove use of non-standard types u_int etc.
229 o meta.c: apply realpath() before matching against metaIgnorePaths
231 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
233 * Makefile (_MAKE_VERSION): 20160404
234 Merge with NetBSD make, pick up
235 o allow makefile to set .MAKE.JOBS
237 * Makefile (PROG_NAME): use ${_MAKE_VERSION}
239 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
241 * Makefile (_MAKE_VERSION): 20160315
242 Merge with NetBSD make, pick up
243 o fix handling of archive members
245 2016-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
247 * Makefile (_MAKE_VERSION): rename variable to avoid interference
248 with checks for ${MAKE_VERSION}
250 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
252 * Makefile (MAKE_VERSION): 20160310
253 Merge with NetBSD make, pick up
254 o meta.c: treat missing Read file same as Write, incase we Delete it.
256 2016-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
258 * Makefile (MAKE_VERSION): 20160307
259 Merge with NetBSD make, pick up
260 o var.c: fix :ts\nnn to be octal by default.
261 o meta.c: meta_finish() to cleanup memory.
263 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
265 * Makefile (MAKE_VERSION): 20160226
266 Merge with NetBSD make, pick up
267 o meta.c: allow meta file for makeDepend if makefiles want it.
269 2016-02-19 Simon J. Gerraty <sjg@bad.crufty.net>
271 * var.c: default .MAKE.SAVE_DOLLARS to FALSE
272 for backwards compatability.
274 * Makefile (MAKE_VERSION): 20160220
275 Merge with NetBSD make, pick up
276 o var.c: add knob to control handling of '$$' in :=
278 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
280 * Makefile (MAKE_VERSION): 20160218
281 Merge with NetBSD make, pick up
282 o var.c: add .export-literal allows us to fix sys.clean-env.mk
283 post the changes to Var_Subst.
284 Var_Subst now takes flags, and does not consume '$$' in :=
286 2016-02-17 Simon J. Gerraty <sjg@bad.crufty.net>
288 * Makefile (MAKE_VERSION): 20160217
289 Merge with NetBSD make, pick up
290 o var.c: preserve '$$' in :=
291 o parse.c: add .dinclude for handling included
292 makefile like .depend
294 2015-12-20 Simon J. Gerraty <sjg@bad.crufty.net>
296 * Makefile (MAKE_VERSION): 20151220
297 Merge with NetBSD make, pick up
298 o suff.c: re-initialize suffNull when clearing suffixes.
300 2015-12-01 Simon J. Gerraty <sjg@bad.crufty.net>
302 * Makefile (MAKE_VERSION): 20151201
303 Merge with NetBSD make, pick up
304 o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
305 o meta.c: meta_oodate: use lstat(2) for checking link target
306 in case it is a symlink.
307 o var.c: avoid calling brk_string and Var_Export1 with empty
310 2015-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
312 * Makefile (MAKE_VERSION): 20151126
313 Merge with NetBSD make, pick up
314 o parse.c: ParseTrackInput don't access beyond
317 2015-10-22 Simon J. Gerraty <sjg@bad.crufty.net>
319 * Makefile (MAKE_VERSION): 20151022
321 * Add support for BSD/OS which lacks inttypes.h
322 and really needs sys/param.h for sys/sysctl.h
323 also 'type' is not a shell builtin.
325 * var.c: eliminate uint32_t and need for inttypes.h
327 * main.c: PrintOnError flush stdout before run .ERROR
329 * parse.c: cope with _SC_PAGESIZE not being defined.
332 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
334 * Makefile (MAKE_VERSION): 20151020
335 Merge with NetBSD make, pick up
336 o var.c: fix uninitialized var
338 2015-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
340 * var.c: the conditional expressions used with ':?' can be
341 expensive, if already discarding do not evaluate or expand
344 2015-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
346 * Makefile (MAKE_VERSION): 20151010
347 Merge with NetBSD make, pick up
348 o Add Boolean wantit flag to Var_Subst and Var_Parse
349 when FALSE we know we are discarding the result and can
350 skip operations like Cmd_Exec.
352 2015-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
354 * Makefile (MAKE_VERSION): 20151009
355 Merge with NetBSD make, pick up
356 o var.c: don't check for NULL before free()
357 o meta.c: meta_oodate, do not hard code ignore of makeDependfile
359 2015-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
361 * Makefile (MAKE_VERSION): 20150910
362 Merge with NetBSD make, pick up
363 o main.c: with -w print Enter/Leaving messages for objdir too
365 o centralize shell metachar handling
367 * FILES: add metachar.[ch]
369 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
371 * Makefile (MAKE_VERSION): 20150606
372 Merge with NetBSD make, pick up
373 o make.1: document .OBJDIR target
375 2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
377 * Makefile (MAKE_VERSION): 20150505
378 Merge with NetBSD make, pick up
379 o cond.c: be strict about lhs of comparison when evaluating .if
380 but less so when called from variable expansion.
381 o unit-tests/cond2.mk: test various error conditions
383 2015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
385 * machine.sh (MACHINE): Add Bitrig
386 patch from joerg@netbsd.org
388 2015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
390 * Makefile (MAKE_VERSION): 20150418
391 Merge with NetBSD make, pick up
392 o job.c: use memmove() rather than memcpy()
394 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
397 2015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
399 * Makefile (MAKE_VERSION): 20150411
400 bump version - only mk/ changes.
402 2015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
404 * Makefile (MAKE_VERSION): 20150410
405 Merge with NetBSD make, pick up
406 o document different handling of '-' in jobs mode vs compat
407 o fix jobs mode so that '-' only applies to whole job
408 when shell lacks hasErrCtl
409 o meta.c: use separate vars to track lcwd and latestdir (read)
412 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
414 * Makefile (MAKE_VERSION): 20150401
415 Merge with NetBSD make, pick up
416 o meta.c: close meta file in child
418 * Makefile: use BINDIR.bmake if set.
419 Same for MANDIR and SHAREDIR
420 Handy for testing release candidates
421 in various environments.
423 2015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
425 * move initialization of savederr to block where it is used
426 to avoid spurious warning from gcc5
428 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
430 * Makefile (MAKE_VERSION): 20141111
433 2014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
435 * Makefile (MAKE_VERSION): 20141105
436 Merge with NetBSD make, pick up
437 o revert major overhaul of suffix handling
438 and POSIX compliance - too much breakage
439 and impossible to make backwards compatible.
440 o we still have the new unit test structure which is ok.
441 o meta.c ensure "-- filemon" is at start of line.
443 2014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
445 * configure.in: test that result of getconf PATH_MAX is numeric
446 and discard if not. Apparently needed for Hurd.
448 2014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
450 * Makefile (MAKE_VERSION): 20140830
451 Merge with NetBSD make, pick up
452 o major overhaul of suffix handling
453 o improved POSIX compliance
454 o overhauled unit-tests
456 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
458 * Makefile (MAKE_VERSION): 20140620
459 Merge with NetBSD make, pick up
460 o var.c return varNoError rather than var_Error for ::= modifiers.
462 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
464 * Makefile (MAKE_VERSION): 20140522
465 Merge with NetBSD make, pick up
466 o var.c detect some parse errors.
468 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
470 * Fix spelling errors - patch from Pedro Giffuni
472 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
474 * Makefile (MAKE_VERSION): 20140214
475 Merge with NetBSD make, pick up
477 o use Var_Value to get MAKEOBJDIR[PREFIX]
478 o reduced realloc'ign in brk_string.
479 * configure.in: add a check for compiler supporting __func__
481 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
483 * boot-strap: ignore mksrc=none
485 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
487 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
489 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
491 * Makefile (MAKE_VERSION): 20140101
492 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
493 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
494 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
496 * configure.in: Add AC_PREREQ and check for
497 sysctl; patch from Andrew Shadura andrewsh at debian.org
499 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
501 * Makefile (MAKE_VERSION): 20131010
502 * lose the const from arg to systcl to avoid problems on older BSDs.
504 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
506 * Makefile (MAKE_VERSION): 20131001
507 Merge with NetBSD make, pick up
508 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
509 hw.machine_arch if necessary.
510 o meta.c: meta_oodate - need to look at src of Link and target
512 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
513 provide __arraycount() if needed.
515 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
517 * Makefile (MAKE_VERSION): 20130904
518 Merge with NetBSD make, pick up
519 o Add VAR_INTERNAL context, so that internal setting of
520 MAKEFILE does not override value set by makefiles.
522 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
524 * Makefile (MAKE_VERSION): 20130902
525 Merge with NetBSD make, pick up
526 o CompatRunCommand: only apply shellErrFlag when errCheck is true
528 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
530 * Makefile (MAKE_VERSION): 20130828
531 Merge with NetBSD make, pick up
532 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
533 o Call Job_SetPrefix() from Job_Init() so makefiles have
534 opportunity to set .MAKE.JOB.PREFIX
536 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
538 * Makefile (MAKE_VERSION): 20130730
539 Merge with NetBSD make, pick up
540 o Allow suppression of --- job -- tokens by setting
541 .MAKE.JOB.PREFIX empty.
543 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
545 * Makefile (MAKE_VERSION): 20130716
546 Merge with NetBSD make, pick up
547 o number of gmake compatibility tweaks
548 -w for gmake style entering/leaving messages
549 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
550 handle MAKEFLAGS containing only letters.
551 o when overriding a GLOBAL variable on the command line,
552 delete it from GLOBAL context so -V doesn't show the wrong
555 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
557 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
559 * Makefile (MAKE_VERSION): 20130706
560 Merge with NetBSD make, pick up
561 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
562 true so that CompatRunCommand() can use it, to ensure
563 consistent behavior with jobs mode.
564 o use MAKE_LEVEL_ENV to define the variable to propagate
565 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
566 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
569 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
571 * Makefile (MAKE_VERSION): 20130604
572 Merge with NetBSD make, pick up
573 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
574 to avoid leaking descriptors.
576 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
578 * Makefile (MAKE_VERSION): 20130528
579 Merge with NetBSD make, pick up
580 o var.c: cleanup some left-overs in VarHash()
582 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
584 * Makefile (MAKE_VERSION): 20130520
585 generate manifest from component FILES rather than have to
586 update FILES when mk/FILES changes.
588 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
590 * Makefile (MAKE_VERSION): 20130518
591 Merge with NetBSD make, pick up
592 o suff.c: don't skip all processsing for .PHONY targets
593 else wildcard srcs do not get expanded.
594 o var.c: expand name of variable to delete if necessary.
596 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
598 * Makefile (MAKE_VERSION): 20130330
599 Merge with NetBSD make, pick up
600 o meta.c: refine the handling of .OODATE in commands.
601 Rather than suppress command comparison for the entire script
602 as though .NOMETA_CMP had been used, only suppress it for the
604 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
605 suppress comparison of a command without otherwise affecting it.
606 o make.1: document that
608 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
610 * Makefile (MAKE_VERSION): 20130321
611 yes, not quite right but its a cooler number.
612 Merge with NetBSD make, pick up
613 o parse.c: fix ParseGmakeExport to be portable
615 * meta.c: call meta_init() before makefiles are read and if built
616 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
617 this let's makefiles test for support.
618 Call meta_mode_init() to process .MAKE.MODE.
620 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
622 * Makefile (MAKE_VERSION): 20130305
623 Merge with NetBSD make, pick up
624 o run .STALE: target when a dependency from .depend is missing.
625 o job.c: add Job_RunTarget() for the above and .BEGIN
627 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
629 * Makefile (MAKE_VERSION): 20130303
630 Merge with NetBSD make, pick up
631 o main.c: set .MAKE.OS to utsname.sysname
632 o job.c: more checks for read and poll errors
633 o var.c: lose VarChangeCase() saves 4% time
635 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
637 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
638 want to use MAKEOBJDIR
640 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
642 * Merge with NetBSD make, pick up
643 o make.1: more info on how shell commands are handled.
644 o job.c,main.c: detect write errors to job pipes.
646 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
648 * Makefile (MAKE_VERSION): 20130123
649 Merge with NetBSD make, pick up
650 o meta.c: if script uses .OODATE and meta_oodate() decides
651 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
652 o var.c: in debug output indicate which variabale modifiers
654 o remove Check_Cwd logic the makefiles have been fixed.
656 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
658 * makefile.in: add a simple makefile for folk who insist on
659 ./configure; make; make install
660 it just runs boot-strap
661 * include mk/* to accommodate the above
662 * boot-strap: re-work to accommodate the above
663 mksrc defaults to $Mydir/mk
664 allow op={configure,build,install,clean,all}
665 add options to facilitate install
666 * Makefile.config.in: just the bits set by configure
667 * Makefile: bump version to 20121212
668 abandon Makefile.in (NetBSD Makefile)
669 leverage mk/* instead
670 * configure.in: ensure srcdir is absolute
672 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
674 * Makefile.in (MAKE_VERSION): 20121111
675 fix generation of bmake.cat1
677 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
679 * Makefile.in (MAKE_VERSION): 20121109
680 Merge with NetBSD make, pick up
681 o make.c: MakeBuildChild: return 0 so search continues if a
682 .ORDER dependency is detected.
683 o unit-tests/order: test the above
685 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
687 * Makefile.in (MAKE_VERSION): 20121102
688 Merge with NetBSD make, pick up
689 o cond.c: allow cond_state[] to grow.
690 In meta mode with a very large tree, we can hit the limit
691 while processing dirdeps.
693 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
695 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
697 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
699 * Makefile.in (MAKE_VERSION): 20121010
700 o protect syntax that only bmake parses correctly.
701 o remove auto setting of FORCE_MACHINE, use configure's
702 --with-force-machine=whatever if that is desired.
704 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
706 * Makefile.in: do not lose history from make.1 when generating bmake.1
708 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
710 * Makefile.in (MAKE_VERSION): 20121007
711 Merge with NetBSD make, pick up
712 o compat.c: ignore empty commands - same as jobs mode.
713 o make.1: document meta chars that cause use of shell
715 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
717 * Makefile.in (MAKE_VERSION): bump version to 20120911
718 * bsd.after-import.mk: include Makefile.inc early and allow it to
721 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
723 * Makefile.in (MAKE_VERSION): bump version to 20120831
724 Merge with NetBSD make, pick up
725 o cast sizeof() to int for comparison
728 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
730 * Makefile.in (MAKE_VERSION): bump version to 20120830
731 Merge with NetBSD make, pick up
732 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
733 o debug flag -dV causes -V to show raw value regardless.
735 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
737 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
740 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
742 * Makefile.in (MAKE_VERSION): bump version to 20120704
743 Merge with NetBSD make, pick up
744 o Job_ParseShell should call Shell_Init if it has been
746 * Makefile.in: set USE_META based on configure result.
747 also .PARSEDIR is safer indicator of bmake.
749 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
751 * Makefile.in: bump version to 20120626
752 ensure CPPFLAGS is in CFLAGS
753 * meta.c: avoid nested externs
754 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
756 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
758 * Makefile.in (MAKE_VERSION): bump version to 20120620
759 Merge with NetBSD make, pick up
760 o make_malloc.c: avoid including make_malloc.h again
762 * Makefile.in: avoid bmake only syntax or protect with
763 .if defined(.MAKE.LEVEL)
764 * bsd.after-import.mk: replace .-include with .sinclude
765 ensure? SRCTOP gets a value
766 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
768 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
770 * Makefile.in (MAKE_VERSION): bump version to 20120612
771 Merge with NetBSD make, pick up
772 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
773 for greater portability.
774 o unit-tests/forloop: check that .for works as expected wrt
775 number of times and with "quoted strings".
777 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
779 * Makefile.in (MAKE_VERSION): bump version to 20120606
780 Merge with NetBSD make, pick up
781 o compat.c: use kill(2) rather than raise(3).
782 * configure.in: look for sys/dev/filemon
783 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
784 and pass BOOTSTRAP_XTRAS to boot-strap.
786 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
788 * Makefile.in (MAKE_VERSION): bump version to 20120604
789 Merge with NetBSD make, pick up
790 o util.c and var.c share same var for tracking if environ
791 has been reallocated.
792 o util.c provide getenv with setenv.
793 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
794 when the shell actively strips .MAKE.* from the environment.
795 We still refer to the variable always as .MAKE.LEVEL
796 * util.c fix bug in findenv() was finding prefix of name.
797 * compat.c: re-raising SIGINT etc after running .INTERRUPT
798 results in more reliable termination of all activity on many
801 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
803 * Makefile.in (MAKE_VERSION): bump version to 20120602
804 Merge with NetBSD make, pick up
805 o for.c: handle quoted items in .for list
807 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
809 * Makefile.in (MAKE_VERSION): bump version to 20120530
810 Merge with NetBSD make, pick up
811 o compat.c: ignore empty command.
813 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
815 * Makefile.in (MAKE_VERSION): bump version to 20120524
816 * FILES: add bsd.after-import.mk:
817 A simple means of integrating bmake into a BSD build system.
819 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
821 * Makefile.in (MAKE_VERSION): bump version to 20120520
822 Merge with NetBSD make, pick up
823 o increased limit for nested conditionals.
825 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
827 * Makefile.in (MAKE_VERSION): bump version to 20120518
828 Merge with NetBSD make, pick up
829 o use _exit(2) in signal hanlder
830 o Don't use the [dir] cache when building nodes that might have
831 changed since the last exec.
832 o Avoid nested extern declaration warnings.
834 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
836 * meta.c (fgetLine): avoid %z - not portable.
837 * parse.c: Since we moved include of sys/mman.h
838 and def's of MAP_COPY etc. we got dups from a merge.
840 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
842 * Makefile.in (MAKE_VERSION): bump version to 20120420
843 Merge with NetBSD make, pick up
844 o restore duplicate supression in .MAKE.MAKEFILES
845 runtime saving can be significant.
846 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
847 consumption up to 20%.
849 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
851 * Makefile.in (MAKE_VERSION): bump version to 20120420
852 Merge with NetBSD make, pick up
853 o remove duplicate supression in .MAKE.MAKEFILES
854 o improved dir cache behavior
855 o gmake'ish export command
857 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
859 * Makefile.in (MAKE_VERSION): bump version to 20120325
860 Merge with NetBSD make, pick up
861 o fix parsing of :[#] in conditionals.
863 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
865 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
866 since some systems cannot cope with .Nx <version>
868 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
870 * Makefile.in (MAKE_VERSION): bump version to 20111111
871 Merge with NetBSD make, pick up
872 o debug output for .PARSEDIR and .PARSEFILE
874 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
876 * Makefile.in (MAKE_VERSION): bump version to 20111010
878 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
880 * boot-strap: check for an expected file in the dirs we look for.
881 * make-bootstrap.sh: pass on LDSTATIC
883 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
885 * Makefile.in (MAKE_VERSION): bump version to 20111001
886 Merge with NetBSD make, pick up
887 o ensure .PREFIX is set for .PHONY
888 and .TARGET set for .PHONY run via .END
889 o __dead used consistently
891 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
893 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
895 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
897 * Makefile.in (MAKE_VERSION): bump version to 20110905
898 Merge with NetBSD make, pick up
899 o meta_oodate: ignore makeDependfile
901 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
903 * Makefile.in (MAKE_VERSION): bump version to 20110828
904 Merge with NetBSD make, pick up
905 o silent=yes in .MAKE.MODE causes meta mode to mark targets
906 as SILENT if a .meta file is created
908 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
910 * Makefile.in (MAKE_VERSION): bump version to 20110818
911 Merge with NetBSD make, pick up
912 o in meta mode, if target flagged .META a missing .meta file
913 means target is out-of-date
914 o fixes for gcc 4.5 warnings
915 o simplify job printing code
917 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
919 * Makefile.in (MAKE_VERSION): bump version to 20110808
920 Merge with NetBSD make, pick up
921 o do not touch OP_SPECIAL targets when doing make -t
923 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
925 * Makefile.in (MAKE_VERSION): bump version to 20110622
926 Merge with NetBSD make, pick up
927 o meta_oodate detect corrupted .meta file and declare oodate.
928 * configure.in: add check for setsid
930 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
932 * Merge with NetBSD make, pick up
933 o unit-tests/modts now works on MirBSD
935 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
937 * Makefile.in (MAKE_VERSION): bump version to 20110606
938 Merge with NetBSD make, pick up
939 o ApplyModifiers: when we parse a variable which is not
940 the entire modifier string, or not followed by ':', do not
941 consider it as containing modifiers.
942 o loadfile: ensure newline at end of mapped file.
944 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
946 * Makefile.in (MAKE_VERSION): bump version to 20110505
947 Merge with NetBSD make, pick up
948 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
949 of make's control. In meta mode, any generated file within
950 said bailiwick, which is found to be missing, causes current
951 target to be out-of-date.
953 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
955 * Makefile.in (MAKE_VERSION): bump version to 20110411
956 Merge with NetBSD make, pick up
957 o when long modifiers fail to match, check sysV style.
960 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
962 * Makefile.in (MAKE_VERSION): bump version to 20110410
963 Merge with NetBSD make, pick up
964 o :hash - cheap 32bit hash of value
965 o :localtime, :gmtime - use value as format string for strftime.
967 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
969 * Makefile.in (MAKE_VERSION): bump version to 20110330
970 mostly because its a cooler version.
971 Merge with NetBSD make, pick up
972 o NetBSD tags for meta.[ch]
973 o job.c call meta_job_finish() after meta_job_error().
974 o meta_job_error() should call meta_job_finish() to ensure
975 .meta file is closed, and safe to copy - if .ERROR target wants.
976 meta_job_finish() is safe to call repeatedly.
978 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
980 * unit-tests/modts: use printf if it is a builtin,
981 to save us from MirBSD
983 * Makefile.in (MAKE_VERSION): bump version to 20110329
984 Merge with NetBSD make, pick up
985 o fix for use after free() in CondDoExists().
986 o meta_oodate() report extra commands and return earlier.
988 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
990 * Makefile.in (MAKE_VERSION): bump version to 20110327
991 Merge with NetBSD make, pick up
992 o meta.c, if .MAKE.MODE contains curdirOk=yes
993 allow creating .meta files in .CURDIR
994 * boot-strap (TOOL_DIFF): aparently at least on linux distro
995 formats the output of 'type' differently - so eat any "()"
997 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
999 * Makefile.in (MAKE_VERSION): bump version to 20110306
1000 Merge with NetBSD make, pick up
1001 o meta.c, only do getcwd() once
1003 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
1005 * Makefile.in (MAKE_VERSION): bump version to 20110305
1006 Merge with NetBSD make, pick up
1007 o correct sysV substitution handling of empty lhs and variable
1008 o correct exists() check for dir with trailing /
1009 o correct handling of modifiers for non-existant variables
1010 during evaluation of conditionals.
1011 o ensure MAP_FILE is defined.
1012 o meta.c use curdir[] now exported by main.c
1014 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
1016 * Makefile.in (MAKE_VERSION): bump version to 20110225
1017 Merge with NetBSD make, pick up
1018 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
1019 makefiles have been read.
1020 o fix example of :? modifier in man page.
1022 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
1024 * Makefile.in (MAKE_VERSION): bump version to 20110214
1025 Merge with NetBSD make, pick up
1026 o meta.c handle realpath() failing when generating meta file
1029 * sigcompat.c: convert to ansi so we can use higher warning levels.
1032 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
1034 * Makefile.in (MAKE_VERSION): bump version to 20110207
1035 Merge with NetBSD make, pick up
1036 o fix for bug in meta mode.
1038 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
1040 * parse.c: SunOS 5.8 at least does not have MAP_FILE
1042 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
1044 * Makefile.in (MAKE_VERSION): bump version to 20110101
1045 Merge with NetBSD make, pick up
1046 o use mmap(2) if available, for reading makefiles
1048 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
1050 * Makefile.in (MAKE_VERSION): bump version to 20101215
1051 Merge with NetBSD make, pick up
1052 o ensure meta_job_error() does not report a previous .meta file
1055 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
1057 * Makefile.in (MAKE_VERSION): bump version to 20101210
1058 Merge with NetBSD make, pick up
1059 o meta_oodate: track cwd per process, and only consider target
1060 out-of-date if missing file is outside make's CWD.
1061 Ignore files in /tmp/ etc.
1062 o to ensure unit-tests results match, need to control LC_ALL
1064 o fix for parsing bug in var.c
1066 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
1068 * Makefile.in (MAKE_VERSION): bump version to 20101126
1069 Merge with NetBSD make, pick up
1070 o if stale dependency is an IMPSRC, search via .PATH
1071 o meta_oodate: if a referenced file is missing, target is
1073 o meta_oodate: if a target uses .OODATE in its commands,
1074 it (.OODATE) needs to be recomputed.
1075 o keep a pointer to youngest child node, rather than just its
1078 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
1080 * Makefile.in (MAKE_VERSION): bump version to 20101101
1082 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
1084 * machine.sh: like os.sh,
1085 allow for uname -p producing useless drivel
1087 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
1089 * boot-strap: document configure knobs for meta and filemon.
1091 * Makefile.in (MAKE_VERSION): bump version to 20100911
1092 Merge with NetBSD make, pick up
1093 o meta.c - meta mode
1095 * make-bootstrap.sh.in: handle meta.c
1096 * configure.in: add knobs for use_meta and filemon_h
1097 also, look for dirname, str[e]sep and strlcpy
1098 * util.c: add simple err[x] and warn[x]
1100 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1102 * boot-strap (TOOL_DIFF): set this to ensure tests use
1103 the same version of diff that configure tested
1105 * Makefile.in (MAKE_VERSION): bump version to 20100808
1106 Merge with NetBSD make, pick up
1107 o in jobs mode, when we discover we cannot make something,
1108 call PrintOnError before exit.
1110 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
1112 * Makefile.in (MAKE_VERSION): bump version to 20100806
1113 Merge with NetBSD make, pick up
1114 o formatting fixes for ignored errors
1115 o ensure jobs are cleaned up regardless of where wait() was called.
1117 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
1119 * Makefile.in (MAKE_VERSION): bump version to 20100618
1120 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1122 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
1124 * Makefile.in (MAKE_VERSION): bump version to 20100616
1125 Merge with NetBSD make, pick up
1127 o call PrintOnError from JobFinish when we detect an error we
1130 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1132 * Makefile.in (MAKE_VERSION): bump version to 20100606
1133 Merge with NetBSD make, pick up
1136 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
1138 * Makefile.in (MAKE_VERSION): bump version to 20100605
1139 Merge with NetBSD make, pick up
1140 o use bmake_signal() which is a wrapper around sigaction()
1141 in place of signal()
1142 o add .export-env to allow exporting variables to environment
1143 without tracking (so no re-export when the internal value is
1146 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1148 * Makefile.in (MAKE_VERSION): bump version to 20100524
1149 Merge with NetBSD make, pick up
1150 o fix for .info et al being greedy.
1152 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
1154 * Makefile.in (MAKE_VERSION): bump version to 20100520
1155 Merge with NetBSD make, pick up
1156 o back to using realpath on argv[0]
1157 but only if contains '/' and does not start with '/'.
1159 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
1161 * boot-strap: use absolute path for bmake when running tests.
1163 * Makefile.in (MAKE_VERSION): bump version to 20100510
1164 Merge with NetBSD make, pick up
1165 o revert use of realpath on argv[0]
1166 too many corner cases.
1167 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1169 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1171 * Makefile.in (MAKE_VERSION): bump version to 20100505
1172 Merge with NetBSD make, pick up
1173 o fix for missed SIGCHLD when compiled with SunPRO
1174 actually for bmake, defining FORCE_POSIX_SIGNALS would have
1177 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
1179 * Makefile.in (MAKE_VERSION): bump version to 20100430
1180 Merge with NetBSD make, pick up
1181 o fflush stdout before writing to stdout
1183 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
1185 * Makefile.in (MAKE_VERSION): bump version to 20100423
1186 Merge with NetBSD make, pick up
1187 o updated unit tests for Haiku (this time for sure).
1188 * boot-strap: based on patch from joerg
1189 honor --with-default-sys-path better.
1190 * boot-strap: remove mention of --with-prefix-sys-path
1192 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
1194 * Makefile.in (MAKE_VERSION): bump version to 20100422
1195 * Merge with NetBSD make, pick up
1196 o fix for vfork() on Darwin.
1197 o fix for bogus $TMPDIR.
1198 o set .MAKE.MODE=compat for -B
1199 o set .MAKE.JOBS=max_jobs for -j max_jobs
1200 o allow unit-tests to run without any *.mk
1201 o unit-tests/modmisc be more conservative in dirs presumed to exist.
1202 * boot-strap: ignore /usr/share/mk except on NetBSD.
1203 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
1204 ensure sort(1) behaves as expected.
1206 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
1208 * boot-strap: add FindHereOrAbove so we can use -m .../mk
1210 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1212 * Makefile.in (MAKE_VERSION): bump version to 20100420
1213 * Merge with NetBSD make, pick up
1214 o fix for variable realpath() behavior.
1215 we have to stat(2) the result to be sure.
1216 o fix for .export (all) when nested vars use :sh
1218 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
1220 * Makefile.in (MAKE_VERSION): bump version to 20100414
1221 * Merge with NetBSD make, pick up
1222 o use realpath to resolve argv[0] (for .MAKE) if needed.
1223 o add realpath from libc.
1224 o add :tA to resolve variable via realpath(3) if possible.
1226 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
1228 * Makefile.in (MAKE_VERSION): bump version to 20100408
1229 * Merge with NetBSD make, pick up
1230 o unit tests for .ERROR, .error
1231 o fix for .ERROR to ensure it cannot be default target.
1233 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
1235 * Makefile.in (MAKE_VERSION): bump version to 20100406
1236 * Merge with NetBSD make, pick up
1237 o fix for compat mode "Error code" going to debug_file.
1238 o fix for .ALLSRC being populated twice.
1239 o support for .info, .warning and .error directives
1240 o .MAKE.MODE to control make's operational mode
1241 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1243 o .MAKE.DEPENDFILE to control the name of the depend file
1244 o .ERROR target - run on failure.
1246 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
1248 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1250 * os.sh,arch.c: patch for Haiku from joerg at netbsd
1252 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
1254 * Makefile.in (MAKE_VERSION): bump version to 20100222
1255 * Merge with NetBSD make, pick up
1256 o better error msg for .for with mutiple inter vars
1259 o use make-bootstrap.sh from joerg at netbsd
1260 to avoid the need for a native make when bootstrapping.
1261 o add "" everywhere ;-)
1262 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1263 otherwise the pre-formated version.
1265 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1267 * Makefile.in (MAKE_VERSION): bump version to 20100102
1268 * Merge with NetBSD make, pick up:
1271 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
1273 * Makefile.in (MAKE_VERSION): bump version to 20091118
1274 * Merge with NetBSD make, pick up:
1276 o report lines that start with '.' and should have ':'
1277 (catch typo's of .el*if).
1279 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1281 * configure.in: Ensure that srcdir and mksrc are absolute paths.
1283 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1285 * Makefile.in (MAKE_VERSION): fix version to 20091007
1287 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
1289 * Makefile.in (MAKE_VERSION): bump version to 200910007
1290 * Merge with NetBSD make, pick up:
1291 o fix for parsing of :S;...;...; applied to .for loop iterator
1292 appearing in a dependency line.
1294 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1296 * Makefile.in (MAKE_VERSION): bump version to 20090909
1297 * Merge with NetBSD make, pick up:
1298 o fix for -C, .CURDIR and .OBJDIR
1300 o allow share_dir to be set independent of prefix.
1301 o select default share_dir better when prefix ends in $HOST_TARGET
1302 o if FORCE_BSD_MK etc were set, include them in the suggested
1305 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1307 * Makefile.in (MAKE_VERSION): bump version to 20090908
1308 * Merge with NetBSD make, pick up:
1309 o .MAKE.LEVEL for recursion tracking
1310 o fix for :M scanning \:
1312 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1314 * configure.in: Don't -D__EXTENSIONS__ if
1315 AC_USE_SYSTEM_EXTENSIONS says "no".
1317 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
1319 * Makefile.in (MAKE_VERSION): bump version to 20090826
1320 Simplify MAKE_VERSION to just the bare date.
1321 * Merge with NetBSD make, pick up:
1322 o -C directory support.
1323 o support for SIGINFO
1324 o use $TMPDIR for temp files.
1325 o child of vfork should be careful about modifying parent's state.
1328 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1330 * Appy some patches for MiNT from David Brownlee
1332 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
1334 * Makefile.in (BMAKE_VERSION): bump version to 20090222
1335 * Merge with NetBSD make, pick up:
1336 o Possible null pointer de-ref in Var_Set.
1338 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
1340 * Makefile.in (BMAKE_VERSION): bump version to 20090204
1341 * Merge with NetBSD make, pick up:
1342 o bmake_malloc et al moved to their own .c
1343 o Count both () and {} when looking for the end of a :M pattern
1344 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1345 o strlist.c - functions for processing extendable arrays of pointers to strings.
1346 o ClientData replaced with void *, so const void * can be used.
1347 o New debug flag C for DEBUG_CWD
1349 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1351 * Makefile.in (BMAKE_VERSION): bump version to 20081111
1352 Apply patch from Joerg Sonnenberge to
1354 o remove some redundant checks
1355 o check for emlloc etc only in libutil and require the whole family.
1357 o remove [v]asprintf which is no longer used.
1359 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1361 * Makefile.in (BMAKE_VERSION): bump version to 20081101
1362 * Merge with NetBSD make, pick up:
1363 o util.c: avoid use of putenv() - christos
1365 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1367 * Makefile.in (BMAKE_VERSION): bump version to 20081030
1368 pick up man page tweaks.
1370 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
1372 * Makefile.in: move processing of LIBOBJS to after is definition!
1373 thus we'll have getenv.c in SRCS only if needed.
1375 * make.1: add examples of how to use :?
1377 * Makefile.in (BMAKE_VERSION): bump version to 20081029
1378 * Merge with NetBSD make, pick up:
1379 o fix for .END processing with -j
1380 o segfault from Parse_Error when no makefile is open
1381 o handle numeric expressions in any variable expansion
1382 o debug output now defaults to stderr, -dF to change it - apb
1383 o make now uses bmake_malloc etc so that it can build natively
1384 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1386 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
1388 * Makefile.in (BMAKE_VERSION): bump version to 20080808
1389 * Merge with NetBSD make, pick up:
1390 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1391 long lines in Makefiles
1392 o optimizations for VarQuote by joerg
1393 o fix for PR/38756: dominik: make dumps core on invalid makefile
1395 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
1397 * Makefile.in (BMAKE_VERSION): bump version to 20080515
1398 * Merge with NetBSD make, pick up:
1399 o fix skip setting vars in VAR_GLOBAL context, to handle
1400 cases where VAR_CMD is used for other than command line vars.
1402 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
1404 * boot-strap (make_version): we may need to look in
1405 $prefix/share/mk for sys.mk
1407 * Makefile.in (BMAKE_VERSION): bump version to 20080514
1408 * Merge with NetBSD make, pick up:
1409 o skip setting vars in VAR_GLOBAL context, when already set in
1410 VAR_CMD which takes precedence.
1412 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
1414 * Makefile.in (BMAKE_VERSION): bump version to 20080330
1415 * Merge with NetBSD make, pick up:
1416 o fix for ?= when LHS contains variable reference.
1418 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1420 * merge some patches from NetBSD pkgsrc.
1422 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1423 the MAKSYSPATH used during bootstrap.
1425 * Makefile.in (BMAKE_VERSION): bump version to 20080215
1426 * Merge with NetBSD make, pick up:
1427 o warn if non-space chars follow 'empty' in a conditional.
1429 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1431 * Makefile.in (BMAKE_VERSION): bump version to 20080118
1432 * Merge with NetBSD make, pick up:
1433 o consider dependencies read from .depend as optional - dsl
1434 o remember when buffer for reading makefile grows - dsl
1435 o add -dl (aka LOUD) - David O'Brien
1437 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
1439 * Makefile.in (BMAKE_VERSION): bump version to 20071022
1440 * Merge with NetBSD make, pick up:
1441 o Allow .PATH<suffix> to be used for .include ""
1443 * boot-strap: source default settings from .bmake-boot-strap.rc
1445 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
1447 * Makefile.in: fix maninstall on various systems
1448 provided that our man.mk is used.
1449 For non-BSD systems we install the preformatted page
1452 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
1454 * boot-strap: make bmake.1 too, so maninstall works.
1456 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
1458 * Makefile.in (BMAKE_VERSION): bump version to 20071014
1459 * Merge with NetBSD make, pick up:
1460 o revamped handling of defshell - configure no longer needs to
1461 know the content of the shells array - apb
1462 o stop Var_Subst modifying its input - apb
1463 o avoid calling ParseTrackInput too often - dsl
1465 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
1467 * Makefile.in (BMAKE_VERSION): bump version to 20071011
1468 * Merge with NetBSD make, pick up:
1469 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1471 * sigcompat.c: some tweaks for HP-UX 11.x based on
1472 patch from Tobias Nygren
1474 * configure.in: update handling of --with-defshell to match
1475 new make behavior. --with-defshell=/usr/xpg4/bin/sh
1476 will now do what one might hope - provided the chosen shell
1477 behaves enough like sh.
1479 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
1481 * Makefile.in (BMAKE_VERSION): bump to 20071008
1482 * Merge with NetBSD make, pick up:
1483 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1484 o .export/.MAKE.EXPORTED - export of variables - sjg
1485 o .MAKE.MAKEFILES - track all makefiles read - sjg
1486 o performance improvements - dsl
1487 o revamp parallel job scheduling - dsl
1489 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1491 * Makefile.in (BMAKE_VERSION): bump to 20060728
1492 * Merge with NetBSD make, pick up:
1493 o extra debug info during variable and cond processing - sjg
1494 o shell definition now covers newline - rillig
1495 o minor mem leak in PrintOnError - sjg
1497 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1499 * Makefile.in (BMAKE_VERSION): bump to 20060511
1500 * Merge with NetBSD make, pick up:
1501 o more memory leaks - coverity
1502 o possible overflow in ArchFindMember - coverity
1503 o extract variable modifier code out of Var_Parse()
1504 so it can be called recursively - sjg
1505 o unit-tests/moderrs - sjg
1507 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
1509 * Makefile.in (BMAKE_VERSION): bump to 20060412
1510 * Merge with NetBSD make, pick up:
1511 o fixes for some memory leaks - coverity
1512 o only read first sys.mk etc when searching sysIncPath - sjg
1514 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1515 setting ${MAKEFILE} - OBATA Akio
1517 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1519 * Makefile.in (BMAKE_VERSION): bump to 20060318
1520 * Merge with NetBSD make, pick up:
1521 o cleanup of job.c to remove remote handling, distcc is more
1522 useful and this code was likely bit-rotting - dsl
1523 o fix for :P modifier - sjg
1524 * boot-strap: set default prefix to something reasonable
1527 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1529 * Makefile.in (BMAKE_VERSION): bump to 20060301
1530 * Merge with NetBSD make, pick up:
1531 o make .WAIT apply recursively, document and test case - apb
1532 o allow variable modifiers in a variable appear anywhere in
1533 modifier list, document and test case - sjg
1535 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1537 * Makefile.in (BMAKE_VERSION): bump to 20060222
1538 * Merge with NetBSD make, pick up:
1539 o improved job token handling - dsl
1540 o SIG_DFL the correct signal before exec - dsl
1541 o more debug info during parsing - dsl
1542 o allow variable modifiers to be specified via variable - sjg
1543 * boot-strap: explain why we died if no mksrc
1545 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1547 * Makefile.in (BMAKE_VERSION): bump to 20051105
1548 * configure.in: always set default_sys_path
1549 default is ${prefix}/share/mk
1550 - remove prefix_sys_path, anyone wanting more than above
1551 needs to set it manually.
1553 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1555 * boot-strap: make this a bit easier for pkgsrc folk.
1556 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1557 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1559 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1561 * Makefile.in (BMAKE_VERSION): bump to 20051102
1562 * job.c (JobFinish): fix likely ancient merge lossage
1563 fix from Todd Vierling.
1564 * boot-strap (srcdir): allow setting mksrc=none
1566 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1568 * Makefile.in (BMAKE_VERSION): bump to 20051031
1569 * ranlib.h: skip on OSF too.
1572 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1574 * Makefile.in (BMAKE_VERSION): bump to 20051002
1577 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1579 * Makefile.in (BMAKE_VERSION): bump to 20051001
1580 support for UnixWare and some other systems,
1581 based on patches from pkgsrc/bootstrap
1583 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1585 * Makefile.in (BMAKE_VERSION): bump to 20050901
1586 * Merge with NetBSD make, pick up:
1587 o possible parse error causing us to wander off.
1589 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1591 * Makefile.in (BMAKE_VERSION): bump to 20050606
1592 * Merge with NetBSD make, pick up:
1593 o :0x modifier for randomizing a list
1594 o fixes for a number of -Wuninitialized issues.
1596 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1598 * Makefile.in (BMAKE_VERSION): bump to 20050530
1599 * Merge with NetBSD make, pick up:
1600 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1602 * README: was seriously out of date.
1604 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1606 * Important to use .MAKE rather than MAKE.
1608 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1610 * Makefile.in (BMAKE_VERSION): bump to 20050315
1611 * Merge with NetBSD make, pick up:
1612 o don't mistake .elsefoo for .else
1613 o use suffix-specific search path correctly
1614 o bunch of style nits
1616 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1619 o ensure that args to --src and --with-mksrc
1620 are resolved before giving them to configure.
1621 o add -o "objdir" so that builder can control it,
1622 default is $OS as determined by os.sh
1623 o add -q to suppress all the install instructions.
1625 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1627 * Remove __IDSTRING()
1629 * Makefile.in (BMAKE_VERSION): bump to 20040508
1630 * Merge with NetBSD make, pick up:
1632 - remove '-e' from compat mode
1633 - add support for '+' command-line prefix.
1634 o fix for handling '--' on command-line.
1635 o fix include in lst.lib/lstInt.h to simplify '-I's
1636 o we also picked up replacement of MAKE_BOOTSTRAP
1637 with !MAKE_NATIVE which is a noop, but possibly confusing.
1639 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1641 * Makefile.in (BMAKE_VERSION): bump to 20040414
1642 * Merge with NetBSD make, pick up:
1643 o allow quoted strings on lhs of conditionals
1644 o issue warning when extra .else is seen
1645 o print line numer when errors encountered during parsing from
1648 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1650 * Makefile.in (BMAKE_VERSION): bump to 20040220
1651 * Merge with NetBSD make, pick up:
1652 o fix for old :M parsing bug.
1653 o re-jigged unit-tests
1655 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1657 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1658 so that './bmake -f Makefile test' works.
1660 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1662 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1663 * Merge with NetBSD make, pick up:
1664 o search upwards for *.mk
1665 o fix for double free of var substitution buffers
1666 o use of getopt replaced with custom code, since the usage
1667 (re-scanning) isn't posix compatible.
1669 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1671 * arch.c: don't include ranlib.h on ELF systems
1672 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1674 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1676 * Makefile.in (BMAKE_VERSION): bump to 20040118
1678 * boot-strap (while): export vars we assign to on cmdline
1679 * unit-test/Makefile.in: ternary is .PHONY
1681 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1683 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1684 * Merge with NetBSD make, pick up:
1685 o fix for ternary modifier
1687 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1689 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1690 * Merge with NetBSD make, pick up:
1691 o fix for cond.c to handle compound expressions better
1692 o variable expansion within sysV style replacements
1694 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1696 * Make portable snprintf safer - output to /dev/null first to
1699 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1700 * Merge with NetBSD make, pick up:
1701 o -dg3 to show input graph when things go wrong.
1702 o explicitly look for makefiles in objdir if not found in curdir so
1703 that errors in .depend etc will be reported accurarely.
1704 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1705 instead as it more accurately reflects the expected behavior and
1706 is more consistently implemented.
1707 o avoid use of asprintf.
1709 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1711 * util.c: Add asprintf and vasprintf.
1713 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1714 * Merge with NetBSD make, pick up:
1715 :[] modifier - allows picking words from a variable.
1716 :tW modifier - allows treating value as one big word.
1717 W flag for :C and :S - allows treating value as one big word.
1719 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1721 * Merge with NetBSD make
1722 pick up -de flag to enable printing failed command.
1723 don't skip 1st two dir entries (normally . and ..) since
1724 coda does not have them.
1726 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1728 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1729 * Merge with NetBSD make, pick up:
1730 - changes for -V '${VAR}' to print fully expanded value
1732 - CompatRunCommand now prints the command that failed.
1733 - several files got updated 3 clause Berkeley license.
1735 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1737 * boot-strap: Allow setting configure args on command line.
1739 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1741 * configure.in: add --with-defshell to allow sh or ksh
1742 to be selected as default shell.
1744 * Makefile.in: bump version to 20030731
1746 * Merge with NetBSD make
1747 Pick up .SHELL spec for ksh and associate man page changes.
1748 Also compat mode now uses the same shell specs.
1750 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1752 * var.c (Var_Parse): ensure delim is initialized.
1754 * unit-tests/Makefile.in: use single quotes to avoid problems from
1758 Run the unit-tests as part of the bootstrap procedure.
1760 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1762 * unit-tests/Makefile.in: always force complaints from
1763 ${TEST_MAKE} to be from 'make'.
1765 * configure.in: add check for 'diff -u'
1766 also fix some old autoconf'isms
1768 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1769 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1771 * Merge with NetBSD make
1772 Pick up fix for :ts parsing error in some cases.
1775 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1777 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1779 * var.c (Var_Parse): fix bug in :ts modifier, after const
1780 correctness fixes, must pass nstr to VarModify.
1782 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1784 * Makefile.in: BMAKE_VERSION switch to a date based version.
1785 We'll generally use the date of last import from NetBSD.
1787 * Merge with NetBSD make
1788 Pick up fixes for const-correctness, now passes WARNS=3 on
1790 Pick up :ts modifier, allows controlling the separator used
1791 between words in variable expansion.
1793 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1795 * FILES: include boot-strap and os.sh
1797 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1798 FreeBSD is known to be bad.
1800 * makefile.boot.in (bootstrap): make this the default target.
1802 * Makefile.in: bump version to 3.1.19
1804 * machine.sh: avoid A-Z with tr as it is bound to lose.
1806 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1808 * Merge with NetBSD make
1809 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1810 Plus some doc fixes.
1812 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1814 * Merge with NetBSD make
1815 Pick up fix for PR/1523 - don't count a library as built, if there
1816 is no way to build it
1818 * Bump version to 3.1.18
1820 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1822 * Merge with NetBSD make
1823 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1824 appears in src list.
1826 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1828 * Merge with NetBSD make (mmm 10th anniversary!)
1829 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1830 pick up -X which tells us to not export VAR=val via setenv if
1831 we are already doing so via MAKEFLAGS. This saves valuable env
1832 space on systems like Darwin.
1833 set MAKE_VERSION to 3.1.17
1835 * parse.c: pix up fix for suffix rules
1837 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1839 * Merge with NetBSD make.
1840 pick up fix for propagating -B via MAKEFLAGS.
1841 set MAKE_VERSION to 3.1.16
1843 * Apply some patches from pkgsrc-bootstrap/bmake
1844 Originally by Grant Beattie <grant@netbsd.org>
1845 I may have missed some - since they are based on bmake-3.1.12
1847 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1849 * makefile.boot.in (bmake): update install targets for those that
1850 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1851 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1853 * bmake.cat1: update the pre-formatted man page!
1855 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1857 * Merge with NetBSD make.
1858 pick up fix for premature free of pointer used in call
1860 set MAKE_VERSION to 3.1.15
1862 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1864 * configure.in: determine suitable value for MKSRC.
1865 override using --with-mksrc=PATH.
1867 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1868 configs(8) will use 'sun4' as an alias for 'sparc'.
1870 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1872 * Merge with NetBSD make.
1874 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1875 set MAKE_VERSION to 3.1.14
1876 add configure checks for killpg and sys/socket.h
1878 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1882 * makefile.boot.in (bmake): use install-mk
1883 Also setup ./mk before trying to invoke bmake.boot incase we
1884 needed install-mk to create a sys.mk for us.
1886 * configure.in: If we need to add -I${srcdir}/missing, make it an
1887 absolute path so that it works for lst.lib too.
1889 * make.h: always include sys/cdefs.h since we provide one if the
1892 * Makefile.in (install-mk):
1893 use MKSRC/install-mk which will do the right thing.
1894 use uname -p for ARCH if possible.
1895 since install-mk will setup links bsd.prog.mk -> prog.mk if
1896 needed, just .include bsd.prog.mk
1898 * Merge with NetBSD make (NetBSD-1.6)
1899 Code is ansi-C only now.
1900 Bug in handling of dotLast is fixed.
1901 Can now assign .OBJDIR and make will reset its notions of life.
1902 New modifiers :tu :tl for toUpper and toLower.
1904 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1906 * Merge with NetBSD make
1907 pick up fix for .END failure in compat mode.
1908 pick up fix for extra va_end() in ParseVErrorInternal.
1910 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1912 * configure.in: for systems that have sys/cdefs.h check if it is
1913 compatible. If not, include the one under missing, but tell it to
1914 include the native one too - necessary on Linux.
1916 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1917 include_next (for gcc) to get the native sys/cdefs.h
1919 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1921 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1922 leaking descriptors when using -jN.
1924 * job.c (JobPrintCommand): See if "curdir" exists before
1925 attempting to chdir(). Doing the chdir directly in make (when in
1926 compat mode) fails silently, so let the -jN version do the same.
1927 This can happen when building kernels in an object tree and
1928 playing clever games to reset .CURDIR.
1930 * Merged with NetBSD make
1933 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1935 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1937 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1939 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1940 us not to export the iterator variable when using VAR_CMD context.
1942 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1944 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1945 its the wrong "fix".
1947 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1949 * Redesigned export of VAR_CMD's via MAKEFLAGS.
1950 We now simply append the variable names to .MAKEOVERRIDES, and
1951 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1952 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1953 Apart from fixing quoting bugs in previous version, this allows us
1954 to export vars to the environment by simply doing:
1955 .MAKEOVERRIDES+= PATH
1956 Merged again with NetBSD make, but the above is the only change.
1958 * configure.in: added
1959 --disable-pwd-override disable $PWD overriding getcwd()
1960 --disable-check-make-chdir disable make trying to guess
1961 when it should automatically cd ${.CURDIR}
1963 * Merge with NetBSD make, changes include:
1964 parse.c (ParseDoDependency): Spot that the syntax error is
1965 caused by an unresolved cvs/rcs conflict and say so.
1966 var.c: most of Var* functions now take a ctxt as 1st arg.
1967 now does variable substituion on rhs of sysv style modifiers.
1969 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1970 is now done here. We append the name='value' to .MAKEOVERRIDES
1971 rather than directly into MAKEFLAGS as this allows a Makefile to
1972 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
1973 very similar mechanism. Note that in adding name='value' to
1974 .MAKEOVERRIDES we do the moral equivalent of:
1975 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1977 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1979 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1981 * Merged with NetBSD make
1982 make -dx can now be used to run commands via sh -x
1983 better error messages on exec failures.
1985 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1987 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1988 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
1989 MACHINE etc otherwise they propagate from the previous bmake.
1991 * configure.in (machine): allow --with-machine=generic to make
1992 configure use machine.sh to set MACHINE.
1994 * job.c (JobInterrupt): convert to using WAIT_T and friends.
1996 * Makefile.in: mention in bmake.1 that we use autoconf.
1998 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
2000 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2002 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
2003 as that rather defeats the usefulness of ${MAKEFILE}.
2005 * main.c (MainParseArgs): append command line variable assignments
2006 to MAKEFLAGS so that they get propagated to child make's.
2007 Apparently this is required POSIX behaviour? Its useful anyway.
2009 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2011 * compat.c (CompatRunCommand): don't use perror() since stdio may
2012 cause problems in child of vfork().
2014 * compat.c, main.c: Call PrintOnError() when we are going to bail.
2015 This routine prints out the .curdir where we stopped and will also
2016 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
2018 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
2021 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
2023 * Added RCSid's for the files we've touched.
2025 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2027 * configure.in: Thanks to some clues from mdb@juniper.net,
2028 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2029 as well as what ends up in _PATH_DEFSYSPATH. We now have:
2031 --with-machine=MACHINE explicitly set MACHINE
2032 --with-force-machine=MACHINE set FORCE_MACHINE
2033 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
2034 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
2035 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
2036 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
2038 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2040 * makefile: added a pathetically simple makefile to drive
2041 bootstrapping. Running configure by hand is more useful.
2043 * Makefile.in: added MAKE_VERSION, and reworked things to be less
2044 dependent on NetBSD bsd.*.mk
2046 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2047 _PATH_OBJDIRPREFIX for those that don't want a default.
2048 construct _PATH_DEFSYSPATH from the info we get from configure.
2050 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2051 if MAKE_VERSION is defined.
2053 * compat.c: when we bail, print out the .CURDIR we were in.
2055 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2057 * Merged with NetBSD make
2059 * var.c: fixed a bug in the handling of the modifier :P
2060 if the node as found but the path was null, we segfault trying to
2063 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2065 * Merged with NetBSD make
2067 * make.c: Make_OODate's test for a library out of date was using
2068 cmtime where it should have used mtime (my bug).
2070 * compat.c: Use perror() to tell us what really went wrong when we
2071 cannot exec a command.
2073 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2075 * Merged with NetBSD make
2077 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2079 * Merged with NetBSD make
2081 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2083 * Merged with NetBSD make
2085 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2087 * Merged with NetBSD make
2089 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2091 * util.c: don't provide signal() since we use sigcompat.c
2093 * Makefile.in: added a build target.
2095 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2096 These allow some quite clever magic.
2098 * main.c (main): added support for getenv(MAKESYSPATH).
2100 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2102 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2103 This avoids objdir having a different value depending on how a
2104 directory was reached (via command line, or subdir.mk).
2106 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2108 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2110 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2111 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2112 I've been testing this in NetBSD's make for some weeks.
2114 * Turn Makefile into Makefile.in and make it useful.
2116 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2118 * Imported NetBSD's -current make(1) and resolve conflicts.
2120 * Applied autoconf patches from bmake v2
2122 * Imported clean code base from NetBSD-1.0