Subject: Re: BSD .mk files and multiple programs
To: Simon J. Gerraty <sjg@crufty.net>
From: Harlan Stenn <Harlan.Stenn@pfcs.com>
List: tech-userlevel
Date: 11/25/2002 22:17:38
> On Sun, 24 Nov 2002 21:07:48 -0500, Harlan Stenn writes:
> >Got a pointer (url?) to ODE?
> 
> Try google - ODE has been dead for ages - but I added a bunch of the
> useful make features to our make a few years ago.  :@ rocks!
> You need a strong stomach to read the ODE .mk files.

Could I snarf you stuff/chagnes?  The amount of stuff I found on google was
Amazing, and I'm not enough of a googler to figure out how to make the list
more manageable.  Besides, if you have already made these changes I could
learn from your efforts!

> >I expect the initial pass will convert a Makefile.am to a Makefile;
> >eventually I'd prefer to either *completely* automate this conversion and/or
> >find a way to have a .mk ruleset that would "include" the Makefile.am and
> >crack it automatically (I know this would be slower at runtime).
> 
> Why not have a rule that turns a .am into a .aminc and do the
> "cracking" in that.  Then just include the .aminc's ?
> Handwaving mind you - only thought about it for 5s.

That may be what happens.  It depends on how things pan out.

> >For the project I have in mind, cleaning/reorganizing the tree is a
> >non-starter.
> 
> How big is the project?

~700 Makefiles and ~20k files.  Regardless, this is in CVS in a
fast-cycle-time development environment where the code has already branched
for a release sycle.  If the project was using a "friendlier" SCM I'd
consider restructuring the repo.  As it stands, I'm certain management would
not tolerate it.

On a related topic, I could automate this better if "make" had a way to tell
me the names of all of the global variables, and if there was a way to
select (based on either regexp or glob/fnmatch) names from that list.

I'm probably going to have to hack something up to do this - anybody
interested in discussing the issues with me?  I expect that if I do this
then $ork would be happy to release these changes back.

H