make-avoid-double-slash-20080121
[openafs.git] / src / libuafs / Makefile.common.in
index a80bb31..7340183 100644 (file)
@@ -51,33 +51,30 @@ COMMON_INCLUDE = -I. -I.. -I../nfs \
         -I${TOP_OBJDIR}/src/vlserver \
        -I${TOP_OBJDIR}/src/libuafs \
         -I${TOP_INCDIR} \
-        -I${TOP_INCDIR}/afs \
+        -I${TOP_INCDIR}/afs 
 
 # Build rules - CC and CFLAGS are defined in system specific MakefileProtos.
 
 all: ${TOP_LIBDIR}/$(LIBJUAFS) ${TOP_LIBDIR}/$(LIBUAFS) linktest
 
+${TOP_LIBDIR}/$(LIBAFSWEB): AFSWEB/$(LIBAFSWEB)
+       ${INSTALL_DATA} $? $@
+
+${TOP_LIBDIR}/$(LIBAFSWEBKRB): AFSWEB/$(LIBAFSWEBKRB)
+       ${INSTALL_DATA} $? $@
+
+${TOP_LIBDIR}/$(LIBUAFS): UAFS/$(LIBUAFS)
+       ${INSTALL_DATA} $? $@
+
+${TOP_LIBDIR}/$(LIBJUAFS): JUAFS/$(LIBJUAFS)
+       ${INSTALL_DATA} $? $@
+
 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_OBJDIR}/lib/libdes.a $(TEST_LIBS) $(XLIBS)
-
-install: \
-       ${DESTDIR}${libdir}/$(LIBUAFS) \
-       ${DESTDIR}${libdir}/$(LIBJUAFS)
-
-dest: \
-       ${DEST}/root.perf/include/afs/param.h \
-       ${DEST}/root.perf/include/afs/stds.h \
-       ${DEST}/root.perf/include/afs/afs_sysnames.h \
-       ${DEST}/root.perf/include/afs/afs_stats.h \
-       ${DEST}/root.perf/include/afs/sysincludes.h \
-       ${DEST}/root.perf/include/afs/afs_usrops.h \
-       ${DEST}/root.perf/lib/libdes.a \
-       ${DEST}/root.perf/lib/$(LIBUAFS) \
-       ${DEST}/root.perf/lib/$(LIBJUAFS)
+       $(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)
 
 
 CRULE1=        $(CC) $(COMMON_INCLUDE) $(OPTF) -DKERNEL $(LIBJUAFS_FLAGS) $(CFLAGS) -c $?
@@ -87,6 +84,7 @@ UAFSOBJ = \
        $(UOBJ)/afs_atomlist.o \
        $(UOBJ)/afs_lhash.o \
        $(UOBJ)/afs_analyze.o \
+       $(UOBJ)/afs_error.o \
        $(UOBJ)/afs_axscache.o  \
        $(UOBJ)/afs_buffer.o    \
        $(UOBJ)/afs_callback.o  \
@@ -98,15 +96,18 @@ UAFSOBJ = \
        $(UOBJ)/afs_dcache.o \
        $(UOBJ)/afs_dir.o               \
        $(UOBJ)/afs_dynroot.o \
+       $(UOBJ)/afs_icl.o \
        $(UOBJ)/afs_init.o \
        $(UOBJ)/afs_lock.o      \
        $(UOBJ)/afs_mariner.o \
        $(UOBJ)/afs_memcache.o  \
+       $(UOBJ)/afs_md5.o       \
        $(UOBJ)/afs_osidnlc.o   \
        $(UOBJ)/afs_osi_pag.o \
        $(UOBJ)/afs_segments.o \
        $(UOBJ)/afs_server.o \
        $(UOBJ)/afs_stat.o \
+       $(UOBJ)/afs_syscall.o \
        $(UOBJ)/afs_user.o \
        $(UOBJ)/afs_util.o \
        $(UOBJ)/afs_vcache.o \
