>>> Before making a target, if that target already exists, move it to a
>>> temporary backup file. After the target is re-made, diff the newly made
>>> target against the backup. If it didn't change, reset the date of the
>>> newly made target to the date of the backup. In either case, delete the
>>> backup. 

Last year there was a SoC project to add non-timestamp-based
dependencies.  Did that ever go in?  That sounds like what you want.

>> The result of this is if you make an innocuous change (say, adding a
>> comment) to a common header file that is included by all the source
>> files, make will end up rebuilding every .o every time you type make.

Dave> I think that's why in practice "move-if-change" is generally
Dave> used in conjunction with a dependency on a stamp file that
Dave> /does/ get its timestamp updated, isn't it?  (Actually, I never
Dave> understood what the stampfiles were used for before, and your
Dave> explanation above has just made me think that this might be the
Dave> reason.  But I could still be completely misleading myself about
Dave> it.)

Yeah, this is why.

Tom


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

Reply via email to