tech-toolchain archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: make dependency on parts of a file
On Fri, Apr 04, 2014 at 01:51:09PM +0200, Edgar Fu? wrote:
> Suppose I have a file A and another file B depending on only parts
> of A. That is, if (the time stamp of) A changes, it is quite
> likely that B (derived from A) will not. Suppose it's cheap to
> build B from A (or to check whether B actually changed). Then
> suppose there's C, which depends on B but is expensive to build.
>
> Is there a sane way to rebuild C only if the relevant parts of A changed?
Not that tidily, but you can do something like this:
all: C
B: A
$(MKB) A
B.reference: B
if diff -q B.reference B; then cp B B.reference; fi
C: B.reference
$(MKC) B.reference
If that doesn't work, you can also do
all: B.reference
B: A
$(MKB) A
B.reference: B
if diff -q B.reference B; then cp B B.reference && $(MAKE) C; fi
C: B
$(MKC) B
The netbsd build does something like this for installing header files;
I don't remember offhand if it's a mess or a decent example.
--
David A. Holland
dholland%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index