Changes of note:
synched with NetBSD make as of 2001/10/16
fix for bug in compat mode .END processing
fix for bug in cleanup of jobs when using -jN
addition of .USEBEFORE
simpler bootstrap - compiles again on recent linux (Red Hat)
The Makefile here now deals with the fact that we may not have installed
a sys.mk in /usr/pkg/share/mk on BSD systems.
Reviewed: agc
swoop.
Changes since previous version:
Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
us not to export the iterator variable when using VAR_CMD context.
Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
its the wrong "fix".
Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
* Redesigned export of VAR_CMD's via MAKEFLAGS.
We now simply append the variable names to .MAKEOVERRIDES, and
handle duplicate suppression and quoting in ExportMAKEFLAGS using:
${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
Apart from fixing quoting bugs in previous version, this allows us
to export vars to the environment by simply doing:
.MAKEOVERRIDES+= PATH
Merged again with NetBSD make, but the above is the only change.
* configure.in: added
--disable-pwd-override disable $PWD overriding getcwd()
--disable-check-make-chdir disable make trying to guess
when it should automatically cd ${.CURDIR}
* Merge with NetBSD make, changes include:
parse.c (ParseDoDependency): Spot that the syntax error is
caused by an unresolved cvs/rcs conflict and say so.
var.c: most of Var* functions now take a ctxt as 1st arg.
now does variable substituion on rhs of sysv style modifiers.
* var.c (Var_Set): exporting of command line variables (VAR_CMD)
is now done here. We append the name='value' to .MAKEOVERRIDES
rather than directly into MAKEFLAGS as this allows a Makefile to
use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
very similar mechanism. Note that in adding name='value' to
.MAKEOVERRIDES we do the moral equivalent of:
.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
This is NetBSD's make(1) utility, with a configure script and
supporting replacements for various NetBSD library routines, ported to
other Operating Systems by Simon Gerraty. Solaris, SunOS, HP-UX,
Linux and AIX are amongst the operating systems supported.