-build-shared: clean-shared do_$(SHLIB_TARGET) link-shared
-
-do_bsd-gcc-shared: linux-shared
-do_linux-shared:
- libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
- ( set -x; ${CC} -shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
- -Wl,-S,-soname=lib$$i.so.${SHLIB_MAJOR} \
- -Wl,--whole-archive lib$$i.a \
- -Wl,--no-whole-archive $$libs ${EX_LIBS} -lc ) || exit 1; \
- libs="$$libs -L. -l$$i"; \
- done
-
-# This assumes that GNU utilities are *not* used
-do_true64-shared:
- libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
- ( set -x; ${CC} -shared -no_archive -o lib$$i.so \
- -set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}" \
- -all lib$$i.a -none $$libs ${EX_LIBS} -lc ) || exit 1; \
- libs="$$libs -L. -l$$i"; \
- done
-
-# This assumes that GNU utilities are *not* used
-do_solaris-shared:
- libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
- ( set -x; ${CC} -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
- -h lib$$i.so.${SHLIB_MAJOR} \
- -z allextract lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
- libs="$$libs -L. -l$$i"; \
+link-shared:
+ @ for i in ${SHLIBDIRS}; do \
+ $(NEWMAKE) -f Makefile.shared \
+ LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
+ LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
+ symlink.$(SHLIB_TARGET); \
+ libs="$$libs -l$$i"; \