Subject: Re: us.sbin/racoon fails 'make cleandir'
To: None <wrstuden@netbsd.org>
From: Havard Eidnes <he@netbsd.org>
List: current-users
Date: 03/08/2005 18:18:14
> > ./build.sh -N $N -T $tools -u -U -D $dest -O $obj -R $release ...
>                                             ^^
>
> That causes the symlinks.

No, I do not think that is correct.

I do the same thing locally, build with -O, and my source tree
does *not* have any symlinks.

I'll be the first one to concede that the documentation in build.sh's
usage for -M and -O is either unhelpful or inpenetrable (or both):

    -M obj      Set obj root directory to obj; sets MAKEOBJDIRPREFIX.
                Unsets MAKEOBJDIR.
    -O obj      Set obj root directory to obj; sets a MAKEOBJDIR patter=
n.
                Unsets MAKEOBJDIRPREFIX.

but nowhere in the usage output is the exact meaning of any of these
variables explained.  In order to find that out, you have to go read
share/mk/bsd.README.  As far as I can decipher, with -M, the actual
obj tree ends up being rooted in <argument-to-M>/`pwd` when executed
at the top of the source tree, i.e. the complete absolute path of the
source tree ends up as part of the obj directory name (terribly ugly,
if you ask me!), whereas with -O, the root of the obj tree ends up
being what you passed as the argument.

However, if the tree was once built without -O or -M, there would
either be obj directories or obj symlinks in the source tree
(depending on where the source tree was placed; I think the default is
symlinks into /usr/obj if it is placed in /usr/src, and obj dirs
otherwise).

Regards,

- H=E5vard