[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: question about Generating Prerequisites Automatically
From: |
Lin George |
Subject: |
Re: question about Generating Prerequisites Automatically |
Date: |
Thu, 11 May 2006 06:39:17 -0700 (PDT) |
Thanks Paul!
> You're right, it does not make much sense to have
> intermediate files
> without any prerequisites. The only time the
> intermediate file will be
> rebuilt then is if the upper target doesn't exist;
> in that case all the
> intermediate files are considered out of date and
> rebuilt.
>
> However, that's not how intermediate files are
> generally used; they are
> used to avoid rebuilding files "in between" the
> ultimate target and the
> source files.
I think the complete rule when intermediate file will
be remade should be,
1. dependent file is newer than ultimate target file;
2. upper file does not exist.
Is that correct?
About the incremental build, I do not think it will
utilize intermediate files to achieve the function of
incremental build, since I am using ar to generate
static libraries, but I am not using intermediate
files. :-)
It seems that you mean if I use intermediate file
together with ar, it will be more efficient or
something?
regards,
George
--- "Paul D. Smith" <address@hidden> wrote:
> %% Lin George <address@hidden> writes:
>
> >> 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.
>
> lg> This is exactly what I am looking for. I
> remembered
> lg> that you have mentioned before intermediate
> file is
> lg> useful for increasement build or something. Is
> that
> lg> correct?
>
> Incremental builds; yes. Consider static libraries,
> or archives
> (libfoo.a). The ar program, that builds these
> libraries, can add,
> remove, and replace individual .o's inside an
> already-existing archive.
>
> That means that if you have a libfoo.a that contains
> foo.o, bar.o, and
> baz.o you can replace just baz.o in the archive even
> if foo.o and bar.o
> don't exist. This makes it different from (most)
> linkers, which require
> ALL the objects to exist when the link is performed.
>
> There do exist "incremental linkers" but they are
> rare these days: the
> performance improvements have generally been
> determined to not be worth
> the added complexity in most cases.
>
> lg> I think if it is true, increasement build will
> suffer from the
> lg> issues of intermediate files -- they will not
> be remade even if
> lg> they are "needed", for example, the
> intermediate files without any
> lg> dependencies will suffer from this issue. I am
> not sure why
> lg> increasement build will choose intermediate
> file.
>
> You're right, it does not make much sense to have
> intermediate files
> without any prerequisites. The only time the
> intermediate file will be
> rebuilt then is if the upper target doesn't exist;
> in that case all the
> intermediate files are considered out of date and
> rebuilt.
>
> However, that's not how intermediate files are
> generally used; they are
> used to avoid rebuilding files "in between" the
> ultimate target and the
> source files.
>
> --
>
-------------------------------------------------------------------------------
> Paul D. Smith <address@hidden> 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
- Re: question about Generating Prerequisites Automatically, (continued)
- Re: question about Generating Prerequisites Automatically, Lin George, 2006/05/07
- Re: question about Generating Prerequisites Automatically, Paul D. Smith, 2006/05/07
- Re: question about Generating Prerequisites Automatically, Lin George, 2006/05/08
- Re: question about Generating Prerequisites Automatically, Paul D. Smith, 2006/05/08
- Re: question about Generating Prerequisites Automatically, Lin George, 2006/05/09
- Re: question about Generating Prerequisites Automatically, Paul D. Smith, 2006/05/10
- Re: question about Generating Prerequisites Automatically, Lin George, 2006/05/11
- Re: question about Generating Prerequisites Automatically, Paul D. Smith, 2006/05/11
- Re: question about Generating Prerequisites Automatically, Lin George, 2006/05/11
- Re: question about Generating Prerequisites Automatically, Paul D. Smith, 2006/05/11
- Re: question about Generating Prerequisites Automatically,
Lin George <=
- Re: question about Generating Prerequisites Automatically, Paul D. Smith, 2006/05/11
- Re: question about Generating Prerequisites Automatically, Lin George, 2006/05/13