Paul D. Smith wrote:

%% Sandy Currier <[EMAIL PROTECTED]> 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


_______________________________________________ Help-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-make

Reply via email to