Open Office - installation problem

Danny MacMillan flowers at users.sourceforge.net
Mon Apr 26 11:14:21 PDT 2004


On Mon, 26 Apr 2004 20:49:57 +0800 (CST), Stephen Liu <satimis at yahoo.com> 
wrote:
>> You should be able to stop the 'make clean' with no
>> ill effects.  If you =really= want to clean your
>> whole ports tree, run:
>>
>> make -DNOCLEANDEPENDS clean
>>
>> in the /usr/ports directory.  It should go about a
>> thousand times faster.
>
> Hi Danny,
>
> <snip>
>
> What is the tag/syntax '-DNOCLEANDEPENDS'
> representing?

Well, -D as an argument to make(1) means "define this symbol".  So it's 
defining a symbol named NOCLEANDEPENDS.  Why would you want to do this?  
Because then the clean target will traverse each port in the tree and 
clean each of them without cleaning dependent ports, too.  Since you're 
running it in /usr/ports, you know every port will be cleaned anyway.

I'm sorry if this doesn't make too much sense.  The ports(7) man page will 
give you a good overview of the ports system and is where I looked to find 
the above information.  It helps if you know a little bit about make(1).

> To run:
> # cd /usr/ports
> # portsclean -CDD

I don't know; I didn't know portsclean existed.  My guess is that 
portsclean would probably be much faster since its targetted to a specific 
task and doesn't need to use the general-purpose ports make system.  In 
fact I just ran a little test to prove it.  portsclean -C is about a 
thousand times (number not scientific) faster than make -DNOCLEANDEPENDS 
clean.

-- 
Danny


More information about the freebsd-questions mailing list