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.