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
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:17 UTC