cvs commit: src/usr.bin/make Makefile main.c nonints.h var.c
Johan Karlsson
johan at FreeBSD.org
Sun Aug 8 23:18:22 PDT 2004
On Mon, Aug 09, 2004 at 14:12 (+0900), Jun Kuriyama wrote:
> At Tue, 3 Aug 2004 18:56:31 +0000 (UTC),
> Hartmut Brandt wrote:
> > Log:
> > Put variable assignments from the command line into the MAKEFLAGS
> > variable as required by POSIX. This causes such variables to be
> > pushed into all sub-makes called by the make (except when the MAKEFLAGS
> > variable is explicitely changed in the sub-make's environment).
> > This makes them also mostly un-overrideable in sub-makes except on the
> > sub-make's command line. Therefor specifying 'make CC=icc' will cause
> > icc to be used as C compiler in all sub-makes no matter what the Makefiles
> > itself try to do to the CC variable.
> >
> > This patch also corrects the handling of the MFLAGS variable. MFLAGS
> > contains all the command line flags but not the command line variable
> > assignments. The evaluation of the .MFLAGS or .MAKEFLAGS target now
> > changes both MFLAGS and MAKEFLAGS (they used to change MAKEFLAGS only).
> > Makefiles can use MFLAGS for their own purposes given that they do not
> > except MFLAGS to be undefined at the beginning and that they don't evaluate
> > .MFLAGS or .MAKEFLAGS. MFLAGS should be removed for POSIX compliance,
> > but it is unfortunately heavily used by the X makefiles.
>
> I'm using MAKEOBJDIRPREFIX as a make argument to build the world.
Don't.
According to make(1) it is an environment variable.
> Please help about new make.
>
> Firstly, my host environment has the latest make(1), and it is used to
> start buildworld as:
>
> # cd /work/HEAD/src
> # make MAKEOBJDIRPREFIX=/work/HEAD/obj buildworld
do something like
# cd /work/HEAD/src
# MAKEOBJDIRPREFIX=/work/HEAD/obj make buildworld
or
# cd /work/HEAD/src
# env MAKEOBJDIRPREFIX=/work/HEAD/obj make buildworld
depending on your shell.
/Johan K
--
Johan Karlsson mailto:johan at FreeBSD.org
More information about the cvs-src
mailing list