auth: local realms configuration
[openafs.git] / src / libuafs / Makefile.common.in
index b8aeed6..2439c7a 100644 (file)
@@ -9,22 +9,29 @@
 #
 
 SHELL=/bin/sh
-INCLUDE=  -I. -I/usr/include -I${TOP_OBJDIR}/src/config
+INCLUDE=  -I. -I${ISYSROOT}/usr/include -I${TOP_OBJDIR}/src/config
 UOBJ   =../UAFS
+PICOBJ  =../UAFS.pic
 JUAFS  =../JUAFS
 WEBOBJ=../AFSWEB
+PERLUAFS = PERLUAFS
 AFS    =../afs
 RX     =../rx
 AFSINT=../afsint
-DES    =../des
 LIB    =../lib
 NS_INCL =SRC/../afsweb/netscape_includes
+SWIG_PERL_CFLAGS = -fPIC `perl -MExtUtils::Embed -e ccopts`
+SWIG_PERL_LDFLAGS = -fPIC `perl -MExtUtils::Embed -e ldopts`
+SWIG = @SWIG@
+LIBUAFS_BUILD_PERL = @LIBUAFS_BUILD_PERL@
 
+TOP_OBJ_AUTH = ${TOP_OBJDIR}/src/auth
 TOP_OBJ_FSINT = ${TOP_OBJDIR}/src/fsint
 TOP_OBJ_RXSTAT = ${TOP_OBJDIR}/src/rxstat
 TOP_OBJ_VLSERVER = ${TOP_OBJDIR}/src/vlserver
 
 TOP_SRC_AFS = ${TOP_SRCDIR}/afs
+TOP_SRC_AUTH = ${TOP_SRCDIR}/auth
 TOP_SRC_RXSTAT = ${TOP_SRCDIR}/rxstat
 TOP_SRC_FSINT = ${TOP_SRCDIR}/fsint
 TOP_SRC_RX = ${TOP_SRCDIR}/rx
@@ -39,23 +46,24 @@ COMMON_INCLUDE = -I. -I.. -I../nfs \
         -I${TOP_SRCDIR}/rx \
         -I${TOP_SRCDIR}/rx/UKERNEL \
         -I${TOP_SRCDIR}/rxkad \
-        -I${TOP_SRCDIR}/rxkad/domestic \
         -I${TOP_SRCDIR}/util \
         -I${TOP_OBJDIR}/src \
+       -I${TOP_OBJDIR}/src/afs \
         -I${TOP_OBJDIR}/src/afs/UKERNEL \
-        -I${TOP_OBJDIR}/src/afs \
-        -I${TOP_OBJDIR}/src/util \
         -I${TOP_OBJDIR}/src/rxkad \
         -I${TOP_OBJDIR}/src/config \
         -I${TOP_OBJDIR}/src/fsint \
         -I${TOP_OBJDIR}/src/vlserver \
        -I${TOP_OBJDIR}/src/libuafs \
+       -I${TOP_OBJDIR}/src/auth \
+       -I${TOP_INCDIR}/afs \
         -I${TOP_INCDIR} \
-        -I${TOP_INCDIR}/afs 
+        @INCLUDE_libintl@
 
 # Build rules - CC and CFLAGS are defined in system specific MakefileProtos.
 
-all: ${TOP_LIBDIR}/$(LIBJUAFS) ${TOP_LIBDIR}/$(LIBUAFS) linktest
+all: ${TOP_LIBDIR}/$(LIBJUAFS) ${TOP_LIBDIR}/$(LIBUAFS) \
+       ${TOP_LIBDIR}/libuafs_pic.a linktest @LIBUAFS_BUILD_PERL@
 
 ${TOP_LIBDIR}/$(LIBAFSWEB): AFSWEB/$(LIBAFSWEB)
        ${INSTALL_DATA} $? $@
@@ -66,19 +74,39 @@ ${TOP_LIBDIR}/$(LIBAFSWEBKRB): AFSWEB/$(LIBAFSWEBKRB)
 ${TOP_LIBDIR}/$(LIBUAFS): UAFS/$(LIBUAFS)
        ${INSTALL_DATA} $? $@
 
+${TOP_LIBDIR}/libuafs_pic.a: UAFS.pic/libuafs_pic.a
+       ${INSTALL_DATA} $? $@
+
 ${TOP_LIBDIR}/$(LIBJUAFS): JUAFS/$(LIBJUAFS)
        ${INSTALL_DATA} $? $@
 
+setup_perllib:
+       ${INSTALL} -d ${TOP_LIBDIR}/perl
+       ${INSTALL} -d ${TOP_LIBDIR}/perl/AFS
+
+${TOP_LIBDIR}/perl/ukernel.so: setup_perllib PERLUAFS/ukernel.so
+       ${INSTALL_DATA} PERLUAFS/ukernel.so $@
+
+${TOP_LIBDIR}/perl/AFS/ukernel.pm: setup_perllib PERLUAFS/ukernel.pm
+       ${INSTALL_DATA} PERLUAFS/ukernel.pm $@
+
+LIBUAFS_BUILD_PERL: ${TOP_LIBDIR}/perl/ukernel.so ${TOP_LIBDIR}/perl/AFS/ukernel.pm
+
 webinstall: all \
        ${TOP_LIBDIR}/$(LIBAFSWEB) \
        ${TOP_LIBDIR}/$(LIBAFSWEBKRB) 
 
-linktest: UAFS/$(LIBUAFS) ${TOP_OBJDIR}/lib/libdes.a
-       $(CC) $(TEST_CFLAGS) $(TEST_LDFLAGS) -o linktest ${srcdir}/linktest.c $(COMMON_INCLUDE) -DUKERNEL UAFS/$(LIBUAFS) ${TOP_LIBDIR}/libdes.a ${TOP_LIBDIR}/libafsutil.a $(TEST_LIBS) $(XLIBS)
+linktest: UAFS/$(LIBUAFS)
+       $(CC) $(TEST_CFLAGS) $(TEST_LDFLAGS) \
+               $(LDFLAGS_roken) $(LDFLAGS_hcrypto) -o linktest \
+               ${srcdir}/linktest.c $(COMMON_INCLUDE) -DUKERNEL \
+               UAFS/$(LIBUAFS) ${TOP_LIBDIR}/libcmd.a \
+               ${TOP_LIBDIR}/libafsutil.a $(TOP_LIBDIR)/libopr.a \
+               $(LIB_hcrypto) $(LIB_roken) $(LIB_crypt) $(TEST_LIBS) $(XLIBS)
 
-
-CRULE1=        $(CC) $(COMMON_INCLUDE) $(OPTF) -DKERNEL $(LIBJUAFS_FLAGS) $(CFLAGS) -c $?
-CRULE2=        $(CC) $(COMMON_INCLUDE) $(OPTF) $(WEBOPTS) -DKERNEL $(LIBJUAFS_FLAGS) $(CFLAGS) -c $?
+CRULE1=        $(CC) $(COMMON_INCLUDE) $(CPPFLAGS_roken) $(OPTF) -DKERNEL $(LIBJUAFS_FLAGS) $(CFLAGS) -c $?
+CRULE2=        $(CC) $(COMMON_INCLUDE) $(CPPFLAGS_roken) $(OPTF) $(WEBOPTS) -DKERNEL $(LIBJUAFS_FLAGS) $(CFLAGS) -c $?
+CRULEPIC=$(CC) $(COMMON_INCLUDE) $(CPPFLAGS_roken) $(OPTF) -DKERNEL $(LIBJUAFS_FLAGS) $(CFLAGS) $(SHLIB_CFLAGS) -c $?
 
 UAFSOBJ = \
        $(UOBJ)/afs_atomlist.o \
@@ -103,7 +131,6 @@ UAFSOBJ = \
        $(UOBJ)/afs_lock.o      \
        $(UOBJ)/afs_mariner.o \
        $(UOBJ)/afs_memcache.o  \
-       $(UOBJ)/afs_md5.o       \
        $(UOBJ)/afs_fetchstore.o        \
        $(UOBJ)/afs_osidnlc.o   \
        $(UOBJ)/afs_osi_pag.o \
@@ -111,6 +138,7 @@ UAFSOBJ = \
        $(UOBJ)/afs_server.o \
        $(UOBJ)/afs_stat.o \
        $(UOBJ)/afs_syscall.o \
+       $(UOBJ)/afs_tokens.o \
        $(UOBJ)/afs_user.o \
        $(UOBJ)/afs_util.o \
        $(UOBJ)/afs_vcache.o \
@@ -137,15 +165,22 @@ UAFSOBJ = \
        $(UOBJ)/afs_pioctl.o \
        $(UOBJ)/osi_vfsops.o \
        $(UOBJ)/afs_usrops.o \
+       $(UOBJ)/afsd.o \
+       $(UOBJ)/afsd_uafs.o \
        $(UOBJ)/xdr.o \
        $(UOBJ)/xdr_afsuuid.o \
+       $(UOBJ)/xdr_update.o \
+       $(UOBJ)/xdr_refernce.o \
        $(UOBJ)/afs_uuid.o \
        $(UOBJ)/assert.o \
        $(UOBJ)/osi_vnodeops.o \
        $(UOBJ)/osi_vm.o \
        $(UOBJ)/osi_groups.o \
+       $(UOBJ)/osi_gcpags.o \
+       $(UOBJ)/osi_vcache.o \
        $(UOBJ)/afsaux.o \
        $(UOBJ)/Kvice.xdr.o \
+       $(UOBJ)/xdr_array.o \
        $(UOBJ)/xdr_arrayn.o \
        $(UOBJ)/Kvice.cs.o \
        $(UOBJ)/fcrypt.o \
@@ -154,15 +189,21 @@ UAFSOBJ = \
        $(UOBJ)/rx_clock.o \
        $(UOBJ)/rx_event.o \
        $(UOBJ)/rx_globals.o \
+       $(UOBJ)/rx_identity.o \
        $(UOBJ)/rx_kmutex.o \
        $(UOBJ)/rx_knet.o \
        $(UOBJ)/rx_kcommon.o \
        $(UOBJ)/rx_misc.o \
        $(UOBJ)/rx_multi.o \
        $(UOBJ)/rx_null.o \
+       $(UOBJ)/rx_opaque.o \
        $(UOBJ)/rx_getaddr.o \
+       $(UOBJ)/rx_stats.o \
        $(UOBJ)/rx_packet.o \
        $(UOBJ)/rx_conncache.o \
+       $(UOBJ)/rx_call.o \
+       $(UOBJ)/rx_conn.o \
+       $(UOBJ)/rx_peer.o \
        $(UOBJ)/xdr_rx.o \
        $(UOBJ)/Kvldbint.cs.o \
        $(UOBJ)/Kvldbint.xdr.o \
@@ -186,6 +227,8 @@ UAFSOBJ = \
        $(UOBJ)/authclient.o \
        $(UOBJ)/authcon.o \
        $(UOBJ)/cellconfig.o \
+       $(UOBJ)/keys.o \
+       $(UOBJ)/realms.o \
        $(UOBJ)/client.o \
        $(UOBJ)/acfg_errors.o \
        $(UOBJ)/kaaux.o \
