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