On 5/6/09, Yang Zhang <[email protected]> wrote:
> Is there a way to have GNU make cache copies of source files, so that 
when
> rules are triggered by timestamp comparisons between targets and 
sources, it
> will also compare the current source with the cached source to make sure
> that it actually changed before executing the actions (only executing if
> they differ)?

<Shameless Plug>
Well, you could use ClearCase and clearmake... As long as the files are 
under ClearCase source control, the *version* of the file is what matters 
and not the timestamp... 
</Shameless Plug>

Since >$1500/user is probably more than most people on THIS list are 
willing to spend for this functionality... I suspect that commercial makes 
other than clearmake can also do something like this as long as they 
support some sort of build auditing feature. OpenMake claims to be able to 
do build audits, and there is an apparently orphan "Build Audit" project 
on sourceforge. Whether these tools use that auditing information to 
control builds is another matter.

=================================================================
Brian Cowan
Advisory Software Engineer
ClearCase Customer Advocacy Group (CAG)
Rational Software
IBM Software Group
81 Hartwell Ave
Lexington, MA
 
Phone: 1.781.372.3580
Web: http://www.ibm.com/software/rational/support/
 

Please be sure to update your PMR using ESR at 
http://www-306.ibm.com/software/support/probsub.html or cc all 
correspondence to [email protected] to be sure your PMR is updated in 
case I am not available.



From:
Mike Shal <[email protected]>
To:
Yang Zhang <[email protected]>
Cc:
[email protected]
Date:
05/06/2009 01:03 AM
Subject:
Re: Content-based dependencies
Sent by:
[email protected]



On 5/6/09, Yang Zhang <[email protected]> wrote:
> Is there a way to have GNU make cache copies of source files, so that 
when
> rules are triggered by timestamp comparisons between targets and 
sources, it
> will also compare the current source with the cached source to make sure
> that it actually changed before executing the actions (only executing if
> they differ)?

This sounded familiar - I found some older threads on the issue:

http://www.mail-archive.com/[email protected]/msg05559.html
http://www.mail-archive.com/[email protected]/msg04985.html

Also the solution here may work for you:
http://www.kolpackov.net/pipermail/notes/2004-September.txt

Ultimately what is your goal here? Are you trying to avoid the "change
a comment in a header rebuilds everything" issue, or do you have some
other timestamp problems? Keep in mind that doing a diff or using a
checksum to determine out-of-dateness isn't exactly cheap - you may be
trying to optimize a corner case to the detriment of the general case.

-Mike


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




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

Reply via email to