@@ -198,7 +241,7 @@ UAFSOBJ = \
        $(UOBJ)/ptuser.o \
        $(UOBJ)/pterror.o \
        $(UOBJ)/ticket.o \
-       $(UOBJ)/token.o \
+       $(UOBJ)/katoken.o \
        $(UOBJ)/ubik_int.cs.o \
        $(UOBJ)/ubik_int.xdr.o \
        $(UOBJ)/ubikclient.o \
@@ -208,7 +251,160 @@ UAFSOBJ = \
        $(UOBJ)/Krxstat.xdr.o \
        $(UOBJ)/rxstat.o \
        $(UOBJ)/xdr_int32.o \
-       $(UOBJ)/xdr_int64.o
+       $(UOBJ)/xdr_int64.o \
+       $(UOBJ)/token.xdr.o \
+       $(UOBJ)/token.o \
+       $(UOBJ)/xdr_mem.o \
+       $(UOBJ)/xdr_len.o
+
+PICUAFSOBJ = \
+       $(PICOBJ)/afs_atomlist.o \
+       $(PICOBJ)/afs_lhash.o \
+       $(PICOBJ)/afs_analyze.o \
+       $(PICOBJ)/afs_error.o \
+       $(PICOBJ)/afs_axscache.o  \
+       $(PICOBJ)/afs_buffer.o  \
+       $(PICOBJ)/afs_bypasscache.o \
+       $(PICOBJ)/afs_callback.o        \
+       $(PICOBJ)/afs_cbqueue.o    \
+       $(PICOBJ)/afs_cell.o \
+       $(PICOBJ)/afs_chunk.o           \
+       $(PICOBJ)/afs_conn.o \
+       $(PICOBJ)/afs_daemons.o \
+       $(PICOBJ)/afs_dcache.o \
+       $(PICOBJ)/afs_dir.o             \
+       $(PICOBJ)/afs_disconnected.o    \
+       $(PICOBJ)/afs_dynroot.o \
+       $(PICOBJ)/afs_icl.o \
+       $(PICOBJ)/afs_init.o \
+       $(PICOBJ)/afs_lock.o    \
+       $(PICOBJ)/afs_mariner.o \
+       $(PICOBJ)/afs_memcache.o        \
+       $(PICOBJ)/afs_fetchstore.o      \
+       $(PICOBJ)/afs_osidnlc.o \
+       $(PICOBJ)/afs_osi_pag.o \
+       $(PICOBJ)/afs_segments.o \
+       $(PICOBJ)/afs_server.o \
+       $(PICOBJ)/afs_stat.o \
+       $(PICOBJ)/afs_syscall.o \
+       $(PICOBJ)/afs_tokens.o \
+       $(PICOBJ)/afs_user.o \
+       $(PICOBJ)/afs_util.o \
+       $(PICOBJ)/afs_vcache.o \
+       $(PICOBJ)/afs_warn.o \
+       $(PICOBJ)/afs_osi_uio.o \
+       $(PICOBJ)/afs_vnop_access.o \
+       $(PICOBJ)/afs_vnop_attrs.o \
+       $(PICOBJ)/afs_vnop_create.o \
+       $(PICOBJ)/afs_vnop_dirops.o \
+       $(PICOBJ)/afs_vnop_fid.o \
+       $(PICOBJ)/afs_vnop_flock.o \
+       $(PICOBJ)/afs_vnop_link.o \
+       $(PICOBJ)/afs_vnop_lookup.o \
+       $(PICOBJ)/afs_vnop_open.o \
+       $(PICOBJ)/afs_vnop_read.o \
+       $(PICOBJ)/afs_vnop_readdir.o \
+       $(PICOBJ)/afs_vnop_remove.o \
+       $(PICOBJ)/afs_vnop_rename.o \
+       $(PICOBJ)/afs_vnop_strategy.o \
+       $(PICOBJ)/afs_vnop_symlink.o \
+       $(PICOBJ)/afs_vnop_write.o \
+       $(PICOBJ)/afs_volume.o \
+       $(PICOBJ)/afs_call.o \
+       $(PICOBJ)/afs_pioctl.o \
+       $(PICOBJ)/osi_vfsops.o \
+       $(PICOBJ)/afs_usrops.o \
+       $(PICOBJ)/afsd.o \
+       $(PICOBJ)/afsd_uafs.o \
+       $(PICOBJ)/xdr.o \
+       $(PICOBJ)/xdr_afsuuid.o \
+       $(PICOBJ)/xdr_update.o \
+       $(PICOBJ)/xdr_refernce.o \
+       $(PICOBJ)/afs_uuid.o \
+       $(PICOBJ)/assert.o \
+       $(PICOBJ)/osi_vnodeops.o \
+       $(PICOBJ)/osi_vm.o \
+       $(PICOBJ)/osi_groups.o \
+       $(PICOBJ)/osi_gcpags.o \
+       $(PICOBJ)/osi_vcache.o \
+       $(PICOBJ)/afsaux.o \
+       $(PICOBJ)/Kvice.xdr.o \
+       $(PICOBJ)/xdr_array.o \
+       $(PICOBJ)/xdr_arrayn.o \
+       $(PICOBJ)/Kvice.cs.o \
+       $(PICOBJ)/fcrypt.o \
+       $(PICOBJ)/rx.o \
+       $(PICOBJ)/rx_rdwr.o \
+       $(PICOBJ)/rx_clock.o \
+       $(PICOBJ)/rx_event.o \
+       $(PICOBJ)/rx_globals.o \
+       $(PICOBJ)/rx_identity.o \
+       $(PICOBJ)/rx_kmutex.o \
+       $(PICOBJ)/rx_knet.o \
+       $(PICOBJ)/rx_kcommon.o \
+       $(PICOBJ)/rx_misc.o \
+       $(PICOBJ)/rx_multi.o \
+       $(PICOBJ)/rx_null.o \
+       $(PICOBJ)/rx_opaque.o \
+       $(PICOBJ)/rx_getaddr.o \
+       $(PICOBJ)/rx_stats.o \
+       $(PICOBJ)/rx_packet.o \
+       $(PICOBJ)/rx_conncache.o \
+       $(PICOBJ)/rx_call.o \
+       $(PICOBJ)/rx_conn.o \
+       $(PICOBJ)/rx_peer.o \
+       $(PICOBJ)/xdr_rx.o \
+       $(PICOBJ)/Kvldbint.cs.o \
+       $(PICOBJ)/Kvldbint.xdr.o \
+       $(PICOBJ)/Kcallback.ss.o \
+       $(PICOBJ)/crypt_conn.o \
+       $(PICOBJ)/AFS_component_version_number.o \
+       $(PICOBJ)/afs_exporter.o \
+       $(PICOBJ)/rxkad_client.o \
+       $(PICOBJ)/rxkad_common.o \
+       $(PICOBJ)/casestrcpy.o \
+       $(PICOBJ)/dirpath.o \
+       $(PICOBJ)/fileutil.o \
+       $(PICOBJ)/netutils.o \
+       $(PICOBJ)/et_name.o \
+       $(PICOBJ)/com_err.o \
+       $(PICOBJ)/error_msg.o \
+       $(PICOBJ)/uerrors.o \
+       $(PICOBJ)/kaerrors.o \
+       $(PICOBJ)/ktc_errors.o \
+       $(PICOBJ)/rxkad_errs.o \
+       $(PICOBJ)/authclient.o \
+       $(PICOBJ)/authcon.o \
+       $(PICOBJ)/cellconfig.o \
+       $(PICOBJ)/keys.o \
+       $(PICOBJ)/realms.o \
+       $(PICOBJ)/client.o \
+       $(PICOBJ)/acfg_errors.o \
+       $(PICOBJ)/kaaux.o \
+       $(PICOBJ)/kalocalcell.o \
+       $(PICOBJ)/kauth.cs.o \
+       $(PICOBJ)/kauth.xdr.o \
+       $(PICOBJ)/ktc.o \
+       $(PICOBJ)/ptint.cs.o \
+       $(PICOBJ)/ptint.xdr.o \
+       $(PICOBJ)/ptuser.o \
+       $(PICOBJ)/pterror.o \
+       $(PICOBJ)/ticket.o \
+       $(PICOBJ)/katoken.o \
+       $(PICOBJ)/ubik_int.cs.o \
+       $(PICOBJ)/ubik_int.xdr.o \
+       $(PICOBJ)/ubikclient.o \
+       $(PICOBJ)/user.o \
+       $(PICOBJ)/hostparse.o \
+       $(PICOBJ)/Krxstat.ss.o \
+       $(PICOBJ)/Krxstat.xdr.o \
+       $(PICOBJ)/rxstat.o \
+       $(PICOBJ)/xdr_int32.o \
+       $(PICOBJ)/xdr_int64.o \
+       $(PICOBJ)/token.xdr.o \
+       $(PICOBJ)/token.o \
+       $(PICOBJ)/xdr_mem.o \
+       $(PICOBJ)/xdr_len.o
 
 AFSWEBOBJ = \
        $(WEBOBJ)/afs_atomlist.o \
@@ -233,7 +429,6 @@ AFSWEBOBJ = \
        $(WEBOBJ)/afs_lock.o \
        $(WEBOBJ)/afs_mariner.o \
        $(WEBOBJ)/afs_memcache.o \
-       $(WEBOBJ)/afs_md5.o \
        $(WEBOBJ)/afs_fetchstore.o \
        $(WEBOBJ)/afs_osidnlc.o \
        $(WEBOBJ)/afs_osi_pag.o \
@@ -241,6 +436,7 @@ AFSWEBOBJ = \
        $(WEBOBJ)/afs_server.o \
        $(WEBOBJ)/afs_stat.o \
        $(WEBOBJ)/afs_syscall.o \
+       $(WEBOBJ)/afs_tokens.o \
        $(WEBOBJ)/afs_user.o \
        $(WEBOBJ)/afs_util.o \
        $(WEBOBJ)/afs_vcache.o \
@@ -267,15 +463,22 @@ AFSWEBOBJ = \
        $(WEBOBJ)/afs_pioctl.o \
        $(WEBOBJ)/osi_vfsops.o \
        $(WEBOBJ)/afs_usrops.o \
+       $(WEBOBJ)/afsd.o \
+       $(WEBOBJ)/afsd_uafs.o \
        $(WEBOBJ)/xdr.o \
        $(WEBOBJ)/xdr_afsuuid.o \
+       $(WEBOBJ)/xdr_update.o \
+       $(WEBOBJ)/xdr_refernce.o \
        $(WEBOBJ)/afs_uuid.o \
        $(WEBOBJ)/assert.o \
        $(WEBOBJ)/osi_vnodeops.o \
        $(WEBOBJ)/osi_vm.o \
        $(WEBOBJ)/osi_groups.o \
+       $(WEBOBJ)/osi_gcpags.o \
+       $(WEBOBJ)/osi_vcache.o \
        $(WEBOBJ)/afsaux.o \
        $(WEBOBJ)/Kvice.xdr.o \
+       $(WEBOBJ)/xdr_array.o \
        $(WEBOBJ)/xdr_arrayn.o \
        $(WEBOBJ)/Kvice.cs.o \
        $(WEBOBJ)/fcrypt.o \
