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
