diff --git Makefile Makefile
index 3a72783..f80def4 100644
--- Makefile
+++ Makefile
@@ -261,11 +261,11 @@ benchmark/local_solver:
 
 ${TOP_DIR}/${LIB_DIR}/lib%.${EXTENSION_LIB}: interface/%.cpp ${TOP_DIR}/${TRASH_DIR}/lib%.d ${TOP_DIR}/${TRASH_DIR}/compiler_flags_cpp
 	@if [ "$<" = "interface/hpddm_python.cpp" ]; then \
-		echo ${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} ${PYTHON_INCS} -shared $< -o $@ ${LIBS} ${PYTHON_LIBS}; \
-		${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} ${PYTHON_INCS} -shared $< -o $@ ${LIBS} ${PYTHON_LIBS}; \
+		echo ${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} ${PYTHON_INCS} -dynamiclib -install_name $(PREFIX)/lib/$(notdir $@) -current_version $(VERSION) -compatibility_version $(CVERSION) $< -o $@ ${LIBS} ${PYTHON_LIBS}; \
+		${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} ${PYTHON_INCS} -dynamiclib -install_name $(PREFIX)/lib/$(notdir $@) -current_version $(VERSION) -compatibility_version $(CVERSION) $< -o $@ ${LIBS} ${PYTHON_LIBS}; \
 	else \
-		echo ${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} -shared $< -o $@ ${LIBS}; \
-		${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} -shared $< -o $@ ${LIBS}; \
+		echo ${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} -dynamiclib -install_name $(PREFIX)/lib/$(notdir $@) -current_version $(VERSION) -compatibility_version $(CVERSION) $< -o $@ ${LIBS}; \
+		${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} -dynamiclib -install_name $(PREFIX)/lib/$(notdir $@) -current_version $(VERSION) -compatibility_version $(CVERSION) $< -o $@ ${LIBS}; \
 	fi
 	${POSTCOMPILE}
 