@@ -284,15 +487,21 @@ AFSWEBOBJ = \
        $(WEBOBJ)/rx_clock.o \
        $(WEBOBJ)/rx_event.o \
        $(WEBOBJ)/rx_globals.o \
+       $(WEBOBJ)/rx_identity.o \
        $(WEBOBJ)/rx_kmutex.o \
        $(WEBOBJ)/rx_knet.o \
        $(WEBOBJ)/rx_kcommon.o \
        $(WEBOBJ)/rx_misc.o \
        $(WEBOBJ)/rx_multi.o \
        $(WEBOBJ)/rx_null.o \
+       $(WEBOBJ)/rx_opaque.o \
        $(WEBOBJ)/rx_getaddr.o \
+       $(WEBOBJ)/rx_stats.o \
        $(WEBOBJ)/rx_packet.o \
        $(WEBOBJ)/rx_conncache.o \
+       $(WEBOBJ)/rx_call.o \
+       $(WEBOBJ)/rx_conn.o \
+       $(WEBOBJ)/rx_peer.o \
        $(WEBOBJ)/xdr_rx.o \
        $(WEBOBJ)/Kvldbint.cs.o \
        $(WEBOBJ)/Kvldbint.xdr.o \
@@ -317,6 +526,8 @@ AFSWEBOBJ = \
        $(WEBOBJ)/authcon.o \
        $(WEBOBJ)/cellconfig.o \
        $(WEBOBJ)/client.o \
+       $(WEBOBJ)/keys.o \
+       $(WEBOBJ)/realms.o \
        $(WEBOBJ)/acfg_errors.o \
        $(WEBOBJ)/kaaux.o \
        $(WEBOBJ)/kalocalcell.o \
@@ -329,7 +540,7 @@ AFSWEBOBJ = \
        $(WEBOBJ)/pterror.o \
        $(WEBOBJ)/securehash.o \
        $(WEBOBJ)/ticket.o \
-       $(WEBOBJ)/token.o \
+       $(WEBOBJ)/katoken.o \
        $(WEBOBJ)/ubik_int.cs.o \
        $(WEBOBJ)/ubik_int.xdr.o \
        $(WEBOBJ)/ubikclient.o \
@@ -338,8 +549,11 @@ AFSWEBOBJ = \
        $(WEBOBJ)/nsafs.o \
        $(WEBOBJ)/Krxstat.ss.o \
        $(WEBOBJ)/Krxstat.xdr.o \
-       $(WEBOBJ)/rxstat.o
-
+       $(WEBOBJ)/rxstat.o \
+       $(WEBOBJ)/token.xdr.o \
+       $(WEBOBJ)/token.o \
+       $(WEBOBJ)/xdr_mem.o \
+       $(WEBOBJ)/xdr_len.o
 
 AFSWEBOBJKRB = \
        $(WEBOBJ)/afs_atomlist.o \
@@ -364,7 +578,6 @@ AFSWEBOBJKRB = \
        $(WEBOBJ)/afs_lock.o \
        $(WEBOBJ)/afs_mariner.o \
        $(WEBOBJ)/afs_memcache.o \
-       $(WEBOBJ)/afs_md5.o \
        $(WEBOBJ)/afs_fetchstore.o \
        $(WEBOBJ)/afs_osidnlc.o \
        $(WEBOBJ)/afs_osi_pag.o \
@@ -372,6 +585,7 @@ AFSWEBOBJKRB = \
        $(WEBOBJ)/afs_server.o \
        $(WEBOBJ)/afs_stat.o \
        $(WEBOBJ)/afs_syscall.o \
+       $(WEBOBJ)/afs_tokens.o \
        $(WEBOBJ)/afs_user.o \
        $(WEBOBJ)/afs_util.o \
        $(WEBOBJ)/afs_vcache.o \
@@ -398,11 +612,16 @@ AFSWEBOBJKRB = \
        $(WEBOBJ)/afs_pioctl.o \
        $(WEBOBJ)/osi_vfsops.o \
        $(WEBOBJ)/afs_usrops.o \
+       $(WEBOBJ)/afsd.o \
+       $(WEBOBJ)/afsd_uafs.o \
        $(WEBOBJ)/osi_vnodeops.o \
        $(WEBOBJ)/osi_vm.o \
        $(WEBOBJ)/osi_groups.o \
+       $(WEBOBJ)/osi_gcpags.o \
+       $(WEBOBJ)/osi_vcache.o \
        $(WEBOBJ)/afsaux.o \
        $(WEBOBJ)/Kvice.xdr.o \
+       $(WEBOBJ)/xdr_array.o \
        $(WEBOBJ)/xdr_arrayn.o \
        $(WEBOBJ)/Kvice.cs.o \
        $(WEBOBJ)/fcrypt.o \
@@ -411,15 +630,21 @@ AFSWEBOBJKRB = \
        $(WEBOBJ)/rx_clock.o \
        $(WEBOBJ)/rx_event.o \
        $(WEBOBJ)/rx_globals.o \
+       $(WEBOBJ)/rx_identity.o \
        $(WEBOBJ)/rx_kmutex.o \
        $(WEBOBJ)/rx_knet.o \
        $(WEBOBJ)/rx_kcommon.o \
        $(WEBOBJ)/rx_misc.o \
        $(WEBOBJ)/rx_multi.o \
        $(WEBOBJ)/rx_null.o \
+       $(WEBOBJ)/rx_opaque.o \
        $(WEBOBJ)/rx_getaddr.o \
+       $(WEBOBJ)/rx_stats.o \
        $(WEBOBJ)/rx_packet.o \
        $(WEBOBJ)/rx_conncache.o \
+       $(WEBOBJ)/rx_call.o \
+       $(WEBOBJ)/rx_conn.o \
+       $(WEBOBJ)/rx_peer.o \
        $(WEBOBJ)/xdr_rx.o \
        $(WEBOBJ)/Kvldbint.cs.o \
        $(WEBOBJ)/Kvldbint.xdr.o \
@@ -444,6 +669,8 @@ AFSWEBOBJKRB = \
        $(WEBOBJ)/authcon.o \
        $(WEBOBJ)/cellconfig.o \
        $(WEBOBJ)/client.o \
+       $(WEBOBJ)/keys.o \
+       $(WEBOBJ)/realms.o \
        $(WEBOBJ)/acfg_errors.o \
        $(WEBOBJ)/kaaux.o \
        $(WEBOBJ)/kalocalcell.o \
@@ -456,7 +683,7 @@ AFSWEBOBJKRB = \
        $(WEBOBJ)/pterror.o \
        $(WEBOBJ)/securehash.o \
        $(WEBOBJ)/ticket.o \
-       $(WEBOBJ)/token.o \
+       $(WEBOBJ)/katoken.o \
        $(WEBOBJ)/ubik_int.cs.o \
        $(WEBOBJ)/ubik_int.xdr.o \
        $(WEBOBJ)/ubikclient.o \
@@ -464,7 +691,11 @@ AFSWEBOBJKRB = \
        $(WEBOBJ)/nsafs.o \
        $(WEBOBJ)/Krxstat.ss.o \
        $(WEBOBJ)/Krxstat.xdr.o \
-       $(WEBOBJ)/rxstat.o
+       $(WEBOBJ)/rxstat.o \
+       $(WEBOBJ)/token.xdr.o \
+       $(WEBOBJ)/token.o \
+       $(WEBOBJ)/xdr_mem.o \
+       $(WEBOBJ)/xdr_len.o
 
 JUAFSOBJ = \
        $(JUAFS)/afs_atomlist.o \
@@ -489,7 +720,6 @@ JUAFSOBJ = \
        $(JUAFS)/afs_lock.o     \
        $(JUAFS)/afs_mariner.o \
        $(JUAFS)/afs_memcache.o \
-       $(JUAFS)/afs_md5.o \
        $(JUAFS)/afs_fetchstore.o       \
        $(JUAFS)/afs_osidnlc.o  \
        $(JUAFS)/afs_osi_pag.o \
@@ -497,6 +727,7 @@ JUAFSOBJ = \
        $(JUAFS)/afs_server.o \
        $(JUAFS)/afs_stat.o \
        $(JUAFS)/afs_syscall.o \
+       $(JUAFS)/afs_tokens.o \
        $(JUAFS)/afs_user.o \
        $(JUAFS)/afs_util.o \
        $(JUAFS)/afs_vcache.o \
@@ -523,15 +754,22 @@ JUAFSOBJ = \
        $(JUAFS)/afs_pioctl.o \
        $(JUAFS)/osi_vfsops.o \
        $(JUAFS)/afs_usrops.o \
+       $(JUAFS)/afsd.o \
+       $(JUAFS)/afsd_uafs.o \
        $(JUAFS)/xdr.o \
        $(JUAFS)/xdr_afsuuid.o \
+       $(JUAFS)/xdr_update.o \
+       $(JUAFS)/xdr_refernce.o \
        $(JUAFS)/afs_uuid.o \
        $(JUAFS)/assert.o \
        $(JUAFS)/osi_vnodeops.o \
        $(JUAFS)/osi_vm.o \
        $(JUAFS)/osi_groups.o \
+       $(JUAFS)/osi_gcpags.o \
+       $(JUAFS)/osi_vcache.o \
        $(JUAFS)/afsaux.o \
        $(JUAFS)/Kvice.xdr.o \
+       $(JUAFS)/xdr_array.o \
        $(JUAFS)/xdr_arrayn.o \
        $(JUAFS)/Kvice.cs.o \
        $(JUAFS)/fcrypt.o \
@@ -540,14 +778,20 @@ JUAFSOBJ = \
        $(JUAFS)/rx_clock.o \
        $(JUAFS)/rx_event.o \
        $(JUAFS)/rx_globals.o \
+       $(JUAFS)/rx_identity.o \
        $(JUAFS)/rx_knet.o \
        $(JUAFS)/rx_kcommon.o \
        $(JUAFS)/rx_misc.o \
        $(JUAFS)/rx_multi.o \
        $(JUAFS)/rx_null.o \
+       $(JUAFS)/rx_opaque.o \
        $(JUAFS)/rx_getaddr.o \
+       $(JUAFS)/rx_stats.o \
        $(JUAFS)/rx_packet.o \
        $(JUAFS)/rx_conncache.o \
+       $(JUAFS)/rx_call.o \
+       $(JUAFS)/rx_conn.o \
+       $(JUAFS)/rx_peer.o \
        $(JUAFS)/xdr_rx.o \
        $(JUAFS)/Kvldbint.cs.o \
        $(JUAFS)/Kvldbint.xdr.o \
@@ -571,6 +815,8 @@ JUAFSOBJ = \
        $(JUAFS)/authclient.o \
        $(JUAFS)/authcon.o \
        $(JUAFS)/cellconfig.o \
+       $(JUAFS)/keys.o \
+       $(JUAFS)/realms.o \
        $(JUAFS)/client.o \
        $(JUAFS)/acfg_errors.o \
        $(JUAFS)/kaaux.o \
@@ -583,7 +829,7 @@ JUAFSOBJ = \
        $(JUAFS)/ptuser.o \
        $(JUAFS)/pterror.o \
        $(JUAFS)/ticket.o \
