On Thursday, February 9, 2023, Tom Tromey <tom@tromey.com> wrote:
It's been a long time since I worked on automake, but the dependency
tracking in automake is designed not to need to rebuild or pre-build dep
files. Doing that means invoking the compiler twice, which is slow.
Instead, automake computes dependencies as a side effect of compilation.
The hello.Po example presented above computes depfiles as a side effect of
compilation. Moreover, when hello.Po is absent that makefile compiles
hello.o as a side effect of hello.Po computation. In total there is only
one compilation.
What is the scenario where you both end up with an empty depfile and a
compilation that isn't out of date for some other reason? That seems
like it shouldn't be possible.
When a depfile is missing (for any reason) the current automake makefile
creates a dummy depfile. From that point on the user has to notice that
make is no longer tracking dependencies and their build is incorrect.
I am asking if automake can be enhanced to do something similar to hello.Po
example above, in those cases when make supports that.