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
