Unix: Rework build system
[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    LIBS = ${TOP_LIBDIR}/libafsauthent_pic.a ${TOP_LIBDIR}/libafsrpc_pic.a \
16           ${PAM_LIBS} @LIB_AFSDB@ ${MT_LIBS}
17   KLIBS = ktc_krb.o ${TOP_LIBDIR}/libafsauthent_pic.a \
18           ${TOP_LIBDIR}/libafsrpc_pic.a ${PAM_LIBS} @LIB_AFSDB@ ${MT_LIBS}
19  SHOBJS = afs_account.o afs_session.o afs_password.o \
20           afs_pam_msg.o afs_message.o AFS_component_version_number.o
21    OBJS = $(SHOBJS) test_pam.o
22 INCLUDES=-I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} 
23
24
25 AFS_CCRULE= $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$(@)) \
26                 ${PAM_DBG} ${PAM_OPTMZ} \
27                 ${INCLUDES} ${PAM_CFLAGS} -c -o $@
28
29 .c.o:
30         $(AFS_CCRULE) $<
31
32 all: test_pam pam_afs.so.1 pam_afs.krb.so.1
33
34 CFLAGS_afs_setcred_krb.o = -DAFS_KERBEROS_ENV
35 CFLAGS_afs_auth_krb.o   = -DAFS_KERBEROS_ENV
36 CFLAGS_afs_util_krb.o   = -DAFS_KERBEROS_ENV
37 CFLAGS_ktc_krb.o        = -DAFS_KERBEROS_ENV -I../auth
38
39 afs_setcred.o: afs_setcred.c afs_pam_msg.h afs_message.h afs_util.h
40
41 afs_setcred_krb.o: afs_setcred.c afs_pam_msg.h afs_message.h afs_util.h
42         $(AFS_CCRULE) $(srcdir)/afs_setcred.c
43
44 afs_auth.o: afs_auth.c afs_pam_msg.h afs_message.h afs_util.h
45
46 afs_auth_krb.o: afs_auth.c afs_pam_msg.h afs_message.h afs_util.h
47         $(AFS_CCRULE) $(srcdir)/afs_auth.c
48
49 afs_util.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h
50
51 afs_util_krb.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h
52         $(AFS_CCRULE) $(srcdir)/afs_util.c
53
54 ktc_krb.o: ${srcdir}/../auth/ktc.c ${TOP_INCDIR}/afs/cellconfig.h \
55                 ${TOP_INCDIR}/afs/auth.h ${srcdir}/../auth/keys.h \
56                 ${TOP_INCDIR}/afs/vice.h
57         $(AFS_CCRULE) $(srcdir)/../auth/ktc.c
58
59 pam_afs.so.1: $(SHOBJS) afs_setcred.o afs_auth.o afs_util.o \
60                 ${TOP_LIBDIR}/libafsauthent_pic.a \
61                 ${TOP_LIBDIR}/libafsrpc_pic.a \
62                 pam_afs.map
63         ../config/shlib-build -d $(srcdir) -f pam_afs.so.1 -l pam_afs -- \
64                 afs_setcred.o afs_auth.o afs_util.o ${SHOBJS} ${LIBS}
65
66 pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o \
67                 ktc_krb.o ${TOP_LIBDIR}/libafsauthent_pic.a \
68                 ${TOP_LIBDIR}/libafsrpc_pic.a \
69                 pam_afs.map
70         ../config/shlib-build -d $(srcdir) -f pam_afs.krb.so.1 -l pam_afs -- \
71                 afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o \
72                 ${SHOBJS} ${KLIBS}
73
74 test_pam: test_pam.o
75         set -x; \
76         case "$(SYS_NAME)" in \
77         hp_ux* | ia64_hpux*) \
78                 $(AFS_LDRULE) test_pam.o ${PAM_LIBS};; \
79         sun*_5*) \
80                 $(AFS_LDRULE) test_pam.o ${PAM_LIBS};; \
81         *linux*) \
82                 $(AFS_LDRULE) -rdynamic test_pam.o -lpam -ldl;; \
83         *fbsd*| *nbsd*) \
84                 $(AFS_LDRULE) -rdynamic test_pam.o -lpam ;; \
85         *) \
86                 echo No link line for system $(SYS_NAME). ;; \
87         esac
88
89 install: pam_afs.so.1 pam_afs.krb.so.1
90         ${INSTALL} -d ${DESTDIR}${libdir}
91         ${INSTALL_DATA} pam_afs.so.1 ${DESTDIR}${libdir}/pam_afs.so.1
92         ${INSTALL_DATA} pam_afs.krb.so.1 ${DESTDIR}${libdir}/pam_afs.krb.so.1
93
94 dest: pam_afs.so.1 pam_afs.krb.so.1
95         ${INSTALL} -d ${DEST}/lib
96         ${INSTALL_DATA} pam_afs.so.1 ${DEST}/lib/pam_afs.so.1
97         ${INSTALL_DATA} pam_afs.krb.so.1 ${DEST}/lib/pam_afs.krb.so.1
98
99 afs_pam_msg.o: afs_pam_msg.c afs_pam_msg.h afs_message.h
100 afs_message.o: afs_message.c afs_message.h
101
102 #
103 # Misc. targets
104 #
105 clean:
106         $(RM) -f *.a *.o *.so.1 test_pam core *~ \
107                 AFS_component_version_number.c pam_afs.exp
108
109 include ../config/Makefile.version