The build graph has dependencies like:
some/dir/target: some/dir/target-objects
where some/dir/target-objects will build the objects in the directory,
and some/dir/target will link some binary (executable or shared library)
using those objects (and/or objects in other directories).
From that perspective, the rust (static) libraries are more similar to
objects, and we should treat them as such.
This will allow to add the right dependencies to use a in-tree-built tool
to link shared libraries without having building the rust libraries
depend on it just because they are treated as other binaries in the
build graph.