# pthread based user space RX library
shlibafsrpc: rx rxkad des
case ${SYS_NAME} in \
- amd64_linux24) \
- echo Skipping shlibafsrpc for amd64_linux24 ;; \
alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
${COMPILE_PART1} shlibafsrpc ${COMPILE_PART2} ;; \
*) \
shlibafsauthent: ubik auth kauth shlibafsrpc
case ${SYS_NAME} in \
- amd64_linux24) \
- echo Skipping shlibafsauthent for amd64_linux24 ;; \
alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
${COMPILE_PART1} shlibafsauthent ${COMPILE_PART2} ;; \
*) \
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 = ${DEBUG} ${INCLUDES} ${PAM_CFLAGS}
+CFLAGS = ${DEBUG} ${INCLUDES} ${PAM_CFLAGS} ${MT_CFLAGS}
+
+# For Debian, we link directly with the object files that would have gone
+# into the libafsrpc and libafsauthent shared libraries. The shared libraries
+# themselves cannot be used because the interface isn't stable and they have
+# no SONAME, but this is the easiest way of getting PIC objects built with the
+# pthread API.
+SHLIB_OBJS := `ls ../shlibafsauthent/*.o | grep -v version_num` \
+ `ls ../shlibafsrpc/*.o | grep -v version_num`
+KRB_SHLIB_OBJS := `ls ../shlibafsauthent/*.o | egrep -v 'version_num|ktc.o'` \
+ `ls ../shlibafsrpc/*.o | grep -v version_num`
all: test_pam ${TOP_LIBDIR}/pam_afs.so.1 ${TOP_LIBDIR}/pam_afs.krb.so.1
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.o: ${srcdir}/../auth/ktc.c
+ ${CC} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/../auth/ktc.c
+
pam_afs.so.1: $(SHOBJS) afs_setcred.o afs_auth.o afs_util.o
set -x; \
case "$(SYS_NAME)" in \
afs_setcred.o afs_auth.o afs_util.o \
$(SHOBJS) $(LIBS) ;; \
*linux*) \
- $(CC) $(LDFLAGS) -o $@ afs_setcred.o \
- afs_auth.o afs_util.o $(SHOBJS) $(LIBS) ;;\
+ $(CC) $(LDFLAGS) $(PAM_CFLAGS) -o $@ afs_setcred.o \
+ afs_auth.o afs_util.o $(SHOBJS) $(SHLIB_OBJS) \
+ $(MT_LIBS) -lpam -lresolv;;\
*fbsd*| *nbsd*) \
$(CC) $(LDFLAGS) -o $@ afs_setcred.o \
afs_auth.o afs_util.o $(SHOBJS) $(LIBS) ;;\
echo No link line for system $(SYS_NAME). ;; \
esac
-pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o
+pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o ktc.o
set -x; \
case "$(SYS_NAME)" in \
hp_ux* | ia64_hpux*) \
$(SHOBJS) $(LDFLAGS) $(KLIBS) ;; \
*linux*) \
$(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o \
- afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(KLIBS) ;;\
+ afs_auth_krb.o afs_util_krb.o ktc.o $(SHOBJS) \
+ $(KRB_SHLIB_OBJS) $(MT_LIBS) -lpam -lresolv;;\
*fbsd*| *nbsd*) \
$(CC) $(LDFLAGS) -o $@ afs_setcred_krb.o \
afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(KLIBS) ;;\