Re: make -U

From: Ruslan Ermilov <ru_at_FreeBSD.ORG>
Date: Thu, 31 Jul 2003 00:27:44 +0300
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


Cheers,
-- 
Ruslan Ermilov		Sysadmin and DBA,
ru_at_sunbay.com		Sunbay Software Ltd,
ru_at_FreeBSD.org		FreeBSD committer

Received on Wed Jul 30 2003 - 12:27:59 UTC

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