On Tue, May 20, 2008 at 11:07 PM, Philip Guenther <[EMAIL PROTECTED]>
wrote:

> On Tue, May 20, 2008 at 11:39 PM, Paul Smith <[EMAIL PROTECTED]> wrote:
> > On Mon, 2008-05-19 at 09:53 -0700, Garrett Cooper wrote:
> ...
> >> This would mean that I'm looking for dynamic targets and target-
> >> specific variables, if I'm not incorrect.
> >
> > There are lots of ways in make to get dynamic targets without using
> > $(eval ...).  For example, pattern rules etc.  $(eval ...) is
> > unquestionably the most powerful one, but it's also the trickiest to
> > understand and use.
>
> I'll second this.
>
> I actually suspect that the presence of $(eval) has had a net
> *negative* effect on the readability of the makefiles out there,
> because people use it when it's not necessary and in ways that are
> *more* complicated than the alternative(s).  People aren't as familiar
> and comfortable with the declarative style of programming as they are
> with the procedural style, so $(eval) gets used to micromanage make.
> The second error (IMO) is when $(eval) is used to solve some icky
> naming or matching-up problem that could be more cleanly solved by
> simply renaming files or making the source tree better reflect the
> relationships.  Using $(eval) to simplify by abstracting a set of
> rules or assignments is a Good Thing.  Using it to perpetuate
> complexity or work against the language is a Bad Thing.
>
> ...or at least that's the impression I get from my personal
> experiences and helping people on this list...
>
>
> Philip Guenther
>

Yes, which I understand. What I can't see is another way around solving this
issue though with pattern rules (I'm aiming for the former, not the
latter)... I am hoping (crosses fingers) that a recursive include will solve
a lot of the complexity and make things more understandable / manageable.

I'll snip out the sections of code and apply them simply to help illustrate
what I need.

-Garrett
_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to