Subject: Re: OSF Dev Env (ODE) (was: fix for MAKEOBJDIRPREFIX=/obj make
To: None <email@example.com>
From: Simon J. Gerraty <firstname.lastname@example.org>
Date: 04/22/2000 13:10:41
> > :@<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.
One of my colleagues is very keen to see :@
A .for loop appears to be expanded when the makefile is parsed whereas
:@ is expanded when the variable is used. The difference is important
when trying to contain magic to the *.mk files.
> Anyhow, in many/most cases, it's a lot easier to understand what's
> going on when you use .for .
Sure, but you can't necessarily do all the same things.
> 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? :-)
As a stretch objective perhaps :-), right now the ones I mentioned
will go a long way to improving the build env I'm working on.