make -U

Garance A Drosihn drosih at
Thu Jul 31 14:50:01 PDT 2003

At 1:39 PM +0000 7/31/03, Christian Weisgerber wrote:
>Juli Mallett <jmallett at> wrote:
>  > 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?
>What are the exact semantics of -U supposed to be?

 From the message in freebsd-hackers which first introduced
this patch:

- Date: Tue, 29 Jul 2003 09:09:17 -0700
- From: Faried Nawaz <fn at>
- Subject: patch to add make -U

     While working around a port issue (ports/55013), I discovered
     that make couldn't unset variables using make -U.  I've written
     a small patch that adds -U functionality, but I haven't tested
     it extensively.  (~ 3KB unpacked)
     against yesterday's -CURRENT code.

     A simple Makefile I used to test it:

     -- cut here --
     FOO = bar

     .ifdef FOO
     SAY = y
     SAY = n

    	echo $(SAY)
     -- cut here --

     Try "make -U FOO".

Personally I think this is a reasonable option to implement.
An undefined variable is not the same as a variable which is
defined to be a null string.

Garance Alistair Drosehn            =   gad at
Senior Systems Programmer           or  gad at
Rensselaer Polytechnic Institute    or  drosih at

More information about the freebsd-current mailing list