@@ -152,6 +153,7 @@ UAFSOBJ = \
        $(UOBJ)/rx_knet.o \
        $(UOBJ)/rx_kcommon.o \
        $(UOBJ)/rx_misc.o \
+       $(UOBJ)/rx_multi.o \
        $(UOBJ)/rx_null.o \
        $(UOBJ)/rx_getaddr.o \
        $(UOBJ)/rx_packet.o \
@@ -207,6 +209,7 @@ AFSWEBOBJ = \
        $(WEBOBJ)/afs_atomlist.o \
        $(WEBOBJ)/afs_lhash.o \
        $(WEBOBJ)/afs_analyze.o \
+       $(WEBOBJ)/afs_error.o \
        $(WEBOBJ)/afs_axscache.o \
        $(WEBOBJ)/afs_buffer.o \
        $(WEBOBJ)/afs_callback.o \
@@ -218,15 +221,18 @@ AFSWEBOBJ = \
        $(WEBOBJ)/afs_dcache.o \
        $(WEBOBJ)/afs_dir.o \
        $(WEBOBJ)/afs_dynroot.o \
+       $(WEBOBJ)/afs_icl.o \
        $(WEBOBJ)/afs_init.o \
        $(WEBOBJ)/afs_lock.o \
        $(WEBOBJ)/afs_mariner.o \
        $(WEBOBJ)/afs_memcache.o \
+       $(WEBOBJ)/afs_md5.o \
        $(WEBOBJ)/afs_osidnlc.o \
        $(WEBOBJ)/afs_osi_pag.o \
        $(WEBOBJ)/afs_segments.o \
        $(WEBOBJ)/afs_server.o \
        $(WEBOBJ)/afs_stat.o \
+       $(WEBOBJ)/afs_syscall.o \
        $(WEBOBJ)/afs_user.o \
        $(WEBOBJ)/afs_util.o \
        $(WEBOBJ)/afs_vcache.o \
@@ -272,6 +278,7 @@ AFSWEBOBJ = \
        $(WEBOBJ)/rx_knet.o \
        $(WEBOBJ)/rx_kcommon.o \
        $(WEBOBJ)/rx_misc.o \
+       $(WEBOBJ)/rx_multi.o \
        $(WEBOBJ)/rx_null.o \
        $(WEBOBJ)/rx_getaddr.o \
        $(WEBOBJ)/rx_packet.o \
@@ -328,6 +335,7 @@ AFSWEBOBJKRB = \
        $(WEBOBJ)/afs_atomlist.o \
        $(WEBOBJ)/afs_lhash.o \
        $(WEBOBJ)/afs_analyze.o \
+       $(WEBOBJ)/afs_error.o \
        $(WEBOBJ)/afs_axscache.o \
        $(WEBOBJ)/afs_buffer.o \
        $(WEBOBJ)/afs_callback.o \
@@ -339,15 +347,18 @@ AFSWEBOBJKRB = \
        $(WEBOBJ)/afs_dcache.o \
        $(WEBOBJ)/afs_dir.o \
        $(WEBOBJ)/afs_dynroot.o \
+       $(WEBOBJ)/afs_icl.o \
        $(WEBOBJ)/afs_init.o \
        $(WEBOBJ)/afs_lock.o \
        $(WEBOBJ)/afs_mariner.o \
        $(WEBOBJ)/afs_memcache.o \
+       $(WEBOBJ)/afs_md5.o \
        $(WEBOBJ)/afs_osidnlc.o \
        $(WEBOBJ)/afs_osi_pag.o \
        $(WEBOBJ)/afs_segments.o \
        $(WEBOBJ)/afs_server.o \
        $(WEBOBJ)/afs_stat.o \
+       $(WEBOBJ)/afs_syscall.o \
        $(WEBOBJ)/afs_user.o \
        $(WEBOBJ)/afs_util.o \
        $(WEBOBJ)/afs_vcache.o \
@@ -390,6 +401,7 @@ AFSWEBOBJKRB = \
        $(WEBOBJ)/rx_knet.o \
        $(WEBOBJ)/rx_kcommon.o \
        $(WEBOBJ)/rx_misc.o \
