gcc -s

This will be used to link .o files into an executable.

use -shared -Wl,-soname, to generate dynamic library
you may need to use -Wl,export-dynamic for reverse dependencies
use -Wl,-rpath,PATH for library client program during developement