Subject: Re: OSF Dev Env (ODE) (was: fix for MAKEOBJDIRPREFIX=/obj make build)
To: Simon J. Gerraty <sjg@quick.com.au>
From: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
List: tech-toolchain
Date: 04/21/2000 09:08:26
> Thanks for the URL's. Yes the full ODE thing is a lot to swallow
> but there are features in ODE's make that would be very handy:
>
> :@<tvar>@<string>@
>
> which causes tvar to take on the value of each word in the variable and
> then evaluate string - which presumably uses tvar in a meaningful way.
> This is a neat alternative to .for loops
I'm not sure I'd call it "neat".
In a past job, I made extensive use of ODE and ODE make. The looping
construct above had some *serious* usability problems, leading to lots
of write-only incomprehensible code in our project's equivalent to the
bsd.*.mk file.
part of the problem is lexical; "@" just doesn't stand out that well
as a delimeter in that context. No doubt, another part is that ODE
make didn't have ".for", so the :@xx@foo${xx} bar@ construct was the
only looping construct available.
Anyhow, in many/most cases, it's a lot easier to understand what's
going on when you use .for .
make really wants to be a functional language. Before you add an
obscure way to express "mapcar", how about adding functions/macros
with parameters first? :-)
- Bill