1 2017-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
4 Merge with NetBSD make, pick up
5 o main.c: ignore empty MAKEOBJDIR
8 make @prefix@ @machine*@ and @default_sys_path@ defaults.
10 2017-10-05 Simon J. Gerraty <sjg@bad.crufty.net>
14 * unit-tests/dotwait.mk: redirect stderr through pipe for more
15 consistent result on some platforms.
17 2017-08-13 Simon J. Gerraty <sjg@bad.crufty.net>
19 * machine.sh: entry for AIX
21 2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
23 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
24 to a file that can be included by configure as well as make.
25 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
27 2017-08-10 Simon J. Gerraty <sjg@bad.crufty.net>
29 * Makefile (_MAKE_VERSION): 20170810
30 Merge with NetBSD make, pick up
31 o meta.c: if target is in subdir we only need subdir name in
34 2017-07-20 Simon J. Gerraty <sjg@bad.crufty.net>
36 * Makefile (_MAKE_VERSION): 20170720
37 Merge with NetBSD make, pick up
38 o compat.c: pass SIGINT etc onto child and wait for it to exit
39 before we self-terminate.
41 2017-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
43 * Makefile (_MAKE_VERSION): 20170711
44 forgot to update after merge on 20170708 ;-)
45 o main.c: refactor to reduce size of main function.
46 add -v option to always fully expand values.
47 o meta.c: ensure command output in meta file has ending newline
48 even when filemon not being used.
49 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
50 pathname via ':L' since any ':' in pathname breaks that.
51 Instead set a '${.p.}' to pathname in the target context and
54 2017-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
56 * Makefile (_MAKE_VERSION): 20170510
57 Merge with NetBSD make, pick up
58 o main.c: Main_SetObjdir: ensure buf2 is in scope
60 2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net>
62 * Makefile (_MAKE_VERSION): 20170505
65 2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
67 * parse.c: not everyone has stdint.h
69 2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
71 * Makefile (_MAKE_VERSION): 20170501
74 2017-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
76 * Makefile (_MAKE_VERSION): 20170421
77 Merge with NetBSD make, pick up
78 o str.c: Str_Match: fix closure tests for [^] and add unit-test.
80 2017-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
82 * Makefile (_MAKE_VERSION): 20170420
83 Merge with NetBSD make, pick up
84 o main.c: only use -C arg "as is" if it contains no
87 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
89 * Makefile (_MAKE_VERSION): 20170418
90 Merge with NetBSD make, pick up
91 o main.c: fix Main_SetObjdir() for relative paths (eg obj).
93 2017-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
95 * Makefile (_MAKE_VERSION): 20170417
96 Merge with NetBSD make, pick up
97 o fixes a number of coverity complaints
98 - check return value of fseek, fcntl
99 - plug memory leak in Dir_FindFile, Var_LoopExpand,
100 JobPrintCommand, ParseTraditionalInclude
101 - use bmake_malloc() where NULL is not tollerated
102 - use MAKE_ATTR_UNUSED rather that kludges like
103 return(unused ? 0 : 0)
104 - use purge_cached_realpaths() rather than abuse cached_realpath()
106 2017-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
108 * Makefile (_MAKE_VERSION): 20170413
109 Merge with NetBSD make, pick up
110 o main.c: when setting .OBJDIR ignore '$' in paths.
112 * job.c: use MALLOC_OPTIONS to set malloc_options.
114 2017-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
116 * Makefile (_MAKE_VERSION): 20170411
117 Merge with NetBSD make, pick up
118 o str.c: Str_Match: allow [^a-z] to behave as expected.
120 2017-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
122 * Makefile (_MAKE_VERSION): 20170326
123 Merge with NetBSD make, pick up
124 o main.c: purge relative paths from realpath cache when .OBJDIR
127 2017-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
129 * Makefile (_MAKE_VERSION): 20170311
130 Merge with NetBSD make, pick up
131 o main.c: only use -C arg "as is" if it starts with '/'.
133 2017-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
135 * Makefile (_MAKE_VERSION): 20170301
136 Merge with NetBSD make, pick up
137 o main.c: use -C arg "as is" rather than getcwd()
138 if they identify the same directory.
139 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
141 2017-02-01 Simon J. Gerraty <sjg@bad.crufty.net>
143 * Makefile (_MAKE_VERSION): 20170201
144 Merge with NetBSD make, pick up
145 o var.c: allow :_=var and avoid use of special context.
147 2017-01-30 Simon J. Gerraty <sjg@bad.crufty.net>
149 * Makefile (_MAKE_VERSION): 20170130
150 Merge with NetBSD make, pick up
151 o var.c: add :range and :_
152 o main.c: partially initialize Dir_* before MainParseArgs()
154 If -V, skip Main_ExportMAKEFLAGS()
156 2017-01-14 Simon J. Gerraty <sjg@bad.crufty.net>
158 * Makefile (_MAKE_VERSION): 20170114
159 Merge with NetBSD make, pick up
160 o var.c: allow specifying the utc value used by :{gm,local}time
162 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
164 * Makefile (_MAKE_VERSION): 20161212
165 Merge with NetBSD make, pick up
166 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
168 2016-12-09 Simon J. Gerraty <sjg@bad.crufty.net>
170 * Makefile (_MAKE_VERSION): 20161209
171 Merge with NetBSD make, pick up
172 o main.c: cleanup setting of .OBJDIR
173 o parse.c: avoid coredump from (var)=val
175 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
177 * Makefile (_MAKE_VERSION): 20161126
178 Merge with NetBSD make, pick up
179 o make.c: Make_OODate: report src node name if path not set
181 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
183 * Makefile (_MAKE_VERSION): 20160926
184 Merge with NetBSD make, pick up
185 o support for .DELETE_ON_ERROR: (remove targets that fail)
187 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
189 * Makefile MAN: tweak .Dt to match ${PROG}
191 2016-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
193 * Makefile (_MAKE_VERSION): 20160818
194 its a neater number; pick up whitespace fixes to man page.
196 2016-08-17 Simon J. Gerraty <sjg@bad.crufty.net>
198 * Makefile (_MAKE_VERSION): 20160817
199 Merge with NetBSD make, pick up
200 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
201 so we can call it before adding entries to missingFiles.
202 Thus we do not track files we have been told to ignore.
204 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
206 * Makefile (_MAKE_VERSION): 20160815
207 Merge with NetBSD make, pick up
208 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
209 pathnames, and skip if the expansion is empty.
210 Useful for dirdeps.mk when checking DIRDEPS_CACHE.
212 2016-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
214 * Makefile (_MAKE_VERSION): 20160812
215 Merge with NetBSD make, pick up
216 o meta.c: remove all missingFiles entries that match a deleted
218 o main.c: set .ERROR_CMD if possible.
220 2016-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
222 * Makefile (_MAKE_VERSION): 20160606
223 Merge with NetBSD make, pick up
224 o dir.c: extend mtimes cache to others via cached_stat()
226 2016-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
228 * Makefile (_MAKE_VERSION): 20160604
229 Merge with NetBSD make, pick up
230 o meta.c: missing filemon data is only relevant if we read a
232 Also do not return oodate for a missing metafile if gn->path
235 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
237 * Makefile (_MAKE_VERSION): 20160602
238 Merge with NetBSD make, pick up
239 o cached_realpath(): avoid hitting filesystem more than necessary.
240 o meta.c: refactor need_meta decision, add knobs for
241 missing meta file and filemon data wrt out-of-datedness.
243 2016-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
245 * Makefile (_MAKE_VERSION): 20160528
247 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
249 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
251 * Makefile (_MAKE_VERSION): 20160512
252 Merge with NetBSD make, pick up
253 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
254 this is useful for gcov builds.
255 o propagate errors from filemon(4).
257 2016-05-09 Simon J. Gerraty <sjg@bad.crufty.net>
259 * Makefile (_MAKE_VERSION): 20160509
260 Merge with NetBSD make, pick up
261 o remove use of non-standard types u_int etc.
262 o meta.c: apply realpath() before matching against metaIgnorePaths
264 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
266 * Makefile (_MAKE_VERSION): 20160404
267 Merge with NetBSD make, pick up
268 o allow makefile to set .MAKE.JOBS
270 * Makefile (PROG_NAME): use ${_MAKE_VERSION}
272 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
274 * Makefile (_MAKE_VERSION): 20160315
275 Merge with NetBSD make, pick up
276 o fix handling of archive members
278 2016-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
280 * Makefile (_MAKE_VERSION): rename variable to avoid interference
281 with checks for ${MAKE_VERSION}
283 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
285 * Makefile (MAKE_VERSION): 20160310
286 Merge with NetBSD make, pick up
287 o meta.c: treat missing Read file same as Write, incase we Delete it.
289 2016-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
291 * Makefile (MAKE_VERSION): 20160307
292 Merge with NetBSD make, pick up
293 o var.c: fix :ts\nnn to be octal by default.
294 o meta.c: meta_finish() to cleanup memory.
296 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
298 * Makefile (MAKE_VERSION): 20160226
299 Merge with NetBSD make, pick up
300 o meta.c: allow meta file for makeDepend if makefiles want it.
302 2016-02-19 Simon J. Gerraty <sjg@bad.crufty.net>
304 * var.c: default .MAKE.SAVE_DOLLARS to FALSE
305 for backwards compatability.
307 * Makefile (MAKE_VERSION): 20160220
308 Merge with NetBSD make, pick up
309 o var.c: add knob to control handling of '$$' in :=
311 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
313 * Makefile (MAKE_VERSION): 20160218
314 Merge with NetBSD make, pick up
315 o var.c: add .export-literal allows us to fix sys.clean-env.mk
316 post the changes to Var_Subst.
317 Var_Subst now takes flags, and does not consume '$$' in :=
319 2016-02-17 Simon J. Gerraty <sjg@bad.crufty.net>
321 * Makefile (MAKE_VERSION): 20160217
322 Merge with NetBSD make, pick up
323 o var.c: preserve '$$' in :=
324 o parse.c: add .dinclude for handling included
325 makefile like .depend
327 2015-12-20 Simon J. Gerraty <sjg@bad.crufty.net>
329 * Makefile (MAKE_VERSION): 20151220
330 Merge with NetBSD make, pick up
331 o suff.c: re-initialize suffNull when clearing suffixes.
333 2015-12-01 Simon J. Gerraty <sjg@bad.crufty.net>
335 * Makefile (MAKE_VERSION): 20151201
336 Merge with NetBSD make, pick up
337 o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
338 o meta.c: meta_oodate: use lstat(2) for checking link target
339 in case it is a symlink.
340 o var.c: avoid calling brk_string and Var_Export1 with empty
343 2015-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
345 * Makefile (MAKE_VERSION): 20151126
346 Merge with NetBSD make, pick up
347 o parse.c: ParseTrackInput don't access beyond
350 2015-10-22 Simon J. Gerraty <sjg@bad.crufty.net>
352 * Makefile (MAKE_VERSION): 20151022
354 * Add support for BSD/OS which lacks inttypes.h
355 and really needs sys/param.h for sys/sysctl.h
356 also 'type' is not a shell builtin.
358 * var.c: eliminate uint32_t and need for inttypes.h
360 * main.c: PrintOnError flush stdout before run .ERROR
362 * parse.c: cope with _SC_PAGESIZE not being defined.
365 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
367 * Makefile (MAKE_VERSION): 20151020
368 Merge with NetBSD make, pick up
369 o var.c: fix uninitialized var
371 2015-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
373 * var.c: the conditional expressions used with ':?' can be
374 expensive, if already discarding do not evaluate or expand
377 2015-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
379 * Makefile (MAKE_VERSION): 20151010
380 Merge with NetBSD make, pick up
381 o Add Boolean wantit flag to Var_Subst and Var_Parse
382 when FALSE we know we are discarding the result and can
383 skip operations like Cmd_Exec.
385 2015-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
387 * Makefile (MAKE_VERSION): 20151009
388 Merge with NetBSD make, pick up
389 o var.c: don't check for NULL before free()
390 o meta.c: meta_oodate, do not hard code ignore of makeDependfile
392 2015-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
394 * Makefile (MAKE_VERSION): 20150910
395 Merge with NetBSD make, pick up
396 o main.c: with -w print Enter/Leaving messages for objdir too
398 o centralize shell metachar handling
400 * FILES: add metachar.[ch]
402 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
404 * Makefile (MAKE_VERSION): 20150606
405 Merge with NetBSD make, pick up
406 o make.1: document .OBJDIR target
408 2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
410 * Makefile (MAKE_VERSION): 20150505
411 Merge with NetBSD make, pick up
412 o cond.c: be strict about lhs of comparison when evaluating .if
413 but less so when called from variable expansion.
414 o unit-tests/cond2.mk: test various error conditions
416 2015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
418 * machine.sh (MACHINE): Add Bitrig
419 patch from joerg@netbsd.org
421 2015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
423 * Makefile (MAKE_VERSION): 20150418
424 Merge with NetBSD make, pick up
425 o job.c: use memmove() rather than memcpy()
427 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
430 2015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
432 * Makefile (MAKE_VERSION): 20150411
433 bump version - only mk/ changes.
435 2015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
437 * Makefile (MAKE_VERSION): 20150410
438 Merge with NetBSD make, pick up
439 o document different handling of '-' in jobs mode vs compat
440 o fix jobs mode so that '-' only applies to whole job
441 when shell lacks hasErrCtl
442 o meta.c: use separate vars to track lcwd and latestdir (read)
445 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
447 * Makefile (MAKE_VERSION): 20150401
448 Merge with NetBSD make, pick up
449 o meta.c: close meta file in child
451 * Makefile: use BINDIR.bmake if set.
452 Same for MANDIR and SHAREDIR
453 Handy for testing release candidates
454 in various environments.
456 2015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
458 * move initialization of savederr to block where it is used
459 to avoid spurious warning from gcc5
461 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
463 * Makefile (MAKE_VERSION): 20141111
466 2014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
468 * Makefile (MAKE_VERSION): 20141105
469 Merge with NetBSD make, pick up
470 o revert major overhaul of suffix handling
471 and POSIX compliance - too much breakage
472 and impossible to make backwards compatible.
473 o we still have the new unit test structure which is ok.
474 o meta.c ensure "-- filemon" is at start of line.
476 2014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
478 * configure.in: test that result of getconf PATH_MAX is numeric
479 and discard if not. Apparently needed for Hurd.
481 2014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
483 * Makefile (MAKE_VERSION): 20140830
484 Merge with NetBSD make, pick up
485 o major overhaul of suffix handling
486 o improved POSIX compliance
487 o overhauled unit-tests
489 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
491 * Makefile (MAKE_VERSION): 20140620
492 Merge with NetBSD make, pick up
493 o var.c return varNoError rather than var_Error for ::= modifiers.
495 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
497 * Makefile (MAKE_VERSION): 20140522
498 Merge with NetBSD make, pick up
499 o var.c detect some parse errors.
501 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
503 * Fix spelling errors - patch from Pedro Giffuni
505 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
507 * Makefile (MAKE_VERSION): 20140214
508 Merge with NetBSD make, pick up
510 o use Var_Value to get MAKEOBJDIR[PREFIX]
511 o reduced realloc'ign in brk_string.
512 * configure.in: add a check for compiler supporting __func__
514 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
516 * boot-strap: ignore mksrc=none
518 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
520 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
522 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
524 * Makefile (MAKE_VERSION): 20140101
525 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
526 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
527 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
529 * configure.in: Add AC_PREREQ and check for
530 sysctl; patch from Andrew Shadura andrewsh at debian.org
532 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
534 * Makefile (MAKE_VERSION): 20131010
535 * lose the const from arg to systcl to avoid problems on older BSDs.
537 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
539 * Makefile (MAKE_VERSION): 20131001
540 Merge with NetBSD make, pick up
541 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
542 hw.machine_arch if necessary.
543 o meta.c: meta_oodate - need to look at src of Link and target
545 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
546 provide __arraycount() if needed.
548 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
550 * Makefile (MAKE_VERSION): 20130904
551 Merge with NetBSD make, pick up
552 o Add VAR_INTERNAL context, so that internal setting of
553 MAKEFILE does not override value set by makefiles.
555 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
557 * Makefile (MAKE_VERSION): 20130902
558 Merge with NetBSD make, pick up
559 o CompatRunCommand: only apply shellErrFlag when errCheck is true
561 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
563 * Makefile (MAKE_VERSION): 20130828
564 Merge with NetBSD make, pick up
565 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
566 o Call Job_SetPrefix() from Job_Init() so makefiles have
567 opportunity to set .MAKE.JOB.PREFIX
569 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
571 * Makefile (MAKE_VERSION): 20130730
572 Merge with NetBSD make, pick up
573 o Allow suppression of --- job -- tokens by setting
574 .MAKE.JOB.PREFIX empty.
576 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
578 * Makefile (MAKE_VERSION): 20130716
579 Merge with NetBSD make, pick up
580 o number of gmake compatibility tweaks
581 -w for gmake style entering/leaving messages
582 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
583 handle MAKEFLAGS containing only letters.
584 o when overriding a GLOBAL variable on the command line,
585 delete it from GLOBAL context so -V doesn't show the wrong
588 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
590 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
592 * Makefile (MAKE_VERSION): 20130706
593 Merge with NetBSD make, pick up
594 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
595 true so that CompatRunCommand() can use it, to ensure
596 consistent behavior with jobs mode.
597 o use MAKE_LEVEL_ENV to define the variable to propagate
598 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
599 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
602 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
604 * Makefile (MAKE_VERSION): 20130604
605 Merge with NetBSD make, pick up
606 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
607 to avoid leaking descriptors.
609 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
611 * Makefile (MAKE_VERSION): 20130528
612 Merge with NetBSD make, pick up
613 o var.c: cleanup some left-overs in VarHash()
615 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
617 * Makefile (MAKE_VERSION): 20130520
618 generate manifest from component FILES rather than have to
619 update FILES when mk/FILES changes.
621 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
623 * Makefile (MAKE_VERSION): 20130518
624 Merge with NetBSD make, pick up
625 o suff.c: don't skip all processsing for .PHONY targets
626 else wildcard srcs do not get expanded.
627 o var.c: expand name of variable to delete if necessary.
629 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
631 * Makefile (MAKE_VERSION): 20130330
632 Merge with NetBSD make, pick up
633 o meta.c: refine the handling of .OODATE in commands.
634 Rather than suppress command comparison for the entire script
635 as though .NOMETA_CMP had been used, only suppress it for the
637 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
638 suppress comparison of a command without otherwise affecting it.
639 o make.1: document that
641 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
643 * Makefile (MAKE_VERSION): 20130321
644 yes, not quite right but its a cooler number.
645 Merge with NetBSD make, pick up
646 o parse.c: fix ParseGmakeExport to be portable
648 * meta.c: call meta_init() before makefiles are read and if built
649 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
650 this let's makefiles test for support.
651 Call meta_mode_init() to process .MAKE.MODE.
653 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
655 * Makefile (MAKE_VERSION): 20130305
656 Merge with NetBSD make, pick up
657 o run .STALE: target when a dependency from .depend is missing.
658 o job.c: add Job_RunTarget() for the above and .BEGIN
660 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
662 * Makefile (MAKE_VERSION): 20130303
663 Merge with NetBSD make, pick up
664 o main.c: set .MAKE.OS to utsname.sysname
665 o job.c: more checks for read and poll errors
666 o var.c: lose VarChangeCase() saves 4% time
668 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
670 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
671 want to use MAKEOBJDIR
673 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
675 * Merge with NetBSD make, pick up
676 o make.1: more info on how shell commands are handled.
677 o job.c,main.c: detect write errors to job pipes.
679 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
681 * Makefile (MAKE_VERSION): 20130123
682 Merge with NetBSD make, pick up
683 o meta.c: if script uses .OODATE and meta_oodate() decides
684 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
685 o var.c: in debug output indicate which variabale modifiers
687 o remove Check_Cwd logic the makefiles have been fixed.
689 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
691 * makefile.in: add a simple makefile for folk who insist on
692 ./configure; make; make install
693 it just runs boot-strap
694 * include mk/* to accommodate the above
695 * boot-strap: re-work to accommodate the above
696 mksrc defaults to $Mydir/mk
697 allow op={configure,build,install,clean,all}
698 add options to facilitate install
699 * Makefile.config.in: just the bits set by configure
700 * Makefile: bump version to 20121212
701 abandon Makefile.in (NetBSD Makefile)
702 leverage mk/* instead
703 * configure.in: ensure srcdir is absolute
705 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
707 * Makefile.in (MAKE_VERSION): 20121111
708 fix generation of bmake.cat1
710 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
712 * Makefile.in (MAKE_VERSION): 20121109
713 Merge with NetBSD make, pick up
714 o make.c: MakeBuildChild: return 0 so search continues if a
715 .ORDER dependency is detected.
716 o unit-tests/order: test the above
718 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
720 * Makefile.in (MAKE_VERSION): 20121102
721 Merge with NetBSD make, pick up
722 o cond.c: allow cond_state[] to grow.
723 In meta mode with a very large tree, we can hit the limit
724 while processing dirdeps.
726 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
728 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
730 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
732 * Makefile.in (MAKE_VERSION): 20121010
733 o protect syntax that only bmake parses correctly.
734 o remove auto setting of FORCE_MACHINE, use configure's
735 --with-force-machine=whatever if that is desired.
737 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
739 * Makefile.in: do not lose history from make.1 when generating bmake.1
741 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
743 * Makefile.in (MAKE_VERSION): 20121007
744 Merge with NetBSD make, pick up
745 o compat.c: ignore empty commands - same as jobs mode.
746 o make.1: document meta chars that cause use of shell
748 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
750 * Makefile.in (MAKE_VERSION): bump version to 20120911
751 * bsd.after-import.mk: include Makefile.inc early and allow it to
754 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
756 * Makefile.in (MAKE_VERSION): bump version to 20120831
757 Merge with NetBSD make, pick up
758 o cast sizeof() to int for comparison
761 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
763 * Makefile.in (MAKE_VERSION): bump version to 20120830
764 Merge with NetBSD make, pick up
765 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
766 o debug flag -dV causes -V to show raw value regardless.
768 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
770 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
773 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
775 * Makefile.in (MAKE_VERSION): bump version to 20120704
776 Merge with NetBSD make, pick up
777 o Job_ParseShell should call Shell_Init if it has been
779 * Makefile.in: set USE_META based on configure result.
780 also .PARSEDIR is safer indicator of bmake.
782 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
784 * Makefile.in: bump version to 20120626
785 ensure CPPFLAGS is in CFLAGS
786 * meta.c: avoid nested externs
787 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
789 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
791 * Makefile.in (MAKE_VERSION): bump version to 20120620
792 Merge with NetBSD make, pick up
793 o make_malloc.c: avoid including make_malloc.h again
795 * Makefile.in: avoid bmake only syntax or protect with
796 .if defined(.MAKE.LEVEL)
797 * bsd.after-import.mk: replace .-include with .sinclude
798 ensure? SRCTOP gets a value
799 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
801 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
803 * Makefile.in (MAKE_VERSION): bump version to 20120612
804 Merge with NetBSD make, pick up
805 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
806 for greater portability.
807 o unit-tests/forloop: check that .for works as expected wrt
808 number of times and with "quoted strings".
810 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
812 * Makefile.in (MAKE_VERSION): bump version to 20120606
813 Merge with NetBSD make, pick up
814 o compat.c: use kill(2) rather than raise(3).
815 * configure.in: look for sys/dev/filemon
816 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
817 and pass BOOTSTRAP_XTRAS to boot-strap.
819 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
821 * Makefile.in (MAKE_VERSION): bump version to 20120604
822 Merge with NetBSD make, pick up
823 o util.c and var.c share same var for tracking if environ
824 has been reallocated.
825 o util.c provide getenv with setenv.
826 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
827 when the shell actively strips .MAKE.* from the environment.
828 We still refer to the variable always as .MAKE.LEVEL
829 * util.c fix bug in findenv() was finding prefix of name.
830 * compat.c: re-raising SIGINT etc after running .INTERRUPT
831 results in more reliable termination of all activity on many
834 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
836 * Makefile.in (MAKE_VERSION): bump version to 20120602
837 Merge with NetBSD make, pick up
838 o for.c: handle quoted items in .for list
840 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
842 * Makefile.in (MAKE_VERSION): bump version to 20120530
843 Merge with NetBSD make, pick up
844 o compat.c: ignore empty command.
846 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
848 * Makefile.in (MAKE_VERSION): bump version to 20120524
849 * FILES: add bsd.after-import.mk:
850 A simple means of integrating bmake into a BSD build system.
852 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
854 * Makefile.in (MAKE_VERSION): bump version to 20120520
855 Merge with NetBSD make, pick up
856 o increased limit for nested conditionals.
858 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
860 * Makefile.in (MAKE_VERSION): bump version to 20120518
861 Merge with NetBSD make, pick up
862 o use _exit(2) in signal hanlder
863 o Don't use the [dir] cache when building nodes that might have
864 changed since the last exec.
865 o Avoid nested extern declaration warnings.
867 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
869 * meta.c (fgetLine): avoid %z - not portable.
870 * parse.c: Since we moved include of sys/mman.h
871 and def's of MAP_COPY etc. we got dups from a merge.
873 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
875 * Makefile.in (MAKE_VERSION): bump version to 20120420
876 Merge with NetBSD make, pick up
877 o restore duplicate supression in .MAKE.MAKEFILES
878 runtime saving can be significant.
879 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
880 consumption up to 20%.
882 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
884 * Makefile.in (MAKE_VERSION): bump version to 20120420
885 Merge with NetBSD make, pick up
886 o remove duplicate supression in .MAKE.MAKEFILES
887 o improved dir cache behavior
888 o gmake'ish export command
890 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
892 * Makefile.in (MAKE_VERSION): bump version to 20120325
893 Merge with NetBSD make, pick up
894 o fix parsing of :[#] in conditionals.
896 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
898 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
899 since some systems cannot cope with .Nx <version>
901 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
903 * Makefile.in (MAKE_VERSION): bump version to 20111111
904 Merge with NetBSD make, pick up
905 o debug output for .PARSEDIR and .PARSEFILE
907 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
909 * Makefile.in (MAKE_VERSION): bump version to 20111010
911 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
913 * boot-strap: check for an expected file in the dirs we look for.
914 * make-bootstrap.sh: pass on LDSTATIC
916 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
918 * Makefile.in (MAKE_VERSION): bump version to 20111001
919 Merge with NetBSD make, pick up
920 o ensure .PREFIX is set for .PHONY
921 and .TARGET set for .PHONY run via .END
922 o __dead used consistently
924 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
926 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
928 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
930 * Makefile.in (MAKE_VERSION): bump version to 20110905
931 Merge with NetBSD make, pick up
932 o meta_oodate: ignore makeDependfile
934 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
936 * Makefile.in (MAKE_VERSION): bump version to 20110828
937 Merge with NetBSD make, pick up
938 o silent=yes in .MAKE.MODE causes meta mode to mark targets
939 as SILENT if a .meta file is created
941 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
943 * Makefile.in (MAKE_VERSION): bump version to 20110818
944 Merge with NetBSD make, pick up
945 o in meta mode, if target flagged .META a missing .meta file
946 means target is out-of-date
947 o fixes for gcc 4.5 warnings
948 o simplify job printing code
950 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
952 * Makefile.in (MAKE_VERSION): bump version to 20110808
953 Merge with NetBSD make, pick up
954 o do not touch OP_SPECIAL targets when doing make -t
956 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
958 * Makefile.in (MAKE_VERSION): bump version to 20110622
959 Merge with NetBSD make, pick up
960 o meta_oodate detect corrupted .meta file and declare oodate.
961 * configure.in: add check for setsid
963 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
965 * Merge with NetBSD make, pick up
966 o unit-tests/modts now works on MirBSD
968 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
970 * Makefile.in (MAKE_VERSION): bump version to 20110606
971 Merge with NetBSD make, pick up
972 o ApplyModifiers: when we parse a variable which is not
973 the entire modifier string, or not followed by ':', do not
974 consider it as containing modifiers.
975 o loadfile: ensure newline at end of mapped file.
977 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
979 * Makefile.in (MAKE_VERSION): bump version to 20110505
980 Merge with NetBSD make, pick up
981 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
982 of make's control. In meta mode, any generated file within
983 said bailiwick, which is found to be missing, causes current
984 target to be out-of-date.
986 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
988 * Makefile.in (MAKE_VERSION): bump version to 20110411
989 Merge with NetBSD make, pick up
990 o when long modifiers fail to match, check sysV style.
993 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
995 * Makefile.in (MAKE_VERSION): bump version to 20110410
996 Merge with NetBSD make, pick up
997 o :hash - cheap 32bit hash of value
998 o :localtime, :gmtime - use value as format string for strftime.
1000 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1002 * Makefile.in (MAKE_VERSION): bump version to 20110330
1003 mostly because its a cooler version.
1004 Merge with NetBSD make, pick up
1005 o NetBSD tags for meta.[ch]
1006 o job.c call meta_job_finish() after meta_job_error().
1007 o meta_job_error() should call meta_job_finish() to ensure
1008 .meta file is closed, and safe to copy - if .ERROR target wants.
1009 meta_job_finish() is safe to call repeatedly.
1011 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
1013 * unit-tests/modts: use printf if it is a builtin,
1014 to save us from MirBSD
1016 * Makefile.in (MAKE_VERSION): bump version to 20110329
1017 Merge with NetBSD make, pick up
1018 o fix for use after free() in CondDoExists().
1019 o meta_oodate() report extra commands and return earlier.
1021 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
1023 * Makefile.in (MAKE_VERSION): bump version to 20110327
1024 Merge with NetBSD make, pick up
1025 o meta.c, if .MAKE.MODE contains curdirOk=yes
1026 allow creating .meta files in .CURDIR
1027 * boot-strap (TOOL_DIFF): aparently at least on linux distro
1028 formats the output of 'type' differently - so eat any "()"
1030 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
1032 * Makefile.in (MAKE_VERSION): bump version to 20110306
1033 Merge with NetBSD make, pick up
1034 o meta.c, only do getcwd() once
1036 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
1038 * Makefile.in (MAKE_VERSION): bump version to 20110305
1039 Merge with NetBSD make, pick up
1040 o correct sysV substitution handling of empty lhs and variable
1041 o correct exists() check for dir with trailing /
1042 o correct handling of modifiers for non-existant variables
1043 during evaluation of conditionals.
1044 o ensure MAP_FILE is defined.
1045 o meta.c use curdir[] now exported by main.c
1047 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
1049 * Makefile.in (MAKE_VERSION): bump version to 20110225
1050 Merge with NetBSD make, pick up
1051 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
1052 makefiles have been read.
1053 o fix example of :? modifier in man page.
1055 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
1057 * Makefile.in (MAKE_VERSION): bump version to 20110214
1058 Merge with NetBSD make, pick up
1059 o meta.c handle realpath() failing when generating meta file
1062 * sigcompat.c: convert to ansi so we can use higher warning levels.
1065 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
1067 * Makefile.in (MAKE_VERSION): bump version to 20110207
1068 Merge with NetBSD make, pick up
1069 o fix for bug in meta mode.
1071 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
1073 * parse.c: SunOS 5.8 at least does not have MAP_FILE
1075 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
1077 * Makefile.in (MAKE_VERSION): bump version to 20110101
1078 Merge with NetBSD make, pick up
1079 o use mmap(2) if available, for reading makefiles
1081 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
1083 * Makefile.in (MAKE_VERSION): bump version to 20101215
1084 Merge with NetBSD make, pick up
1085 o ensure meta_job_error() does not report a previous .meta file
1088 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
1090 * Makefile.in (MAKE_VERSION): bump version to 20101210
1091 Merge with NetBSD make, pick up
1092 o meta_oodate: track cwd per process, and only consider target
1093 out-of-date if missing file is outside make's CWD.
1094 Ignore files in /tmp/ etc.
1095 o to ensure unit-tests results match, need to control LC_ALL
1097 o fix for parsing bug in var.c
1099 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
1101 * Makefile.in (MAKE_VERSION): bump version to 20101126
1102 Merge with NetBSD make, pick up
1103 o if stale dependency is an IMPSRC, search via .PATH
1104 o meta_oodate: if a referenced file is missing, target is
1106 o meta_oodate: if a target uses .OODATE in its commands,
1107 it (.OODATE) needs to be recomputed.
1108 o keep a pointer to youngest child node, rather than just its
1111 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
1113 * Makefile.in (MAKE_VERSION): bump version to 20101101
1115 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
1117 * machine.sh: like os.sh,
1118 allow for uname -p producing useless drivel
1120 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
1122 * boot-strap: document configure knobs for meta and filemon.
1124 * Makefile.in (MAKE_VERSION): bump version to 20100911
1125 Merge with NetBSD make, pick up
1126 o meta.c - meta mode
1128 * make-bootstrap.sh.in: handle meta.c
1129 * configure.in: add knobs for use_meta and filemon_h
1130 also, look for dirname, str[e]sep and strlcpy
1131 * util.c: add simple err[x] and warn[x]
1133 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1135 * boot-strap (TOOL_DIFF): set this to ensure tests use
1136 the same version of diff that configure tested
1138 * Makefile.in (MAKE_VERSION): bump version to 20100808
1139 Merge with NetBSD make, pick up
1140 o in jobs mode, when we discover we cannot make something,
1141 call PrintOnError before exit.
1143 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
1145 * Makefile.in (MAKE_VERSION): bump version to 20100806
1146 Merge with NetBSD make, pick up
1147 o formatting fixes for ignored errors
1148 o ensure jobs are cleaned up regardless of where wait() was called.
1150 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
1152 * Makefile.in (MAKE_VERSION): bump version to 20100618
1153 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1155 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
1157 * Makefile.in (MAKE_VERSION): bump version to 20100616
1158 Merge with NetBSD make, pick up
1160 o call PrintOnError from JobFinish when we detect an error we
1163 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1165 * Makefile.in (MAKE_VERSION): bump version to 20100606
1166 Merge with NetBSD make, pick up
1169 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
1171 * Makefile.in (MAKE_VERSION): bump version to 20100605
1172 Merge with NetBSD make, pick up
1173 o use bmake_signal() which is a wrapper around sigaction()
1174 in place of signal()
1175 o add .export-env to allow exporting variables to environment
1176 without tracking (so no re-export when the internal value is
1179 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1181 * Makefile.in (MAKE_VERSION): bump version to 20100524
1182 Merge with NetBSD make, pick up
1183 o fix for .info et al being greedy.
1185 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
1187 * Makefile.in (MAKE_VERSION): bump version to 20100520
1188 Merge with NetBSD make, pick up
1189 o back to using realpath on argv[0]
1190 but only if contains '/' and does not start with '/'.
1192 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
1194 * boot-strap: use absolute path for bmake when running tests.
1196 * Makefile.in (MAKE_VERSION): bump version to 20100510
1197 Merge with NetBSD make, pick up
1198 o revert use of realpath on argv[0]
1199 too many corner cases.
1200 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1202 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1204 * Makefile.in (MAKE_VERSION): bump version to 20100505
1205 Merge with NetBSD make, pick up
1206 o fix for missed SIGCHLD when compiled with SunPRO
1207 actually for bmake, defining FORCE_POSIX_SIGNALS would have
1210 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
1212 * Makefile.in (MAKE_VERSION): bump version to 20100430
1213 Merge with NetBSD make, pick up
1214 o fflush stdout before writing to stdout
1216 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
1218 * Makefile.in (MAKE_VERSION): bump version to 20100423
1219 Merge with NetBSD make, pick up
1220 o updated unit tests for Haiku (this time for sure).
1221 * boot-strap: based on patch from joerg
1222 honor --with-default-sys-path better.
1223 * boot-strap: remove mention of --with-prefix-sys-path
1225 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
1227 * Makefile.in (MAKE_VERSION): bump version to 20100422
1228 * Merge with NetBSD make, pick up
1229 o fix for vfork() on Darwin.
1230 o fix for bogus $TMPDIR.
1231 o set .MAKE.MODE=compat for -B
1232 o set .MAKE.JOBS=max_jobs for -j max_jobs
1233 o allow unit-tests to run without any *.mk
1234 o unit-tests/modmisc be more conservative in dirs presumed to exist.
1235 * boot-strap: ignore /usr/share/mk except on NetBSD.
1236 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
1237 ensure sort(1) behaves as expected.
1239 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
1241 * boot-strap: add FindHereOrAbove so we can use -m .../mk
1243 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1245 * Makefile.in (MAKE_VERSION): bump version to 20100420
1246 * Merge with NetBSD make, pick up
1247 o fix for variable realpath() behavior.
1248 we have to stat(2) the result to be sure.
1249 o fix for .export (all) when nested vars use :sh
1251 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
1253 * Makefile.in (MAKE_VERSION): bump version to 20100414
1254 * Merge with NetBSD make, pick up
1255 o use realpath to resolve argv[0] (for .MAKE) if needed.
1256 o add realpath from libc.
1257 o add :tA to resolve variable via realpath(3) if possible.
1259 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
1261 * Makefile.in (MAKE_VERSION): bump version to 20100408
1262 * Merge with NetBSD make, pick up
1263 o unit tests for .ERROR, .error
1264 o fix for .ERROR to ensure it cannot be default target.
1266 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
1268 * Makefile.in (MAKE_VERSION): bump version to 20100406
1269 * Merge with NetBSD make, pick up
1270 o fix for compat mode "Error code" going to debug_file.
1271 o fix for .ALLSRC being populated twice.
1272 o support for .info, .warning and .error directives
1273 o .MAKE.MODE to control make's operational mode
1274 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1276 o .MAKE.DEPENDFILE to control the name of the depend file
1277 o .ERROR target - run on failure.
1279 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
1281 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1283 * os.sh,arch.c: patch for Haiku from joerg at netbsd
1285 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
1287 * Makefile.in (MAKE_VERSION): bump version to 20100222
1288 * Merge with NetBSD make, pick up
1289 o better error msg for .for with mutiple inter vars
1292 o use make-bootstrap.sh from joerg at netbsd
1293 to avoid the need for a native make when bootstrapping.
1294 o add "" everywhere ;-)
1295 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1296 otherwise the pre-formated version.
1298 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1300 * Makefile.in (MAKE_VERSION): bump version to 20100102
1301 * Merge with NetBSD make, pick up:
1304 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
1306 * Makefile.in (MAKE_VERSION): bump version to 20091118
1307 * Merge with NetBSD make, pick up:
1309 o report lines that start with '.' and should have ':'
1310 (catch typo's of .el*if).
1312 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1314 * configure.in: Ensure that srcdir and mksrc are absolute paths.
1316 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1318 * Makefile.in (MAKE_VERSION): fix version to 20091007
1320 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
1322 * Makefile.in (MAKE_VERSION): bump version to 200910007
1323 * Merge with NetBSD make, pick up:
1324 o fix for parsing of :S;...;...; applied to .for loop iterator
1325 appearing in a dependency line.
1327 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1329 * Makefile.in (MAKE_VERSION): bump version to 20090909
1330 * Merge with NetBSD make, pick up:
1331 o fix for -C, .CURDIR and .OBJDIR
1333 o allow share_dir to be set independent of prefix.
1334 o select default share_dir better when prefix ends in $HOST_TARGET
1335 o if FORCE_BSD_MK etc were set, include them in the suggested
1338 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1340 * Makefile.in (MAKE_VERSION): bump version to 20090908
1341 * Merge with NetBSD make, pick up:
1342 o .MAKE.LEVEL for recursion tracking
1343 o fix for :M scanning \:
1345 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1347 * configure.in: Don't -D__EXTENSIONS__ if
1348 AC_USE_SYSTEM_EXTENSIONS says "no".
1350 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
1352 * Makefile.in (MAKE_VERSION): bump version to 20090826
1353 Simplify MAKE_VERSION to just the bare date.
1354 * Merge with NetBSD make, pick up:
1355 o -C directory support.
1356 o support for SIGINFO
1357 o use $TMPDIR for temp files.
1358 o child of vfork should be careful about modifying parent's state.
1361 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1363 * Appy some patches for MiNT from David Brownlee
1365 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
1367 * Makefile.in (BMAKE_VERSION): bump version to 20090222
1368 * Merge with NetBSD make, pick up:
1369 o Possible null pointer de-ref in Var_Set.
1371 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
1373 * Makefile.in (BMAKE_VERSION): bump version to 20090204
1374 * Merge with NetBSD make, pick up:
1375 o bmake_malloc et al moved to their own .c
1376 o Count both () and {} when looking for the end of a :M pattern
1377 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1378 o strlist.c - functions for processing extendable arrays of pointers to strings.
1379 o ClientData replaced with void *, so const void * can be used.
1380 o New debug flag C for DEBUG_CWD
1382 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1384 * Makefile.in (BMAKE_VERSION): bump version to 20081111
1385 Apply patch from Joerg Sonnenberge to
1387 o remove some redundant checks
1388 o check for emlloc etc only in libutil and require the whole family.
1390 o remove [v]asprintf which is no longer used.
1392 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1394 * Makefile.in (BMAKE_VERSION): bump version to 20081101
1395 * Merge with NetBSD make, pick up:
1396 o util.c: avoid use of putenv() - christos
1398 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1400 * Makefile.in (BMAKE_VERSION): bump version to 20081030
1401 pick up man page tweaks.
1403 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
1405 * Makefile.in: move processing of LIBOBJS to after is definition!
1406 thus we'll have getenv.c in SRCS only if needed.
1408 * make.1: add examples of how to use :?
1410 * Makefile.in (BMAKE_VERSION): bump version to 20081029
1411 * Merge with NetBSD make, pick up:
1412 o fix for .END processing with -j
1413 o segfault from Parse_Error when no makefile is open
1414 o handle numeric expressions in any variable expansion
1415 o debug output now defaults to stderr, -dF to change it - apb
1416 o make now uses bmake_malloc etc so that it can build natively
1417 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1419 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
1421 * Makefile.in (BMAKE_VERSION): bump version to 20080808
1422 * Merge with NetBSD make, pick up:
1423 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1424 long lines in Makefiles
1425 o optimizations for VarQuote by joerg
1426 o fix for PR/38756: dominik: make dumps core on invalid makefile
1428 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
1430 * Makefile.in (BMAKE_VERSION): bump version to 20080515
1431 * Merge with NetBSD make, pick up:
1432 o fix skip setting vars in VAR_GLOBAL context, to handle
1433 cases where VAR_CMD is used for other than command line vars.
1435 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
1437 * boot-strap (make_version): we may need to look in
1438 $prefix/share/mk for sys.mk
1440 * Makefile.in (BMAKE_VERSION): bump version to 20080514
1441 * Merge with NetBSD make, pick up:
1442 o skip setting vars in VAR_GLOBAL context, when already set in
1443 VAR_CMD which takes precedence.
1445 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
1447 * Makefile.in (BMAKE_VERSION): bump version to 20080330
1448 * Merge with NetBSD make, pick up:
1449 o fix for ?= when LHS contains variable reference.
1451 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1453 * merge some patches from NetBSD pkgsrc.
1455 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1456 the MAKSYSPATH used during bootstrap.
1458 * Makefile.in (BMAKE_VERSION): bump version to 20080215
1459 * Merge with NetBSD make, pick up:
1460 o warn if non-space chars follow 'empty' in a conditional.
1462 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1464 * Makefile.in (BMAKE_VERSION): bump version to 20080118
1465 * Merge with NetBSD make, pick up:
1466 o consider dependencies read from .depend as optional - dsl
1467 o remember when buffer for reading makefile grows - dsl
1468 o add -dl (aka LOUD) - David O'Brien
1470 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
1472 * Makefile.in (BMAKE_VERSION): bump version to 20071022
1473 * Merge with NetBSD make, pick up:
1474 o Allow .PATH<suffix> to be used for .include ""
1476 * boot-strap: source default settings from .bmake-boot-strap.rc
1478 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
1480 * Makefile.in: fix maninstall on various systems
1481 provided that our man.mk is used.
1482 For non-BSD systems we install the preformatted page
1485 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
1487 * boot-strap: make bmake.1 too, so maninstall works.
1489 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
1491 * Makefile.in (BMAKE_VERSION): bump version to 20071014
1492 * Merge with NetBSD make, pick up:
1493 o revamped handling of defshell - configure no longer needs to
1494 know the content of the shells array - apb
1495 o stop Var_Subst modifying its input - apb
1496 o avoid calling ParseTrackInput too often - dsl
1498 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
1500 * Makefile.in (BMAKE_VERSION): bump version to 20071011
1501 * Merge with NetBSD make, pick up:
1502 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1504 * sigcompat.c: some tweaks for HP-UX 11.x based on
1505 patch from Tobias Nygren
1507 * configure.in: update handling of --with-defshell to match
1508 new make behavior. --with-defshell=/usr/xpg4/bin/sh
1509 will now do what one might hope - provided the chosen shell
1510 behaves enough like sh.
1512 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
1514 * Makefile.in (BMAKE_VERSION): bump to 20071008
1515 * Merge with NetBSD make, pick up:
1516 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1517 o .export/.MAKE.EXPORTED - export of variables - sjg
1518 o .MAKE.MAKEFILES - track all makefiles read - sjg
1519 o performance improvements - dsl
1520 o revamp parallel job scheduling - dsl
1522 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1524 * Makefile.in (BMAKE_VERSION): bump to 20060728
1525 * Merge with NetBSD make, pick up:
1526 o extra debug info during variable and cond processing - sjg
1527 o shell definition now covers newline - rillig
1528 o minor mem leak in PrintOnError - sjg
1530 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1532 * Makefile.in (BMAKE_VERSION): bump to 20060511
1533 * Merge with NetBSD make, pick up:
1534 o more memory leaks - coverity
1535 o possible overflow in ArchFindMember - coverity
1536 o extract variable modifier code out of Var_Parse()
1537 so it can be called recursively - sjg
1538 o unit-tests/moderrs - sjg
1540 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
1542 * Makefile.in (BMAKE_VERSION): bump to 20060412
1543 * Merge with NetBSD make, pick up:
1544 o fixes for some memory leaks - coverity
1545 o only read first sys.mk etc when searching sysIncPath - sjg
1547 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1548 setting ${MAKEFILE} - OBATA Akio
1550 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1552 * Makefile.in (BMAKE_VERSION): bump to 20060318
1553 * Merge with NetBSD make, pick up:
1554 o cleanup of job.c to remove remote handling, distcc is more
1555 useful and this code was likely bit-rotting - dsl
1556 o fix for :P modifier - sjg
1557 * boot-strap: set default prefix to something reasonable
1560 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1562 * Makefile.in (BMAKE_VERSION): bump to 20060301
1563 * Merge with NetBSD make, pick up:
1564 o make .WAIT apply recursively, document and test case - apb
1565 o allow variable modifiers in a variable appear anywhere in
1566 modifier list, document and test case - sjg
1568 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1570 * Makefile.in (BMAKE_VERSION): bump to 20060222
1571 * Merge with NetBSD make, pick up:
1572 o improved job token handling - dsl
1573 o SIG_DFL the correct signal before exec - dsl
1574 o more debug info during parsing - dsl
1575 o allow variable modifiers to be specified via variable - sjg
1576 * boot-strap: explain why we died if no mksrc
1578 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1580 * Makefile.in (BMAKE_VERSION): bump to 20051105
1581 * configure.in: always set default_sys_path
1582 default is ${prefix}/share/mk
1583 - remove prefix_sys_path, anyone wanting more than above
1584 needs to set it manually.
1586 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1588 * boot-strap: make this a bit easier for pkgsrc folk.
1589 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1590 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1592 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1594 * Makefile.in (BMAKE_VERSION): bump to 20051102
1595 * job.c (JobFinish): fix likely ancient merge lossage
1596 fix from Todd Vierling.
1597 * boot-strap (srcdir): allow setting mksrc=none
1599 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1601 * Makefile.in (BMAKE_VERSION): bump to 20051031
1602 * ranlib.h: skip on OSF too.
1605 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1607 * Makefile.in (BMAKE_VERSION): bump to 20051002
1610 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1612 * Makefile.in (BMAKE_VERSION): bump to 20051001
1613 support for UnixWare and some other systems,
1614 based on patches from pkgsrc/bootstrap
1616 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1618 * Makefile.in (BMAKE_VERSION): bump to 20050901
1619 * Merge with NetBSD make, pick up:
1620 o possible parse error causing us to wander off.
1622 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1624 * Makefile.in (BMAKE_VERSION): bump to 20050606
1625 * Merge with NetBSD make, pick up:
1626 o :0x modifier for randomizing a list
1627 o fixes for a number of -Wuninitialized issues.
1629 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1631 * Makefile.in (BMAKE_VERSION): bump to 20050530
1632 * Merge with NetBSD make, pick up:
1633 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1635 * README: was seriously out of date.
1637 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1639 * Important to use .MAKE rather than MAKE.
1641 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1643 * Makefile.in (BMAKE_VERSION): bump to 20050315
1644 * Merge with NetBSD make, pick up:
1645 o don't mistake .elsefoo for .else
1646 o use suffix-specific search path correctly
1647 o bunch of style nits
1649 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1652 o ensure that args to --src and --with-mksrc
1653 are resolved before giving them to configure.
1654 o add -o "objdir" so that builder can control it,
1655 default is $OS as determined by os.sh
1656 o add -q to suppress all the install instructions.
1658 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1660 * Remove __IDSTRING()
1662 * Makefile.in (BMAKE_VERSION): bump to 20040508
1663 * Merge with NetBSD make, pick up:
1665 - remove '-e' from compat mode
1666 - add support for '+' command-line prefix.
1667 o fix for handling '--' on command-line.
1668 o fix include in lst.lib/lstInt.h to simplify '-I's
1669 o we also picked up replacement of MAKE_BOOTSTRAP
1670 with !MAKE_NATIVE which is a noop, but possibly confusing.
1672 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1674 * Makefile.in (BMAKE_VERSION): bump to 20040414
1675 * Merge with NetBSD make, pick up:
1676 o allow quoted strings on lhs of conditionals
1677 o issue warning when extra .else is seen
1678 o print line numer when errors encountered during parsing from
1681 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1683 * Makefile.in (BMAKE_VERSION): bump to 20040220
1684 * Merge with NetBSD make, pick up:
1685 o fix for old :M parsing bug.
1686 o re-jigged unit-tests
1688 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1690 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1691 so that './bmake -f Makefile test' works.
1693 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1695 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1696 * Merge with NetBSD make, pick up:
1697 o search upwards for *.mk
1698 o fix for double free of var substitution buffers
1699 o use of getopt replaced with custom code, since the usage
1700 (re-scanning) isn't posix compatible.
1702 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1704 * arch.c: don't include ranlib.h on ELF systems
1705 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1707 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1709 * Makefile.in (BMAKE_VERSION): bump to 20040118
1711 * boot-strap (while): export vars we assign to on cmdline
1712 * unit-test/Makefile.in: ternary is .PHONY
1714 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1716 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1717 * Merge with NetBSD make, pick up:
1718 o fix for ternary modifier
1720 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1722 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1723 * Merge with NetBSD make, pick up:
1724 o fix for cond.c to handle compound expressions better
1725 o variable expansion within sysV style replacements
1727 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1729 * Make portable snprintf safer - output to /dev/null first to
1732 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1733 * Merge with NetBSD make, pick up:
1734 o -dg3 to show input graph when things go wrong.
1735 o explicitly look for makefiles in objdir if not found in curdir so
1736 that errors in .depend etc will be reported accurarely.
1737 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1738 instead as it more accurately reflects the expected behavior and
1739 is more consistently implemented.
1740 o avoid use of asprintf.
1742 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1744 * util.c: Add asprintf and vasprintf.
1746 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1747 * Merge with NetBSD make, pick up:
1748 :[] modifier - allows picking words from a variable.
1749 :tW modifier - allows treating value as one big word.
1750 W flag for :C and :S - allows treating value as one big word.
1752 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1754 * Merge with NetBSD make
1755 pick up -de flag to enable printing failed command.
1756 don't skip 1st two dir entries (normally . and ..) since
1757 coda does not have them.
1759 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1761 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1762 * Merge with NetBSD make, pick up:
1763 - changes for -V '${VAR}' to print fully expanded value
1765 - CompatRunCommand now prints the command that failed.
1766 - several files got updated 3 clause Berkeley license.
1768 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1770 * boot-strap: Allow setting configure args on command line.
1772 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1774 * configure.in: add --with-defshell to allow sh or ksh
1775 to be selected as default shell.
1777 * Makefile.in: bump version to 20030731
1779 * Merge with NetBSD make
1780 Pick up .SHELL spec for ksh and associate man page changes.
1781 Also compat mode now uses the same shell specs.
1783 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1785 * var.c (Var_Parse): ensure delim is initialized.
1787 * unit-tests/Makefile.in: use single quotes to avoid problems from
1791 Run the unit-tests as part of the bootstrap procedure.
1793 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1795 * unit-tests/Makefile.in: always force complaints from
1796 ${TEST_MAKE} to be from 'make'.
1798 * configure.in: add check for 'diff -u'
1799 also fix some old autoconf'isms
1801 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1802 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1804 * Merge with NetBSD make
1805 Pick up fix for :ts parsing error in some cases.
1808 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1810 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1812 * var.c (Var_Parse): fix bug in :ts modifier, after const
1813 correctness fixes, must pass nstr to VarModify.
1815 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1817 * Makefile.in: BMAKE_VERSION switch to a date based version.
1818 We'll generally use the date of last import from NetBSD.
1820 * Merge with NetBSD make
1821 Pick up fixes for const-correctness, now passes WARNS=3 on
1823 Pick up :ts modifier, allows controlling the separator used
1824 between words in variable expansion.
1826 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1828 * FILES: include boot-strap and os.sh
1830 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1831 FreeBSD is known to be bad.
1833 * makefile.boot.in (bootstrap): make this the default target.
1835 * Makefile.in: bump version to 3.1.19
1837 * machine.sh: avoid A-Z with tr as it is bound to lose.
1839 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1841 * Merge with NetBSD make
1842 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1843 Plus some doc fixes.
1845 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1847 * Merge with NetBSD make
1848 Pick up fix for PR/1523 - don't count a library as built, if there
1849 is no way to build it
1851 * Bump version to 3.1.18
1853 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1855 * Merge with NetBSD make
1856 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1857 appears in src list.
1859 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1861 * Merge with NetBSD make (mmm 10th anniversary!)
1862 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1863 pick up -X which tells us to not export VAR=val via setenv if
1864 we are already doing so via MAKEFLAGS. This saves valuable env
1865 space on systems like Darwin.
1866 set MAKE_VERSION to 3.1.17
1868 * parse.c: pix up fix for suffix rules
1870 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1872 * Merge with NetBSD make.
1873 pick up fix for propagating -B via MAKEFLAGS.
1874 set MAKE_VERSION to 3.1.16
1876 * Apply some patches from pkgsrc-bootstrap/bmake
1877 Originally by Grant Beattie <grant@netbsd.org>
1878 I may have missed some - since they are based on bmake-3.1.12
1880 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1882 * makefile.boot.in (bmake): update install targets for those that
1883 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1884 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1886 * bmake.cat1: update the pre-formatted man page!
1888 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1890 * Merge with NetBSD make.
1891 pick up fix for premature free of pointer used in call
1893 set MAKE_VERSION to 3.1.15
1895 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1897 * configure.in: determine suitable value for MKSRC.
1898 override using --with-mksrc=PATH.
1900 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1901 configs(8) will use 'sun4' as an alias for 'sparc'.
1903 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1905 * Merge with NetBSD make.
1907 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1908 set MAKE_VERSION to 3.1.14
1909 add configure checks for killpg and sys/socket.h
1911 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1915 * makefile.boot.in (bmake): use install-mk
1916 Also setup ./mk before trying to invoke bmake.boot incase we
1917 needed install-mk to create a sys.mk for us.
1919 * configure.in: If we need to add -I${srcdir}/missing, make it an
1920 absolute path so that it works for lst.lib too.
1922 * make.h: always include sys/cdefs.h since we provide one if the
1925 * Makefile.in (install-mk):
1926 use MKSRC/install-mk which will do the right thing.
1927 use uname -p for ARCH if possible.
1928 since install-mk will setup links bsd.prog.mk -> prog.mk if
1929 needed, just .include bsd.prog.mk
1931 * Merge with NetBSD make (NetBSD-1.6)
1932 Code is ansi-C only now.
1933 Bug in handling of dotLast is fixed.
1934 Can now assign .OBJDIR and make will reset its notions of life.
1935 New modifiers :tu :tl for toUpper and toLower.
1937 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1939 * Merge with NetBSD make
1940 pick up fix for .END failure in compat mode.
1941 pick up fix for extra va_end() in ParseVErrorInternal.
1943 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1945 * configure.in: for systems that have sys/cdefs.h check if it is
1946 compatible. If not, include the one under missing, but tell it to
1947 include the native one too - necessary on Linux.
1949 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1950 include_next (for gcc) to get the native sys/cdefs.h
1952 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1954 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1955 leaking descriptors when using -jN.
1957 * job.c (JobPrintCommand): See if "curdir" exists before
1958 attempting to chdir(). Doing the chdir directly in make (when in
1959 compat mode) fails silently, so let the -jN version do the same.
1960 This can happen when building kernels in an object tree and
1961 playing clever games to reset .CURDIR.
1963 * Merged with NetBSD make
1966 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1968 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1970 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1972 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1973 us not to export the iterator variable when using VAR_CMD context.
1975 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1977 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1978 its the wrong "fix".
1980 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1982 * Redesigned export of VAR_CMD's via MAKEFLAGS.
1983 We now simply append the variable names to .MAKEOVERRIDES, and
1984 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1985 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1986 Apart from fixing quoting bugs in previous version, this allows us
1987 to export vars to the environment by simply doing:
1988 .MAKEOVERRIDES+= PATH
1989 Merged again with NetBSD make, but the above is the only change.
1991 * configure.in: added
1992 --disable-pwd-override disable $PWD overriding getcwd()
1993 --disable-check-make-chdir disable make trying to guess
1994 when it should automatically cd ${.CURDIR}
1996 * Merge with NetBSD make, changes include:
1997 parse.c (ParseDoDependency): Spot that the syntax error is
1998 caused by an unresolved cvs/rcs conflict and say so.
1999 var.c: most of Var* functions now take a ctxt as 1st arg.
2000 now does variable substituion on rhs of sysv style modifiers.
2002 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
2003 is now done here. We append the name='value' to .MAKEOVERRIDES
2004 rather than directly into MAKEFLAGS as this allows a Makefile to
2005 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
2006 very similar mechanism. Note that in adding name='value' to
2007 .MAKEOVERRIDES we do the moral equivalent of:
2008 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
2010 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2012 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
2014 * Merged with NetBSD make
2015 make -dx can now be used to run commands via sh -x
2016 better error messages on exec failures.
2018 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2020 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
2021 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
2022 MACHINE etc otherwise they propagate from the previous bmake.
2024 * configure.in (machine): allow --with-machine=generic to make
2025 configure use machine.sh to set MACHINE.
2027 * job.c (JobInterrupt): convert to using WAIT_T and friends.
2029 * Makefile.in: mention in bmake.1 that we use autoconf.
2031 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
2033 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2035 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
2036 as that rather defeats the usefulness of ${MAKEFILE}.
2038 * main.c (MainParseArgs): append command line variable assignments
2039 to MAKEFLAGS so that they get propagated to child make's.
2040 Apparently this is required POSIX behaviour? Its useful anyway.
2042 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2044 * compat.c (CompatRunCommand): don't use perror() since stdio may
2045 cause problems in child of vfork().
2047 * compat.c, main.c: Call PrintOnError() when we are going to bail.
2048 This routine prints out the .curdir where we stopped and will also
2049 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
2051 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
2054 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
2056 * Added RCSid's for the files we've touched.
2058 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2060 * configure.in: Thanks to some clues from mdb@juniper.net,
2061 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2062 as well as what ends up in _PATH_DEFSYSPATH. We now have:
2064 --with-machine=MACHINE explicitly set MACHINE
2065 --with-force-machine=MACHINE set FORCE_MACHINE
2066 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
2067 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
2068 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
2069 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
2071 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2073 * makefile: added a pathetically simple makefile to drive
2074 bootstrapping. Running configure by hand is more useful.
2076 * Makefile.in: added MAKE_VERSION, and reworked things to be less
2077 dependent on NetBSD bsd.*.mk
2079 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2080 _PATH_OBJDIRPREFIX for those that don't want a default.
2081 construct _PATH_DEFSYSPATH from the info we get from configure.
2083 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2084 if MAKE_VERSION is defined.
2086 * compat.c: when we bail, print out the .CURDIR we were in.
2088 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2090 * Merged with NetBSD make
2092 * var.c: fixed a bug in the handling of the modifier :P
2093 if the node as found but the path was null, we segfault trying to
2096 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2098 * Merged with NetBSD make
2100 * make.c: Make_OODate's test for a library out of date was using
2101 cmtime where it should have used mtime (my bug).
2103 * compat.c: Use perror() to tell us what really went wrong when we
2104 cannot exec a command.
2106 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2108 * Merged with NetBSD make
2110 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2112 * Merged with NetBSD make
2114 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2116 * Merged with NetBSD make
2118 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2120 * Merged with NetBSD make
2122 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2124 * util.c: don't provide signal() since we use sigcompat.c
2126 * Makefile.in: added a build target.
2128 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2129 These allow some quite clever magic.
2131 * main.c (main): added support for getenv(MAKESYSPATH).
2133 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2135 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2136 This avoids objdir having a different value depending on how a
2137 directory was reached (via command line, or subdir.mk).
2139 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2141 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2143 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2144 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2145 I've been testing this in NetBSD's make for some weeks.
2147 * Turn Makefile into Makefile.in and make it useful.
2149 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2151 * Imported NetBSD's -current make(1) and resolve conflicts.
2153 * Applied autoconf patches from bmake v2
2155 * Imported clean code base from NetBSD-1.0