Remove a misplaced ln command.
Put all the details about shared libraries into variables.

Now the same templated rule can build both os x and linux
shared library.