1 2020-07-04 Simon J Gerraty <sjg@beast.crufty.net>
3 * VERSION (_MAKE_VERSION): 20200704
4 Merge with NetBSD make, pick up
5 (most of this by rillig@)
6 o lots of style and white-space cleanup
7 o lots more unit tests for variable modifiers
8 o simplified description of some functions
9 o str.c: refactor Str_Match
10 o var.c: debugging output for :@
11 constify VarModify parameter
12 fix :hash modifier on 16-bit platforms
13 remove unnecessary forward declarations
14 refactor ApplyModifier_SysV to have less indentation
15 simplify code for :E and :R
16 clean up code for :H and :T
17 refactor ApplyModifiers
19 * var.c: we need stdint.h on some platforms to get uint32_t
20 * unit-test/Makefile: we need to supress the specific error
21 for RE substitution error in modmisc, since it varies accross
24 2020-07-02 Simon J Gerraty <sjg@beast.crufty.net>
26 * VERSION (_MAKE_VERSION): 20200702
27 Merge with NetBSD make, pick up
28 o var.c: more improvements to avoiding unnecessary evaluation
30 o remove flags arg to Var_Set which outside of var.c is always 0
32 2020-07-01 Simon J Gerraty <sjg@beast.crufty.net>
34 * VERSION (_MAKE_VERSION): 20200701
35 Merge with NetBSD make, pick up
36 o var.c: with change to cond.c; ensure that nested variables
37 within a variable name are expanded.
38 o unit-tests/varmisc.mk: test for nested varname
40 2020-06-29 Simon J Gerraty <sjg@beast.crufty.net>
42 * VERSION (_MAKE_VERSION): 20200629
43 Merge with NetBSD make, pick up
44 o cond.c: do not eval unnecessary terms of conditionals.
46 2020-06-25 Simon J Gerraty <sjg@beast.crufty.net>
48 * VERSION (_MAKE_VERSION): 20200625
49 Merge with NetBSD make, pick up
50 o meta.c: report error if lseek in filemon_read fails
52 2020-06-22 Simon J Gerraty <sjg@beast.crufty.net>
54 * VERSION (_MAKE_VERSION): 20200622
55 Merge with NetBSD make, pick up
56 o dieQuietly: ignore OP_SUBMAKE as too aggressive
58 2020-06-19 Simon J Gerraty <sjg@beast.crufty.net>
60 * VERSION (_MAKE_VERSION): 20200619
61 Merge with NetBSD make, pick up
62 o str.c: performance improvement for Str_Match for multiple '*'
63 o dieQuietly: supress the failure output from make
64 when failing node is a sub-make or a sibling failed.
65 This cuts down greatly on unhelpful noise at the end of
66 build log. Disabled by -dj or .MAKE.DIE_QUIETLY=no
68 2020-06-10 Simon J Gerraty <sjg@beast.crufty.net>
70 * FILES: add LICENSE to appease some packagers.
71 This is an attempt to fairly represent the license on almost
72 200 files, which are almost all BSD-3-Clause
73 The few exceptions being more liberal.
75 * VERSION (_MAKE_VERSION): 20200610
76 Merge with NetBSD make, pick up
79 2020-06-06 Simon J Gerraty <sjg@beast.crufty.net>
81 * VERSION (_MAKE_VERSION): 20200606
82 Merge with NetBSD make, pick up
85 * Makefile: fix depends for main.o which broke MAKE_VERSION
87 2020-06-05 Simon J Gerraty <sjg@beast.crufty.net>
89 * VERSION (_MAKE_VERSION): 20200605
90 Merge with NetBSD make, pick up
91 o dir.c: cached_stats - don't confuse stat and lstat results.
92 o var.c: add :Or for reverse sort.
94 2020-05-24 Simon J Gerraty <sjg@beast.crufty.net>
96 * configure.in: add AC_PROG_CC_C99 for mipspro compiler
97 also if --with-filemon= specifies path to filemon.h
99 * dirname.c: remove include of namespace.h
101 2020-05-17 Simon J Gerraty <sjg@beast.crufty.net>
103 * VERSION (_MAKE_VERSION): 20200517
104 Merge with NetBSD make, pick up
105 o modified dollar tests to avoid shell dependencies
106 o new tests for .INCLUDEFROM
108 2020-05-16 Simon J Gerraty <sjg@beast.crufty.net>
110 * unit-tests/dollar.mk: tweak '1 dollar literal' test
111 to not depend so much on shell behavior
113 2020-05-10 Simon J Gerraty <sjg@beast.crufty.net>
115 * VERSION (_MAKE_VERSION): 20200510
116 Merge with NetBSD make, pick up
117 o unit test for dollar handling
119 2020-05-06 Simon J Gerraty <sjg@beast.crufty.net>
121 * VERSION (_MAKE_VERSION): 20200506
122 Merge with NetBSD make, pick up
123 o str.c: empty string does not match % pattern
124 plus unit-test changes
126 2020-05-04 Simon J Gerraty <sjg@beast.crufty.net>
128 * VERSION (_MAKE_VERSION): 20200504
129 May the 4th be with you
130 Merge with NetBSD make, pick up
131 o var.c: import handling of old sysV style modifier using '%'
132 o str.c: refactor brk_string
133 o unit-tests: add test case for lazy conditions
135 2020-04-18 Simon J Gerraty <sjg@beast.crufty.net>
137 * VERSION (_MAKE_VERSION): 20200418
139 * configure.in: use_makefile=no for cygwin et al.
140 case insensitive filesystems just don't work if both
141 makefile and Makefile exist.
142 NOTE: bmake does not support cygwin and likely never will,
143 but if brave souls want to try it - help them out.
145 2020-04-02 Simon J Gerraty <sjg@beast.crufty.net>
147 * VERSION (_MAKE_VERSION): 20200402
148 Merge with NetBSD make, pick up
149 o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD
150 a blank command is perfectly valid.
152 2020-03-30 Simon J Gerraty <sjg@beast.crufty.net>
154 * VERSION (_MAKE_VERSION): 20200330
155 Merge with NetBSD make, pick up
156 o make.h: extern debug_file
158 2020-03-18 Simon J Gerraty <sjg@beast.crufty.net>
160 * VERSION (_MAKE_VERSION): 20200318
161 Merge with NetBSD make, pick up
162 o meta.c: meta_oodate, check for corrupted meta file
163 earlier and more often.
165 2020-02-20 Simon J Gerraty <sjg@beast.crufty.net>
167 * VERSION (_MAKE_VERSION): 20200220
169 2020-02-19 Simon J Gerraty <sjg@beast.crufty.net>
171 * boot-strap: unset MAKEFLAGS
173 2020-02-12 Simon J Gerraty <sjg@beast.crufty.net>
175 * VERSION (_MAKE_VERSION): 20200212
176 * meta.c: meta_compat_parent check for USE_FILEMON
177 patch from Soeren Tempel
179 2020-02-05 Simon J Gerraty <sjg@beast.crufty.net>
182 Merge with NetBSD make, pick up
183 o meta.c: fix compat mode, need to call meta_job_output()
184 o job.c: extra fds for meta mode not needed if using filemon_dev
186 2020-01-22 Simon J Gerraty <sjg@beast.crufty.net>
189 Merge with NetBSD make, pick up
190 o meta.c: avoid passing NULL to filemon_*() when meta_needed()
193 2020-01-21 Simon J Gerraty <sjg@beast.crufty.net>
196 Merge with NetBSD make, pick up
197 o filemon/filemon_{dev,ktrace}.c: allow selection of
198 filemon implementation. filemon_dev.c uses the kernel module
199 while filemon_ktrace.c leverages the fktrace api available in
200 NetBSD. filemon_ktrace.c can hopefully form the basis for
201 adding support for other tracing mechanisms such as strace on
203 o meta.c: when target is out-of-date per normal make rules
204 record value of .OODATE in meta file.
206 2019-09-26 Simon J Gerraty <sjg@beast.crufty.net>
209 Merge with NetBSD make, pick up
210 o parse.c: don't pass NULL to realpath(3)
211 some versions cannot handle it.
213 2019-04-09 Simon J Gerraty <sjg@beast.crufty.net>
216 Merge with NetBSD make, pick up
217 o parse.c: ParseDoDependency: free paths rather than assert
219 2018-12-22 Simon J Gerraty <sjg@beast.crufty.net>
223 * configure.in: add --without-makefile to avoid generating
224 makefile and make-bootstrap.sh
226 * include Makefile.inc if it exists
228 * Use Makefile and Makefile.config.in in unit-tests
229 so we can use just: make obj && make && make test
230 when bmake is already available.
231 We add --without-makefile to CONFIGURE_ARGS in this case.
233 * tweak bsd.after-import.mk (captures Makefile.config etc
234 after import to FreeBSD for example) to cope with all the above.
236 2018-12-21 Simon J Gerraty <sjg@beast.crufty.net>
239 Merge with NetBSD make, pick up
240 o parse.c: ParseVErrorInternal use .PARSEDIR
241 and apply if relative, and then use .PARSEFILE
242 for consistent result.
244 2018-12-20 Simon J Gerraty <sjg@beast.crufty.net>
247 Merge with NetBSD make, pick up
248 o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR
250 o var.c: avoid SEGFAULT in .unexport-env
251 when MAKELEVEL is not set
253 2018-12-16 Simon J Gerraty <sjg@beast.crufty.net>
256 Merge with NetBSD make, pick up
257 o fix for unit-tests/varquote.mk on Debian
259 2018-09-21 Simon J. Gerraty <sjg@bad.crufty.net>
262 Merge with NetBSD make, pick up
264 o dir.c: cleanup caching of stats
266 2018-09-21 Simon J Gerraty <sjg@beast.crufty.net>
268 * Makefile.config.in: use += where it makes sense.
270 2018-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
273 Merge with NetBSD make, pick up
274 o job.c: skip polling job token pipe
276 2018-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
279 Merge with NetBSD make, pick up
280 o parse.c: be more cautious about detecting depenency line
281 rather than sysV style include.
283 2018-02-22 Simon J. Gerraty <sjg@bad.crufty.net>
286 Merge with NetBSD make, pick up
287 o parse.c: avoid calling sysconf for every call to loadfile
289 2018-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
292 Merge with NetBSD make, pick up
293 o var.c: Var_Set handle NULL value anytime.
295 2018-02-12 Simon J. Gerraty <sjg@bad.crufty.net>
298 Merge with NetBSD make, pick up
299 o parse.c: do not treat .info as warning with -W
301 2017-12-07 Simon J. Gerraty <sjg@bad.crufty.net>
304 Merge with NetBSD make, pick up
305 o var.c: Var_Append use Var_Set if var not previously set
306 so that VAR_CMD is handled correctly.
307 Add a suitable unit-test.
309 2017-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
311 * VERSION (_MAKE_VERSION): 20171126
313 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
314 since AC_TRY_COMPILE puts input inside main()
315 which upsets modern compilers.
317 2017-11-18 Simon J. Gerraty <sjg@bad.crufty.net>
320 Merge with NetBSD make, pick up
321 o var.c: do not append to variable set on command line
322 add unit-test to catch this.
324 2017-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
327 Merge with NetBSD make, pick up
328 o main.c: ignore empty MAKEOBJDIR
330 * Makefile.config.in:
331 make @prefix@ @machine*@ and @default_sys_path@ defaults.
333 2017-10-05 Simon J. Gerraty <sjg@bad.crufty.net>
337 * unit-tests/dotwait.mk: redirect stderr through pipe for more
338 consistent result on some platforms.
340 2017-08-13 Simon J. Gerraty <sjg@bad.crufty.net>
342 * machine.sh: entry for AIX
344 2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
346 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
347 to a file that can be included by configure as well as make.
348 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
350 2017-08-10 Simon J. Gerraty <sjg@bad.crufty.net>
352 * Makefile (_MAKE_VERSION): 20170810
353 Merge with NetBSD make, pick up
354 o meta.c: if target is in subdir we only need subdir name in
357 2017-07-20 Simon J. Gerraty <sjg@bad.crufty.net>
359 * Makefile (_MAKE_VERSION): 20170720
360 Merge with NetBSD make, pick up
361 o compat.c: pass SIGINT etc onto child and wait for it to exit
362 before we self-terminate.
364 2017-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
366 * Makefile (_MAKE_VERSION): 20170711
367 forgot to update after merge on 20170708 ;-)
368 o main.c: refactor to reduce size of main function.
369 add -v option to always fully expand values.
370 o meta.c: ensure command output in meta file has ending newline
371 even when filemon not being used.
372 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
373 pathname via ':L' since any ':' in pathname breaks that.
374 Instead set a '${.p.}' to pathname in the target context and
377 2017-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
379 * Makefile (_MAKE_VERSION): 20170510
380 Merge with NetBSD make, pick up
381 o main.c: Main_SetObjdir: ensure buf2 is in scope
383 2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net>
385 * Makefile (_MAKE_VERSION): 20170505
388 2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
390 * parse.c: not everyone has stdint.h
392 2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
394 * Makefile (_MAKE_VERSION): 20170501
397 2017-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
399 * Makefile (_MAKE_VERSION): 20170421
400 Merge with NetBSD make, pick up
401 o str.c: Str_Match: fix closure tests for [^] and add unit-test.
403 2017-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
405 * Makefile (_MAKE_VERSION): 20170420
406 Merge with NetBSD make, pick up
407 o main.c: only use -C arg "as is" if it contains no
410 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
412 * Makefile (_MAKE_VERSION): 20170418
413 Merge with NetBSD make, pick up
414 o main.c: fix Main_SetObjdir() for relative paths (eg obj).
416 2017-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
418 * Makefile (_MAKE_VERSION): 20170417
419 Merge with NetBSD make, pick up
420 o fixes a number of coverity complaints
421 - check return value of fseek, fcntl
422 - plug memory leak in Dir_FindFile, Var_LoopExpand,
423 JobPrintCommand, ParseTraditionalInclude
424 - use bmake_malloc() where NULL is not tollerated
425 - use MAKE_ATTR_UNUSED rather that kludges like
426 return(unused ? 0 : 0)
427 - use purge_cached_realpaths() rather than abuse cached_realpath()
429 2017-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
431 * Makefile (_MAKE_VERSION): 20170413
432 Merge with NetBSD make, pick up
433 o main.c: when setting .OBJDIR ignore '$' in paths.
435 * job.c: use MALLOC_OPTIONS to set malloc_options.
437 2017-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
439 * Makefile (_MAKE_VERSION): 20170411
440 Merge with NetBSD make, pick up
441 o str.c: Str_Match: allow [^a-z] to behave as expected.
443 2017-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
445 * Makefile (_MAKE_VERSION): 20170326
446 Merge with NetBSD make, pick up
447 o main.c: purge relative paths from realpath cache when .OBJDIR
450 2017-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
452 * Makefile (_MAKE_VERSION): 20170311
453 Merge with NetBSD make, pick up
454 o main.c: only use -C arg "as is" if it starts with '/'.
456 2017-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
458 * Makefile (_MAKE_VERSION): 20170301
459 Merge with NetBSD make, pick up
460 o main.c: use -C arg "as is" rather than getcwd()
461 if they identify the same directory.
462 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
464 2017-02-01 Simon J. Gerraty <sjg@bad.crufty.net>
466 * Makefile (_MAKE_VERSION): 20170201
467 Merge with NetBSD make, pick up
468 o var.c: allow :_=var and avoid use of special context.
470 2017-01-30 Simon J. Gerraty <sjg@bad.crufty.net>
472 * Makefile (_MAKE_VERSION): 20170130
473 Merge with NetBSD make, pick up
474 o var.c: add :range and :_
475 o main.c: partially initialize Dir_* before MainParseArgs()
477 If -V, skip Main_ExportMAKEFLAGS()
479 2017-01-14 Simon J. Gerraty <sjg@bad.crufty.net>
481 * Makefile (_MAKE_VERSION): 20170114
482 Merge with NetBSD make, pick up
483 o var.c: allow specifying the utc value used by :{gm,local}time
485 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
487 * Makefile (_MAKE_VERSION): 20161212
488 Merge with NetBSD make, pick up
489 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
491 2016-12-09 Simon J. Gerraty <sjg@bad.crufty.net>
493 * Makefile (_MAKE_VERSION): 20161209
494 Merge with NetBSD make, pick up
495 o main.c: cleanup setting of .OBJDIR
496 o parse.c: avoid coredump from (var)=val
498 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
500 * Makefile (_MAKE_VERSION): 20161126
501 Merge with NetBSD make, pick up
502 o make.c: Make_OODate: report src node name if path not set
504 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
506 * Makefile (_MAKE_VERSION): 20160926
507 Merge with NetBSD make, pick up
508 o support for .DELETE_ON_ERROR: (remove targets that fail)
510 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
512 * Makefile MAN: tweak .Dt to match ${PROG}
514 2016-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
516 * Makefile (_MAKE_VERSION): 20160818
517 its a neater number; pick up whitespace fixes to man page.
519 2016-08-17 Simon J. Gerraty <sjg@bad.crufty.net>
521 * Makefile (_MAKE_VERSION): 20160817
522 Merge with NetBSD make, pick up
523 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
524 so we can call it before adding entries to missingFiles.
525 Thus we do not track files we have been told to ignore.
527 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
529 * Makefile (_MAKE_VERSION): 20160815
530 Merge with NetBSD make, pick up
531 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
532 pathnames, and skip if the expansion is empty.
533 Useful for dirdeps.mk when checking DIRDEPS_CACHE.
535 2016-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
537 * Makefile (_MAKE_VERSION): 20160812
538 Merge with NetBSD make, pick up
539 o meta.c: remove all missingFiles entries that match a deleted
541 o main.c: set .ERROR_CMD if possible.
543 2016-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
545 * Makefile (_MAKE_VERSION): 20160606
546 Merge with NetBSD make, pick up
547 o dir.c: extend mtimes cache to others via cached_stat()
549 2016-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
551 * Makefile (_MAKE_VERSION): 20160604
552 Merge with NetBSD make, pick up
553 o meta.c: missing filemon data is only relevant if we read a
555 Also do not return oodate for a missing metafile if gn->path
558 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
560 * Makefile (_MAKE_VERSION): 20160602
561 Merge with NetBSD make, pick up
562 o cached_realpath(): avoid hitting filesystem more than necessary.
563 o meta.c: refactor need_meta decision, add knobs for
564 missing meta file and filemon data wrt out-of-datedness.
566 2016-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
568 * Makefile (_MAKE_VERSION): 20160528
570 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
572 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
574 * Makefile (_MAKE_VERSION): 20160512
575 Merge with NetBSD make, pick up
576 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
577 this is useful for gcov builds.
578 o propagate errors from filemon(4).
580 2016-05-09 Simon J. Gerraty <sjg@bad.crufty.net>
582 * Makefile (_MAKE_VERSION): 20160509
583 Merge with NetBSD make, pick up
584 o remove use of non-standard types u_int etc.
585 o meta.c: apply realpath() before matching against metaIgnorePaths
587 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
589 * Makefile (_MAKE_VERSION): 20160404
590 Merge with NetBSD make, pick up
591 o allow makefile to set .MAKE.JOBS
593 * Makefile (PROG_NAME): use ${_MAKE_VERSION}
595 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
597 * Makefile (_MAKE_VERSION): 20160315
598 Merge with NetBSD make, pick up
599 o fix handling of archive members
601 2016-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
603 * Makefile (_MAKE_VERSION): rename variable to avoid interference
604 with checks for ${MAKE_VERSION}
606 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
608 * Makefile (MAKE_VERSION): 20160310
609 Merge with NetBSD make, pick up
610 o meta.c: treat missing Read file same as Write, incase we Delete it.
612 2016-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
614 * Makefile (MAKE_VERSION): 20160307
615 Merge with NetBSD make, pick up
616 o var.c: fix :ts\nnn to be octal by default.
617 o meta.c: meta_finish() to cleanup memory.
619 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
621 * Makefile (MAKE_VERSION): 20160226
622 Merge with NetBSD make, pick up
623 o meta.c: allow meta file for makeDepend if makefiles want it.
625 2016-02-19 Simon J. Gerraty <sjg@bad.crufty.net>
627 * var.c: default .MAKE.SAVE_DOLLARS to FALSE
628 for backwards compatability.
630 * Makefile (MAKE_VERSION): 20160220
631 Merge with NetBSD make, pick up
632 o var.c: add knob to control handling of '$$' in :=
634 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
636 * Makefile (MAKE_VERSION): 20160218
637 Merge with NetBSD make, pick up
638 o var.c: add .export-literal allows us to fix sys.clean-env.mk
639 post the changes to Var_Subst.
640 Var_Subst now takes flags, and does not consume '$$' in :=
642 2016-02-17 Simon J. Gerraty <sjg@bad.crufty.net>
644 * Makefile (MAKE_VERSION): 20160217
645 Merge with NetBSD make, pick up
646 o var.c: preserve '$$' in :=
647 o parse.c: add .dinclude for handling included
648 makefile like .depend
650 2015-12-20 Simon J. Gerraty <sjg@bad.crufty.net>
652 * Makefile (MAKE_VERSION): 20151220
653 Merge with NetBSD make, pick up
654 o suff.c: re-initialize suffNull when clearing suffixes.
656 2015-12-01 Simon J. Gerraty <sjg@bad.crufty.net>
658 * Makefile (MAKE_VERSION): 20151201
659 Merge with NetBSD make, pick up
660 o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
661 o meta.c: meta_oodate: use lstat(2) for checking link target
662 in case it is a symlink.
663 o var.c: avoid calling brk_string and Var_Export1 with empty
666 2015-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
668 * Makefile (MAKE_VERSION): 20151126
669 Merge with NetBSD make, pick up
670 o parse.c: ParseTrackInput don't access beyond
673 2015-10-22 Simon J. Gerraty <sjg@bad.crufty.net>
675 * Makefile (MAKE_VERSION): 20151022
677 * Add support for BSD/OS which lacks inttypes.h
678 and really needs sys/param.h for sys/sysctl.h
679 also 'type' is not a shell builtin.
681 * var.c: eliminate uint32_t and need for inttypes.h
683 * main.c: PrintOnError flush stdout before run .ERROR
685 * parse.c: cope with _SC_PAGESIZE not being defined.
688 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
690 * Makefile (MAKE_VERSION): 20151020
691 Merge with NetBSD make, pick up
692 o var.c: fix uninitialized var
694 2015-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
696 * var.c: the conditional expressions used with ':?' can be
697 expensive, if already discarding do not evaluate or expand
700 2015-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
702 * Makefile (MAKE_VERSION): 20151010
703 Merge with NetBSD make, pick up
704 o Add Boolean wantit flag to Var_Subst and Var_Parse
705 when FALSE we know we are discarding the result and can
706 skip operations like Cmd_Exec.
708 2015-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
710 * Makefile (MAKE_VERSION): 20151009
711 Merge with NetBSD make, pick up
712 o var.c: don't check for NULL before free()
713 o meta.c: meta_oodate, do not hard code ignore of makeDependfile
715 2015-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
717 * Makefile (MAKE_VERSION): 20150910
718 Merge with NetBSD make, pick up
719 o main.c: with -w print Enter/Leaving messages for objdir too
721 o centralize shell metachar handling
723 * FILES: add metachar.[ch]
725 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
727 * Makefile (MAKE_VERSION): 20150606
728 Merge with NetBSD make, pick up
729 o make.1: document .OBJDIR target
731 2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
733 * Makefile (MAKE_VERSION): 20150505
734 Merge with NetBSD make, pick up
735 o cond.c: be strict about lhs of comparison when evaluating .if
736 but less so when called from variable expansion.
737 o unit-tests/cond2.mk: test various error conditions
739 2015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
741 * machine.sh (MACHINE): Add Bitrig
742 patch from joerg@netbsd.org
744 2015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
746 * Makefile (MAKE_VERSION): 20150418
747 Merge with NetBSD make, pick up
748 o job.c: use memmove() rather than memcpy()
750 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
753 2015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
755 * Makefile (MAKE_VERSION): 20150411
756 bump version - only mk/ changes.
758 2015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
760 * Makefile (MAKE_VERSION): 20150410
761 Merge with NetBSD make, pick up
762 o document different handling of '-' in jobs mode vs compat
763 o fix jobs mode so that '-' only applies to whole job
764 when shell lacks hasErrCtl
765 o meta.c: use separate vars to track lcwd and latestdir (read)
768 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
770 * Makefile (MAKE_VERSION): 20150401
771 Merge with NetBSD make, pick up
772 o meta.c: close meta file in child
774 * Makefile: use BINDIR.bmake if set.
775 Same for MANDIR and SHAREDIR
776 Handy for testing release candidates
777 in various environments.
779 2015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
781 * move initialization of savederr to block where it is used
782 to avoid spurious warning from gcc5
784 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
786 * Makefile (MAKE_VERSION): 20141111
789 2014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
791 * Makefile (MAKE_VERSION): 20141105
792 Merge with NetBSD make, pick up
793 o revert major overhaul of suffix handling
794 and POSIX compliance - too much breakage
795 and impossible to make backwards compatible.
796 o we still have the new unit test structure which is ok.
797 o meta.c ensure "-- filemon" is at start of line.
799 2014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
801 * configure.in: test that result of getconf PATH_MAX is numeric
802 and discard if not. Apparently needed for Hurd.
804 2014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
806 * Makefile (MAKE_VERSION): 20140830
807 Merge with NetBSD make, pick up
808 o major overhaul of suffix handling
809 o improved POSIX compliance
810 o overhauled unit-tests
812 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
814 * Makefile (MAKE_VERSION): 20140620
815 Merge with NetBSD make, pick up
816 o var.c return varNoError rather than var_Error for ::= modifiers.
818 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
820 * Makefile (MAKE_VERSION): 20140522
821 Merge with NetBSD make, pick up
822 o var.c detect some parse errors.
824 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
826 * Fix spelling errors - patch from Pedro Giffuni
828 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
830 * Makefile (MAKE_VERSION): 20140214
831 Merge with NetBSD make, pick up
833 o use Var_Value to get MAKEOBJDIR[PREFIX]
834 o reduced realloc'ign in brk_string.
835 * configure.in: add a check for compiler supporting __func__
837 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
839 * boot-strap: ignore mksrc=none
841 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
843 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
845 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
847 * Makefile (MAKE_VERSION): 20140101
848 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
849 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
850 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
852 * configure.in: Add AC_PREREQ and check for
853 sysctl; patch from Andrew Shadura andrewsh at debian.org
855 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
857 * Makefile (MAKE_VERSION): 20131010
858 * lose the const from arg to systcl to avoid problems on older BSDs.
860 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
862 * Makefile (MAKE_VERSION): 20131001
863 Merge with NetBSD make, pick up
864 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
865 hw.machine_arch if necessary.
866 o meta.c: meta_oodate - need to look at src of Link and target
868 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
869 provide __arraycount() if needed.
871 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
873 * Makefile (MAKE_VERSION): 20130904
874 Merge with NetBSD make, pick up
875 o Add VAR_INTERNAL context, so that internal setting of
876 MAKEFILE does not override value set by makefiles.
878 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
880 * Makefile (MAKE_VERSION): 20130902
881 Merge with NetBSD make, pick up
882 o CompatRunCommand: only apply shellErrFlag when errCheck is true
884 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
886 * Makefile (MAKE_VERSION): 20130828
887 Merge with NetBSD make, pick up
888 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
889 o Call Job_SetPrefix() from Job_Init() so makefiles have
890 opportunity to set .MAKE.JOB.PREFIX
892 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
894 * Makefile (MAKE_VERSION): 20130730
895 Merge with NetBSD make, pick up
896 o Allow suppression of --- job -- tokens by setting
897 .MAKE.JOB.PREFIX empty.
899 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
901 * Makefile (MAKE_VERSION): 20130716
902 Merge with NetBSD make, pick up
903 o number of gmake compatibility tweaks
904 -w for gmake style entering/leaving messages
905 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
906 handle MAKEFLAGS containing only letters.
907 o when overriding a GLOBAL variable on the command line,
908 delete it from GLOBAL context so -V doesn't show the wrong
911 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
913 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
915 * Makefile (MAKE_VERSION): 20130706
916 Merge with NetBSD make, pick up
917 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
918 true so that CompatRunCommand() can use it, to ensure
919 consistent behavior with jobs mode.
920 o use MAKE_LEVEL_ENV to define the variable to propagate
921 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
922 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
925 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
927 * Makefile (MAKE_VERSION): 20130604
928 Merge with NetBSD make, pick up
929 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
930 to avoid leaking descriptors.
932 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
934 * Makefile (MAKE_VERSION): 20130528
935 Merge with NetBSD make, pick up
936 o var.c: cleanup some left-overs in VarHash()
938 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
940 * Makefile (MAKE_VERSION): 20130520
941 generate manifest from component FILES rather than have to
942 update FILES when mk/FILES changes.
944 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
946 * Makefile (MAKE_VERSION): 20130518
947 Merge with NetBSD make, pick up
948 o suff.c: don't skip all processsing for .PHONY targets
949 else wildcard srcs do not get expanded.
950 o var.c: expand name of variable to delete if necessary.
952 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
954 * Makefile (MAKE_VERSION): 20130330
955 Merge with NetBSD make, pick up
956 o meta.c: refine the handling of .OODATE in commands.
957 Rather than suppress command comparison for the entire script
958 as though .NOMETA_CMP had been used, only suppress it for the
960 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
961 suppress comparison of a command without otherwise affecting it.
962 o make.1: document that
964 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
966 * Makefile (MAKE_VERSION): 20130321
967 yes, not quite right but its a cooler number.
968 Merge with NetBSD make, pick up
969 o parse.c: fix ParseGmakeExport to be portable
971 * meta.c: call meta_init() before makefiles are read and if built
972 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
973 this let's makefiles test for support.
974 Call meta_mode_init() to process .MAKE.MODE.
976 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
978 * Makefile (MAKE_VERSION): 20130305
979 Merge with NetBSD make, pick up
980 o run .STALE: target when a dependency from .depend is missing.
981 o job.c: add Job_RunTarget() for the above and .BEGIN
983 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
985 * Makefile (MAKE_VERSION): 20130303
986 Merge with NetBSD make, pick up
987 o main.c: set .MAKE.OS to utsname.sysname
988 o job.c: more checks for read and poll errors
989 o var.c: lose VarChangeCase() saves 4% time
991 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
993 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
994 want to use MAKEOBJDIR
996 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
998 * Merge with NetBSD make, pick up
999 o make.1: more info on how shell commands are handled.
1000 o job.c,main.c: detect write errors to job pipes.
1002 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
1004 * Makefile (MAKE_VERSION): 20130123
1005 Merge with NetBSD make, pick up
1006 o meta.c: if script uses .OODATE and meta_oodate() decides
1007 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
1008 o var.c: in debug output indicate which variabale modifiers
1010 o remove Check_Cwd logic the makefiles have been fixed.
1012 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
1014 * makefile.in: add a simple makefile for folk who insist on
1015 ./configure; make; make install
1016 it just runs boot-strap
1017 * include mk/* to accommodate the above
1018 * boot-strap: re-work to accommodate the above
1019 mksrc defaults to $Mydir/mk
1020 allow op={configure,build,install,clean,all}
1021 add options to facilitate install
1022 * Makefile.config.in: just the bits set by configure
1023 * Makefile: bump version to 20121212
1024 abandon Makefile.in (NetBSD Makefile)
1025 leverage mk/* instead
1026 * configure.in: ensure srcdir is absolute
1028 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
1030 * Makefile.in (MAKE_VERSION): 20121111
1031 fix generation of bmake.cat1
1033 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
1035 * Makefile.in (MAKE_VERSION): 20121109
1036 Merge with NetBSD make, pick up
1037 o make.c: MakeBuildChild: return 0 so search continues if a
1038 .ORDER dependency is detected.
1039 o unit-tests/order: test the above
1041 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
1043 * Makefile.in (MAKE_VERSION): 20121102
1044 Merge with NetBSD make, pick up
1045 o cond.c: allow cond_state[] to grow.
1046 In meta mode with a very large tree, we can hit the limit
1047 while processing dirdeps.
1049 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
1051 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
1053 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1055 * Makefile.in (MAKE_VERSION): 20121010
1056 o protect syntax that only bmake parses correctly.
1057 o remove auto setting of FORCE_MACHINE, use configure's
1058 --with-force-machine=whatever if that is desired.
1060 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
1062 * Makefile.in: do not lose history from make.1 when generating bmake.1
1064 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
1066 * Makefile.in (MAKE_VERSION): 20121007
1067 Merge with NetBSD make, pick up
1068 o compat.c: ignore empty commands - same as jobs mode.
1069 o make.1: document meta chars that cause use of shell
1071 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
1073 * Makefile.in (MAKE_VERSION): bump version to 20120911
1074 * bsd.after-import.mk: include Makefile.inc early and allow it to
1077 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
1079 * Makefile.in (MAKE_VERSION): bump version to 20120831
1080 Merge with NetBSD make, pick up
1081 o cast sizeof() to int for comparison
1082 o minor make.1 tweak
1084 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
1086 * Makefile.in (MAKE_VERSION): bump version to 20120830
1087 Merge with NetBSD make, pick up
1088 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
1089 o debug flag -dV causes -V to show raw value regardless.
1091 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
1093 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
1096 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
1098 * Makefile.in (MAKE_VERSION): bump version to 20120704
1099 Merge with NetBSD make, pick up
1100 o Job_ParseShell should call Shell_Init if it has been
1102 * Makefile.in: set USE_META based on configure result.
1103 also .PARSEDIR is safer indicator of bmake.
1105 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
1107 * Makefile.in: bump version to 20120626
1108 ensure CPPFLAGS is in CFLAGS
1109 * meta.c: avoid nested externs
1110 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
1112 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
1114 * Makefile.in (MAKE_VERSION): bump version to 20120620
1115 Merge with NetBSD make, pick up
1116 o make_malloc.c: avoid including make_malloc.h again
1118 * Makefile.in: avoid bmake only syntax or protect with
1119 .if defined(.MAKE.LEVEL)
1120 * bsd.after-import.mk: replace .-include with .sinclude
1121 ensure? SRCTOP gets a value
1122 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
1124 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
1126 * Makefile.in (MAKE_VERSION): bump version to 20120612
1127 Merge with NetBSD make, pick up
1128 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
1129 for greater portability.
1130 o unit-tests/forloop: check that .for works as expected wrt
1131 number of times and with "quoted strings".
1133 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1135 * Makefile.in (MAKE_VERSION): bump version to 20120606
1136 Merge with NetBSD make, pick up
1137 o compat.c: use kill(2) rather than raise(3).
1138 * configure.in: look for sys/dev/filemon
1139 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
1140 and pass BOOTSTRAP_XTRAS to boot-strap.
1142 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1144 * Makefile.in (MAKE_VERSION): bump version to 20120604
1145 Merge with NetBSD make, pick up
1146 o util.c and var.c share same var for tracking if environ
1147 has been reallocated.
1148 o util.c provide getenv with setenv.
1149 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
1150 when the shell actively strips .MAKE.* from the environment.
1151 We still refer to the variable always as .MAKE.LEVEL
1152 * util.c fix bug in findenv() was finding prefix of name.
1153 * compat.c: re-raising SIGINT etc after running .INTERRUPT
1154 results in more reliable termination of all activity on many
1157 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
1159 * Makefile.in (MAKE_VERSION): bump version to 20120602
1160 Merge with NetBSD make, pick up
1161 o for.c: handle quoted items in .for list
1163 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
1165 * Makefile.in (MAKE_VERSION): bump version to 20120530
1166 Merge with NetBSD make, pick up
1167 o compat.c: ignore empty command.
1169 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1171 * Makefile.in (MAKE_VERSION): bump version to 20120524
1172 * FILES: add bsd.after-import.mk:
1173 A simple means of integrating bmake into a BSD build system.
1175 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
1177 * Makefile.in (MAKE_VERSION): bump version to 20120520
1178 Merge with NetBSD make, pick up
1179 o increased limit for nested conditionals.
1181 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
1183 * Makefile.in (MAKE_VERSION): bump version to 20120518
1184 Merge with NetBSD make, pick up
1185 o use _exit(2) in signal hanlder
1186 o Don't use the [dir] cache when building nodes that might have
1187 changed since the last exec.
1188 o Avoid nested extern declaration warnings.
1190 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
1192 * meta.c (fgetLine): avoid %z - not portable.
1193 * parse.c: Since we moved include of sys/mman.h
1194 and def's of MAP_COPY etc. we got dups from a merge.
1196 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
1198 * Makefile.in (MAKE_VERSION): bump version to 20120420
1199 Merge with NetBSD make, pick up
1200 o restore duplicate supression in .MAKE.MAKEFILES
1201 runtime saving can be significant.
1202 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
1203 consumption up to 20%.
1205 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1207 * Makefile.in (MAKE_VERSION): bump version to 20120420
1208 Merge with NetBSD make, pick up
1209 o remove duplicate supression in .MAKE.MAKEFILES
1210 o improved dir cache behavior
1211 o gmake'ish export command
1213 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
1215 * Makefile.in (MAKE_VERSION): bump version to 20120325
1216 Merge with NetBSD make, pick up
1217 o fix parsing of :[#] in conditionals.
1219 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
1221 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
1222 since some systems cannot cope with .Nx <version>
1224 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
1226 * Makefile.in (MAKE_VERSION): bump version to 20111111
1227 Merge with NetBSD make, pick up
1228 o debug output for .PARSEDIR and .PARSEFILE
1230 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1232 * Makefile.in (MAKE_VERSION): bump version to 20111010
1234 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
1236 * boot-strap: check for an expected file in the dirs we look for.
1237 * make-bootstrap.sh: pass on LDSTATIC
1239 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
1241 * Makefile.in (MAKE_VERSION): bump version to 20111001
1242 Merge with NetBSD make, pick up
1243 o ensure .PREFIX is set for .PHONY
1244 and .TARGET set for .PHONY run via .END
1245 o __dead used consistently
1247 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
1249 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
1251 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
1253 * Makefile.in (MAKE_VERSION): bump version to 20110905
1254 Merge with NetBSD make, pick up
1255 o meta_oodate: ignore makeDependfile
1257 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
1259 * Makefile.in (MAKE_VERSION): bump version to 20110828
1260 Merge with NetBSD make, pick up
1261 o silent=yes in .MAKE.MODE causes meta mode to mark targets
1262 as SILENT if a .meta file is created
1264 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
1266 * Makefile.in (MAKE_VERSION): bump version to 20110818
1267 Merge with NetBSD make, pick up
1268 o in meta mode, if target flagged .META a missing .meta file
1269 means target is out-of-date
1270 o fixes for gcc 4.5 warnings
1271 o simplify job printing code
1273 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
1275 * Makefile.in (MAKE_VERSION): bump version to 20110808
1276 Merge with NetBSD make, pick up
1277 o do not touch OP_SPECIAL targets when doing make -t
1279 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
1281 * Makefile.in (MAKE_VERSION): bump version to 20110622
1282 Merge with NetBSD make, pick up
1283 o meta_oodate detect corrupted .meta file and declare oodate.
1284 * configure.in: add check for setsid
1286 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
1288 * Merge with NetBSD make, pick up
1289 o unit-tests/modts now works on MirBSD
1291 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1293 * Makefile.in (MAKE_VERSION): bump version to 20110606
1294 Merge with NetBSD make, pick up
1295 o ApplyModifiers: when we parse a variable which is not
1296 the entire modifier string, or not followed by ':', do not
1297 consider it as containing modifiers.
1298 o loadfile: ensure newline at end of mapped file.
1300 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1302 * Makefile.in (MAKE_VERSION): bump version to 20110505
1303 Merge with NetBSD make, pick up
1304 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
1305 of make's control. In meta mode, any generated file within
1306 said bailiwick, which is found to be missing, causes current
1307 target to be out-of-date.
1309 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
1311 * Makefile.in (MAKE_VERSION): bump version to 20110411
1312 Merge with NetBSD make, pick up
1313 o when long modifiers fail to match, check sysV style.
1316 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
1318 * Makefile.in (MAKE_VERSION): bump version to 20110410
1319 Merge with NetBSD make, pick up
1320 o :hash - cheap 32bit hash of value
1321 o :localtime, :gmtime - use value as format string for strftime.
1323 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1325 * Makefile.in (MAKE_VERSION): bump version to 20110330
1326 mostly because its a cooler version.
1327 Merge with NetBSD make, pick up
1328 o NetBSD tags for meta.[ch]
1329 o job.c call meta_job_finish() after meta_job_error().
1330 o meta_job_error() should call meta_job_finish() to ensure
1331 .meta file is closed, and safe to copy - if .ERROR target wants.
1332 meta_job_finish() is safe to call repeatedly.
1334 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
1336 * unit-tests/modts: use printf if it is a builtin,
1337 to save us from MirBSD
1339 * Makefile.in (MAKE_VERSION): bump version to 20110329
1340 Merge with NetBSD make, pick up
1341 o fix for use after free() in CondDoExists().
1342 o meta_oodate() report extra commands and return earlier.
1344 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
1346 * Makefile.in (MAKE_VERSION): bump version to 20110327
1347 Merge with NetBSD make, pick up
1348 o meta.c, if .MAKE.MODE contains curdirOk=yes
1349 allow creating .meta files in .CURDIR
1350 * boot-strap (TOOL_DIFF): aparently at least on linux distro
1351 formats the output of 'type' differently - so eat any "()"
1353 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
1355 * Makefile.in (MAKE_VERSION): bump version to 20110306
1356 Merge with NetBSD make, pick up
1357 o meta.c, only do getcwd() once
1359 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
1361 * Makefile.in (MAKE_VERSION): bump version to 20110305
1362 Merge with NetBSD make, pick up
1363 o correct sysV substitution handling of empty lhs and variable
1364 o correct exists() check for dir with trailing /
1365 o correct handling of modifiers for non-existant variables
1366 during evaluation of conditionals.
1367 o ensure MAP_FILE is defined.
1368 o meta.c use curdir[] now exported by main.c
1370 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
1372 * Makefile.in (MAKE_VERSION): bump version to 20110225
1373 Merge with NetBSD make, pick up
1374 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
1375 makefiles have been read.
1376 o fix example of :? modifier in man page.
1378 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
1380 * Makefile.in (MAKE_VERSION): bump version to 20110214
1381 Merge with NetBSD make, pick up
1382 o meta.c handle realpath() failing when generating meta file
1385 * sigcompat.c: convert to ansi so we can use higher warning levels.
1388 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
1390 * Makefile.in (MAKE_VERSION): bump version to 20110207
1391 Merge with NetBSD make, pick up
1392 o fix for bug in meta mode.
1394 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
1396 * parse.c: SunOS 5.8 at least does not have MAP_FILE
1398 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
1400 * Makefile.in (MAKE_VERSION): bump version to 20110101
1401 Merge with NetBSD make, pick up
1402 o use mmap(2) if available, for reading makefiles
1404 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
1406 * Makefile.in (MAKE_VERSION): bump version to 20101215
1407 Merge with NetBSD make, pick up
1408 o ensure meta_job_error() does not report a previous .meta file
1411 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
1413 * Makefile.in (MAKE_VERSION): bump version to 20101210
1414 Merge with NetBSD make, pick up
1415 o meta_oodate: track cwd per process, and only consider target
1416 out-of-date if missing file is outside make's CWD.
1417 Ignore files in /tmp/ etc.
1418 o to ensure unit-tests results match, need to control LC_ALL
1420 o fix for parsing bug in var.c
1422 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
1424 * Makefile.in (MAKE_VERSION): bump version to 20101126
1425 Merge with NetBSD make, pick up
1426 o if stale dependency is an IMPSRC, search via .PATH
1427 o meta_oodate: if a referenced file is missing, target is
1429 o meta_oodate: if a target uses .OODATE in its commands,
1430 it (.OODATE) needs to be recomputed.
1431 o keep a pointer to youngest child node, rather than just its
1434 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
1436 * Makefile.in (MAKE_VERSION): bump version to 20101101
1438 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
1440 * machine.sh: like os.sh,
1441 allow for uname -p producing useless drivel
1443 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
1445 * boot-strap: document configure knobs for meta and filemon.
1447 * Makefile.in (MAKE_VERSION): bump version to 20100911
1448 Merge with NetBSD make, pick up
1449 o meta.c - meta mode
1451 * make-bootstrap.sh.in: handle meta.c
1452 * configure.in: add knobs for use_meta and filemon_h
1453 also, look for dirname, str[e]sep and strlcpy
1454 * util.c: add simple err[x] and warn[x]
1456 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1458 * boot-strap (TOOL_DIFF): set this to ensure tests use
1459 the same version of diff that configure tested
1461 * Makefile.in (MAKE_VERSION): bump version to 20100808
1462 Merge with NetBSD make, pick up
1463 o in jobs mode, when we discover we cannot make something,
1464 call PrintOnError before exit.
1466 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
1468 * Makefile.in (MAKE_VERSION): bump version to 20100806
1469 Merge with NetBSD make, pick up
1470 o formatting fixes for ignored errors
1471 o ensure jobs are cleaned up regardless of where wait() was called.
1473 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
1475 * Makefile.in (MAKE_VERSION): bump version to 20100618
1476 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1478 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
1480 * Makefile.in (MAKE_VERSION): bump version to 20100616
1481 Merge with NetBSD make, pick up
1483 o call PrintOnError from JobFinish when we detect an error we
1486 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1488 * Makefile.in (MAKE_VERSION): bump version to 20100606
1489 Merge with NetBSD make, pick up
1492 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
1494 * Makefile.in (MAKE_VERSION): bump version to 20100605
1495 Merge with NetBSD make, pick up
1496 o use bmake_signal() which is a wrapper around sigaction()
1497 in place of signal()
1498 o add .export-env to allow exporting variables to environment
1499 without tracking (so no re-export when the internal value is
1502 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1504 * Makefile.in (MAKE_VERSION): bump version to 20100524
1505 Merge with NetBSD make, pick up
1506 o fix for .info et al being greedy.
1508 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
1510 * Makefile.in (MAKE_VERSION): bump version to 20100520
1511 Merge with NetBSD make, pick up
1512 o back to using realpath on argv[0]
1513 but only if contains '/' and does not start with '/'.
1515 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
1517 * boot-strap: use absolute path for bmake when running tests.
1519 * Makefile.in (MAKE_VERSION): bump version to 20100510
1520 Merge with NetBSD make, pick up
1521 o revert use of realpath on argv[0]
1522 too many corner cases.
1523 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1525 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1527 * Makefile.in (MAKE_VERSION): bump version to 20100505
1528 Merge with NetBSD make, pick up
1529 o fix for missed SIGCHLD when compiled with SunPRO
1530 actually for bmake, defining FORCE_POSIX_SIGNALS would have
1533 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
1535 * Makefile.in (MAKE_VERSION): bump version to 20100430
1536 Merge with NetBSD make, pick up
1537 o fflush stdout before writing to stdout
1539 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
1541 * Makefile.in (MAKE_VERSION): bump version to 20100423
1542 Merge with NetBSD make, pick up
1543 o updated unit tests for Haiku (this time for sure).
1544 * boot-strap: based on patch from joerg
1545 honor --with-default-sys-path better.
1546 * boot-strap: remove mention of --with-prefix-sys-path
1548 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
1550 * Makefile.in (MAKE_VERSION): bump version to 20100422
1551 * Merge with NetBSD make, pick up
1552 o fix for vfork() on Darwin.
1553 o fix for bogus $TMPDIR.
1554 o set .MAKE.MODE=compat for -B
1555 o set .MAKE.JOBS=max_jobs for -j max_jobs
1556 o allow unit-tests to run without any *.mk
1557 o unit-tests/modmisc be more conservative in dirs presumed to exist.
1558 * boot-strap: ignore /usr/share/mk except on NetBSD.
1559 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
1560 ensure sort(1) behaves as expected.
1562 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
1564 * boot-strap: add FindHereOrAbove so we can use -m .../mk
1566 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1568 * Makefile.in (MAKE_VERSION): bump version to 20100420
1569 * Merge with NetBSD make, pick up
1570 o fix for variable realpath() behavior.
1571 we have to stat(2) the result to be sure.
1572 o fix for .export (all) when nested vars use :sh
1574 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
1576 * Makefile.in (MAKE_VERSION): bump version to 20100414
1577 * Merge with NetBSD make, pick up
1578 o use realpath to resolve argv[0] (for .MAKE) if needed.
1579 o add realpath from libc.
1580 o add :tA to resolve variable via realpath(3) if possible.
1582 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
1584 * Makefile.in (MAKE_VERSION): bump version to 20100408
1585 * Merge with NetBSD make, pick up
1586 o unit tests for .ERROR, .error
1587 o fix for .ERROR to ensure it cannot be default target.
1589 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
1591 * Makefile.in (MAKE_VERSION): bump version to 20100406
1592 * Merge with NetBSD make, pick up
1593 o fix for compat mode "Error code" going to debug_file.
1594 o fix for .ALLSRC being populated twice.
1595 o support for .info, .warning and .error directives
1596 o .MAKE.MODE to control make's operational mode
1597 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1599 o .MAKE.DEPENDFILE to control the name of the depend file
1600 o .ERROR target - run on failure.
1602 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
1604 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1606 * os.sh,arch.c: patch for Haiku from joerg at netbsd
1608 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
1610 * Makefile.in (MAKE_VERSION): bump version to 20100222
1611 * Merge with NetBSD make, pick up
1612 o better error msg for .for with mutiple inter vars
1615 o use make-bootstrap.sh from joerg at netbsd
1616 to avoid the need for a native make when bootstrapping.
1617 o add "" everywhere ;-)
1618 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1619 otherwise the pre-formated version.
1621 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1623 * Makefile.in (MAKE_VERSION): bump version to 20100102
1624 * Merge with NetBSD make, pick up:
1627 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
1629 * Makefile.in (MAKE_VERSION): bump version to 20091118
1630 * Merge with NetBSD make, pick up:
1632 o report lines that start with '.' and should have ':'
1633 (catch typo's of .el*if).
1635 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1637 * configure.in: Ensure that srcdir and mksrc are absolute paths.
1639 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1641 * Makefile.in (MAKE_VERSION): fix version to 20091007
1643 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
1645 * Makefile.in (MAKE_VERSION): bump version to 200910007
1646 * Merge with NetBSD make, pick up:
1647 o fix for parsing of :S;...;...; applied to .for loop iterator
1648 appearing in a dependency line.
1650 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1652 * Makefile.in (MAKE_VERSION): bump version to 20090909
1653 * Merge with NetBSD make, pick up:
1654 o fix for -C, .CURDIR and .OBJDIR
1656 o allow share_dir to be set independent of prefix.
1657 o select default share_dir better when prefix ends in $HOST_TARGET
1658 o if FORCE_BSD_MK etc were set, include them in the suggested
1661 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1663 * Makefile.in (MAKE_VERSION): bump version to 20090908
1664 * Merge with NetBSD make, pick up:
1665 o .MAKE.LEVEL for recursion tracking
1666 o fix for :M scanning \:
1668 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1670 * configure.in: Don't -D__EXTENSIONS__ if
1671 AC_USE_SYSTEM_EXTENSIONS says "no".
1673 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
1675 * Makefile.in (MAKE_VERSION): bump version to 20090826
1676 Simplify MAKE_VERSION to just the bare date.
1677 * Merge with NetBSD make, pick up:
1678 o -C directory support.
1679 o support for SIGINFO
1680 o use $TMPDIR for temp files.
1681 o child of vfork should be careful about modifying parent's state.
1684 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1686 * Appy some patches for MiNT from David Brownlee
1688 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
1690 * Makefile.in (BMAKE_VERSION): bump version to 20090222
1691 * Merge with NetBSD make, pick up:
1692 o Possible null pointer de-ref in Var_Set.
1694 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
1696 * Makefile.in (BMAKE_VERSION): bump version to 20090204
1697 * Merge with NetBSD make, pick up:
1698 o bmake_malloc et al moved to their own .c
1699 o Count both () and {} when looking for the end of a :M pattern
1700 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1701 o strlist.c - functions for processing extendable arrays of pointers to strings.
1702 o ClientData replaced with void *, so const void * can be used.
1703 o New debug flag C for DEBUG_CWD
1705 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1707 * Makefile.in (BMAKE_VERSION): bump version to 20081111
1708 Apply patch from Joerg Sonnenberge to
1710 o remove some redundant checks
1711 o check for emlloc etc only in libutil and require the whole family.
1713 o remove [v]asprintf which is no longer used.
1715 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1717 * Makefile.in (BMAKE_VERSION): bump version to 20081101
1718 * Merge with NetBSD make, pick up:
1719 o util.c: avoid use of putenv() - christos
1721 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1723 * Makefile.in (BMAKE_VERSION): bump version to 20081030
1724 pick up man page tweaks.
1726 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
1728 * Makefile.in: move processing of LIBOBJS to after is definition!
1729 thus we'll have getenv.c in SRCS only if needed.
1731 * make.1: add examples of how to use :?
1733 * Makefile.in (BMAKE_VERSION): bump version to 20081029
1734 * Merge with NetBSD make, pick up:
1735 o fix for .END processing with -j
1736 o segfault from Parse_Error when no makefile is open
1737 o handle numeric expressions in any variable expansion
1738 o debug output now defaults to stderr, -dF to change it - apb
1739 o make now uses bmake_malloc etc so that it can build natively
1740 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1742 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
1744 * Makefile.in (BMAKE_VERSION): bump version to 20080808
1745 * Merge with NetBSD make, pick up:
1746 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1747 long lines in Makefiles
1748 o optimizations for VarQuote by joerg
1749 o fix for PR/38756: dominik: make dumps core on invalid makefile
1751 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
1753 * Makefile.in (BMAKE_VERSION): bump version to 20080515
1754 * Merge with NetBSD make, pick up:
1755 o fix skip setting vars in VAR_GLOBAL context, to handle
1756 cases where VAR_CMD is used for other than command line vars.
1758 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
1760 * boot-strap (make_version): we may need to look in
1761 $prefix/share/mk for sys.mk
1763 * Makefile.in (BMAKE_VERSION): bump version to 20080514
1764 * Merge with NetBSD make, pick up:
1765 o skip setting vars in VAR_GLOBAL context, when already set in
1766 VAR_CMD which takes precedence.
1768 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
1770 * Makefile.in (BMAKE_VERSION): bump version to 20080330
1771 * Merge with NetBSD make, pick up:
1772 o fix for ?= when LHS contains variable reference.
1774 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1776 * merge some patches from NetBSD pkgsrc.
1778 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1779 the MAKSYSPATH used during bootstrap.
1781 * Makefile.in (BMAKE_VERSION): bump version to 20080215
1782 * Merge with NetBSD make, pick up:
1783 o warn if non-space chars follow 'empty' in a conditional.
1785 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1787 * Makefile.in (BMAKE_VERSION): bump version to 20080118
1788 * Merge with NetBSD make, pick up:
1789 o consider dependencies read from .depend as optional - dsl
1790 o remember when buffer for reading makefile grows - dsl
1791 o add -dl (aka LOUD) - David O'Brien
1793 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
1795 * Makefile.in (BMAKE_VERSION): bump version to 20071022
1796 * Merge with NetBSD make, pick up:
1797 o Allow .PATH<suffix> to be used for .include ""
1799 * boot-strap: source default settings from .bmake-boot-strap.rc
1801 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
1803 * Makefile.in: fix maninstall on various systems
1804 provided that our man.mk is used.
1805 For non-BSD systems we install the preformatted page
1808 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
1810 * boot-strap: make bmake.1 too, so maninstall works.
1812 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
1814 * Makefile.in (BMAKE_VERSION): bump version to 20071014
1815 * Merge with NetBSD make, pick up:
1816 o revamped handling of defshell - configure no longer needs to
1817 know the content of the shells array - apb
1818 o stop Var_Subst modifying its input - apb
1819 o avoid calling ParseTrackInput too often - dsl
1821 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
1823 * Makefile.in (BMAKE_VERSION): bump version to 20071011
1824 * Merge with NetBSD make, pick up:
1825 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1827 * sigcompat.c: some tweaks for HP-UX 11.x based on
1828 patch from Tobias Nygren
1830 * configure.in: update handling of --with-defshell to match
1831 new make behavior. --with-defshell=/usr/xpg4/bin/sh
1832 will now do what one might hope - provided the chosen shell
1833 behaves enough like sh.
1835 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
1837 * Makefile.in (BMAKE_VERSION): bump to 20071008
1838 * Merge with NetBSD make, pick up:
1839 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1840 o .export/.MAKE.EXPORTED - export of variables - sjg
1841 o .MAKE.MAKEFILES - track all makefiles read - sjg
1842 o performance improvements - dsl
1843 o revamp parallel job scheduling - dsl
1845 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1847 * Makefile.in (BMAKE_VERSION): bump to 20060728
1848 * Merge with NetBSD make, pick up:
1849 o extra debug info during variable and cond processing - sjg
1850 o shell definition now covers newline - rillig
1851 o minor mem leak in PrintOnError - sjg
1853 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1855 * Makefile.in (BMAKE_VERSION): bump to 20060511
1856 * Merge with NetBSD make, pick up:
1857 o more memory leaks - coverity
1858 o possible overflow in ArchFindMember - coverity
1859 o extract variable modifier code out of Var_Parse()
1860 so it can be called recursively - sjg
1861 o unit-tests/moderrs - sjg
1863 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
1865 * Makefile.in (BMAKE_VERSION): bump to 20060412
1866 * Merge with NetBSD make, pick up:
1867 o fixes for some memory leaks - coverity
1868 o only read first sys.mk etc when searching sysIncPath - sjg
1870 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1871 setting ${MAKEFILE} - OBATA Akio
1873 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1875 * Makefile.in (BMAKE_VERSION): bump to 20060318
1876 * Merge with NetBSD make, pick up:
1877 o cleanup of job.c to remove remote handling, distcc is more
1878 useful and this code was likely bit-rotting - dsl
1879 o fix for :P modifier - sjg
1880 * boot-strap: set default prefix to something reasonable
1883 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1885 * Makefile.in (BMAKE_VERSION): bump to 20060301
1886 * Merge with NetBSD make, pick up:
1887 o make .WAIT apply recursively, document and test case - apb
1888 o allow variable modifiers in a variable appear anywhere in
1889 modifier list, document and test case - sjg
1891 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1893 * Makefile.in (BMAKE_VERSION): bump to 20060222
1894 * Merge with NetBSD make, pick up:
1895 o improved job token handling - dsl
1896 o SIG_DFL the correct signal before exec - dsl
1897 o more debug info during parsing - dsl
1898 o allow variable modifiers to be specified via variable - sjg
1899 * boot-strap: explain why we died if no mksrc
1901 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1903 * Makefile.in (BMAKE_VERSION): bump to 20051105
1904 * configure.in: always set default_sys_path
1905 default is ${prefix}/share/mk
1906 - remove prefix_sys_path, anyone wanting more than above
1907 needs to set it manually.
1909 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1911 * boot-strap: make this a bit easier for pkgsrc folk.
1912 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1913 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1915 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1917 * Makefile.in (BMAKE_VERSION): bump to 20051102
1918 * job.c (JobFinish): fix likely ancient merge lossage
1919 fix from Todd Vierling.
1920 * boot-strap (srcdir): allow setting mksrc=none
1922 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1924 * Makefile.in (BMAKE_VERSION): bump to 20051031
1925 * ranlib.h: skip on OSF too.
1928 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1930 * Makefile.in (BMAKE_VERSION): bump to 20051002
1933 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1935 * Makefile.in (BMAKE_VERSION): bump to 20051001
1936 support for UnixWare and some other systems,
1937 based on patches from pkgsrc/bootstrap
1939 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1941 * Makefile.in (BMAKE_VERSION): bump to 20050901
1942 * Merge with NetBSD make, pick up:
1943 o possible parse error causing us to wander off.
1945 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1947 * Makefile.in (BMAKE_VERSION): bump to 20050606
1948 * Merge with NetBSD make, pick up:
1949 o :0x modifier for randomizing a list
1950 o fixes for a number of -Wuninitialized issues.
1952 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1954 * Makefile.in (BMAKE_VERSION): bump to 20050530
1955 * Merge with NetBSD make, pick up:
1956 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1958 * README: was seriously out of date.
1960 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1962 * Important to use .MAKE rather than MAKE.
1964 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1966 * Makefile.in (BMAKE_VERSION): bump to 20050315
1967 * Merge with NetBSD make, pick up:
1968 o don't mistake .elsefoo for .else
1969 o use suffix-specific search path correctly
1970 o bunch of style nits
1972 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1975 o ensure that args to --src and --with-mksrc
1976 are resolved before giving them to configure.
1977 o add -o "objdir" so that builder can control it,
1978 default is $OS as determined by os.sh
1979 o add -q to suppress all the install instructions.
1981 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1983 * Remove __IDSTRING()
1985 * Makefile.in (BMAKE_VERSION): bump to 20040508
1986 * Merge with NetBSD make, pick up:
1988 - remove '-e' from compat mode
1989 - add support for '+' command-line prefix.
1990 o fix for handling '--' on command-line.
1991 o fix include in lst.lib/lstInt.h to simplify '-I's
1992 o we also picked up replacement of MAKE_BOOTSTRAP
1993 with !MAKE_NATIVE which is a noop, but possibly confusing.
1995 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1997 * Makefile.in (BMAKE_VERSION): bump to 20040414
1998 * Merge with NetBSD make, pick up:
1999 o allow quoted strings on lhs of conditionals
2000 o issue warning when extra .else is seen
2001 o print line numer when errors encountered during parsing from
2004 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
2006 * Makefile.in (BMAKE_VERSION): bump to 20040220
2007 * Merge with NetBSD make, pick up:
2008 o fix for old :M parsing bug.
2009 o re-jigged unit-tests
2011 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
2013 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
2014 so that './bmake -f Makefile test' works.
2016 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
2018 * Makefile.in: (BMAKE_VERSION): bump to 20040214
2019 * Merge with NetBSD make, pick up:
2020 o search upwards for *.mk
2021 o fix for double free of var substitution buffers
2022 o use of getopt replaced with custom code, since the usage
2023 (re-scanning) isn't posix compatible.
2025 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
2027 * arch.c: don't include ranlib.h on ELF systems
2028 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
2030 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
2032 * Makefile.in (BMAKE_VERSION): bump to 20040118
2034 * boot-strap (while): export vars we assign to on cmdline
2035 * unit-test/Makefile.in: ternary is .PHONY
2037 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
2039 * Makefile.in (BMAKE_VERSION): bump version to 20040108
2040 * Merge with NetBSD make, pick up:
2041 o fix for ternary modifier
2043 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
2045 * Makefile.in (BMAKE_VERSION): bump version to 20040105
2046 * Merge with NetBSD make, pick up:
2047 o fix for cond.c to handle compound expressions better
2048 o variable expansion within sysV style replacements
2050 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
2052 * Make portable snprintf safer - output to /dev/null first to
2055 * Makefile.in (BMAKE_VERSION): bump version to 20031222
2056 * Merge with NetBSD make, pick up:
2057 o -dg3 to show input graph when things go wrong.
2058 o explicitly look for makefiles in objdir if not found in curdir so
2059 that errors in .depend etc will be reported accurarely.
2060 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
2061 instead as it more accurately reflects the expected behavior and
2062 is more consistently implemented.
2063 o avoid use of asprintf.
2065 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
2067 * util.c: Add asprintf and vasprintf.
2069 * Makefile.in (BMAKE_VERSION): bump version to 20030928
2070 * Merge with NetBSD make, pick up:
2071 :[] modifier - allows picking words from a variable.
2072 :tW modifier - allows treating value as one big word.
2073 W flag for :C and :S - allows treating value as one big word.
2075 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
2077 * Merge with NetBSD make
2078 pick up -de flag to enable printing failed command.
2079 don't skip 1st two dir entries (normally . and ..) since
2080 coda does not have them.
2082 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
2084 * Makefile.in (BMAKE_VERSION): bump version to 20030909
2085 * Merge with NetBSD make, pick up:
2086 - changes for -V '${VAR}' to print fully expanded value
2088 - CompatRunCommand now prints the command that failed.
2089 - several files got updated 3 clause Berkeley license.
2091 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
2093 * boot-strap: Allow setting configure args on command line.
2095 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
2097 * configure.in: add --with-defshell to allow sh or ksh
2098 to be selected as default shell.
2100 * Makefile.in: bump version to 20030731
2102 * Merge with NetBSD make
2103 Pick up .SHELL spec for ksh and associate man page changes.
2104 Also compat mode now uses the same shell specs.
2106 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
2108 * var.c (Var_Parse): ensure delim is initialized.
2110 * unit-tests/Makefile.in: use single quotes to avoid problems from
2114 Run the unit-tests as part of the bootstrap procedure.
2116 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
2118 * unit-tests/Makefile.in: always force complaints from
2119 ${TEST_MAKE} to be from 'make'.
2121 * configure.in: add check for 'diff -u'
2122 also fix some old autoconf'isms
2124 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
2125 if using GCC add -Wno-cast-qual to CFLAGS for var.o
2127 * Merge with NetBSD make
2128 Pick up fix for :ts parsing error in some cases.
2131 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
2133 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
2135 * var.c (Var_Parse): fix bug in :ts modifier, after const
2136 correctness fixes, must pass nstr to VarModify.
2138 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
2140 * Makefile.in: BMAKE_VERSION switch to a date based version.
2141 We'll generally use the date of last import from NetBSD.
2143 * Merge with NetBSD make
2144 Pick up fixes for const-correctness, now passes WARNS=3 on
2146 Pick up :ts modifier, allows controlling the separator used
2147 between words in variable expansion.
2149 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
2151 * FILES: include boot-strap and os.sh
2153 * Makefile.in: only set WARNS if we are NetBSD, the effect on
2154 FreeBSD is known to be bad.
2156 * makefile.boot.in (bootstrap): make this the default target.
2158 * Makefile.in: bump version to 3.1.19
2160 * machine.sh: avoid A-Z with tr as it is bound to lose.
2162 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
2164 * Merge with NetBSD make
2165 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
2166 Plus some doc fixes.
2168 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
2170 * Merge with NetBSD make
2171 Pick up fix for PR/1523 - don't count a library as built, if there
2172 is no way to build it
2174 * Bump version to 3.1.18
2176 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
2178 * Merge with NetBSD make
2179 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
2180 appears in src list.
2182 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
2184 * Merge with NetBSD make (mmm 10th anniversary!)
2185 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
2186 pick up -X which tells us to not export VAR=val via setenv if
2187 we are already doing so via MAKEFLAGS. This saves valuable env
2188 space on systems like Darwin.
2189 set MAKE_VERSION to 3.1.17
2191 * parse.c: pix up fix for suffix rules
2193 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
2195 * Merge with NetBSD make.
2196 pick up fix for propagating -B via MAKEFLAGS.
2197 set MAKE_VERSION to 3.1.16
2199 * Apply some patches from pkgsrc-bootstrap/bmake
2200 Originally by Grant Beattie <grant@netbsd.org>
2201 I may have missed some - since they are based on bmake-3.1.12
2203 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
2205 * makefile.boot.in (bmake): update install targets for those that
2206 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
2207 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
2209 * bmake.cat1: update the pre-formatted man page!
2211 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
2213 * Merge with NetBSD make.
2214 pick up fix for premature free of pointer used in call
2216 set MAKE_VERSION to 3.1.15
2218 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
2220 * configure.in: determine suitable value for MKSRC.
2221 override using --with-mksrc=PATH.
2223 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
2224 configs(8) will use 'sun4' as an alias for 'sparc'.
2226 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
2228 * Merge with NetBSD make.
2230 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
2231 set MAKE_VERSION to 3.1.14
2232 add configure checks for killpg and sys/socket.h
2234 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
2238 * makefile.boot.in (bmake): use install-mk
2239 Also setup ./mk before trying to invoke bmake.boot incase we
2240 needed install-mk to create a sys.mk for us.
2242 * configure.in: If we need to add -I${srcdir}/missing, make it an
2243 absolute path so that it works for lst.lib too.
2245 * make.h: always include sys/cdefs.h since we provide one if the
2248 * Makefile.in (install-mk):
2249 use MKSRC/install-mk which will do the right thing.
2250 use uname -p for ARCH if possible.
2251 since install-mk will setup links bsd.prog.mk -> prog.mk if
2252 needed, just .include bsd.prog.mk
2254 * Merge with NetBSD make (NetBSD-1.6)
2255 Code is ansi-C only now.
2256 Bug in handling of dotLast is fixed.
2257 Can now assign .OBJDIR and make will reset its notions of life.
2258 New modifiers :tu :tl for toUpper and toLower.
2260 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
2262 * Merge with NetBSD make
2263 pick up fix for .END failure in compat mode.
2264 pick up fix for extra va_end() in ParseVErrorInternal.
2266 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
2268 * configure.in: for systems that have sys/cdefs.h check if it is
2269 compatible. If not, include the one under missing, but tell it to
2270 include the native one too - necessary on Linux.
2272 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
2273 include_next (for gcc) to get the native sys/cdefs.h
2275 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2277 * job.c (JobFinish): Fix an earlier merge bug that resulted in
2278 leaking descriptors when using -jN.
2280 * job.c (JobPrintCommand): See if "curdir" exists before
2281 attempting to chdir(). Doing the chdir directly in make (when in
2282 compat mode) fails silently, so let the -jN version do the same.
2283 This can happen when building kernels in an object tree and
2284 playing clever games to reset .CURDIR.
2286 * Merged with NetBSD make
2289 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2291 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
2293 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2295 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
2296 us not to export the iterator variable when using VAR_CMD context.
2298 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2300 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
2301 its the wrong "fix".
2303 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2305 * Redesigned export of VAR_CMD's via MAKEFLAGS.
2306 We now simply append the variable names to .MAKEOVERRIDES, and
2307 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
2308 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
2309 Apart from fixing quoting bugs in previous version, this allows us
2310 to export vars to the environment by simply doing:
2311 .MAKEOVERRIDES+= PATH
2312 Merged again with NetBSD make, but the above is the only change.
2314 * configure.in: added
2315 --disable-pwd-override disable $PWD overriding getcwd()
2316 --disable-check-make-chdir disable make trying to guess
2317 when it should automatically cd ${.CURDIR}
2319 * Merge with NetBSD make, changes include:
2320 parse.c (ParseDoDependency): Spot that the syntax error is
2321 caused by an unresolved cvs/rcs conflict and say so.
2322 var.c: most of Var* functions now take a ctxt as 1st arg.
2323 now does variable substituion on rhs of sysv style modifiers.
2325 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
2326 is now done here. We append the name='value' to .MAKEOVERRIDES
2327 rather than directly into MAKEFLAGS as this allows a Makefile to
2328 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
2329 very similar mechanism. Note that in adding name='value' to
2330 .MAKEOVERRIDES we do the moral equivalent of:
2331 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
2333 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2335 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
2337 * Merged with NetBSD make
2338 make -dx can now be used to run commands via sh -x
2339 better error messages on exec failures.
2341 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2343 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
2344 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
2345 MACHINE etc otherwise they propagate from the previous bmake.
2347 * configure.in (machine): allow --with-machine=generic to make
2348 configure use machine.sh to set MACHINE.
2350 * job.c (JobInterrupt): convert to using WAIT_T and friends.
2352 * Makefile.in: mention in bmake.1 that we use autoconf.
2354 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
2356 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2358 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
2359 as that rather defeats the usefulness of ${MAKEFILE}.
2361 * main.c (MainParseArgs): append command line variable assignments
2362 to MAKEFLAGS so that they get propagated to child make's.
2363 Apparently this is required POSIX behaviour? Its useful anyway.
2365 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2367 * compat.c (CompatRunCommand): don't use perror() since stdio may
2368 cause problems in child of vfork().
2370 * compat.c, main.c: Call PrintOnError() when we are going to bail.
2371 This routine prints out the .curdir where we stopped and will also
2372 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
2374 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
2377 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
2379 * Added RCSid's for the files we've touched.
2381 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2383 * configure.in: Thanks to some clues from mdb@juniper.net,
2384 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2385 as well as what ends up in _PATH_DEFSYSPATH. We now have:
2387 --with-machine=MACHINE explicitly set MACHINE
2388 --with-force-machine=MACHINE set FORCE_MACHINE
2389 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
2390 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
2391 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
2392 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
2394 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2396 * makefile: added a pathetically simple makefile to drive
2397 bootstrapping. Running configure by hand is more useful.
2399 * Makefile.in: added MAKE_VERSION, and reworked things to be less
2400 dependent on NetBSD bsd.*.mk
2402 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2403 _PATH_OBJDIRPREFIX for those that don't want a default.
2404 construct _PATH_DEFSYSPATH from the info we get from configure.
2406 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2407 if MAKE_VERSION is defined.
2409 * compat.c: when we bail, print out the .CURDIR we were in.
2411 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2413 * Merged with NetBSD make
2415 * var.c: fixed a bug in the handling of the modifier :P
2416 if the node as found but the path was null, we segfault trying to
2419 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2421 * Merged with NetBSD make
2423 * make.c: Make_OODate's test for a library out of date was using
2424 cmtime where it should have used mtime (my bug).
2426 * compat.c: Use perror() to tell us what really went wrong when we
2427 cannot exec a command.
2429 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2431 * Merged with NetBSD make
2433 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2435 * Merged with NetBSD make
2437 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2439 * Merged with NetBSD make
2441 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2443 * Merged with NetBSD make
2445 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2447 * util.c: don't provide signal() since we use sigcompat.c
2449 * Makefile.in: added a build target.
2451 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2452 These allow some quite clever magic.
2454 * main.c (main): added support for getenv(MAKESYSPATH).
2456 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2458 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2459 This avoids objdir having a different value depending on how a
2460 directory was reached (via command line, or subdir.mk).
2462 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2464 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2466 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2467 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2468 I've been testing this in NetBSD's make for some weeks.
2470 * Turn Makefile into Makefile.in and make it useful.
2472 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2474 * Imported NetBSD's -current make(1) and resolve conflicts.
2476 * Applied autoconf patches from bmake v2
2478 * Imported clean code base from NetBSD-1.0