Re: But WHY are you "Re-executing" yourself, you fucking wanker?!!

[prev] [thread] [next] [lurker] [Date index for 2006/11/19]

From: peter (Peter da Silva)
Subject: Re: But WHY are you "Re-executing" yourself, you fucking wanker?!!
Date: 18:21 on 19 Nov 2006
> THE DIFFERENCE BETWEEN #1 & #2 IS THE ORDER OF STATEMENTS. Not funny. Make is 
> "designed" to make order of statements "unimportant" most of the time. Unless 
> you spawn processes depending on values of variables. Or use := instead of =. Or 
> mess with order of pattern-matching rules. Or... The problem is that I tried 
> quite some permutations, and all I get is #1 or #2.

Once you start getting into := versus = you've left "make as a description of
dependancies" behind, and into "make as an oddball scripting language". Which
may be what you need to do but I'd step back and try something else first.

If you have dependency rules that modify the Makefile, which it sounds like
you do, you definitely need to avoid doing anything else complex in the
Makefile itself, because self-modifying code is evil at the best of times,
and re-executing itself with the modified Makefile is probably the sanest
thing it can do.

My messages to the wankers:

1. "just because it's called makedeps doesn't mean it's sane to put it in
    a Make rule and call 'make deps' to run it".

2. "it's about ten zillion times harder to use Make as a scripting language
    than to run a script to handle an edge case, so leave all that fancy stuff
    in gmake alone, 'kay".

Generated at 16:01 on 20 Nov 2006 by mariachi 0.52