Improve shared library building support
[openafs.git] / src / pam / Makefile.in
index 54e6be5..1955c91 100644 (file)
 # License.  For details, see the LICENSE file in the top-level source
 # directory or online at http://www.openafs.org/dl/license10.html
 
-DESTDIR=@DESTDIR@
-SRCDIR=@SRCDIR@
-TOP_SRCDIR=@TOP_SRCDIR@
-SYS_NAME=@AFS_SYSNAME@
-SHELL=/bin/sh
-KERNELDIR = ../libafs/
-
-include ../config/Makefile.${SYS_NAME}
-
-LIBDIR = ${DESTDIR}/lib/
-  LIBSA = ${LIBDIR}/afs/libprot.a ${LIBDIR}/libubik.a
-AFSLIBS = ${DESTDIR}/lib/librxkad.a        \
-         ${LIBDIR}/afs/libsys.a ${DESTDIR}/lib/libdes.a            \
-         ${LIBDIR}/librx.a ${LIBDIR}/liblwp.a ${LIBDIR}/afs/libaudit.a \
-          ${LIBDIR}/afs/libcmd.a ${LIBDIR}/afs/libcom_err.a ${LIBDIR}/afs/util.a
-
-LDFLAGS = ${SHARE_LDFLAGS}
-   LIBS = ${LIBDIR}/afs/libkauth.a ${LIBSA} ${LIBDIR}/afs/libauth.a \
-         ${AFSLIBS} ${PAMLIBS} @LIB_AFSDB@
-  KLIBS = ${LIBDIR}/afs/libkauth.krb.a ${LIBSA} ${LIBDIR}/afs/libauth.krb.a \
-         ${AFSLIBS} ${PAMLIBS} @LIB_AFSDB@
- SHOBJS = afs_auth.o afs_account.o afs_session.o afs_password.o \
-         afs_pam_msg.o afs_message.o afs_util.o AFS_component_version_number.o
-   OBJS = $(SHOBJS) test_pam.o
-INCLUDES = -I${TOP_SRCDIR}/config -I${DESTDIR}/include \
-       -I/usr/include -I/usr/include/sys
-CFLAGS =  ${DEBUG}  ${INCLUDES} ${PAM_CFLAGS}
+srcdir=@srcdir@
+include @TOP_OBJDIR@/src/config/Makefile.config
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
 
-TARGETS = pam_afs.so.1 test_pam pam_afs.krb.so.1
 
-include ../config/Makefile.version
+  LIBSA = ${TOP_LIBDIR}/libprot.a ${TOP_LIBDIR}/libubik.a
+AFSLIBS = ${TOP_LIBDIR}/librxkad.a ${TOP_LIBDIR}/libsys.a \
+         ${TOP_LIBDIR}/libdes.a ${TOP_LIBDIR}/librx.a \
+         ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/libaudit.a \
+          ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/libcom_err.a \
+         ${TOP_LIBDIR}/util.a
+
+LDFLAGS = ${SHLIB_LDFLAGS}
+   LIBS = ${TOP_LIBDIR}/libafsauthent_pic.a ${TOP_LIBDIR}/libafsrpc_pic.a \
+         ${PAM_LIBS} @LIB_AFSDB@ ${MT_LIBS}
+  KLIBS = ktc_krb.o ${TOP_LIBDIR}/libafsauthent_pic.a \
+         ${TOP_LIBDIR}/libafsrpc_pic.a ${PAM_LIBS} @LIB_AFSDB@ ${MT_LIBS}
+ SHOBJS = afs_account.o afs_session.o afs_password.o \
+         afs_pam_msg.o afs_message.o AFS_component_version_number.o
+   OBJS = $(SHOBJS) test_pam.o
+INCLUDES=-I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} 
+CFLAGS =  ${PAM_DBG} ${PAM_OPTMZ} ${INCLUDES} ${PAM_CFLAGS}
 
-system all: $(TARGETS)
+all: test_pam pam_afs.so.1 pam_afs.krb.so.1
 
 afs_setcred.o: afs_setcred.c afs_pam_msg.h afs_message.h afs_util.h
-       ${CC} ${CFLAGS} -c afs_setcred.c -o afs_setcred.o
+       ${CC} ${CFLAGS} -c ${srcdir}/afs_setcred.c -o afs_setcred.o
 
 afs_setcred_krb.o: afs_setcred.c afs_pam_msg.h afs_message.h afs_util.h
-       ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c afs_setcred.c -o afs_setcred_krb.o
+       ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_setcred.c -o afs_setcred_krb.o
 
-pam_afs.so.1: $(SHOBJS) afs_setcred.o
-       set -x; \
-       case "$(SYS_NAME)" in \
-       hp_ux*) \
-               $(LD) $(LDFLAGS) -c mapfile.hp -o $@ afs_setcred.o \
-                       $(SHOBJS) $(LIBS) ;; \
-       sun*_5*) \
-               $(LD) $(LDFLAGS) -M mapfile -o $@ afs_setcred.o \
-                       $(SHOBJS) $(LIBS) ;; \
-       *linux*) \
-               $(CC) $(LDFLAGS) -o $@ afs_setcred.o $(SHOBJS) $(LIBS) ;;\
-       *fbsd*) \
-               $(CC) $(LDFLAGS) -o $@ afs_setcred.o $(SHOBJS) $(LIBS) ;;\
-       * ) \
-               echo No link line for system $(SYS_NAME). ;; \
-       esac
+afs_auth.o: afs_auth.c afs_pam_msg.h afs_message.h afs_util.h
+       ${CC} ${CFLAGS} -c ${srcdir}/afs_auth.c -o afs_auth.o
 
-pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o
-       set -x; \
-       case "$(SYS_NAME)" in \
-       hp_ux*) \
-               $(LD) $(LDFLAGS) -c mapfile.hp -o $@ \
-                       afs_setcred_krb.o $(SHOBJS) $(LDFLAGS) $(KLIBS) ;; \
-       sun*_5*) \
-               $(LD) $(LDFLAGS) -M mapfile -o $@ \
-                       afs_setcred_krb.o $(SHOBJS) $(LDFLAGS) $(KLIBS) ;; \
-       *linux*) \
-               $(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o $(SHOBJS) $(KLIBS) ;;\
-       *fbsd*) \
-               $(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o $(SHOBJS) $(KLIBS) ;;\
-       * ) \
-               echo No link line for system $(SYS_NAME). ;; \
-       esac
+afs_auth_krb.o: afs_auth.c afs_pam_msg.h afs_message.h afs_util.h
+       ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_auth.c -o afs_auth_krb.o
+
+afs_util.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h
+       ${CC} ${CFLAGS} -c ${srcdir}/afs_util.c -o afs_util.o
+
+afs_util_krb.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h
+       ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_util.c -o afs_util_krb.o
+
+ktc_krb.o: ${srcdir}/../auth/ktc.c ${TOP_INCDIR}/afs/cellconfig.h \
+               ${TOP_INCDIR}/afs/auth.h ${srcdir}/../auth/keys.h \
+               ${TOP_INCDIR}/afs/vice.h
+       ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/../auth/ktc.c -o $@
+
+pam_afs.so.1: $(SHOBJS) afs_setcred.o afs_auth.o afs_util.o \
+               ${TOP_LIBDIR}/libafsauthent_pic.a \
+               ${TOP_LIBDIR}/libafsrpc_pic.a \
+               pam_afs.map
+       ../config/shlib-build -d $(srcdir) -f pam_afs.so.1 -l pam_afs -- \
+               afs_setcred.o afs_auth.o afs_util.o ${SHOBJS} ${LIBS}
+
+pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o \
+               ktc_krb.o ${TOP_LIBDIR}/libafsauthent_pic.a \
+               ${TOP_LIBDIR}/libafsrpc_pic.a \
+               pam_afs.map
+       ../config/shlib-build -d $(srcdir) -f pam_afs.krb.so.1 -l pam_afs -- \
+               afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o \
+               ${SHOBJS} ${KLIBS}
 
 test_pam: test_pam.o
        set -x; \
        case "$(SYS_NAME)" in \
-       hp_ux*) \
-               $(CC) $(CFLAGS) -o $@ test_pam.o ${PAMLIBS};; \
+       hp_ux* | ia64_hpux*) \
+               $(CC) $(CFLAGS) -o $@ test_pam.o ${PAM_LIBS};; \
        sun*_5*) \
-               $(CC) $(CFLAGS) -o $@ test_pam.o ${PAMLIBS};; \
+               $(CC) $(CFLAGS) -o $@ test_pam.o ${PAM_LIBS};; \
        *linux*) \
                $(CC) $(CFLAGS) -rdynamic -o $@ test_pam.o -lpam -ldl;; \
-       *fbsd*) \
+       *fbsd*| *nbsd*) \
                $(CC) $(CFLAGS) -rdynamic -o $@ test_pam.o -lpam ;; \
        *) \
                echo No link line for system $(SYS_NAME). ;; \
        esac
 
-clean:
-       /bin/rm -f $(TARGETS) $(OBJS) afs_setcred.o afs_setcred_krb.o core *~ AFS_component_version_number.c
+install: pam_afs.so.1 pam_afs.krb.so.1
+       ${INSTALL} -d ${DESTDIR}${libdir}
+       ${INSTALL_DATA} pam_afs.so.1 ${DESTDIR}${libdir}/pam_afs.so.1
+       ${INSTALL_DATA} pam_afs.krb.so.1 ${DESTDIR}${libdir}/pam_afs.krb.so.1
 
-install:       all
-       ${INSTALL} -s pam_afs.so.1 ${DESTDIR}/lib/pam_afs.so.1
-       ${INSTALL} -s pam_afs.krb.so.1 ${DESTDIR}/lib/pam_afs.krb.so.1
+dest: pam_afs.so.1 pam_afs.krb.so.1
+       ${INSTALL} -d ${DEST}/lib
+       ${INSTALL_DATA} pam_afs.so.1 ${DEST}/lib/pam_afs.so.1
+       ${INSTALL_DATA} pam_afs.krb.so.1 ${DEST}/lib/pam_afs.krb.so.1
 
-afs_auth.o: afs_auth.c afs_pam_msg.h afs_message.h afs_util.h
 afs_pam_msg.o: afs_pam_msg.c afs_pam_msg.h afs_message.h
 afs_message.o: afs_message.c afs_message.h
-afs_util.o: afs_util.c afs_util.h
+
+#
+# Misc. targets
+#
+clean:
+       $(RM) -f *.a *.o *.so.1 test_pam core *~ \
+               AFS_component_version_number.c pam_afs.exp
+
+include ../config/Makefile.version