-       $(JUAFS)/token.o \
+       $(JUAFS)/katoken.o \
        $(JUAFS)/ubik_int.cs.o \
        $(JUAFS)/ubik_int.xdr.o \
        $(JUAFS)/ubikclient.o \
@@ -592,7 +838,11 @@ JUAFSOBJ = \
        $(JUAFS)/Krxstat.ss.o \
        $(JUAFS)/Krxstat.xdr.o \
        $(JUAFS)/rxstat.o \
-       $(JUAFS)/xdr_int64.o
+       $(JUAFS)/xdr_int64.o \
+       $(JUAFS)/token.xdr.o \
+       $(JUAFS)/token.o \
+       $(JUAFS)/xdr_mem.o \
+       $(JUAFS)/xdr_len.o
 
 # Compilation rules
 
@@ -636,6 +886,8 @@ $(UOBJ)/afs_segments.o: $(TOP_SRC_AFS)/afs_segments.c
        $(CRULE1)
 $(UOBJ)/afs_server.o: $(TOP_SRC_AFS)/afs_server.c
        $(CRULE1)
+$(UOBJ)/afs_tokens.o: $(TOP_SRC_AFS)/afs_tokens.c
+       $(CRULE1)
 $(UOBJ)/afs_user.o: $(TOP_SRC_AFS)/afs_user.c
        $(CRULE1)
 $(UOBJ)/afs_util.o: $(TOP_SRC_AFS)/afs_util.c
@@ -698,15 +950,13 @@ $(UOBJ)/afs_lock.o: $(TOP_SRC_AFS)/afs_lock.c
        $(CRULE1)
 $(UOBJ)/afs_memcache.o: $(TOP_SRC_AFS)/afs_memcache.c
        $(CRULE1)
-$(UOBJ)/afs_md5.o: $(TOP_SRC_AFS)/afs_md5.c
-       $(CRULE1)
 $(UOBJ)/afs_fetchstore.o: $(TOP_SRC_AFS)/afs_fetchstore.c
        $(CRULE1)
 $(UOBJ)/afs_stat.o: $(TOP_SRC_AFS)/afs_stat.c
        $(CRULE1)
-$(UOBJ)/fcrypt.o:      $(TOP_SRC_RXKAD)/domestic/fcrypt.c
+$(UOBJ)/fcrypt.o:      $(TOP_SRC_RXKAD)/fcrypt.c
        $(CRULE1)
-$(UOBJ)/crypt_conn.o: $(TOP_SRC_RXKAD)/domestic/crypt_conn.c
+$(UOBJ)/crypt_conn.o: $(TOP_SRC_RXKAD)/crypt_conn.c
        $(CRULE1)
 $(UOBJ)/rxkad_client.o: $(TOP_SRC_RXKAD)/rxkad_client.c
        $(CRULE1)
@@ -726,32 +976,52 @@ $(UOBJ)/rx_event.o: $(TOP_SRC_RX)/rx_event.c
        $(CRULE1)
 $(UOBJ)/rx_globals.o: $(TOP_SRC_RX)/rx_globals.c
        $(CRULE1)
+$(UOBJ)/rx_identity.o: $(TOP_SRC_RX)/rx_identity.c
+       $(CRULE1)
 $(UOBJ)/rx_misc.o: $(TOP_SRC_RX)/rx_misc.c
        $(CRULE1)
 $(UOBJ)/rx_multi.o: $(TOP_SRC_RX)/rx_multi.c
        $(CRULE1)
 $(UOBJ)/rx_null.o: $(TOP_SRC_RX)/rx_null.c
        $(CRULE1)
+$(UOBJ)/rx_opaque.o: $(TOP_SRC_RX)/rx_opaque.c
+       $(CRULE1)
 $(UOBJ)/rx_getaddr.o: $(TOP_SRC_RX)/rx_getaddr.c
        $(CRULE1)
+$(UOBJ)/rx_stats.o: $(TOP_SRC_RX)/rx_stats.c
+       $(CRULE1)
 $(UOBJ)/rx_packet.o: $(TOP_SRC_RX)/rx_packet.c
        $(CRULE1)
 $(UOBJ)/rx_conncache.o: $(TOP_SRCDIR)/rx/rx_conncache.c
        $(CRULE1)
+$(UOBJ)/rx_call.o: $(TOP_SRCDIR)/rx/rx_call.c
+       $(CRULE1)
+$(UOBJ)/rx_conn.o: $(TOP_SRCDIR)/rx/rx_conn.c
+       $(CRULE1)
+$(UOBJ)/rx_peer.o: $(TOP_SRCDIR)/rx/rx_peer.c
+       $(CRULE1)
 $(UOBJ)/xdr_rx.o: $(TOP_SRC_RX)/xdr_rx.c
-       $(CRULE1) @CFLAGS_NOERROR@
+       $(CRULE1)
 $(UOBJ)/xdr_int32.o: $(TOP_SRC_RX)/xdr_int32.c
        $(CRULE1)
 $(UOBJ)/xdr_int64.o: $(TOP_SRC_RX)/xdr_int64.c
        $(CRULE1)
 $(UOBJ)/afs_usrops.o: $(TOP_SRC_AFS)/UKERNEL/afs_usrops.c
        $(CRULE1)
+$(UOBJ)/afsd.o: $(TOP_SRCDIR)/afsd/afsd.c
+       $(CRULE1) @CFLAGS_NOERROR@
+$(UOBJ)/afsd_uafs.o: $(TOP_SRC_AFS)/UKERNEL/afsd_uafs.c
+       $(CRULE1)
 $(UOBJ)/afs_uuid.o: $(TOP_SRCDIR)/util/uuid.c
        $(CRULE1) -o afs_uuid.o
-$(UOBJ)/assert.o: $(TOP_SRCDIR)/util/assert.c
+$(UOBJ)/assert.o: $(TOP_SRCDIR)/opr/assert.c
        $(CRULE1)
 $(UOBJ)/xdr_afsuuid.o: $(TOP_SRCDIR)/rx/xdr_afsuuid.c
        $(CRULE1)
+$(UOBJ)/xdr_update.o: $(TOP_SRCDIR)/rx/xdr_update.c
+       $(CRULE1)
+$(UOBJ)/xdr_refernce.o: $(TOP_SRCDIR)/rx/xdr_refernce.c
+       $(CRULE1)
 $(UOBJ)/xdr.o: $(TOP_SRCDIR)/rx/xdr.c
        $(CRULE1)
 $(UOBJ)/osi_vnodeops.o: $(TOP_SRC_AFS)/UKERNEL/osi_vnodeops.c
@@ -760,6 +1030,10 @@ $(UOBJ)/osi_vm.o: $(TOP_SRC_AFS)/UKERNEL/osi_vm.c
        $(CRULE1)
 $(UOBJ)/osi_groups.o: $(TOP_SRC_AFS)/UKERNEL/osi_groups.c
        $(CRULE1)
+$(UOBJ)/osi_gcpags.o: $(TOP_SRC_AFS)/UKERNEL/osi_gcpags.c
+       $(CRULE1)
+$(UOBJ)/osi_vcache.o: $(TOP_SRC_AFS)/UKERNEL/osi_vcache.c
+       $(CRULE1)
 $(UOBJ)/Kcallback.ss.o: $(TOP_OBJ_FSINT)/Kcallback.ss.c
        $(CRULE1)
 $(UOBJ)/Kvice.xdr.o: $(TOP_OBJ_FSINT)/Kvice.xdr.c
@@ -770,6 +1044,8 @@ $(UOBJ)/afsaux.o: $(TOP_SRC_FSINT)/afsaux.c
        $(CRULE1)
 $(UOBJ)/xdr_arrayn.o: $(TOP_SRC_RX)/xdr_arrayn.c
        $(CRULE1)
+$(UOBJ)/xdr_array.o: $(TOP_SRC_RX)/xdr_array.c
+       $(CRULE1)
 $(UOBJ)/Kvldbint.cs.o: $(TOP_OBJ_VLSERVER)/Kvldbint.cs.c
        $(CRULE1)
 $(UOBJ)/Kvldbint.xdr.o: $(TOP_OBJ_VLSERVER)/Kvldbint.xdr.c
@@ -820,7 +1096,7 @@ $(UOBJ)/user.o: $(TOP_SRCDIR)/kauth/user.c
        $(CRULE1)
 $(UOBJ)/hostparse.o: $(TOP_SRCDIR)/util/hostparse.c
        $(CRULE1)
-$(UOBJ)/token.o: $(TOP_SRCDIR)/kauth/token.c
+$(UOBJ)/katoken.o: $(TOP_SRCDIR)/kauth/katoken.c
        $(CRULE1)
 $(UOBJ)/acfg_errors.o: $(TOP_OBJDIR)/src/auth/acfg_errors.c
        $(CRULE1)
@@ -830,7 +1106,11 @@ $(UOBJ)/authcon.o: $(TOP_SRCDIR)/auth/authcon.c
        $(CRULE1)
 $(UOBJ)/cellconfig.o: $(TOP_SRCDIR)/auth/cellconfig.c
        $(CRULE1)
-$(UOBJ)/casestrcpy.o: $(TOP_SRCDIR)/util/casestrcpy.c
+$(UOBJ)/keys.o: $(TOP_SRCDIR)/auth/keys.c
+       $(CRULE1)
+$(UOBJ)/casestrcpy.o: $(TOP_SRCDIR)/opr/casestrcpy.c
+       $(CRULE1)
+$(UOBJ)/realms.o: $(TOP_SRCDIR)/auth/realms.c
        $(CRULE1)
 $(UOBJ)/dirpath.o: $(TOP_SRCDIR)/util/dirpath.c
        $(CRULE1)
@@ -862,6 +1142,319 @@ $(UOBJ)/Krxstat.ss.o: $(TOP_OBJ_RXSTAT)/Krxstat.ss.c
        $(CRULE1)
 $(UOBJ)/Krxstat.xdr.o: $(TOP_OBJ_RXSTAT)/Krxstat.xdr.c
        $(CRULE1)
