help-make
[Top][All Lists]
Advanced

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

Re: non-recursive build question


From: Noel Yap
Subject: Re: non-recursive build question
Date: Wed, 28 Apr 2004 07:12:32 -0400
User-agent: Mozilla Thunderbird 0.5 (Windows/20040212)

Paul D. Smith wrote:

%% Sandy Currier <address@hidden> writes:

  sc> Actually, though the primary point is to not have targets that
  sc> depend on foo.exp rebuild when it is not physically changed, the
  sc> secondary point IS to touch the foo.exp target.  By touching it
  sc> when it is rebuilt, then the next time that make is run, if none
  sc> of the $(ALL_FOO_OFILES) have changed, then the neither foo.exp or
  sc> foo.so is rebuilt.

Well, you can't have it both ways: either the target is updated, in
which case things that depend on the target are updated, or it's not
updated, in which case it will be re-assessed in relation to its
prerequisites the next time make is run.

OTOH, you can have a different definition of "updated".  Order rules consider something 
"updated" iff that something exists.

Now create_export_list.pl will only be invoked when some OFILE actually
changes, and foo.exp will only be updated when the export list has
changed, but you don't pay the cost of updating the export list every
time you only pay the cost of the comparison.

Since symbols can be added or removed each time an object file is rebuilt, unless make can look into the object files to see if this has happened, the .exp will have to be rebuilt each time the object files are rebuilt. Even if make could look into the object files for symbol list changes, this must have a similar cost as creating the .exp anyway.

Noel




reply via email to

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