Ensure PAM modules are built PIC and pthread-aware where needed
[openafs.git] / src / pam / Makefile.in
1 # Copyright 2000, International Business Machines Corporation and others.
2 # All Rights Reserved.
3
4 # This software has been released under the terms of the IBM Public
5 # License.  For details, see the LICENSE file in the top-level source
6 # directory or online at http://www.openafs.org/dl/license10.html
7
8 srcdir=@srcdir@
9 include @TOP_OBJDIR@/src/config/Makefile.config
10 INSTALL = @INSTALL@
11 INSTALL_DATA = @INSTALL_DATA@
12 INSTALL_PROGRAM = @INSTALL_PROGRAM@
13 INSTALL_SCRIPT = @INSTALL_SCRIPT@
14
15
16   LIBSA = ${TOP_LIBDIR}/libprot.a ${TOP_LIBDIR}/libubik.a
17 AFSLIBS = ${TOP_LIBDIR}/librxkad.a ${TOP_LIBDIR}/libsys.a \
18           ${TOP_LIBDIR}/libdes.a ${TOP_LIBDIR}/librx.a \
19           ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/libaudit.a \
20           ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/libcom_err.a \
21           ${TOP_LIBDIR}/util.a
22
23 LDFLAGS = ${SHLIB_LDFLAGS}
24    LIBS = ${TOP_LIBDIR}/libafsauthent_pic.a ${TOP_LIBDIR}/libafsrpc_pic.a \
25           ${PAM_LIBS} @LIB_AFSDB@ ${MT_LIBS}
26   KLIBS = ktc_krb.o ${TOP_LIBDIR}/libafsauthent_pic.a \
27           ${TOP_LIBDIR}/libafsrpc_pic.a ${PAM_LIBS} @LIB_AFSDB@ ${MT_LIBS}
28  SHOBJS = afs_account.o afs_session.o afs_password.o \
29           afs_pam_msg.o afs_message.o AFS_component_version_number.o
30    OBJS = $(SHOBJS) test_pam.o
31 INCLUDES=-I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} 
32 CFLAGS =  ${PAM_DBG} ${PAM_OPTMZ} ${INCLUDES} ${PAM_CFLAGS}
33
34 all: test_pam pam_afs.so.1 pam_afs.krb.so.1
35
36 afs_setcred.o: afs_setcred.c afs_pam_msg.h afs_message.h afs_util.h
37         ${CC} ${CFLAGS} -c ${srcdir}/afs_setcred.c -o afs_setcred.o
38
39 afs_setcred_krb.o: afs_setcred.c afs_pam_msg.h afs_message.h afs_util.h
40         ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_setcred.c -o afs_setcred_krb.o
41
42 afs_auth.o: afs_auth.c afs_pam_msg.h afs_message.h afs_util.h
43         ${CC} ${CFLAGS} -c ${srcdir}/afs_auth.c -o afs_auth.o
44
45 afs_auth_krb.o: afs_auth.c afs_pam_msg.h afs_message.h afs_util.h
46         ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_auth.c -o afs_auth_krb.o
47
48 afs_util.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h
49         ${CC} ${CFLAGS} -c ${srcdir}/afs_util.c -o afs_util.o
50
51 afs_util_krb.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h
52         ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/afs_util.c -o afs_util_krb.o
53
54 ktc_krb.o: ${srcdir}/../auth/ktc.c ${srcdir}/../auth/cellconfig.h \
55                 ${srcdir}/../auth/auth.h ${srcdir}/../auth/keys.h \
56                 ${TOP_INCDIR}/afs/vice.h
57         ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/../auth/ktc.c -o $@
58
59 pam_afs.so.1: $(SHOBJS) afs_setcred.o afs_auth.o afs_util.o \
60                 ${TOP_LIBDIR}/libafsauthent_pic.a ${TOP_LIBDIR}/libafsrpc_pic.a
61         ../config/shlib-build -d $(srcdir) -f pam_afs.so.1 -l pam_afs -- \
62                 afs_setcred.o afs_auth.o afs_util.o ${SHOBJS} ${LIBS}
63
64 pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o \
65                 ktc_krb.o ${TOP_LIBDIR}/libafsauthent_pic.a \
66                 ${TOP_LIBDIR}/libafsrpc_pic.a
67         ../config/shlib-build -d $(srcdir) -f pam_afs.krb.so.1 -l pam_afs -- \
68                 afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o \
69                 ${SHOBJS} ${KLIBS}
70
71 test_pam: test_pam.o
72         set -x; \
73         case "$(SYS_NAME)" in \
74         hp_ux* | ia64_hpux*) \
75                 $(CC) $(CFLAGS) -o $@ test_pam.o ${PAM_LIBS};; \
76         sun*_5*) \
77                 $(CC) $(CFLAGS) -o $@ test_pam.o ${PAM_LIBS};; \
78         *linux*) \
79                 $(CC) $(CFLAGS) -rdynamic -o $@ test_pam.o -lpam -ldl;; \
80         *fbsd*| *nbsd*) \
81                 $(CC) $(CFLAGS) -rdynamic -o $@ test_pam.o -lpam ;; \
82         *) \
83                 echo No link line for system $(SYS_NAME). ;; \
84         esac
85
86 install: pam_afs.so.1 pam_afs.krb.so.1
87         ${INSTALL} -d ${DESTDIR}${libdir}
88         ${INSTALL_DATA} pam_afs.so.1 ${DESTDIR}${libdir}/pam_afs.so.1
89         ${INSTALL_DATA} pam_afs.krb.so.1 ${DESTDIR}${libdir}/pam_afs.krb.so.1
90
91 dest: pam_afs.so.1 pam_afs.krb.so.1
92         ${INSTALL} -d ${DEST}/lib
93         ${INSTALL_DATA} pam_afs.so.1 ${DEST}/lib/pam_afs.so.1
94         ${INSTALL_DATA} pam_afs.krb.so.1 ${DEST}/lib/pam_afs.krb.so.1
95
96 afs_pam_msg.o: afs_pam_msg.c afs_pam_msg.h afs_message.h
97 afs_message.o: afs_message.c afs_message.h
98
99 #
100 # Misc. targets
101 #
102 clean:
103         $(RM) -f *.a *.o *.so.1 test_pam core *~ AFS_component_version_number.c
104
105 include ../config/Makefile.version