+$(UOBJ)/token.xdr.o: $(TOP_OBJ_AUTH)/token.xdr.c
+       $(CRULE1)
+$(UOBJ)/token.o: $(TOP_SRCDIR)/auth/token.c
+       $(CRULE1)
+$(UOBJ)/xdr_mem.o: $(TOP_SRC_RX)/xdr_mem.c
+       $(CRULE1)
+$(UOBJ)/xdr_len.o: $(TOP_SRC_RX)/xdr_len.c
+       $(CRULE1)
+
+# These files are for the PIC version of libuafs
+
+$(PICOBJ)/afs_atomlist.o: $(TOP_SRCDIR)/util/afs_atomlist.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_lhash.o: $(TOP_SRCDIR)/util/afs_lhash.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_analyze.o: $(TOP_SRC_AFS)/afs_analyze.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_axscache.o: $(TOP_SRC_AFS)/afs_axscache.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_buffer.o: $(TOP_SRC_AFS)/afs_buffer.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_bypasscache.o: $(TOP_SRC_AFS)/afs_bypasscache.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_cell.o: $(TOP_SRC_AFS)/afs_cell.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_conn.o: $(TOP_SRC_AFS)/afs_conn.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_dcache.o: $(TOP_SRC_AFS)/afs_dcache.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_dynroot.o: $(TOP_SRC_AFS)/afs_dynroot.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_disconnected.o: $(TOP_SRC_AFS)/afs_disconnected.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_error.o: $(TOP_SRC_AFS)/afs_error.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_init.o: $(TOP_SRC_AFS)/afs_init.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_mariner.o: $(TOP_SRC_AFS)/afs_mariner.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_osidnlc.o: $(TOP_SRC_AFS)/afs_osidnlc.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_osi.o: $(TOP_SRC_AFS)/afs_osi.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_osi_pag.o: $(TOP_SRC_AFS)/afs_osi_pag.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_segments.o: $(TOP_SRC_AFS)/afs_segments.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_server.o: $(TOP_SRC_AFS)/afs_server.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_tokens.o: $(TOP_SRC_AFS)/afs_tokens.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_user.o: $(TOP_SRC_AFS)/afs_user.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_util.o: $(TOP_SRC_AFS)/afs_util.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vcache.o: $(TOP_SRC_AFS)/afs_vcache.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_warn.o: $(TOP_SRC_AFS)/afs_warn.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_osi_uio.o: $(TOP_SRC_AFS)/afs_osi_uio.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_access.o: $(TOP_SRC_VNOPS)/afs_vnop_access.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_attrs.o: $(TOP_SRC_VNOPS)/afs_vnop_attrs.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_create.o: $(TOP_SRC_VNOPS)/afs_vnop_create.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_dirops.o: $(TOP_SRC_VNOPS)/afs_vnop_dirops.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_fid.o: $(TOP_SRC_VNOPS)/afs_vnop_fid.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_flock.o: $(TOP_SRC_VNOPS)/afs_vnop_flock.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_link.o: $(TOP_SRC_VNOPS)/afs_vnop_link.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_lookup.o: $(TOP_SRC_VNOPS)/afs_vnop_lookup.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_open.o: $(TOP_SRC_VNOPS)/afs_vnop_open.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_read.o: $(TOP_SRC_VNOPS)/afs_vnop_read.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_readdir.o: $(TOP_SRC_VNOPS)/afs_vnop_readdir.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_remove.o: $(TOP_SRC_VNOPS)/afs_vnop_remove.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_rename.o: $(TOP_SRC_VNOPS)/afs_vnop_rename.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_strategy.o: $(TOP_SRC_VNOPS)/afs_vnop_strategy.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_symlink.o: $(TOP_SRC_VNOPS)/afs_vnop_symlink.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_vnop_write.o: $(TOP_SRC_VNOPS)/afs_vnop_write.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_volume.o: $(TOP_SRC_AFS)/afs_volume.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_rdwr.o: $(TOP_SRC_RX)/rx_rdwr.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_cbqueue.o: $(TOP_SRC_AFS)/afs_cbqueue.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_callback.o: $(TOP_SRC_AFS)/afs_callback.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_chunk.o: $(TOP_SRC_AFS)/afs_chunk.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_daemons.o: $(TOP_SRC_AFS)/afs_daemons.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_dir.o:   $(TOP_SRCDIR)/dir/dir.c
+       $(CRULEPIC) -o afs_dir.o
+$(PICOBJ)/AFS_component_version_number.o: AFS_component_version_number.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_lock.o: $(TOP_SRC_AFS)/afs_lock.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_memcache.o: $(TOP_SRC_AFS)/afs_memcache.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_fetchstore.o: $(TOP_SRC_AFS)/afs_fetchstore.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_stat.o: $(TOP_SRC_AFS)/afs_stat.c
+       $(CRULEPIC)
+$(PICOBJ)/fcrypt.o:    $(TOP_SRC_RXKAD)/fcrypt.c
+       $(CRULEPIC)
+$(PICOBJ)/crypt_conn.o: $(TOP_SRC_RXKAD)/crypt_conn.c
+       $(CRULEPIC)
+$(PICOBJ)/rxkad_client.o: $(TOP_SRC_RXKAD)/rxkad_client.c
+       $(CRULEPIC)
+$(PICOBJ)/rxkad_common.o: $(TOP_SRC_RXKAD)/rxkad_common.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_exporter.o: $(TOP_SRCDIR)/afs/afs_exporter.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_nfsclnt.o: $(TOP_SRC_AFS)/afs_nfsclnt.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_nfsdisp.o: $(TOP_SRC_AFS)/afs_nfsdisp.c
+       $(CRULEPIC)
+$(PICOBJ)/rx.o: $(TOP_SRC_RX)/rx.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_clock.o: $(TOP_SRC_RX)/rx_clock.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_event.o: $(TOP_SRC_RX)/rx_event.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_globals.o: $(TOP_SRC_RX)/rx_globals.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_identity.o: $(TOP_SRC_RX)/rx_identity.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_misc.o: $(TOP_SRC_RX)/rx_misc.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_multi.o: $(TOP_SRC_RX)/rx_multi.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_null.o: $(TOP_SRC_RX)/rx_null.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_opaque.o: $(TOP_SRC_RX)/rx_opaque.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_getaddr.o: $(TOP_SRC_RX)/rx_getaddr.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_stats.o: $(TOP_SRC_RX)/rx_stats.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_packet.o: $(TOP_SRC_RX)/rx_packet.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_conncache.o: $(TOP_SRCDIR)/rx/rx_conncache.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_call.o: $(TOP_SRCDIR)/rx/rx_call.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_conn.o: $(TOP_SRCDIR)/rx/rx_conn.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_peer.o: $(TOP_SRCDIR)/rx/rx_peer.c
+       $(CRULEPIC)
+$(PICOBJ)/xdr_rx.o: $(TOP_SRC_RX)/xdr_rx.c
+       $(CRULEPIC)
+$(PICOBJ)/xdr_int32.o: $(TOP_SRC_RX)/xdr_int32.c
+       $(CRULEPIC)
+$(PICOBJ)/xdr_int64.o: $(TOP_SRC_RX)/xdr_int64.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_usrops.o: $(TOP_SRC_AFS)/UKERNEL/afs_usrops.c
+       $(CRULEPIC)
+$(PICOBJ)/afsd.o: $(TOP_SRCDIR)/afsd/afsd.c
+       $(CRULEPIC) @CFLAGS_NOERROR@
+$(PICOBJ)/afsd_uafs.o: $(TOP_SRC_AFS)/UKERNEL/afsd_uafs.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_uuid.o: $(TOP_SRCDIR)/util/uuid.c
+       $(CRULEPIC) -o afs_uuid.o
+$(PICOBJ)/assert.o: $(TOP_SRCDIR)/opr/assert.c
+       $(CRULEPIC)
+$(PICOBJ)/xdr_afsuuid.o: $(TOP_SRCDIR)/rx/xdr_afsuuid.c
+       $(CRULEPIC)
+$(PICOBJ)/xdr_update.o: $(TOP_SRCDIR)/rx/xdr_update.c
+       $(CRULEPIC)
+$(PICOBJ)/xdr_refernce.o: $(TOP_SRCDIR)/rx/xdr_refernce.c
+       $(CRULEPIC)
+$(PICOBJ)/xdr.o: $(TOP_SRCDIR)/rx/xdr.c
+       $(CRULEPIC)
+$(PICOBJ)/osi_vnodeops.o: $(TOP_SRC_AFS)/UKERNEL/osi_vnodeops.c
+       $(CRULEPIC)
+$(PICOBJ)/osi_vm.o: $(TOP_SRC_AFS)/UKERNEL/osi_vm.c
+       $(CRULEPIC)
+$(PICOBJ)/osi_groups.o: $(TOP_SRC_AFS)/UKERNEL/osi_groups.c
+       $(CRULEPIC)
+$(PICOBJ)/osi_gcpags.o: $(TOP_SRC_AFS)/UKERNEL/osi_gcpags.c
+       $(CRULEPIC)
+$(PICOBJ)/osi_vcache.o: $(TOP_SRC_AFS)/UKERNEL/osi_vcache.c
+       $(CRULEPIC)
+$(PICOBJ)/Kcallback.ss.o: $(TOP_OBJ_FSINT)/Kcallback.ss.c
+       $(CRULEPIC)
+$(PICOBJ)/Kvice.xdr.o: $(TOP_OBJ_FSINT)/Kvice.xdr.c
+       $(CRULEPIC)
+$(PICOBJ)/Kvice.cs.o: $(TOP_OBJ_FSINT)/Kvice.cs.c
+       $(CRULEPIC)
+$(PICOBJ)/afsaux.o: $(TOP_SRC_FSINT)/afsaux.c
+       $(CRULEPIC)
+$(PICOBJ)/xdr_array.o: $(TOP_SRC_RX)/xdr_array.c
+       $(CRULEPIC)
+$(PICOBJ)/xdr_arrayn.o: $(TOP_SRC_RX)/xdr_arrayn.c
+       $(CRULEPIC)
+$(PICOBJ)/Kvldbint.cs.o: $(TOP_OBJ_VLSERVER)/Kvldbint.cs.c
+       $(CRULEPIC)
+$(PICOBJ)/Kvldbint.xdr.o: $(TOP_OBJ_VLSERVER)/Kvldbint.xdr.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_kmutex.o: $(TOP_SRC_RX)/UKERNEL/rx_kmutex.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_knet.o: $(TOP_SRC_RX)/UKERNEL/rx_knet.c
+       $(CRULEPIC)
+$(PICOBJ)/rx_kcommon.o: $(TOP_SRCDIR)/rx/rx_kcommon.c
+       $(CRULEPIC)
+$(PICOBJ)/afs_call.o: $(TOP_SRC_AFS)/afs_call.c
+       $(CRULEPIC) -DAFS_NONFSTRANS
+$(PICOBJ)/afs_icl.o: $(TOP_SRC_AFS)/afs_icl.c
+       $(CRULEPIC) -DAFS_NONFSTRANS
+$(PICOBJ)/afs_pioctl.o: $(TOP_SRC_AFS)/afs_pioctl.c
+       $(CRULEPIC) -DAFS_NONFSTRANS
+$(PICOBJ)/afs_syscall.o: $(TOP_SRC_AFS)/afs_syscall.c
+       $(CRULEPIC) @CFLAGS_NOERROR@ -DAFS_NONFSTRANS
+$(PICOBJ)/osi_vfsops.o: $(TOP_SRC_AFS)/UKERNEL/osi_vfsops.c
+       $(CRULEPIC) -DAFS_NONFSTRANS
+$(PICOBJ)/ktc.o:       $(TOP_SRCDIR)/auth/ktc.c
+       $(CRULEPIC) @CFLAGS_NOERROR@
+$(PICOBJ)/ticket.o: $(TOP_SRCDIR)/rxkad/ticket.c
+       $(CRULEPIC)
+$(PICOBJ)/rxkad_server.o: $(TOP_SRCDIR)/rxkad/rxkad_server.c
+       $(CRULEPIC)
+$(PICOBJ)/ptint.cs.o: $(TOP_OBJDIR)/src/ptserver/ptint.cs.c
+       $(CRULEPIC)
+$(PICOBJ)/ptint.xdr.o: $(TOP_OBJDIR)/src/ptserver/ptint.xdr.c
+       $(CRULEPIC)
+$(PICOBJ)/ptuser.o: $(TOP_SRCDIR)/ptserver/ptuser.c
+       $(CRULEPIC)
+$(PICOBJ)/pterror.o: $(TOP_OBJDIR)/src/ptserver/pterror.c
+       $(CRULEPIC)
+$(PICOBJ)/ubikclient.o: $(TOP_SRCDIR)/ubik/ubikclient.c
+       $(CRULEPIC)
+$(PICOBJ)/ubik_int.cs.o: $(TOP_OBJDIR)/src/ubik/ubik_int.cs.c
+       $(CRULEPIC)
+$(PICOBJ)/ubik_int.xdr.o: $(TOP_OBJDIR)/src/ubik/ubik_int.xdr.c
+       $(CRULEPIC)
+$(PICOBJ)/authclient.o: $(TOP_SRCDIR)/kauth/authclient.c
+       $(CRULEPIC)
+$(PICOBJ)/kalocalcell.o: $(TOP_SRCDIR)/kauth/kalocalcell.c
+       $(CRULEPIC)
+$(PICOBJ)/client.o: $(TOP_SRCDIR)/kauth/client.c
+       $(CRULEPIC)
+$(PICOBJ)/user.o: $(TOP_SRCDIR)/kauth/user.c
+       $(CRULEPIC)
+$(PICOBJ)/hostparse.o: $(TOP_SRCDIR)/util/hostparse.c
+       $(CRULEPIC)
+$(PICOBJ)/katoken.o: $(TOP_SRCDIR)/kauth/katoken.c
+       $(CRULEPIC)
+$(PICOBJ)/acfg_errors.o: $(TOP_OBJDIR)/src/auth/acfg_errors.c
+       $(CRULEPIC)
+$(PICOBJ)/kaaux.o: $(TOP_SRCDIR)/kauth/kaaux.c
+       $(CRULEPIC)
+$(PICOBJ)/authcon.o: $(TOP_SRCDIR)/auth/authcon.c
+       $(CRULEPIC)
+$(PICOBJ)/cellconfig.o: $(TOP_SRCDIR)/auth/cellconfig.c
+       $(CRULEPIC)
+$(PICOBJ)/keys.o: $(TOP_SRCDIR)/auth/keys.c
+       $(CRULEPIC)
+$(PICOBJ)/casestrcpy.o: $(TOP_SRCDIR)/opr/casestrcpy.c
+       $(CRULEPIC)
+$(PICOBJ)/realms.o: $(TOP_SRCDIR)/auth/realms.c
+       $(CRULEPIC)
+$(PICOBJ)/dirpath.o: $(TOP_SRCDIR)/util/dirpath.c
+       $(CRULEPIC)
+$(PICOBJ)/fileutil.o: $(TOP_SRCDIR)/util/fileutil.c
+       $(CRULEPIC)
+$(PICOBJ)/netutils.o: $(TOP_SRCDIR)/util/netutils.c
+       $(CRULEPIC)
+$(PICOBJ)/et_name.o: $(TOP_SRCDIR)/comerr/et_name.c
+       $(CRULEPIC)
+$(PICOBJ)/com_err.o: $(TOP_SRCDIR)/comerr/com_err.c
+       $(CRULEPIC)
+$(PICOBJ)/error_msg.o: $(TOP_SRCDIR)/comerr/error_msg.c
+       $(CRULEPIC)
+$(PICOBJ)/uerrors.o: $(TOP_OBJDIR)/src/ubik/uerrors.c
+       $(CRULEPIC)
+$(PICOBJ)/kaerrors.o: $(TOP_OBJDIR)/src/kauth/kaerrors.c
+       $(CRULEPIC)
+$(PICOBJ)/ktc_errors.o: $(TOP_OBJDIR)/src/auth/ktc_errors.c
+       $(CRULEPIC)
+$(PICOBJ)/rxkad_errs.o: $(TOP_OBJDIR)/src/rxkad/rxkad_errs.c
+       $(CRULEPIC)
+$(PICOBJ)/kauth.cs.o: $(TOP_OBJDIR)/src/kauth/kauth.cs.c
+       $(CRULEPIC)
+$(PICOBJ)/kauth.xdr.o: $(TOP_OBJDIR)/src/kauth/kauth.xdr.c
+       $(CRULEPIC)
+$(PICOBJ)/rxstat.o: $(TOP_SRC_RXSTAT)/rxstat.c
+       $(CRULEPIC)
+$(PICOBJ)/Krxstat.ss.o: $(TOP_OBJ_RXSTAT)/Krxstat.ss.c
+       $(CRULEPIC)
+$(PICOBJ)/Krxstat.xdr.o: $(TOP_OBJ_RXSTAT)/Krxstat.xdr.c
+       $(CRULEPIC)
+$(PICOBJ)/token.xdr.o: $(TOP_OBJ_AUTH)/token.xdr.c
+       $(CRULEPIC)
+$(PICOBJ)/token.o: $(TOP_SRCDIR)/auth/token.c
+       $(CRULEPIC)
+$(PICOBJ)/xdr_mem.o: $(TOP_SRC_RX)/xdr_mem.c
+       $(CRULEPIC)
+$(PICOBJ)/xdr_len.o: $(TOP_SRC_RX)/xdr_len.c
+       $(CRULEPIC)
 
 # These files are for the netscape plugin
 
