13 messages in com.perforce.jamming[jamming] invoking external build pro...
Subject:[jamming] invoking external build processes
From:Matt Armstrong (ma@lickey.com)
Date:10/13/2003 10:07:04 AM
List:com.perforce.jamming

Vladimir Prus <gho@cs.msu.su> writes:

Hi Matt,

If the information to be updated is expressed completely within the jamfiles, then a built in MD5 rule might get you going. [...] That way, it'll only regenerate blddefs.h when the list of configuration values changes.

Let me make sure I understand correctly. After first build, you've got:

blddefs.h ------(depends)-----> blddesfs-<md5sum1>.h

Unitl something changes, the same dependency exists and jam thinks blddefs.h is up-to-date. When #defines change, the new dependency will be

blddefs.h ------(depends)-----> blddesfs-<md5sum2>.h

so jam will notice that blddesfs-<md5sum2>.h does not exist, and will create it and update blddefs.h, right?

Is so, then the question is: when blddesfs-<md5sum1>.h is cleaned up? Or those files are left forever?

I use the GLOB rule to find "old" versions of blddefs.h.<sum>.md5. I glob for the pattern blddefs.h.*.md5. I make the "current" blddefs.h.<sum>.md5 depend on the deletion of the out of date ones, if GLOB finds any.