The module and build dependencies for each platform shared library and static binary are
essentially the same. They have simply been copied over and over again.
This change creates a common makefile infrastructure that is used to build each platform.
This allows the dependencies of the higher layer ONLP code to be managed in a single place
as well as coordinate code configuration and link libraries.