libtool: Serialize building libfoo.la and libfoo.a
[openafs.git] / src / libafsrpc / Makefile.in
index b4dda3e..b451e7e 100644 (file)
@@ -9,6 +9,12 @@ srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 include @TOP_OBJDIR@/src/config/Makefile.libtool
 
+# Increment these according to libtool's versioning rules (look them up!)
+# The library output looks like libafsrpc.so.<current - age>.<revision>
+LT_current = 2
+LT_revision = 0
+LT_age = 0
+
 LT_objs = \
        $(top_builddir)/src/fsint/libfsint_pic.la \
        $(top_builddir)/src/rx/librx_pic.la \
@@ -18,14 +24,15 @@ LT_objs = \
        $(top_builddir)/src/util/libafsrpc_util.la \
        $(top_builddir)/src/rxstat/librxstat_pic.la \
        $(top_builddir)/src/sys/libafsrpc_sys.la \
-       $(top_builddir)/src/lwp/liblwpcompat_pic.la
+       $(top_builddir)/src/lwp/liblwpcompat_pic.la \
+       $(top_builddir)/src/opr/libopr_pic.la \
+       @RXGK_LIBS_RPC@
 
-LT_deps = \
-       $(top_builddir)/src/opr/libopr_pic.la
+LT_libs = $(LIB_hcrypto) $(LIB_roken) $(MT_LIBS) $(RXGK_GSSAPI_LIBS)
 
-LT_libs = $(LIB_hcrypto) $(LIB_roken) $(MT_LIBS)
+@SHARED_ONLY@SHARED_LIBS = libafsrpc.la
 
-all: libafsrpc.la libafsrpc_pic.la \
+all: $(SHARED_LIBS) libafsrpc.a libafsrpc_pic.la \
        $(TOP_LIBDIR)/libafsrpc.a \
        $(TOP_LIBDIR)/libafsrpc_pic.a
 
@@ -33,20 +40,22 @@ all: libafsrpc.la libafsrpc_pic.la \
 # there doesn't seem to be any way to get libtool to remember this requirement
 # when it links the libafsrpc_sys.la convenience library.
 
-libafsrpc.la: libafsrpc.la.sym $(LT_objs) $(LT_deps) libafsrpc_pic.la
+libafsrpc.la: libafsrpc.la.sym $(LT_objs) $(LT_deps) libafsrpc_pic.la libafsrpc.a
        @set -e; set -x; case "$(SYS_NAME)" in \
        rs_aix*) \
-           $(LT_LDLIB_shlib) -Wl,-bI:../sys/afsl.exp \
+           $(LT_LDLIB_shlib_only) -Wl,-bI:../sys/afsl.exp \
                $(LT_objs) $(LT_deps) $(LT_libs) ;; \
        *) \
-           $(LT_LDLIB_shlib) $(LT_objs) $(LT_deps) $(LT_libs);; \
+           $(LT_LDLIB_shlib_only) $(LT_objs) $(LT_deps) $(LT_libs);; \
        esac
 
 libafsrpc_pic.la: $(LT_objs)
        $(LT_LDLIB_pic) $(LT_objs)
 
 # AIX needs libafsrpc to also be linked against the syscall import list
-libafsrpc.a: $(LT_objs) libafsrpc.la
+# On most platforms, libtool will make shared and static libraries at the
+# same time, but not on AIX, so we need separate rules.
+libafsrpc.a: $(LT_objs)
        $(LT_LDLIB_static) $(LT_objs)
        @set -e; set -x; case "${SYS_NAME}" in \
            rs_aix*) \
@@ -59,13 +68,17 @@ ${TOP_LIBDIR}/libafsrpc.a: libafsrpc.a
 ${TOP_LIBDIR}/libafsrpc_pic.a: libafsrpc_pic.la
        ${INSTALL_DATA} .libs/libafsrpc_pic.a $@
 
-install: libafsrpc.a libafsrpc_pic.la
+install: $(SHARED_LIBS) libafsrpc.a libafsrpc_pic.la
        ${INSTALL} -d ${DESTDIR}${libdir}
+       @SHARED_ONLY@$(LT_INSTALL_DATA) libafsrpc.la $(DESTDIR)$(libdir)/libafsrpc.la
+       @SHARED_ONLY@$(RM) $(DESTDIR)$(libdir)/libafsrpc.la
        $(INSTALL_DATA) libafsrpc.a $(DESTDIR)$(libdir)/libafsrpc.a
        $(INSTALL_DATA) .libs/libafsrpc_pic.a $(DESTDIR)$(libdir)/libafsrpc_pic.a
 
-dest: libafsrpc.a
+dest: $(SHARED_LIBS) libafsrpc.a
        ${INSTALL} -d ${DEST}/lib
+       @SHARED_ONLY@${LT_INSTALL_DATA} libafsrpc.la ${DEST}/lib/libafsrpc.la
+       @SHARED_ONLY@${RM} ${DEST}/lib/libafsrpc.la
        ${INSTALL_DATA} libafsrpc.a ${DEST}/lib/libafsrpc.a
        ${INSTALL_DATA} .libs/libafsrpc_pic.a ${DEST}/lib/libafsrpc_pic.a