@@ -903,6 +1496,8 @@ $(WEBOBJ)/afs_segments.o: $(TOP_SRC_AFS)/afs_segments.c
        $(CRULE2)
 $(WEBOBJ)/afs_server.o: $(TOP_SRC_AFS)/afs_server.c
        $(CRULE2)
+$(WEBOBJ)/afs_tokens.o: $(TOP_SRC_AFS)/afs_tokens.c
+       $(CRULE2)
 $(WEBOBJ)/afs_user.o: $(TOP_SRC_AFS)/afs_user.c
        $(CRULE2)
 $(WEBOBJ)/afs_util.o: $(TOP_SRC_AFS)/afs_util.c
@@ -971,9 +1566,9 @@ $(WEBOBJ)/afs_fetchstore.o: $(TOP_SRC_AFS)/afs_fetchstore.c
        $(CRULE2)
 $(WEBOBJ)/afs_stat.o: $(TOP_SRC_AFS)/afs_stat.c
        $(CRULE2)
-$(WEBOBJ)/fcrypt.o:    $(TOP_SRC_RXKAD)/domestic/fcrypt.c
+$(WEBOBJ)/fcrypt.o:    $(TOP_SRC_RXKAD)/fcrypt.c
        $(CRULE2)
-$(WEBOBJ)/crypt_conn.o: $(TOP_SRC_RXKAD)/domestic/crypt_conn.c
+$(WEBOBJ)/crypt_conn.o: $(TOP_SRC_RXKAD)/crypt_conn.c
        $(CRULE2)
 $(WEBOBJ)/rxkad_client.o: $(TOP_SRC_RXKAD)/rxkad_client.c
        $(CRULE2)
@@ -993,28 +1588,48 @@ $(WEBOBJ)/rx_event.o: $(TOP_SRC_RX)/rx_event.c
        $(CRULE2)
 $(WEBOBJ)/rx_globals.o: $(TOP_SRC_RX)/rx_globals.c
        $(CRULE2)
+$(WEBOBJ)/rx_identity.o: $(TOP_SRC_RX)/rx_identity.c
+       $(CRULE2)
 $(WEBOBJ)/rx_misc.o: $(TOP_SRC_RX)/rx_misc.c
        $(CRULE2)
 $(WEBOBJ)/rx_multi.o: $(TOP_SRC_RX)/rx_multi.c
        $(CRULE2)
 $(WEBOBJ)/rx_null.o: $(TOP_SRC_RX)/rx_null.c
        $(CRULE2)
+$(WEBOBJ)/rx_opaque.o: $(TOP_SRC_RX)/rx_opaque.c
+       $(CRULE2)
 $(WEBOBJ)/rx_getaddr.o: $(TOP_SRC_RX)/rx_getaddr.c
        $(CRULE2)
+$(WEBOBJ)/rx_stats.o: $(TOP_SRC_RX)/rx_stats.c
+       $(CRULE2)
 $(WEBOBJ)/rx_packet.o: $(TOP_SRC_RX)/rx_packet.c
        $(CRULE2)
 $(WEBOBJ)/rx_conncache.o: $(TOP_SRCDIR)/rx/rx_conncache.c
        $(CRULE2)
+$(WEBOBJ)/rx_call.o: $(TOP_SRCDIR)/rx_rx_call.c
+       $(CRULE2)
+$(WEBOBJ)/rx_conn.o: $(TOP_SRCDIR)/rx/rx_conn.c
+       $(CRULE2)
+$(WEBOBJ)/rx_peer.o: $(TOP_SRCDIR)/rx/rx_peer.c
+       $(CRULE2)
 $(WEBOBJ)/xdr_rx.o: $(TOP_SRC_RX)/xdr_rx.c
-       $(CRULE2) @CFLAGS_NOERROR@
+       $(CRULE2)
 $(WEBOBJ)/afs_usrops.o: $(TOP_SRC_AFS)/UKERNEL/afs_usrops.c
        $(CRULE2)
+$(WEBOBJ)/afsd.o: $(TOP_SRCDIR)/afsd/afsd.c
+       $(CRULE2) @CFLAGS_NOERROR@
+$(WEBOBJ)/afsd_uafs.o: $(TOP_SRC_AFS)/UKERNEL/afsd_uafs.c
+       $(CRULE2)
 $(WEBOBJ)/afs_uuid.o: $(TOP_SRCDIR)/util/uuid.c
        $(CRULE2) -o afs_uuid.o
-$(WEBOBJ)/assert.o: $(TOP_SRCDIR)/util/assert.c
+$(WEBOBJ)/assert.o: $(TOP_SRCDIR)/opr/assert.c
        $(CRULE1)
 $(WEBOBJ)/xdr_afsuuid.o: $(TOP_SRCDIR)/rx/xdr_afsuuid.c
        $(CRULE2)
+$(WEBOBJ)/xdr_update.o: $(TOP_SRCDIR)/rx/xdr_update.c
+       $(CRULE2)
+$(WEBOBJ)/xdr_refernce.o: $(TOP_SRCDIR)/rx/xdr_refernce.c
+       $(CRULE2)
 $(WEBOBJ)/xdr.o: $(TOP_SRCDIR)/rx/xdr.c
        $(CRULE2)
 $(WEBOBJ)/osi_vnodeops.o: $(TOP_SRC_AFS)/UKERNEL/osi_vnodeops.c
@@ -1023,6 +1638,10 @@ $(WEBOBJ)/osi_vm.o: $(TOP_SRC_AFS)/UKERNEL/osi_vm.c
        $(CRULE2)
 $(WEBOBJ)/osi_groups.o: $(TOP_SRC_AFS)/UKERNEL/osi_groups.c
        $(CRULE2)
+$(WEBOBJ)/osi_gcpags.o: $(TOP_SRC_AFS)/UKERNEL/osi_gcpags.c
+       $(CRULE2)
+$(WEBOBJ)/osi_vcache.o: $(TOP_SRC_AFS)/UKERNEL/osi_vcache.c
+       $(CRULE2)
 $(WEBOBJ)/Kcallback.ss.o: $(TOP_OBJ_FSINT)/Kcallback.ss.c
        $(CRULE2)
 $(WEBOBJ)/Kvice.xdr.o: $(TOP_OBJ_FSINT)/Kvice.xdr.c
