libjuafs-target-20020611

create a libjuafs library for the java api to use
This commit is contained in:
Manuel Pereira 2002-06-12 00:29:18 +00:00 committed by Derrick Brashear
parent fe1beb4f3e
commit 3a1c622117
3 changed files with 498 additions and 8 deletions

View File

@ -11,17 +11,18 @@
SHELL=/bin/sh
INCLUDE= -I. -I/usr/include -I${TOP_OBJDIR}/src/config
UOBJ =../UAFS
WEBOBJ =../AFSWEB
JUAFS =../JUAFS
WEBOBJ=../AFSWEB
AFS =../afs
RX =../rx
AFSINT =../afsint
AFSINT=../afsint
DES =../des
LIB =../lib
NS_INCL =SRC/../afsweb/netscape_includes
# Build rules - CC and CFLAGS are defined in system specific MakefileProtos.
all: ${TOP_LIBDIR}/$(LIBUAFS) linktest
all: ${TOP_LIBDIR}/$(LIBJUAFS) ${TOP_LIBDIR}/$(LIBUAFS) linktest
webinstall: all \
${TOP_LIBDIR}/$(LIBAFSWEB) \
@ -33,7 +34,8 @@ linktest: UAFS/$(LIBUAFS) des/libdes.a
ukinstall: install
install: \
${DESTDIR}${libdir}/$(LIBUAFS)
${DESTDIR}${libdir}/$(LIBUAFS) \
${DESTDIR}${libdir}/$(LIBJUAFS)
dest: \
${DEST}/root.perf/include/afs/param.h \
@ -43,11 +45,12 @@ dest: \
${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/$(LIBUAFS) \
${DEST}/root.perf/lib/$(LIBJUAFS)
CRULE1= $(CC) $(OPTF) -DKERNEL $(CFLAGS) -c $?
CRULE2= $(CC) $(OPTF) $(WEBOPTS) -DKERNEL $(CFLAGS) -c $?
CRULE1= $(CC) $(OPTF) -DKERNEL $(LIBJUAFS_FLAGS) $(CFLAGS) -c $?
CRULE2= $(CC) $(OPTF) $(WEBOPTS) -DKERNEL $(LIBJUAFS_FLAGS) $(CFLAGS) -c $?
UAFSOBJ = \
$(UOBJ)/afs_atomlist.o \
@ -403,6 +406,123 @@ AFSWEBOBJKRB = \
$(WEBOBJ)/Krxstat.xdr.o \
$(WEBOBJ)/rxstat.o
JUAFSOBJ = \
$(JUAFS)/afs_atomlist.o \
$(JUAFS)/afs_lhash.o \
$(JUAFS)/afs_analyze.o \
$(JUAFS)/afs_axscache.o \
$(JUAFS)/afs_buffer.o \
$(JUAFS)/afs_callback.o \
$(JUAFS)/afs_cbqueue.o \
$(JUAFS)/afs_cell.o \
$(JUAFS)/afs_chunk.o \
$(JUAFS)/afs_conn.o \
$(JUAFS)/afs_daemons.o \
$(JUAFS)/afs_dcache.o \
$(JUAFS)/afs_dir.o \
$(JUAFS)/afs_dynroot.o \
$(JUAFS)/afs_init.o \
$(JUAFS)/afs_lock.o \
$(JUAFS)/afs_mariner.o \
$(JUAFS)/afs_memcache.o \
$(JUAFS)/afs_osidnlc.o \
$(JUAFS)/afs_osi_pag.o \
$(JUAFS)/afs_segments.o \
$(JUAFS)/afs_server.o \
$(JUAFS)/afs_stat.o \
$(JUAFS)/afs_user.o \
$(JUAFS)/afs_util.o \
$(JUAFS)/afs_vcache.o \
$(JUAFS)/afs_osi_uio.o \
$(JUAFS)/afs_vnop_access.o \
$(JUAFS)/afs_vnop_attrs.o \
$(JUAFS)/afs_vnop_create.o \
$(JUAFS)/afs_vnop_dirops.o \
$(JUAFS)/afs_vnop_fid.o \
$(JUAFS)/afs_vnop_flock.o \
$(JUAFS)/afs_vnop_link.o \
$(JUAFS)/afs_vnop_lookup.o \
$(JUAFS)/afs_vnop_open.o \
$(JUAFS)/afs_vnop_read.o \
$(JUAFS)/afs_vnop_readdir.o \
$(JUAFS)/afs_vnop_remove.o \
$(JUAFS)/afs_vnop_rename.o \
$(JUAFS)/afs_vnop_strategy.o \
$(JUAFS)/afs_vnop_symlink.o \
$(JUAFS)/afs_vnop_write.o \
$(JUAFS)/afs_volume.o \
$(JUAFS)/afs_call.o \
$(JUAFS)/afs_pioctl.o \
$(JUAFS)/osi_vfsops.o \
$(JUAFS)/afs_usrops.o \
$(JUAFS)/xdr_afsuuid.o \
$(JUAFS)/afs_uuid.o \
$(JUAFS)/osi_vnodeops.o \
$(JUAFS)/osi_vm.o \
$(JUAFS)/osi_groups.o \
$(JUAFS)/afsaux.o \
$(JUAFS)/Kvice.xdr.o \
$(JUAFS)/xdr_arrayn.o \
$(JUAFS)/Kvice.cs.o \
$(JUAFS)/fcrypt.o \
$(JUAFS)/rx.o \
$(JUAFS)/rx_rdwr.o \
$(JUAFS)/rx_clock.o \
$(JUAFS)/rx_event.o \
$(JUAFS)/rx_globals.o \
$(JUAFS)/rx_knet.o \
$(JUAFS)/rx_kcommon.o \
$(JUAFS)/rx_misc.o \
$(JUAFS)/rx_null.o \
$(JUAFS)/rx_getaddr.o \
$(JUAFS)/rx_packet.o \
$(JUAFS)/rx_conncache.o \
$(JUAFS)/xdr_rx.o \
$(JUAFS)/Kvldbint.cs.o \
$(JUAFS)/Kvldbint.xdr.o \
$(JUAFS)/Kcallback.ss.o \
$(JUAFS)/crypt_conn.o \
$(JUAFS)/AFS_component_version_number.o \
$(JUAFS)/afs_exporter.o \
$(JUAFS)/rxkad_client.o \
$(JUAFS)/rxkad_common.o \
$(JUAFS)/casestrcpy.o \
$(JUAFS)/dirpath.o \
$(JUAFS)/fileutil.o \
$(JUAFS)/netutils.o \
$(JUAFS)/et_name.o \
$(JUAFS)/com_err.o \
$(JUAFS)/error_msg.o \
$(JUAFS)/uerrors.o \
$(JUAFS)/kaerrors.o \
$(JUAFS)/ktc_errors.o \
$(JUAFS)/rxkad_errs.o \
$(JUAFS)/authclient.o \
$(JUAFS)/authcon.o \
$(JUAFS)/cellconfig.o \
$(JUAFS)/client.o \
$(JUAFS)/acfg_errors.o \
$(JUAFS)/kaaux.o \
$(JUAFS)/kalocalcell.o \
$(JUAFS)/kauth.cs.o \
$(JUAFS)/kauth.xdr.o \
$(JUAFS)/ktc.o \
$(JUAFS)/ptint.cs.o \
$(JUAFS)/ptint.xdr.o \
$(JUAFS)/ptuser.o \
$(JUAFS)/pterror.o \
$(JUAFS)/ticket.o \
$(JUAFS)/token.o \
$(JUAFS)/ubik_int.cs.o \
$(JUAFS)/ubik_int.xdr.o \
$(JUAFS)/ubikclient.o \
$(JUAFS)/user.o \
$(JUAFS)/hostparse.o \
$(JUAFS)/Krxstat.ss.o \
$(JUAFS)/Krxstat.xdr.o \
$(JUAFS)/rxstat.o \
$(JUAFS)/xdr_int64.o
# Compilation rules
# These files are for the user space library
@ -904,6 +1024,253 @@ $(WEBOBJ)/Krxstat.ss.o: $(AFSINT)/Krxstat.ss.c
$(WEBOBJ)/Krxstat.xdr.o: $(AFSINT)/Krxstat.xdr.c
$(CRULE2)
# These are for libjuafs.a
# Used for linking with libafsauthent and libafsrpc
$(JUAFS)/afs_atomlist.o: $(AFS)/afs_atomlist.c
$(CRULE1);
$(JUAFS)/afs_lhash.o: $(AFS)/afs_lhash.c
$(CRULE1);
$(JUAFS)/afs_analyze.o: $(AFS)/afs_analyze.c
$(CRULE1);
$(JUAFS)/afs_axscache.o: $(AFS)/afs_axscache.c
$(CRULE1);
$(JUAFS)/afs_buffer.o: $(AFS)/afs_buffer.c
$(CRULE1);
$(JUAFS)/afs_cell.o: $(AFS)/afs_cell.c
$(CRULE1);
$(JUAFS)/afs_conn.o: $(AFS)/afs_conn.c
$(CRULE1);
$(JUAFS)/afs_dcache.o: $(AFS)/afs_dcache.c
$(CRULE1);
$(JUAFS)/afs_dynroot.o: $(AFS)/afs_dynroot.c
$(CRULE1);
$(JUAFS)/afs_init.o: $(AFS)/afs_init.c
$(CRULE1);
$(JUAFS)/afs_mariner.o: $(AFS)/afs_mariner.c
$(CRULE1);
$(JUAFS)/afs_osidnlc.o: $(AFS)/afs_osidnlc.c
$(CRULE1);
$(JUAFS)/afs_osi.o: $(AFS)/afs_osi.c
$(CRULE1);
$(JUAFS)/afs_osi_pag.o: $(AFS)/afs_osi_pag.c
$(CRULE1);
$(JUAFS)/afs_segments.o: $(AFS)/afs_segments.c
$(CRULE1);
$(JUAFS)/afs_server.o: $(AFS)/afs_server.c
$(CRULE1);
$(JUAFS)/afs_user.o: $(AFS)/afs_user.c
$(CRULE1);
$(JUAFS)/afs_util.o: $(AFS)/afs_util.c
$(CRULE1);
$(JUAFS)/afs_vcache.o: $(AFS)/afs_vcache.c
$(CRULE1);
$(JUAFS)/afs_osi_uio.o: $(AFS)/afs_osi_uio.c
$(CRULE1);
$(JUAFS)/afs_vnop_access.o: $(AFS)/afs_vnop_access.c
$(CRULE1);
$(JUAFS)/afs_vnop_attrs.o: $(AFS)/afs_vnop_attrs.c
$(CRULE1);
$(JUAFS)/afs_vnop_create.o: $(AFS)/afs_vnop_create.c
$(CRULE1);
$(JUAFS)/afs_vnop_dirops.o: $(AFS)/afs_vnop_dirops.c
$(CRULE1);
$(JUAFS)/afs_vnop_fid.o: $(AFS)/afs_vnop_fid.c
$(CRULE1);
$(JUAFS)/afs_vnop_flock.o: $(AFS)/afs_vnop_flock.c
$(CRULE1);
$(JUAFS)/afs_vnop_link.o: $(AFS)/afs_vnop_link.c
$(CRULE1);
$(JUAFS)/afs_vnop_lookup.o: $(AFS)/afs_vnop_lookup.c
$(CRULE1);
$(JUAFS)/afs_vnop_open.o: $(AFS)/afs_vnop_open.c
$(CRULE1);
$(JUAFS)/afs_vnop_read.o: $(AFS)/afs_vnop_read.c
$(CRULE1);
$(JUAFS)/afs_vnop_readdir.o: $(AFS)/afs_vnop_readdir.c
$(CRULE1);
$(JUAFS)/afs_vnop_remove.o: $(AFS)/afs_vnop_remove.c
$(CRULE1);
$(JUAFS)/afs_vnop_rename.o: $(AFS)/afs_vnop_rename.c
$(CRULE1);
$(JUAFS)/afs_vnop_strategy.o: $(AFS)/afs_vnop_strategy.c
$(CRULE1);
$(JUAFS)/afs_vnop_symlink.o: $(AFS)/afs_vnop_symlink.c
$(CRULE1);
$(JUAFS)/afs_vnop_write.o: $(AFS)/afs_vnop_write.c
$(CRULE1);
$(JUAFS)/afs_volume.o: $(AFS)/afs_volume.c
$(CRULE1);
$(JUAFS)/rx_rdwr.o: $(RX)/rx_rdwr.c
$(CRULE1);
$(JUAFS)/afs_cbqueue.o: $(AFS)/afs_cbqueue.c
$(CRULE1);
$(JUAFS)/afs_callback.o: $(AFS)/afs_callback.c
$(CRULE1);
$(JUAFS)/afs_chunk.o: $(AFS)/afs_chunk.c
$(CRULE1);
$(JUAFS)/afs_daemons.o: $(AFS)/afs_daemons.c
$(CRULE1);
$(JUAFS)/afs_dir.o: $(AFS)/afs_dir.c
$(CRULE1);
$(JUAFS)/AFS_component_version_number.o: $(AFS)/AFS_component_version_number.c
$(CRULE1);
$(JUAFS)/afs_lock.o: $(AFS)/afs_lock.c
$(CRULE1);
$(JUAFS)/afs_memcache.o: $(AFS)/afs_memcache.c
$(CRULE1);
$(JUAFS)/afs_stat.o: $(AFS)/afs_stat.c
$(CRULE1);
$(JUAFS)/fcrypt.o: $(AFS)/fcrypt.c
$(CRULE1);
$(JUAFS)/crypt_conn.o: $(AFS)/crypt_conn.c
$(CRULE1);
$(JUAFS)/rxkad_client.o: $(AFS)/rxkad_client.c
$(CRULE1);
$(JUAFS)/rxkad_common.o: $(AFS)/rxkad_common.c
$(CRULE1);
$(JUAFS)/afs_exporter.o: $(AFS)/afs_exporter.c
$(CRULE1);
$(JUAFS)/afs_nfsclnt.o: $(AFS)/afs_nfsclnt.c
$(CRULE1);
$(JUAFS)/afs_nfsdisp.o: $(AFS)/afs_nfsdisp.c
$(CRULE1);
$(JUAFS)/afs_nfsdisp_v3.o: $(AFS)/afs_nfsdisp_v3.c
$(CRULE1);
$(JUAFS)/rx.o: $(RX)/rx.c
$(CRULE1);
$(JUAFS)/rx_clock.o: $(RX)/rx_clock.c
$(CRULE1);
$(JUAFS)/rx_event.o: $(RX)/rx_event.c
$(CRULE1);
$(JUAFS)/rx_globals.o: $(RX)/rx_globals.c
$(CRULE1);
$(JUAFS)/rx_misc.o: $(RX)/rx_misc.c
$(CRULE1);
$(JUAFS)/rx_null.o: $(RX)/rx_null.c
$(CRULE1);
$(JUAFS)/rx_getaddr.o: $(RX)/rx_getaddr.c
$(CRULE1);
$(JUAFS)/rx_packet.o: $(RX)/rx_packet.c
$(CRULE1);
$(JUAFS)/rx_conncache.o: $(RX)/rx_conncache.c
$(CRULE1);
$(JUAFS)/xdr_rx.o: $(RX)/xdr_rx.c
$(CRULE1);
$(JUAFS)/xdr_int64.o: $(RX)/xdr_int64.c
$(CRULE1);
$(JUAFS)/afs_usrops.o: $(AFS)/afs_usrops.c
$(CRULE1);
$(JUAFS)/afs_uuid.o: $(AFS)/afs_uuid.c
$(CRULE1);
$(JUAFS)/xdr_afsuuid.o: $(RX)/xdr_afsuuid.c
$(CRULE1);
$(JUAFS)/osi_vnodeops.o: $(AFS)/osi_vnodeops.c
$(CRULE1);
$(JUAFS)/osi_vm.o: $(AFS)/osi_vm.c
$(CRULE1);
$(JUAFS)/osi_groups.o: $(AFS)/osi_groups.c
$(CRULE1);
$(JUAFS)/Kcallback.ss.o: $(AFSINT)/Kcallback.ss.c
$(CRULE1);
$(JUAFS)/Kvice.xdr.o: $(AFSINT)/Kvice.xdr.c
$(CRULE1);
$(JUAFS)/Kvice.cs.o: $(AFSINT)/Kvice.cs.c
$(CRULE1);
$(JUAFS)/afsaux.o: $(AFSINT)/afsaux.c
$(CRULE1);
$(JUAFS)/xdr_arrayn.o: $(RX)/xdr_arrayn.c
$(CRULE1);
$(JUAFS)/Kvldbint.cs.o: $(AFSINT)/Kvldbint.cs.c
$(CRULE1);
$(JUAFS)/Kvldbint.xdr.o: $(AFSINT)/Kvldbint.xdr.c
$(CRULE1);
$(JUAFS)/afs_main.o: $(AFS)/afs_main.c
$(CRULE1);
$(JUAFS)/rx_knet.o: $(RX)/rx_knet.c
$(CRULE1);
$(JUAFS)/rx_kcommon.o: $(RX)/rx_kcommon.c
$(CRULE1);
$(JUAFS)/afs_call.o: $(AFS)/afs_call.c
$(CRULE1) -DAFS_NONFSTRANS;
$(JUAFS)/afs_pioctl.o: $(AFS)/afs_pioctl.c
$(CRULE1) -DAFS_NONFSTRANS;
$(JUAFS)/osi_vfsops.o: $(AFS)/osi_vfsops.c
$(CRULE1) -DAFS_NONFSTRANS;
$(JUAFS)/ktc.o: $(AFS)/ktc.c
$(CRULE1);
$(JUAFS)/ticket.o: $(AFS)/ticket.c
$(CRULE1);
$(JUAFS)/rxkad_server.o: $(AFS)/rxkad_server.c
$(CRULE1);
$(JUAFS)/ptint.cs.o: $(AFSINT)/ptint.cs.c
$(CRULE1);
$(JUAFS)/ptint.xdr.o: $(AFSINT)/ptint.xdr.c
$(CRULE1);
$(JUAFS)/ptuser.o: $(AFS)/ptuser.c
$(CRULE1);
$(JUAFS)/pterror.o: $(AFS)/pterror.c
$(CRULE1);
$(JUAFS)/ubikclient.o: $(AFS)/ubikclient.c
$(CRULE1);
$(JUAFS)/ubik_int.cs.o: $(AFSINT)/ubik_int.cs.c
$(CRULE1);
$(JUAFS)/ubik_int.xdr.o: $(AFSINT)/ubik_int.xdr.c
$(CRULE1);
$(JUAFS)/authclient.o: $(AFS)/authclient.c
$(CRULE1);
$(JUAFS)/kalocalcell.o: $(AFS)/kalocalcell.c
$(CRULE1);
$(JUAFS)/client.o: $(AFS)/client.c
$(CRULE1);
$(JUAFS)/user.o: $(AFS)/user.c
$(CRULE1);
$(JUAFS)/hostparse.o: $(AFS)/hostparse.c
$(CRULE1);
$(JUAFS)/token.o: $(AFS)/token.c
$(CRULE1);
$(JUAFS)/acfg_errors.o: $(AFS)/acfg_errors.c
$(CRULE1);
$(JUAFS)/kaaux.o: $(AFS)/kaaux.c
$(CRULE1);
$(JUAFS)/authcon.o: $(AFS)/authcon.c
$(CRULE1);
$(JUAFS)/cellconfig.o: $(AFS)/cellconfig.c
$(CRULE1);
$(JUAFS)/casestrcpy.o: $(AFS)/casestrcpy.c
$(CRULE1);
$(JUAFS)/dirpath.o: $(AFS)/dirpath.c
$(CRULE1);
$(JUAFS)/fileutil.o: $(AFS)/fileutil.c
$(CRULE1);
$(JUAFS)/netutils.o: $(AFS)/netutils.c
$(CRULE1);
$(JUAFS)/et_name.o: $(AFS)/et_name.c
$(CRULE1);
$(JUAFS)/com_err.o: $(AFS)/com_err.c
$(CRULE1);
$(JUAFS)/error_msg.o: $(AFS)/error_msg.c
$(CRULE1);
$(JUAFS)/uerrors.o: $(AFS)/uerrors.c
$(CRULE1);
$(JUAFS)/kaerrors.o: $(AFS)/kaerrors.c
$(CRULE1);
$(JUAFS)/ktc_errors.o: $(AFS)/ktc_errors.c
$(CRULE1);
$(JUAFS)/rxkad_errs.o: $(AFS)/rxkad_errs.c
$(CRULE1);
$(JUAFS)/kauth.cs.o: $(AFSINT)/kauth.cs.c
$(CRULE1);
$(JUAFS)/kauth.xdr.o: $(AFSINT)/kauth.xdr.c
$(CRULE1);
$(JUAFS)/rxstat.o: $(AFSINT)/rxstat.c
$(CRULE1);
$(JUAFS)/Krxstat.ss.o: $(AFSINT)/Krxstat.ss.c
$(CRULE1);
$(JUAFS)/Krxstat.xdr.o: $(AFSINT)/Krxstat.xdr.c
$(CRULE1);
clean:
-$(RM) -rf UAFS* AFSWEB* nsapi des afs afsint config rx
-$(RM) -f h net netinet rpc ufs machine inet nfs sys des linktest
@ -918,6 +1285,9 @@ ${TOP_LIBDIR}/$(LIBAFSWEBKRB): AFSWEB/$(LIBAFSWEBKRB)
${TOP_LIBDIR}/$(LIBUAFS): UAFS/$(LIBUAFS)
${INSTALL} $? $@
${TOP_LIBDIR}/$(LIBJUAFS): JUAFS/$(LIBJUAFS)
${INSTALL} $? $@
${DESTDIR}${libdir}/$(LIBAFSWEB): AFSWEB/$(LIBAFSWEB)
${INSTALL} $? $@
@ -928,6 +1298,9 @@ ${DESTDIR}${libdir}/$(LIBAFSWEBKRB): AFSWEB/$(LIBAFSWEBKRB)
${DESTDIR}${libdir}/$(LIBUAFS): UAFS/$(LIBUAFS)
${INSTALL} $? $@
${DESTDIR}${libdir}/$(LIBJUAFS): JUAFS/$(LIBJUAFS)
${INSTALL} $? $@
${DEST}/root.afsweb/usr/lib/$(LIBAFSWEB): AFSWEB/$(LIBAFSWEB)
${INSTALL} $? $@
@ -958,3 +1331,8 @@ ${DEST}/root.perf/lib/libdes.a: des/libdes.a
${DEST}/root.perf/lib/$(LIBUAFS): UAFS/$(LIBUAFS)
${INSTALL} $? $@
${DEST}/root.perf/lib/$(LIBJUAFS): UAFS/$(LIBJUAFS)
${INSTALL} $? $@

View File

@ -8,7 +8,11 @@
srcdir=@srcdir@
include @TOP_OBJDIR@/src/config/Makefile.config
# MakefileProto for LINUX systems
# This Makefile generates two libraries: the standard libuafs and libjuafs,
# a libuafs variant that is designed to link with Java enabled libraries.
# The libjuafs library implements the AFS_WEB_ENHANCEMENTS definition, see
# the libuafs README for details.
# System specific build commands and flags
CC = gcc
@ -23,6 +27,7 @@ TEST_LDFLAGS=
TEST_LIBS=-lpthread
LIBUAFS = libuafs.a
LIBJUAFS = libjuafs.a
LIBAFSWEB = nsafs.so
LIBAFSWEBKRB = nsafs.krb.so
@ -45,9 +50,17 @@ setup_uafs: UAFS setup_common
ln -s ../Makefile UAFS/Makefile
ln -s ../Makefile.common UAFS/Makefile.common
setup_juafs: JUAFS setup_common
-$(RM) -f JUAFS/Makefile JUAFS/Makefile.common
ln -s ../Makefile JUAFS/Makefile
ln -s ../Makefile.common JUAFS/Makefile.common
UAFS:
mkdir -p $@
JUAFS:
mkdir -p $@
setup_nsafs: AFSWEB setup_common
-$(RM) -f AFSWEB/Makefile AFSWEB/Makefile.common
ln -s ../Makefile AFSWEB/Makefile
@ -58,8 +71,14 @@ AFSWEB:
UAFS/$(LIBUAFS): setup_uafs
cd UAFS; \
export LIBJUAFS_FLAGS=; \
$(MAKE) $(LIBUAFS) DESTDIR=${DESTDIR}
JUAFS/$(LIBJUAFS): setup_juafs
cd JUAFS; \
export LIBJUAFS_FLAGS=-DAFS_WEB_ENHANCEMENTS; \
$(MAKE) $(LIBJUAFS) DESTDIR=${DESTDIR}
AFSWEB/$(LIBAFSWEB): setup_nsafs
cd AFSWEB; \
$(MAKE) $(LIBAFSWEB) DESTDIR=${DESTDIR}
@ -74,6 +93,10 @@ $(LIBUAFS): $(UAFSOBJ)
-$(RM) -f $(LIBUAFS)
$(AR) $(ARFLAGS) $(LIBUAFS) $(UAFSOBJ)
$(LIBJUAFS): $(JUAFSOBJ)
-$(RM) -f $(LIBJUAFS)
$(AR) $(ARFLAGS) $(LIBJUAFS) $(JUAFSOBJ)
$(LIBAFSWEB): $(AFSWEBOBJ) ${DES}/libdes.a
-$(RM) -f $(LIBAFSWEB)
ld -b $(LIBAFSWEB) $(AFSWEBOBJ) ${DES}/libdes.a $(WEBLIBS)
@ -81,3 +104,9 @@ $(LIBAFSWEB): $(AFSWEBOBJ) ${DES}/libdes.a
$(LIBAFSWEBKRB): $(AFSWEBOBJKRB) ${DES}/libdes.a
-$(RM) -f $(LIBAFSWEBKRB)
ld -b $(LIBAFSWEBKRB) $(AFSWEBOBJKRB) ${DES}/libdes.a $(WEBLIBS)

83
src/libuafs/README Normal file
View File

@ -0,0 +1,83 @@
Copyright 2000, International Business Machines Corporation.
All Rights Reserved.
This software has been released under the terms of the IBM Public
License. For details, see the LICENSE file in the top-level source
directory or online at http://www.openafs.org/dl/license10.html.
README file for libuafs and libjuafs, Version 1.0 05/13/2002.
### INTRODUCTION ###
This Makefile generates two libraries, the standard libuafs.a and
libjuafs.a, a libuafs.a variant that is designed for use with Java
enabled applications (as used with libjafsadm, see
src/JAVA/libjafsadm/JAFSADM_README). The libuafs.a library facilitates
user authentication at a process level and enables access and
manipulation of the files and access control lists (ACLs). By way of
the libuafs.a klog function (uafs_klog), the authenticated user's
credentials are bound to the executing process and therefore is granted
permission to act on behalf of the authenticated user.
### LIBUAFS ###
As of 05/13/2002 the libuafs.a library remains unchanged with respect
to OpenAFS release 1.2.3.
### LIBJUAFS ###
The libjuafs.a is a new addition to the libuafs.a build as of 05/10/2002 and has
been added for the following reasons:
- To avoid function name collisions with other libraries
- To ensure that existing applications using libuafs.a will not be affected.
- Utilize libuafs.a functionality in Java-based applications.
The libjuafs.a library implements the AFS_WEB_ENHANCEMENTS and UKERNEL
(user space kernel) definitions, which are used to enable functions
such as:
- afs_setpag_val*
- uafs_klog_nopag
- uafs_getcellstatus
- uafs_getvolquota
- uafs_setvolquota
- uafs_statmountpoint
- uafs_getRights
*afs_setpag_val
A function like setpag but sets the current thread's pag id to a
caller-provided value instead of calling genpag(). This implements a
form of token caching since the caller can recall a particular pag value
for the thread to restore tokens, rather than reauthenticating.
### BUILD ###
A simple "make" will build both libuafs.a and libjuafs.a. Optionally, you
can make each library independently by issuing:
make UAFS/libuafs.a
- and -
make JUAFS/libjuafs.a
### DIRECTORIES ###
The libuafs/UAFS directory is generated by the Makefile and contains the
object files and local copy of libuafs.a resulting from the build process.
The libuafs/JUAFS directory is the same as libuafs/UAFS, however it
contains output files respective to libjuafs.a.
### CONSIDERATIONS ###
The libjuafs.a library has only been tested using RedHat Linux 7.1 and
OpenAFS 1.2.3 and OpenAFS 1.2.4.