Because, libfoo.a is NOT always updated, if by "updated" you mean its
time last modified is changed--which is what make cares about.


I thought there was also something about the fact that some commands are actually executed, or not (ie if some commands are executed, the target is flagged as updated whether or not it's timestamp has changed). Is this true?


I have another related question: consider
foo: foo.b
        touch $@

foo.b: foo.d

foo.d:
        touch $@

The first 'make' execution will:
$ make
touch foo.d
touch foo

but the subsequent ones will still:
$ make
touch foo

If I change the 1st rule to "foo: foo.d", then:
$ make
make: `foo' is up to date.

I thought the last change was just a shortcut for the initial sample, with a useless rule removed. What is different?

Thanks,

Christophe.


_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to