Subject: Re: CVS commit: basesrc
To: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
From: Simon Burge <simonb@netbsd.org>
List: tech-userlevel
Date: 12/04/1999 13:01:25
Bill Sommerfeld wrote:
> > Does that catch everything? It's an extra "make cleandir" but I'm
> > guessing that you wouldn't set MKOBJDIRS in /etc/mk.conf all the
> > time ... which leads to...
>
> hmm. i certainly would leave it in there, since new dirs get added to
> the source tree all the time, and i rarely if ever switch around to
> using a different obj tree with the same source tree..
I meant the same obj tree with different source trees. Ok, I agree that
this might not be a common case. Is it easier to just not handle it?
> > What would be nice is an update-objdir target that only builds a new obj
> > dir if one doesn't exist instead of blindly recreating the obj dir.
>
> umm, that's what it does now as best I can tell..
It removes and re-creates the symlink (if you're using symlinks) for
each obj directory. This is noticebly slow especially when using a NFS
v2 fileserver for the source tree. To make things run faster, it'd be
nice to have a clean-obj-includes or obj-clean-includes target, but this
is obviously overboard.
How about (leaving out all the .if/.endifs):
make share/mk
make cleandir
make obj
make share/tmac
With this, any new tmac's get created in the tmac obj dir (if it exists)
and not in the source directory, which is one thing I was trying to
stop. In fact, because we build the libraries with MKMAN=no we could
move the "make share/tmac" to after the libraries are built...
Simon.