Improve shared library building support
[openafs.git] / src / shlibafsrpc / Makefile.in
index cbe5107..dddb5e7 100644 (file)
@@ -1,7 +1,7 @@
 # API version. When something changes, increment as appropriate. 
 # Ignore at your own risk.
 LIBAFSRPCMAJOR=1
-LIBAFSRPCMINOR=0
+LIBAFSRPCMINOR=2
 
 # Copyright 2000, International Business Machines Corporation and others.
 # All Rights Reserved.
@@ -16,29 +16,35 @@ LIBAFSRPCMINOR=0
 
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
 
 CC=${MT_CC}
-INCLUDES=-I.. -I${srcdir}/../rx -I${srcdir}../des -I../des \
-       -I../rxkad -I${srcdir}/../rxkad -I../rxstat -I../fsint
-CFLAGS = ${COMMON_CFLAGS} ${INCLUDES} -DRXDEBUG ${MT_CFLAGS} ${SHLIB_CFLAGS}
+CFLAGS = ${COMMON_CFLAGS} -DRXDEBUG ${MT_CFLAGS} ${SHLIB_CFLAGS}
 SFLAGS=-P -I${TOP_INCDIR}
 
 RX = ../rx
 CCRULE = ${CC} ${CFLAGS} -c $?
-RXKAD = ../rxkad
+RXKAD = $(srcdir)/../rxkad
 RXSTAT = ../rxstat
 FSINT = ../fsint
 DES = ../des
 COMERR = ../comerr
 UTIL = ../util
 SYS = ${srcdir}/../sys
+LWP = ${srcdir}/../lwp
 
 SYSOBJS =\
        syscall.o
 
 UTILOBJS =\
+       assert.o \
        casestrcpy.o \
-       base64.o
+       base64.o \
+       strlcat.o \
+       strlcpy.o
 
 COMERROBJS =\
        error_msg.o \
@@ -50,9 +56,13 @@ XDROBJS =\
        xdr_array.o \
        xdr_arrayn.o \
        xdr_rx.o \
+       xdr_mem.o \
+       xdr_len.o \
        xdr_int32.o \
        xdr_int64.o \
        xdr_afsuuid.o \
+       xdr_update.o \
+       xdr_refernce.o \
        AFS_component_version_number.o
 
 RXOBJS =\
@@ -90,6 +100,8 @@ RXKADOBJS =\
        ticket.o \
        ticket5.o \
        crc.o \
+       md4.o \
+       md5.o \
        fcrypt.o \
        crypt_conn.o
 
@@ -110,6 +122,9 @@ DESOBJS =\
 
 CRYPT_OBJ = crypt.o
 
+LWPOBJS = \
+       fasttime.o
+
 LIBOBJS = \
        ${RXOBJS} \
        ${DESOBJS} \
@@ -120,29 +135,39 @@ LIBOBJS = \
        ${SYSOBJS} \
        ${CRYPT_OBJ} \
        ${RXSTATOBJS} \
+       ${LWPOBJS} \
        ${FSINTOBJS}
 
 LIBAFSRPC = libafsrpc.${SHLIB_SUFFIX}.${LIBAFSRPCMAJOR}.${LIBAFSRPCMINOR}
 
-all: ${TOP_LIBDIR}/${LIBAFSRPC} ${TOP_LIBDIR}/libafsrpc.${SHLIB_SUFFIX}
+all: ${TOP_LIBDIR}/${LIBAFSRPC} ${TOP_LIBDIR}/libafsrpc_pic.a
 
-install: ${DESTDIR}${libdir}/${LIBAFSRPC} ${DESTDIR}${libdir}/libafsrpc.${SHLIB_SUFFIX}
+${TOP_LIBDIR}/${LIBAFSRPC}: ${LIBAFSRPC}
+       ../config/shlib-install -d ${TOP_LIBDIR} \
+               -l libafsrpc -M ${LIBAFSRPCMAJOR} -m ${LIBAFSRPCMINOR}
 
-${DEST}/lib/${LIBAFSRPC}: ${LIBAFSRPC}
-       ${INSTALL} ${LIBAFSRPC} ${DEST}/lib/${LIBAFSRPC}
+${TOP_LIBDIR}/libafsrpc_pic.a: libafsrpc_pic.a
+       ${INSTALL_DATA} libafsrpc_pic.a $@
 