@@ -1031,6 +1650,8 @@ $(WEBOBJ)/Kvice.cs.o: $(TOP_OBJ_FSINT)/Kvice.cs.c
        $(CRULE2)
 $(WEBOBJ)/afsaux.o: $(TOP_SRC_FSINT)/afsaux.c
        $(CRULE2)
+$(WEBOBJ)/xdr_array.o: $(TOP_SRC_RX)/xdr_array.c
+       $(CRULE2)
 $(WEBOBJ)/xdr_arrayn.o: $(TOP_SRC_RX)/xdr_arrayn.c
        $(CRULE2)
 $(WEBOBJ)/Kvldbint.cs.o: $(TOP_OBJ_VLSERVER)/Kvldbint.cs.c
@@ -1090,7 +1711,7 @@ $(WEBOBJ)/user.o: $(TOP_SRCDIR)/kauth/user.c
        $(CRULE2)
 $(WEBOBJ)/hostparse.o: $(TOP_SRCDIR)/util/hostparse.c
        $(CRULE2)
-$(WEBOBJ)/token.o: $(TOP_SRCDIR)/kauth/token.c
+$(WEBOBJ)/katoken.o: $(TOP_SRCDIR)/kauth/katoken.c
        $(CRULE2)
 $(WEBOBJ)/acfg_errors.o: $(TOP_OBJDIR)/src/auth/acfg_errors.c
        $(CRULE2)
@@ -1104,8 +1725,12 @@ $(WEBOBJ)/authcon.o: $(TOP_SRCDIR)/auth/authcon.c
        $(CRULE2)
 $(WEBOBJ)/cellconfig.o: $(TOP_SRCDIR)/auth/cellconfig.c
        $(CRULE2)
-$(WEBOBJ)/casestrcpy.o: $(TOP_SRCDIR)/util/casestrcpy.c
+$(WEBOBJ)/keys.o: $(TOP_SRCDIR)/auth/keys.c
+       $(CRULE2)
+$(WEBOBJ)/casestrcpy.o: $(TOP_SRCDIR)/opr/casestrcpy.c
        $(CRULE1)
+$(WEBOBJ)/realms.o: $(TOP_SRCDIR)/auth/realms.c
+       $(CRULE2)
 $(WEBOBJ)/dirpath.o: $(TOP_SRCDIR)/util/dirpath.c
        $(CRULE1)
 $(WEBOBJ)/fileutil.o: $(TOP_SRCDIR)/util/fileutil.c
@@ -1132,6 +1757,14 @@ $(WEBOBJ)/Krxstat.ss.o: $(TOP_OBJ_RXSTAT)/Krxstat.ss.c
        $(CRULE2)
 $(WEBOBJ)/Krxstat.xdr.o: $(TOP_OBJ_RXSTAT)/Krxstat.xdr.c
        $(CRULE2)
+$(WEBOBJ)/token.xdr.o: $(TOP_OBJ_AUTH)/token.xdr.c
+       $(CRULE2)
+$(WEBOBJ)/token.o: $(TOP_SRCDIR)/auth/token.c
+       $(CRULE1)
+$(WEBOBJ)/xdr_mem.o: $(TOP_SRC_RX)/xdr_mem.c
+       $(CRULE2)
+$(WEBOBJ)/xdr_len.o: $(TOP_SRC_RX)/xdr_len.c
+       $(CRULE2)
 
 # These are for libjuafs.a 
 # Used for linking with libafsauthent and libafsrpc
@@ -1174,6 +1807,8 @@ $(JUAFS)/afs_segments.o: $(TOP_SRC_AFS)/afs_segments.c
        $(CRULE1)
 $(JUAFS)/afs_server.o: $(TOP_SRC_AFS)/afs_server.c
        $(CRULE1)
+$(JUAFS)/afs_tokens.o: $(TOP_SRC_AFS)/afs_tokens.c
+       $(CRULE1)
 $(JUAFS)/afs_user.o: $(TOP_SRC_AFS)/afs_user.c
        $(CRULE1)
 $(JUAFS)/afs_util.o: $(TOP_SRC_AFS)/afs_util.c
@@ -1242,9 +1877,9 @@ $(JUAFS)/afs_fetchstore.o: $(TOP_SRC_AFS)/afs_fetchstore.c
        $(CRULE1)
 $(JUAFS)/afs_stat.o: $(TOP_SRC_AFS)/afs_stat.c
        $(CRULE1)
-$(JUAFS)/fcrypt.o:     $(TOP_SRC_RXKAD)/domestic/fcrypt.c
+$(JUAFS)/fcrypt.o:     $(TOP_SRC_RXKAD)/fcrypt.c
        $(CRULE1)
-$(JUAFS)/crypt_conn.o: $(TOP_SRC_RXKAD)/domestic/crypt_conn.c
+$(JUAFS)/crypt_conn.o: $(TOP_SRC_RXKAD)/crypt_conn.c
        $(CRULE1)
 $(JUAFS)/rxkad_client.o: $(TOP_SRC_RXKAD)/rxkad_client.c
        $(CRULE1)
@@ -1264,30 +1899,50 @@ $(JUAFS)/rx_event.o: $(TOP_SRC_RX)/rx_event.c
        $(CRULE1)
 $(JUAFS)/rx_globals.o: $(TOP_SRC_RX)/rx_globals.c
        $(CRULE1)
+$(JUAFS)/rx_identity.o: $(TOP_SRC_RX)/rx_identity.c
+       $(CRULE1)
 $(JUAFS)/rx_misc.o: $(TOP_SRC_RX)/rx_misc.c
        $(CRULE1)
 $(JUAFS)/rx_multi.o: $(TOP_SRC_RX)/rx_multi.c
        $(CRULE1)
 $(JUAFS)/rx_null.o: $(TOP_SRC_RX)/rx_null.c
        $(CRULE1)
+$(JUAFS)/rx_opaque.o: $(TOP_SRC_RX)/rx_opaque.c
+       $(CRULE1)
 $(JUAFS)/rx_getaddr.o: $(TOP_SRC_RX)/rx_getaddr.c
        $(CRULE1)
+$(JUAFS)/rx_stats.o: $(TOP_SRC_RX)/rx_stats.c
+       $(CRULE1)
 $(JUAFS)/rx_packet.o: $(TOP_SRC_RX)/rx_packet.c
        $(CRULE1)
 $(JUAFS)/rx_conncache.o: $(TOP_SRCDIR)/rx/rx_conncache.c
        $(CRULE1)
+$(JUAFS)/rx_call.o: $(TOP_SRC_RX)/rx_call.c
+       $(CRULE1)
+$(JUAFS)/rx_conn.o: $(TOP_SRC_RX)/rx_conn.c
+       $(CRULE1)
+$(JUAFS)/rx_peer.o: $(TOP_SRC_RX)/rx_peer.c
+       $(CRULE1)
 $(JUAFS)/xdr_rx.o: $(TOP_SRC_RX)/xdr_rx.c
-       $(CRULE1) @CFLAGS_NOERROR@
+       $(CRULE1)
 $(JUAFS)/xdr_int64.o: $(TOP_SRC_RX)/xdr_int64.c
        $(CRULE1)
 $(JUAFS)/afs_usrops.o: $(TOP_SRC_AFS)/UKERNEL/afs_usrops.c
        $(CRULE1)
+$(JUAFS)/afsd.o: $(TOP_SRCDIR)/afsd/afsd.c
+       $(CRULE1) @CFLAGS_NOERROR@
+$(JUAFS)/afsd_uafs.o: $(TOP_SRC_AFS)/UKERNEL/afsd_uafs.c
+       $(CRULE1)
 $(JUAFS)/afs_uuid.o: $(TOP_SRCDIR)/util/uuid.c
        $(CRULE1) -o afs_uuid.o
-$(JUAFS)/assert.o: $(TOP_SRCDIR)/util/assert.c
+$(JUAFS)/assert.o: $(TOP_SRCDIR)/opr/assert.c
        $(CRULE1)
 $(JUAFS)/xdr_afsuuid.o: $(TOP_SRCDIR)/rx/xdr_afsuuid.c
        $(CRULE1)
+$(JUAFS)/xdr_update.o: $(TOP_SRCDIR)/rx/xdr_update.c
+       $(CRULE1)
+$(JUAFS)/xdr_refernce.o: $(TOP_SRCDIR)/rx/xdr_refernce.c
+       $(CRULE1)
 $(JUAFS)/xdr.o: $(TOP_SRCDIR)/rx/xdr.c
        $(CRULE1)
 $(JUAFS)/osi_vnodeops.o: $(TOP_SRC_AFS)/UKERNEL/osi_vnodeops.c
@@ -1296,6 +1951,10 @@ $(JUAFS)/osi_vm.o: $(TOP_SRC_AFS)/UKERNEL/osi_vm.c
        $(CRULE1)
 $(JUAFS)/osi_groups.o: $(TOP_SRC_AFS)/UKERNEL/osi_groups.c
        $(CRULE1)
+$(JUAFS)/osi_gcpags.o: $(TOP_SRC_AFS)/UKERNEL/osi_gcpags.c
+       $(CRULE1)
+$(JUAFS)/osi_vcache.o: $(TOP_SRC_AFS)/UKERNEL/osi_vcache.c
+       $(CRULE1)
 $(JUAFS)/Kcallback.ss.o: $(TOP_OBJ_FSINT)/Kcallback.ss.c
        $(CRULE1)
 $(JUAFS)/Kvice.xdr.o: $(TOP_OBJ_FSINT)/Kvice.xdr.c
@@ -1304,6 +1963,8 @@ $(JUAFS)/Kvice.cs.o: $(TOP_OBJ_FSINT)/Kvice.cs.c
        $(CRULE1)
 $(JUAFS)/afsaux.o: $(TOP_SRC_FSINT)/afsaux.c
        $(CRULE1)
+$(JUAFS)/xdr_array.o: $(TOP_SRC_RX)/xdr_array.c
+       $(CRULE1)
 $(JUAFS)/xdr_arrayn.o: $(TOP_SRC_RX)/xdr_arrayn.c
        $(CRULE1)
 $(JUAFS)/Kvldbint.cs.o: $(TOP_OBJ_VLSERVER)/Kvldbint.cs.c
@@ -1354,7 +2015,7 @@ $(JUAFS)/user.o: $(TOP_SRCDIR)/kauth/user.c
        $(CRULE1)
 $(JUAFS)/hostparse.o: $(TOP_SRCDIR)/util/hostparse.c
        $(CRULE1)
-$(JUAFS)/token.o: $(TOP_SRCDIR)/kauth/token.c
+$(JUAFS)/katoken.o: $(TOP_SRCDIR)/kauth/katoken.c
        $(CRULE1)
 $(JUAFS)/acfg_errors.o: $(TOP_OBJDIR)/src/auth/acfg_errors.c
        $(CRULE1)
