Improve shared library building support
[openafs.git] / src / shlibafsrpc / Makefile.in
index eff85b6..dddb5e7 100644 (file)
@@ -1,7 +1,7 @@
 # API version. When something changes, increment as appropriate. 
 # Ignore at your own risk.
 LIBAFSRPCMAJOR=1
-LIBAFSRPCMINOR=1
+LIBAFSRPCMINOR=2
 
 # Copyright 2000, International Business Machines Corporation and others.
 # All Rights Reserved.
@@ -22,14 +22,12 @@ 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
@@ -44,7 +42,9 @@ SYSOBJS =\
 UTILOBJS =\
        assert.o \
        casestrcpy.o \
-       base64.o
+       base64.o \
+       strlcat.o \
+       strlcpy.o
 
 COMERROBJS =\
        error_msg.o \
@@ -56,6 +56,8 @@ 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 \
@@ -138,25 +140,35 @@ LIBOBJS = \
 
 LIBAFSRPC = libafsrpc.${SHLIB_SUFFIX}.${LIBAFSRPCMAJOR}.${LIBAFSRPCMINOR}
 
-all: ${TOP_LIBDIR}/${LIBAFSRPC}
+all: ${TOP_LIBDIR}/${LIBAFSRPC} ${TOP_LIBDIR}/libafsrpc_pic.a
 
 ${TOP_LIBDIR}/${LIBAFSRPC}: ${LIBAFSRPC}
        ../config/shlib-install -d ${TOP_LIBDIR} \
                -l libafsrpc -M ${LIBAFSRPCMAJOR} -m ${LIBAFSRPCMINOR}
 
-install: ${LIBAFSRPC}
+${TOP_LIBDIR}/libafsrpc_pic.a: libafsrpc_pic.a
+       ${INSTALL_DATA} libafsrpc_pic.a $@
+
+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
 
-dest: ${LIBAFSRPC}
+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}: ${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}
 
@@ -167,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}
@@ -197,19 +209,19 @@ 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}
@@ -221,10 +233,10 @@ md5.o: ${RXKAD}/md5.c
        ${CCRULE}
 
 fcrypt.o: ${RXKAD}/domestic/fcrypt.c
-       ${CCRULE}
+       ${CCRULE} -I../rxkad -I${RXKAD}
 
 crypt_conn.o: ${RXKAD}/domestic/crypt_conn.c
-       ${CCRULE}
+       ${CCRULE} -I../rxkad -I${RXKAD}
 
 AFS_component_version_number.o: ${RX}/AFS_component_version_number.c
        ${CCRULE}
@@ -250,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}
 
@@ -296,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
 
@@ -319,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}
@@ -328,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}
@@ -360,13 +375,19 @@ assert.o: ${UTIL}/assert.c
 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_* ) \
@@ -376,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
@@ -408,7 +430,8 @@ afscbint.xdr.o: ${FSINT}/afscbint.xdr.c
        ${CCRULE}
 
 afsaux.o: ${FSINT}/afsaux.c
-       ${CCRULE}
+       ${CCRULE} -I../fsint
 
 clean:
-       $(RM) -f *.o libafsrpc.a* libafsrpc.sl* libafsrpc.so*
+       $(RM) -f *.o libafsrpc.a* libafsrpc.sl* libafsrpc.so* \
+               libafsrpc_pic.a libafsrpc.dylib.* libafsrpc.exp