add shared-lib example
shared-lib Makefile cleanup