From owner-freebsd-current@FreeBSD.ORG Wed Jul 30 14:37:05 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 931) id 70F1537B401; Wed, 30 Jul 2003 14:37:05 -0700 (PDT) Date: Wed, 30 Jul 2003 16:37:05 -0500 From: Juli Mallett To: Ruslan Ermilov Message-ID: <20030730163705.A68092@FreeBSD.org> References: <20030730212049.GI33188@sunbay.com> <20030730162320.A66578@FreeBSD.org> <20030730212744.GJ33188@sunbay.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <20030730212744.GJ33188@sunbay.com>; from ru@FreeBSD.ORG on Thu, Jul 31, 2003 at 12:27:44AM +0300 X-Title: Code Maven X-Towel: Yes X-Negacore: Yes X-Authentication-Warning: localhost: juli pwned teh intarweb cc: hackers@FreeBSD.ORG cc: current@FreeBSD.ORG Subject: Re: make -U X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jul 2003 21:37:05 -0000 * Ruslan Ermilov [ 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 [ 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: > > > @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) > @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@freebsd.org; efnet: juli; aim: bsdflata; i have lost my way home early - i don't care cause i won't stay there.