Subject: Re: build.sh efficiency
To: William Allen Simpson <wsimpson@greendragon.com>
From: David Maxwell <david@crlf.net>
List: current-users
Date: 11/05/2003 17:04:35
On Wed, Nov 05, 2003 at 04:36:33PM -0500, William Allen Simpson wrote:
> > > > If I am reading it correctly, it appears to run through the whole tree
> > > > deleting objects, then again making objdirs, and again depending, and
> > > > again compiling, etc.   

> > > > Would it be possible to run through the tree once, doing multiple tasks?
> > > > Or maybe only twice?

> Perhaps you would be kind enough to point at the documentation for 
> `sh` and `make` that enables them to intelligently answer questions, 
> such as those posed above?
> 
> Given such documentation, and such amazing tools, I'd be happy to 
> submit a `patch`....

I doubt the answer to that particular question will have been documented
- it requires a bit of thought about the sequence points in build.sh

I tried to write some changes to build.sh (can't recall the details now)
and it took a while to realize why the information I needed to make the
change wouldn't have been available until a few steps later in build.sh

Likely, the trouble with de-sequencing delete and compile is that you
would need a (maintained) in-order list of dependencies, because you
need to delete/build, following the tree from the bottom up. I suspect
that list is difficult to create/maintain.

Deleting and mkobjdirs could probably be merged. Simply make the targets
set some variables, and create a new 'updatetree' target that actually
does the walk of the source tree, and does each function in order
(delete, then mkobjdir ;-) in each location.

Depending is probably tough to split from its own pass in make - or, put
another way, building dependencies may hit enough other dirs that I'm
not sure the cache would help much.

> Jonathan Neill wrote (to david):
> > Come now, we don't need any of your sarcasm.
> > 
> Since he doesn't know how to compose a reply and his comment was 
> content free, I assumed that was ignorance, rather than sarcasm.

Well, there is a need for balance on the lists, between the two type of
posting - 'Suggests/Criticizes things, but never contributes code' and
'Wants to open a discussion about something, prior to contribution'.

I think the comment was because the author believed you were committing
the misdemeanor of the former case.

-- 
David Maxwell, david@vex.net|david@maxwell.net --> The only difference I see
between voodoo and marketing research is that voodoo sometimes works! 
						- Leonard Stern