This way, when an external library is reinstalled, jbuilder knows to
rebuild things.
Currently, because the library dependencies transitive closures are
computed dynamically and jbuilder doesn't yet support dynamic targets,
every single rule has to depend on all the external files.
When jbuilder support dynamic targets, we can setup one alias per
external directory.
Tested the build of 97 Jane Street repository at once. No slow down
observed for the initial build.
Then a null build goes from ~1.5s to 2s. The test case is a bit
extreme so it's bot that bad given the benefits.