+       $(WEBOBJ)/rx_multi.o \
        $(WEBOBJ)/rx_null.o \
        $(WEBOBJ)/rx_getaddr.o \
        $(WEBOBJ)/rx_packet.o \
@@ -444,6 +456,7 @@ JUAFSOBJ = \
        $(JUAFS)/afs_atomlist.o \
        $(JUAFS)/afs_lhash.o \
        $(JUAFS)/afs_analyze.o \
+       $(JUAFS)/afs_error.o \
        $(JUAFS)/afs_axscache.o  \
        $(JUAFS)/afs_buffer.o   \
        $(JUAFS)/afs_callback.o \
@@ -455,15 +468,18 @@ JUAFSOBJ = \
        $(JUAFS)/afs_dcache.o \
        $(JUAFS)/afs_dir.o \
        $(JUAFS)/afs_dynroot.o \
+       $(JUAFS)/afs_icl.o \
        $(JUAFS)/afs_init.o \
        $(JUAFS)/afs_lock.o     \
        $(JUAFS)/afs_mariner.o \
        $(JUAFS)/afs_memcache.o \
+       $(JUAFS)/afs_md5.o \
        $(JUAFS)/afs_osidnlc.o  \
        $(JUAFS)/afs_osi_pag.o \
        $(JUAFS)/afs_segments.o \
        $(JUAFS)/afs_server.o \
        $(JUAFS)/afs_stat.o \
+       $(JUAFS)/afs_syscall.o \
        $(JUAFS)/afs_user.o \
        $(JUAFS)/afs_util.o \
        $(JUAFS)/afs_vcache.o \
@@ -508,6 +524,7 @@ JUAFSOBJ = \
        $(JUAFS)/rx_knet.o \
        $(JUAFS)/rx_kcommon.o \
        $(JUAFS)/rx_misc.o \
+       $(JUAFS)/rx_multi.o \
        $(JUAFS)/rx_null.o \
        $(JUAFS)/rx_getaddr.o \
        $(JUAFS)/rx_packet.o \
@@ -580,6 +597,8 @@ $(UOBJ)/afs_dcache.o: $(TOP_SRC_AFS)/afs_dcache.c
        $(CRULE1)
 $(UOBJ)/afs_dynroot.o: $(TOP_SRC_AFS)/afs_dynroot.c
        $(CRULE1)
+$(UOBJ)/afs_error.o: $(TOP_SRC_AFS)/afs_error.c
+       $(CRULE1)
 $(UOBJ)/afs_init.o: $(TOP_SRC_AFS)/afs_init.c
        $(CRULE1)
 $(UOBJ)/afs_mariner.o: $(TOP_SRC_AFS)/afs_mariner.c
