Thank you Paul!

> An ordinary target is updated if EITHER its
> prerequisites are newer, OR
> the target doesn't exist.
> 
> An intermediate target is updated ONLY if its
> prerequisites are newer.

This is exactly what I am looking for. I remembered
that you have mentioned before intermediate file is
useful for increasement build or something. Is that
correct?

I think if it is true, increasement build will suffer
from the issues of intermediate files -- they will not
be remade even if they are "needed", for example, the
intermediate files without any dependencies will
suffer from this issue. I am not sure why increasement
build will choose intermediate file.


regards,
George

--- "Paul D. Smith" <[EMAIL PROTECTED]> wrote:

> %% Lin George <[EMAIL PROTECTED]> writes:
> 
>   >> So, make uses one set of rules to determine
> when to rebuild normal
>   >> targets (that are not "intermediate"), and it
> uses a different set
>   >> of rules to determine when to rebuild targets
> that ARE
>   >> "intermediate".
> 
>   lg> That is exactly what I mean. :-)
> 
>   lg> Could you quote the rule which make will use
> to evaluate whether
>   lg> an intermediate file is "needed" please? I
> understand your sample,
>   lg> but it still seems mysterious to me about a
> general rule about how
>   lg> make will evaluate whether or not it is
> "needed". :-)
> 
> It's very, very simple; I've already quoted the
> relevant section of the
> manual earlier in this thread.  From "Chains of
> Implicit Rules" in the
> GNU make manual:
> 
> >    The first difference is what happens if the
> intermediate file does
> > not exist.  If an ordinary file B does not exist,
> and `make' considers
> > a target that depends on B, it invariably creates
> B and then updates
> > the target from B.  But if B is an intermediate
> file, then `make' can
> > leave well enough alone.  It won't bother updating
> B, or the ultimate
> > target, unless some prerequisite of B is newer
> than that target or
> > there is some other reason to update that target.
> 
> An ordinary target is updated if EITHER its
> prerequisites are newer, OR
> the target doesn't exist.
> 
> An intermediate target is updated ONLY if its
> prerequisites are newer.
> 
> -- 
>
-------------------------------------------------------------------------------
>  Paul D. Smith <[EMAIL PROTECTED]>          Find some
> GNU make tips at:
>  http://www.gnu.org                     
> http://make.paulandlesley.org
>  "Please remain calm...I may be mad, but I am a
> professional." --Mad Scientist
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


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

Reply via email to