help-make
[Top][All Lists]
Advanced

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

Re: Content-based dependencies


From: Brian R Cowan
Subject: Re: Content-based dependencies
Date: Wed, 6 May 2009 10:51:52 -0400

On 5/6/09, Yang Zhang <address@hidden> 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 address@hidden to be sure your PMR is updated in 
case I am not available.



From:
Mike Shal <address@hidden>
To:
Yang Zhang <address@hidden>
Cc:
address@hidden
Date:
05/06/2009 01:03 AM
Subject:
Re: Content-based dependencies
Sent by:
address@hidden



On 5/6/09, Yang Zhang <address@hidden> 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/address@hidden/msg05559.html
http://www.mail-archive.com/address@hidden/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
address@hidden
http://lists.gnu.org/mailman/listinfo/help-make






reply via email to

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