-${DEST}/lib/libafsrpc.${SHLIB_SUFFIX}: ${DEST}/lib/${LIBAFSRPC}
-       -ln -f -s ${LIBAFSRPC} ${DEST}/lib/libafsrpc.${SHLIB_SUFFIX}
+install: ${LIBAFSRPC} libafsrpc_pic.a
+       ../config/shlib-install -d ${DESTDIR}${libdir} \
+               -l libafsrpc -M ${LIBAFSRPCMAJOR} -m ${LIBAFSRPCMINOR}
+       ${INSTALL_DATA} libafsrpc_pic.a ${DESTDIR}${libdir}/libafsrpc_pic.a
 
-${LIBAFSRPC}: ${LIBOBJS}
-       case ${SYS_NAME} in \
-       rs_aix4* | rs_aix5*) \
-               ${SHLIB_LINKER} -o ${LIBAFSRPC} ${LIBOBJS} -bE:${srcdir}/afsrpc.exp ${MT_LIBS};; \
-       sun*_5*) \
-               ${SHLIB_LINKER} -h ${LIBAFSRPC} -o ${LIBAFSRPC} ${LIBOBJS} ${MT_LIBS};; \
-       *) \
-               ${SHLIB_LINKER} -o ${LIBAFSRPC} ${LIBOBJS} ${MT_LIBS};; \
-       esac
+dest: ${LIBAFSRPC} libafsrpc_pic.a
+       ../config/shlib-install -d ${DEST}/lib \
+               -l libafsrpc -M ${LIBAFSRPCMAJOR} -m ${LIBAFSRPCMINOR}
+       ${INSTALL_DATA} libafsrpc_pic.a ${DEST}/lib/libafsrpc_pic.a
+
+${LIBAFSRPC}: ${LIBOBJS} libafsrpc.map
+       ../config/shlib-build -d $(srcdir) -l libafsrpc \
+               -M ${LIBAFSRPCMAJOR} -m ${LIBAFSRPCMINOR} -- \
+               ${LIBOBJS} ${MT_LIBS}
+
+libafsrpc_pic.a: ${LIBOBJS}
+       $(RM) -f $@
+       $(AR) crv $@ ${LIBOBJS}
+       $(RANLIB) $@
 
 rx_event.o: ${RX}/rx_event.c
        ${CCRULE}
@@ -154,7 +179,7 @@ rx_pthread.o: ${RX}/rx_pthread.c
        ${CCRULE}
 
 rx.o: ${RX}/rx.c
-       ${CCRULE}
+       ${CCRULE} @CFLAGS_NOERROR@
 
 rx_conncache.o: ${RX}/rx_conncache.c
        ${CCRULE}
@@ -184,29 +209,35 @@ rx_multi.o: ${RX}/rx_multi.c
        ${CCRULE}
 
 rxkad_client.o: ${RXKAD}/rxkad_client.c
-       ${CCRULE}
+       ${CCRULE} -I../rxkad
 
 rxkad_server.o: ${RXKAD}/rxkad_server.c
-       ${CCRULE}
+       ${CCRULE} -I../rxkad
 
 rxkad_common.o: ${RXKAD}/rxkad_common.c
-       ${CCRULE}
+       ${CCRULE} -I../rxkad
 
 ticket.o: ${RXKAD}/ticket.c
-       ${CCRULE}
+       ${CCRULE} -I ../rxkad
 
 ticket5.o: ${RXKAD}/ticket5.c
-       ${CCRULE}
+       ${CCRULE} -I../rxkad -I${RXKAD}
 
 crc.o: ${RXKAD}/crc.c
        ${CCRULE}
 
-fcrypt.o: ${RXKAD}/fcrypt.c
+md4.o: ${RXKAD}/md4.c
        ${CCRULE}
 
-crypt_conn.o: ${RXKAD}/crypt_conn.c
+md5.o: ${RXKAD}/md5.c
        ${CCRULE}
 
+fcrypt.o: ${RXKAD}/domestic/fcrypt.c
+       ${CCRULE} -I../rxkad -I${RXKAD}
+
+crypt_conn.o: ${RXKAD}/domestic/crypt_conn.c
+       ${CCRULE} -I../rxkad -I${RXKAD}
+
 AFS_component_version_number.o: ${RX}/AFS_component_version_number.c
        ${CCRULE}
 
@@ -231,6 +262,9 @@ xdr_float.o: ${RX}/xdr_float.c
 xdr_mem.o: ${RX}/xdr_mem.c
        ${CCRULE}
 
+xdr_len.o: ${RX}/xdr_len.c
+       ${CCRULE}
+
 xdr_rec.o: ${RX}/xdr_rec.c
        ${CCRULE}
 
