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