|
|
|
|
|
by nshepperd
4437 days ago
|
|
Huh? Doesn't this work: all: copied o a
source:
echo "message" > source
foo.o foo.a: source
(echo -n ".o: "; cat source) > foo.o
(echo -n ".a: "; cat source) > foo.a
o: foo.o
cat foo.o > o
a: foo.a
cat foo.a > a
copied: foo.o foo.a
cat foo.o foo.a > copied
The third rule simulates a compiler producing two outputs. Now if foo.o changes, both "copied" and "o" will be updated, and if foo.a changes, both "copied" and "a" will be updated. (And if either foo.o or foo.a are deleted, the compiler will be rerun, as will everything depending on foo.a or foo.o.)This is gnu make 4.0. |
|