Re: make -U

From: Juli Mallett <jmallett_at_FreeBSD.org>
Date: Wed, 30 Jul 2003 16:37:05 -0500
* Ruslan Ermilov <ru_at_FreeBSD.ORG> [ Date: 2003-07-30 ]
	[ w.r.t. Re: make -U ]
> On Wed, Jul 30, 2003 at 04:23:20PM -0500, Juli Mallett wrote:
> > * Ruslan Ermilov <ru_at_FreeBSD.org> [ Date: 2003-07-30 ]
> > 	[ w.r.t. make -U ]
> > > Sorry, I've accidentally dropped an email about `make -U'.
> > > 
> > > I think that it's not needed, since the functionality can
> > > easily be achieved by running "make FOO=", i.e., assigning
> > > an empty value.  Remember that command line variables take
> > > precedence over globals, so the following makefile,
> > > 
> > > FOO+=	bar
> > > 
> > > all:
> > > 	_at_echo ${FOO}
> > > 
> > > when run as ``make FOO=foo'', will print just ``foo''.
> > 
> > Does that work for the .if defined() case, too?  Makefiles can grow
> > to be more complex than just that sort of stuff, after all :)
> > 
> Not sure what do you mean.  The "make -U FOO" was support to
> undefine the FOO variable, as it the ``.undef FOO'' was called
> at the end of makefile.  Of course, setting FOO= on a command
> line still gets you a "defined" variable, but
> 
> .if defined(FOO) && !empty(FOO)
> 
> should do the trick.  Try this out with "make FOO=":
> 
> FOO=	bar
> 
> all:
> .if defined(FOO) && !empty(FOO)
> 	_at_echo FOO is set
> .endif

Why go thru those contortions?  I sometimes use "make FOO=" to define
things.  -U obviously has a place, if it not existing means I have to
have all these contortions to do a fairly obvious thing, yeah?

Thanx,
juli.
-- 
juli mallett. email: jmallett_at_freebsd.org; efnet: juli; aim: bsdflata;
i have lost my way home early - i don't care cause i won't stay there.
Received on Wed Jul 30 2003 - 12:37:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:17 UTC