@@ -277,10 +311,10 @@ des.o: ${DES}/des.c
        case ${SYS_NAME} in \
        hp_ux11*) \
                set X `echo ${CCRULE} | sed s/-g//`; shift; \
-               "$$@" \
+               "-I../des $$@" \
                ;; \
        *) \
-               ${CCRULE} \
+               ${CCRULE} -I../des \
                ;; \
        esac
 
@@ -300,7 +334,7 @@ new_rnd_key.o: ${DES}/new_rnd_key.c
        ${CCRULE}
 
 key_sched.o: ${DES}/key_sched.c
-       ${CCRULE}
+       ${CCRULE} -I../des
 
 debug_decl.o: ${DES}/debug_decl.c
        ${CCRULE}
@@ -309,7 +343,7 @@ quad_cksum.o: ${DES}/quad_cksum.c
        ${CCRULE}
 
 key_parity.o: ${DES}/key_parity.c
-       ${CCRULE}
+       ${CCRULE} -I../des
 
 weak_key.o: ${DES}/weak_key.c
        ${CCRULE}
@@ -335,13 +369,25 @@ com_err.o: ${COMERR}/com_err.c
 casestrcpy.o: ${UTIL}/casestrcpy.c
        ${CCRULE}
 
+assert.o: ${UTIL}/assert.c
+       ${CCRULE}
+
 base64.o: ${UTIL}/base64.c
        ${CCRULE}
 
+strlcat.o: ${UTIL}/strlcat.c
+       ${CCRULE}
+
+strlcpy.o: ${UTIL}/strlcpy.c
+       ${CCRULE}
+
+fasttime.o: ${LWP}/fasttime.c
+       ${CCRULE} ${LWP}/fasttime.c
+
 syscall.o: ${SYS}/syscall.s
        case "$(SYS_NAME)" in \
             sun4x_5* | sunx86_5*) \
-               /usr/ccs/lib/cpp  ${SFLAGS} ${SYS}/syscall.s syscall.ss; \
+               $(PATH_CPP)  ${SFLAGS} ${SYS}/syscall.s > syscall.ss; \
                as -o syscall.o syscall.ss;             \
                $(RM) syscall.ss;;                              \
         sgi_* | *_darwin_* ) \
@@ -351,9 +397,10 @@ syscall.o: ${SYS}/syscall.s
                ${AS} -o syscall.o syscall.i; \
                $(RM) -f syscall.ss syscall.i;; \
         *fbsd* ) \
-               touch syscall.o ;; \
+               touch syscall.c ; \
+                ${CC} ${CFLAGS} -c syscall.c;; \
         *) \
-               /lib/cpp  ${SFLAGS} ${SYS}/syscall.s syscall.ss; \
+               $(PATH_CPP) ${SFLAGS} ${SYS}/syscall.s > syscall.ss; \
                as -o syscall.o syscall.ss;             \
                $(RM) syscall.ss;;                              \
        esac
@@ -383,22 +430,8 @@ afscbint.xdr.o: ${FSINT}/afscbint.xdr.c
        ${CCRULE}
 
 afsaux.o: ${FSINT}/afsaux.c
-       ${CCRULE}
+       ${CCRULE} -I../fsint
 
 clean:
-       $(RM) -f *.o libafsrpc*
-
-${DESTDIR}${libdir}/${LIBAFSRPC}: ${LIBAFSRPC}
-       ${INSTALL} ${LIBAFSRPC} ${DESTDIR}${libdir}/${LIBAFSRPC}
-
-${DESTDIR}${libdir}/libafsrpc.${SHLIB_SUFFIX}: ${DESTDIR}${libdir}/${LIBAFSRPC}
-       -ln -f -s ${LIBAFSRPC} ${DESTDIR}${libdir}/libafsrpc.${SHLIB_SUFFIX}
-
-${TOP_LIBDIR}/${LIBAFSRPC}: ${LIBAFSRPC}
-       ${INSTALL} ${LIBAFSRPC} ${TOP_LIBDIR}/${LIBAFSRPC}
-
-${TOP_LIBDIR}/libafsrpc.${SHLIB_SUFFIX}: ${TOP_LIBDIR}/${LIBAFSRPC}
-       -ln -f -s ${LIBAFSRPC} ${TOP_LIBDIR}/libafsrpc.${SHLIB_SUFFIX}
-
-dest: ${DEST}/lib/${LIBAFSRPC} ${DEST}/lib/libafsrpc.${SHLIB_SUFFIX}
-
+       $(RM) -f *.o libafsrpc.a* libafsrpc.sl* libafsrpc.so* \
+               libafsrpc_pic.a libafsrpc.dylib.* libafsrpc.exp