What those flags do is build both shared libraries and static libraries, they don't try and make a single library both static and shared.
As you say, they are "mutually exclusive" in a sense--no single file can be both a static and shared library.
On a Linux system enabling both static and shared library compilation would give you both a *.a and a *.so file, the *.so file is used for dynamic (shared) linking, while the *.a file is used for static linking.