@@ -654,6 +673,8 @@ $(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_stat.o: $(TOP_SRC_AFS)/afs_stat.c
        $(CRULE1)
 $(UOBJ)/fcrypt.o:      $(TOP_SRC_RXKAD)/domestic/fcrypt.c
@@ -680,6 +701,8 @@ $(UOBJ)/rx_globals.o: $(TOP_SRC_RX)/rx_globals.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_getaddr.o: $(TOP_SRC_RX)/rx_getaddr.c
@@ -730,8 +753,12 @@ $(UOBJ)/rx_kcommon.o: $(TOP_SRCDIR)/rx/rx_kcommon.c
        $(CRULE1)
 $(UOBJ)/afs_call.o: $(TOP_SRC_AFS)/afs_call.c
        $(CRULE1) -DAFS_NONFSTRANS
+$(UOBJ)/afs_icl.o: $(TOP_SRC_AFS)/afs_icl.c
+       $(CRULE1) -DAFS_NONFSTRANS
 $(UOBJ)/afs_pioctl.o: $(TOP_SRC_AFS)/afs_pioctl.c
        $(CRULE1) -DAFS_NONFSTRANS
+$(UOBJ)/afs_syscall.o: $(TOP_SRC_AFS)/afs_syscall.c
+       $(CRULE1) -DAFS_NONFSTRANS
 $(UOBJ)/osi_vfsops.o: $(TOP_SRC_AFS)/UKERNEL/osi_vfsops.c
        $(CRULE1) -DAFS_NONFSTRANS
 $(UOBJ)/ktc.o:         $(TOP_SRCDIR)/auth/ktc.c
@@ -809,9 +836,9 @@ $(UOBJ)/Krxstat.xdr.o: $(TOP_OBJ_RXSTAT)/Krxstat.xdr.c
 
 # These files are for the netscape plugin
 
-$(WEBOBJ)/afs_atomlist.o: $(TOP_SRCDIR)/util//afs_atomlist.c
+$(WEBOBJ)/afs_atomlist.o: $(TOP_SRCDIR)/util/afs_atomlist.c
        $(CRULE2)
-$(WEBOBJ)/afs_lhash.o: $(TOP_SRCDIR)/util//afs_lhash.c
+$(WEBOBJ)/afs_lhash.o: $(TOP_SRCDIR)/util/afs_lhash.c
        $(CRULE2)
 $(WEBOBJ)/afs_analyze.o: $(TOP_SRC_AFS)/afs_analyze.c
        $(CRULE2)
@@ -827,6 +854,8 @@ $(WEBOBJ)/afs_dcache.o: $(TOP_SRC_AFS)/afs_dcache.c
        $(CRULE2)
 $(WEBOBJ)/afs_dynroot.o: $(TOP_SRC_AFS)/afs_dynroot.c
        $(CRULE2)
+$(WEBOBJ)/afs_error.o: $(TOP_SRC_AFS)/afs_error.c
+       $(CRULE2)
 $(WEBOBJ)/afs_init.o: $(TOP_SRC_AFS)/afs_init.c
        $(CRULE2)
 $(WEBOBJ)/afs_mariner.o: $(TOP_SRC_AFS)/afs_mariner.c
@@ -901,6 +930,8 @@ $(WEBOBJ)/afs_lock.o: $(TOP_SRC_AFS)/afs_lock.c
        $(CRULE2)
 $(WEBOBJ)/afs_memcache.o: $(TOP_SRC_AFS)/afs_memcache.c
        $(CRULE2)
+$(WEBOBJ)/afs_md5.o: $(TOP_SRC_AFS)/afs_md5.c
+       $(CRULE2)
 $(WEBOBJ)/afs_stat.o: $(TOP_SRC_AFS)/afs_stat.c
        $(CRULE2)
 $(WEBOBJ)/fcrypt.o:    $(TOP_SRC_RXKAD)/domestic/fcrypt.c
@@ -927,6 +958,8 @@ $(WEBOBJ)/rx_globals.o: $(TOP_SRC_RX)/rx_globals.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_getaddr.o: $(TOP_SRC_RX)/rx_getaddr.c
@@ -973,8 +1006,12 @@ $(WEBOBJ)/rx_kcommon.o: $(TOP_SRCDIR)/rx/rx_kcommon.c
        $(CRULE2)
 $(WEBOBJ)/afs_call.o: $(TOP_SRC_AFS)/afs_call.c
        $(CRULE2) -DAFS_NONFSTRANS
+$(WEBOBJ)/afs_icl.o: $(TOP_SRC_AFS)/afs_icl.c
+       $(CRULE2) -DAFS_NONFSTRANS
 $(WEBOBJ)/afs_pioctl.o: $(TOP_SRC_AFS)/afs_pioctl.c
        $(CRULE2) -DAFS_NONFSTRANS
+$(WEBOBJ)/afs_syscall.o: $(TOP_SRC_AFS)/afs_syscall.c
+       $(CRULE2) -DAFS_NONFSTRANS
 $(WEBOBJ)/osi_vfsops.o: $(TOP_SRC_AFS)/UKERNEL/osi_vfsops.c
        $(CRULE2) -DAFS_NONFSTRANS
 $(WEBOBJ)/ktc.o:       $(TOP_SRCDIR)/auth/ktc.c
@@ -1062,7 +1099,7 @@ $(WEBOBJ)/Krxstat.xdr.o: $(TOP_OBJ_RXSTAT)/Krxstat.xdr.c
 
 $(JUAFS)/afs_atomlist.o: $(TOP_SRCDIR)/util/afs_atomlist.c
        $(CRULE1)
-$(JUAFS)/afs_lhash.o: $(TOP_SRCDIR)/util//afs_lhash.c
+$(JUAFS)/afs_lhash.o: $(TOP_SRCDIR)/util/afs_lhash.c
        $(CRULE1)
 $(JUAFS)/afs_analyze.o: $(TOP_SRC_AFS)/afs_analyze.c
        $(CRULE1)
@@ -1078,6 +1115,8 @@ $(JUAFS)/afs_dcache.o: $(TOP_SRC_AFS)/afs_dcache.c
        $(CRULE1)
 $(JUAFS)/afs_dynroot.o: $(TOP_SRC_AFS)/afs_dynroot.c
        $(CRULE1)
+$(JUAFS)/afs_error.o: $(TOP_SRC_AFS)/afs_error.c
+       $(CRULE1)
 $(JUAFS)/afs_init.o: $(TOP_SRC_AFS)/afs_init.c
        $(CRULE1)
 $(JUAFS)/afs_mariner.o: $(TOP_SRC_AFS)/afs_mariner.c
@@ -1152,6 +1191,8 @@ $(JUAFS)/afs_lock.o: $(TOP_SRC_AFS)/afs_lock.c
        $(CRULE1)
 $(JUAFS)/afs_memcache.o: $(TOP_SRC_AFS)/afs_memcache.c
        $(CRULE1)
+$(JUAFS)/afs_md5.o: $(TOP_SRC_AFS)/afs_md5.c
+       $(CRULE1)
 $(JUAFS)/afs_stat.o: $(TOP_SRC_AFS)/afs_stat.c
        $(CRULE1)
 $(JUAFS)/fcrypt.o:     $(TOP_SRC_RXKAD)/domestic/fcrypt.c
@@ -1178,6 +1219,8 @@ $(JUAFS)/rx_globals.o: $(TOP_SRC_RX)/rx_globals.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_getaddr.o: $(TOP_SRC_RX)/rx_getaddr.c
@@ -1224,8 +1267,12 @@ $(JUAFS)/rx_kcommon.o: $(TOP_SRCDIR)/rx/rx_kcommon.c
        $(CRULE1)
 $(JUAFS)/afs_call.o: $(TOP_SRC_AFS)/afs_call.c
        $(CRULE1) -DAFS_NONFSTRANS
+$(JUAFS)/afs_icl.o: $(TOP_SRC_AFS)/afs_icl.c
+       $(CRULE1) -DAFS_NONFSTRANS
 $(JUAFS)/afs_pioctl.o: $(TOP_SRC_AFS)/afs_pioctl.c
        $(CRULE1) -DAFS_NONFSTRANS
+$(JUAFS)/afs_syscall.o: $(TOP_SRC_AFS)/afs_syscall.c
+       $(CRULE1) -DAFS_NONFSTRANS
 $(JUAFS)/osi_vfsops.o: $(TOP_SRC_AFS)/UKERNEL/osi_vfsops.c
        $(CRULE1) -DAFS_NONFSTRANS
 $(JUAFS)/ktc.o:        $(TOP_SRCDIR)/auth/ktc.c
@@ -1304,67 +1351,38 @@ $(JUAFS)/Krxstat.xdr.o: $(TOP_OBJ_RXSTAT)/Krxstat.xdr.c
 
 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
-
-
-${TOP_LIBDIR}/$(LIBAFSWEB): AFSWEB/$(LIBAFSWEB)
-       ${INSTALL} $? $@
-
-${TOP_LIBDIR}/$(LIBAFSWEBKRB): AFSWEB/$(LIBAFSWEBKRB)
-       ${INSTALL} $? $@
-
-${TOP_LIBDIR}/$(LIBUAFS): UAFS/$(LIBUAFS)
-       ${INSTALL} $? $@
-
-${TOP_LIBDIR}/$(LIBJUAFS): JUAFS/$(LIBJUAFS)
-       ${INSTALL} $? $@
-
-
-${DESTDIR}${libdir}/$(LIBAFSWEB): AFSWEB/$(LIBAFSWEB)
-       ${INSTALL} $? $@
-
-${DESTDIR}${libdir}/$(LIBAFSWEBKRB): AFSWEB/$(LIBAFSWEBKRB)
-       ${INSTALL} $? $@
-
-${DESTDIR}${libdir}/$(LIBUAFS): UAFS/$(LIBUAFS)
-       ${INSTALL} $? $@
-
-${DESTDIR}${libdir}/$(LIBJUAFS): JUAFS/$(LIBJUAFS)
-       ${INSTALL} $? $@
-
-
-${DEST}/root.afsweb/usr/lib/$(LIBAFSWEB): AFSWEB/$(LIBAFSWEB)
-       ${INSTALL} $? $@
-
-${DEST}/root.afsweb/usr/lib/$(LIBAFSWEBKRB): AFSWEB/$(LIBAFSWEBKRB)
-       ${INSTALL} $? $@
-
-${DEST}/root.perf/include/afs/param.h: $(TOP_INCDIR)/afs/param.h
-       ${INSTALL} $? $@
-
-${DEST}/root.perf/include/afs/stds.h: $(TOP_INCDIR)/afs/stds.h
-       ${INSTALL} $? $@
-
-${DEST}/root.perf/include/afs/afs_sysnames.h: $(TOP_INCDIR)/afs/afs_sysnames.h
-       ${INSTALL} $? $@
-
-${DEST}/root.perf/include/afs/afs_stats.h: $(TOP_INCDIR)/afs/afs_stats.h
-       ${INSTALL} $? $@
-
-${DEST}/root.perf/include/afs/sysincludes.h: $(TOP_SRCDIR)/afs/sysincludes.h
-       ${INSTALL} $? $@
-
-${DEST}/root.perf/include/afs/afs_usrops.h: $(TOP_SRCDIR)/afs/UKERNEL/afs_usrops.h
-       ${INSTALL} $? $@
+       -$(RM) -f  h net netinet rpc ufs machine inet nfs sys des linktest $(AFS_OS_CLEAN)
 
-${DEST}/root.perf/lib/libdes.a: ${TOP_OBJDIR}/lib/libdes.a
-       ${INSTALL} $? $@
 
-${DEST}/root.perf/lib/$(LIBUAFS): UAFS/$(LIBUAFS)
-       ${INSTALL} $? $@
+install: UAFS/$(LIBUAFS) JUAFS/$(LIBJUAFS)
+       ${INSTALL} -d ${DESTDIR}${libdir}
+       ${INSTALL_DATA} UAFS/$(LIBUAFS) ${DESTDIR}${libdir}/$(LIBUAFS)
+       ${INSTALL_DATA} JUAFS/$(LIBJUAFS) ${DESTDIR}${libdir}/$(LIBJUAFS)
 
-${DEST}/root.perf/lib/$(LIBJUAFS): JUAFS/$(LIBJUAFS)
-       ${INSTALL} $? $@
+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)
+       ${INSTALL} -d ${DEST}/root.perf/include/afs
+       ${INSTALL} -d ${DEST}/root.perf/lib
+       ${INSTALL_DATA} $(TOP_INCDIR)/afs/param.h \
+               ${DEST}/root.perf/include/afs/param.h
+       ${INSTALL_DATA} $(TOP_INCDIR)/afs/stds.h \
+               ${DEST}/root.perf/include/afs/stds.h
+       ${INSTALL_DATA} $(TOP_INCDIR)/afs/afs_sysnames.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 \
+               ${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)
 
 #
 # Common directory and other build targets