[Top][All Lists]
[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