@@ -1364,7 +2025,11 @@ $(JUAFS)/authcon.o: $(TOP_SRCDIR)/auth/authcon.c
        $(CRULE1)
 $(JUAFS)/cellconfig.o: $(TOP_SRCDIR)/auth/cellconfig.c
        $(CRULE1)
-$(JUAFS)/casestrcpy.o: $(TOP_SRCDIR)/util/casestrcpy.c
+$(JUAFS)/keys.o: $(TOP_SRCDIR)/auth/keys.c
+       $(CRULE1)
+$(JUAFS)/casestrcpy.o: $(TOP_SRCDIR)/opr/casestrcpy.c
+       $(CRULE1)
+$(JUAFS)/realms.o: $(TOP_SRCDIR)/auth/realms.c
        $(CRULE1)
 $(JUAFS)/dirpath.o: $(TOP_SRCDIR)/util/dirpath.c
        $(CRULE1)
@@ -1396,24 +2061,61 @@ $(JUAFS)/Krxstat.ss.o: $(TOP_OBJ_RXSTAT)/Krxstat.ss.c
        $(CRULE1)
 $(JUAFS)/Krxstat.xdr.o: $(TOP_OBJ_RXSTAT)/Krxstat.xdr.c
        $(CRULE1)
+$(JUAFS)/token.xdr.o: $(TOP_OBJ_AUTH)/token.xdr.c
+       $(CRULE1)
+$(JUAFS)/token.o: $(TOP_SRCDIR)/auth/token.c
+       $(CRULE1)
+$(JUAFS)/xdr_mem.o: $(TOP_SRC_RX)/xdr_mem.c
+       $(CRULE1)
+$(JUAFS)/xdr_len.o: $(TOP_SRC_RX)/xdr_len.c
+       $(CRULE1)
 
+$(PERLUAFS)/ukernel.pm: $(PERLUAFS)/ukernel_swig_perl.c
+$(PERLUAFS)/ukernel_swig_perl.c: ${srcdir}/ukernel_swig.i
+       mkdir -p $(PERLUAFS)
+       $(SWIG) -perl5 -o $@ ${srcdir}/ukernel_swig.i
 
-clean:
-       -$(RM) -rf UAFS* JUAFS* AFSWEB* nsapi des afs afsint config rx
-       -$(RM) -f  h net netinet rpc ufs machine inet nfs sys des linktest $(AFS_OS_CLEAN)
+$(PERLUAFS)/ukernel_swig_perl.o: $(PERLUAFS)/ukernel_swig_perl.c
+       ${CC} -c ${CPPFLAGS} ${UAFS_CFLAGS} $(SWIG_PERL_CFLAGS) \
+               $(COMMON_INCLUDE) -DUKERNEL $(SHLIB_CFLAGS) -o $@ \
+               $(PERLUAFS)/ukernel_swig_perl.c
+
+$(PERLUAFS)/ukernel.so: $(PERLUAFS)/ukernel_swig_perl.o UAFS.pic/libuafs_pic.a
+       ${TOP_OBJDIR}/src/config/shlib-build -d $(srcdir) -p -f $@ -- \
+               $(SWIG_PERL_LDFLAGS) $(LDFLAGS) \
+               $(PERLUAFS)/ukernel_swig_perl.o \
+               UAFS.pic/libuafs_pic.a ${TOP_LIBDIR}/libcmd_pic.a \
+               ${TOP_LIBDIR}/libafsutil_pic.a \
+               $(TOP_LIBDIR)/libopr.a \
+               $(LDFLAGS_roken) $(LDFLAGS_hcrypto) $(LIB_hcrypto) \
+               $(LIB_roken) $(LIB_crypt) \
+               $(XLIBS)
 
+clean:
+       -$(RM) -rf UAFS* JUAFS* AFSWEB* PERLUAFS nsapi afsd afs afsint config rx
+       -$(RM) -rf h
+       -$(RM) -f linktest $(AFS_OS_CLEAN)
 
-install: UAFS/$(LIBUAFS) JUAFS/$(LIBJUAFS)
+install: UAFS/$(LIBUAFS) JUAFS/$(LIBJUAFS) UAFS.pic/libuafs_pic.a \
+               @LIBUAFS_BUILD_PERL@
        ${INSTALL} -d ${DESTDIR}${libdir}
        ${INSTALL_DATA} UAFS/$(LIBUAFS) ${DESTDIR}${libdir}/$(LIBUAFS)
        ${INSTALL_DATA} JUAFS/$(LIBJUAFS) ${DESTDIR}${libdir}/$(LIBJUAFS)
+       ${INSTALL_DATA} UAFS.pic/libuafs_pic.a ${DESTDIR}${libdir}/libuafs_pic.a
+       if [ "x$(LIBUAFS_BUILD_PERL)" != "x" ] ; then \
+               ${INSTALL} -d ${DESTDIR}${libdir}/perl; \
+               ${INSTALL} -d ${DESTDIR}${libdir}/perl/AFS; \
+               ${INSTALL_DATA} PERLUAFS/ukernel.so ${DESTDIR}${libdir}/perl/ukernel.so; \
+               ${INSTALL_DATA} PERLUAFS/ukernel.pm ${DESTDIR}${libdir}/perl/AFS/ukernel.pm; \
+       fi;
 
 dest: $(TOP_INCDIR)/afs/param.h $(TOP_INCDIR)/afs/stds.h \
                $(TOP_INCDIR)/afs/afs_sysnames.h \
                $(TOP_INCDIR)/afs/afs_stats.h \
                $(TOP_SRCDIR)/afs/sysincludes.h \
                $(TOP_SRCDIR)/afs/UKERNEL/afs_usrops.h \
-               ${TOP_OBJDIR}/lib/libdes.a UAFS/$(LIBUAFS) JUAFS/$(LIBJUAFS)
+               UAFS/$(LIBUAFS) JUAFS/$(LIBJUAFS) UAFS.pic/libuafs_pic.a \
+               @LIBUAFS_BUILD_PERL@
        ${INSTALL} -d ${DEST}/root.perf/include/afs
        ${INSTALL} -d ${DEST}/root.perf/lib
        ${INSTALL_DATA} $(TOP_INCDIR)/afs/param.h \
@@ -1424,14 +2126,19 @@ dest: $(TOP_INCDIR)/afs/param.h $(TOP_INCDIR)/afs/stds.h \
                ${DEST}/root.perf/include/afs/afs_sysnames.h
        ${INSTALL_DATA} $(TOP_INCDIR)/afs/afs_stats.h \
                ${DEST}/root.perf/include/afs/afs_stats.h
-       ${INSTALL_DATA} $(TOP_SRCDIR)/afs/sysincludes.h \
+       ${INSTALL_DATA} $(TOP_SRCDIR)/afs/UKERNEL/sysincludes.h \
                ${DEST}/root.perf/include/afs/sysincludes.h
        ${INSTALL_DATA} $(TOP_SRCDIR)/afs/UKERNEL/afs_usrops.h \
                ${DEST}/root.perf/include/afs/afs_usrops.h
-       ${INSTALL_DATA} ${TOP_OBJDIR}/lib/libdes.a \
-               ${DEST}/root.perf/lib/libdes.a
        ${INSTALL_DATA} UAFS/$(LIBUAFS) ${DEST}/root.perf/lib/$(LIBUAFS)
        ${INSTALL_DATA} JUAFS/$(LIBJUAFS) ${DEST}/root.perf/lib/$(LIBJUAFS)
+       ${INSTALL_DATA} UAFS.pic/libuafs_pic.a ${DEST}/root.perf/lib/libuafs_pic.a
+       if [ "x$(LIBUAFS_BUILD_PERL)" != "x" ] ; then \
+               ${INSTALL} -d ${DEST}/root.perf/lib/perl; \
+               ${INSTALL} -d ${DEST}/root.perf/lib/perl/AFS; \
+               ${INSTALL_DATA} PERLUAFS/ukernel.so ${DEST}/root.perf/lib/perl/ukernel.so; \
+               ${INSTALL_DATA} PERLUAFS/ukernel.pm ${DEST}/root.perf/lib/perl/AFS/ukernel.pm; \
+       fi;
 
 #
 # Common directory and other build targets
@@ -1439,22 +2146,23 @@ dest: $(TOP_INCDIR)/afs/param.h $(TOP_INCDIR)/afs/stds.h \
 UAFS:
        mkdir -p $@
 
+UAFS.pic:
+       mkdir -p $@
+
 JUAFS:
        mkdir -p $@
 
 AFSWEB:
        mkdir -p $@
 
-setup_common:
-       -$(RM) -f h net netinet rpc ufs nfs machine sys inet nsapi
-       -ln -s /usr/include/sys h
-       -ln -s /usr/include/net net 
-       -ln -s /usr/include/netinet netinet
-       -ln -s /usr/include/rpc rpc
-       -ln -s /usr/include/sys sys
-       -ln -s /usr/include/nfs nfs
-       -ln -s /usr/include/inet inet
-       -ln -s /usr/include/ufs ufs
+h: $(TOP_SRC_AFS)/*.c $(TOP_SRC_VNOPS)/*.c $(TOP_SRC_RX)/*.c
+       -$(RM) -rf h
+       @TOP_SRCDIR@/libuafs/make_h_tree $(TOP_SRC_AFS) $(TOP_SRC_VNOPS) \
+               $(TOP_SRC_RX)
+
+setup_common: h
+       -$(RM) -f nsapi afsd
+       -ln -s $(TOP_SRCDIR)/afsd afsd
        -ln -s $(NS_INCL) nsapi
 
 setup_uafs: UAFS setup_common
@@ -1462,6 +2170,11 @@ setup_uafs: UAFS setup_common
        ln -s ../Makefile UAFS/Makefile
        ln -s ../Makefile.common UAFS/Makefile.common
 
+setup_picuafs: UAFS.pic setup_common
+       -$(RM) -f UAFS.pic/Makefile UAFS.pic/Makefile.common
+       ln -s ../Makefile UAFS.pic/Makefile
+       ln -s ../Makefile.common UAFS.pic/Makefile.common
+
 setup_juafs: JUAFS setup_common
        -$(RM) -f JUAFS/Makefile JUAFS/Makefile.common
        ln -s ../Makefile JUAFS/Makefile
@@ -1477,9 +2190,14 @@ UAFS/$(LIBUAFS): setup_uafs
        $(MAKE) $(LIBUAFS) DESTDIR=${DESTDIR} LIBJUAFS_FLAGS=&& \
        $(RANLIB) $(LIBUAFS)
 
+UAFS.pic/libuafs_pic.a: setup_picuafs
+       cd UAFS.pic && \
+       $(MAKE) libuafs_pic.a DESTDIR=${DESTDIR} LIBJUAFS_FLAGS=&& \
+       $(RANLIB) libuafs_pic.a
+
 JUAFS/$(LIBJUAFS): setup_juafs
        cd JUAFS && \
-       $(MAKE) $(LIBJUAFS) DESTDIR=${DESTDIR} LIBJUAFS_FLAGS=-DAFS_WEB_ENHANCEMENTS && \
+       $(MAKE) $(LIBJUAFS) DESTDIR=${DESTDIR} LIBJUAFS_FLAGS=&& \
        $(RANLIB) $(LIBJUAFS)
 
 AFSWEB/$(LIBAFSWEB): setup_nsafs