help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: order-only dependency and transitivity


From: Ross Boylan
Subject: Re: order-only dependency and transitivity
Date: Wed, 9 Jun 2004 18:57:09 -0700
User-agent: Mutt/1.5.5.1+cvs20040105i

On Wed, Jun 09, 2004 at 05:19:23PM -0400, Paul D. Smith wrote:
> %% Ross Boylan <address@hidden> writes:
> 
>   rb> Unfortunately, solving the toy problem in this case doesn't help with
>   rb> the real one.  It would have a rule someting like this:
>   rb> m.touch: m.web
>   rb>          ftangle -F m.web
>   rb>          touch m.touch
> 
>   rb> The product of ftangle is a lot of .cc and .h files, but because of
>   rb> the -F option only some of them are updated.  So in terms of the
>   rb> example, it's as if the m.touch rule might or might not touch x.cc
> 
>   rb> My current solution is something like this
>   rb> $(SOURCES): m.web
>   rb>             ftangle -F m.web
> 
>   rb> but this ends up running ftangle many times, once for each of the
>   rb> $(SOURCES) that do not get updated.
> 
> You almost had it... you have to do something like this:
> 
>     $(SOURCES): m.touch
> 
>     m.touch: m.web
>         ftangle -F m.web
>         @touch $@
> 
Thank you; that seems to work. Two questions/comments:

First, this violates rule 2 of your own tips
http://make.paulandlesley.org/rules.html.  Should I be concerned?
Though I didn't have that rule specifically in mind, I did think I'd
get in some trouble if some of $(SOURCES) were permanently older than
m.touch.  Apparently not...

Second, can anyone explain why my original example didn't work?  Is it
a bug?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]