I have a project that builds several artefacts, including shared libraries, static libraries, and unit-test executables. Most of the targets in that Makefile use Google's Protocol Buffers, which is built in a submodule of that project.
Now almost all targets of that Makefile require Protocol Buffers to be built, but having to add a prerequisite to all targets seems tedious. So is there a way to specify that a target in a Makefile should always exist before building any other target?