# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
-# */
+srcdir=@srcdir@
+include @TOP_OBJDIR@/src/config/Makefile.config
-DESTDIR=@DESTDIR@
-SRCDIR=@SRCDIR@
-TOP_SRCDIR=@TOP_SRCDIR@
-SYS_NAME=@AFS_SYSNAME@
+CFLAGS=-I. -I${srcdir} ${OPTMZ} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS}
+INCLS=${TOP_INCDIR}/rx/rx.h ${TOP_INCDIR}/rx/xdr.h \
+ ${TOP_INCDIR}/rx/fcrypt.h \
+ rxkad.h rxkad_prototypes.h fcrypt.h v5gen.h
-SHELL = /bin/sh
+OBJS=rxkad_client.o rxkad_server.o rxkad_common.o rxkad_errs.o \
+ fcrypt.o crypt_conn.o ticket.o ticket5.o crc.o
-include ../config/Makefile.${SYS_NAME}
+fc_test_OBJS=fc_test.o
-KERNELDIR = ../libafs/
-UKERNELDIR = ../libuafs/
-COMPILE_ET = ${SRCDIR}bin/compile_et
-MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1
+fc_test_LIBS=\
+ ${TOP_LIBDIR}/librxkad.a \
+ ${TOP_LIBDIR}/librx.a \
+ ${TOP_LIBDIR}/liblwp.a \
+ ${TOP_LIBDIR}/libsys.a
-CFLAGS = ${OPTMZ} -I${TOP_SRCDIR}/config -I${SRCDIR}include ${XCFLAGS}
-INCLS= ${SRCDIR}include/rx/rx.h \
- ${SRCDIR}include/rx/xdr.h \
- rxkad.h
+all: ${TOP_LIBDIR}/librxkad.a fc_test depinstall
-OBJS= rxkad_client.o rxkad_server.o rxkad_common.o ticket.o rxkad_errs.o
+depinstall: \
+ ${TOP_INCDIR}/rx/rxkad.h \
+ ${TOP_INCDIR}/rx/rxkad_prototypes.h \
+ ${TOP_INCDIR}/rx/fcrypt.h
-REGOBJS=fcrypt.o crypt_conn.o
+#
+# Install targets
+#
+install: \
+ ${DESTDIR}${libdir}/librxkad.a \
+ ${DESTDIR}${includedir}/rx/fcrypt.h \
+ ${DESTDIR}${includedir}/rx/rxkad.h \
+ ${DESTDIR}${includedir}/rx/rxkad_prototypes.h
-KSRCS=private_data.h fcrypt.h fcrypt.c crypt_conn.c rxkad_client.c rxkad_common.c rxkad.h sboxes.h
+${DEST}/lib/librxkad.a: librxkad.a
+ ${INSTALL} $? $@
-UKSRCS=$(KSRCS) rxkad.h ticket.c rxkad_server.c lifetimes.h private_data.h rxkad_errs.c
+${DEST}/include/rx/fcrypt.h: fcrypt.h
+ ${INSTALL} $? $@
-include ../config/Makefile.version
-
-noversion: install
-
-all: librxkad.a
+${DEST}/include/rx/rxkad.h: rxkad.h
+ ${INSTALL} $? $@
-system: install
+${DEST}/include/rx/rxkad_prototypes.h: rxkad_prototypes.h
+ ${INSTALL} $? $@
-clean:
- rm -f *.o tcrypt core *.a rxkad_errs.c rxkad.h AFS_component_version_number.c crypt_conn.c fcrypt.c fcrypt.h sboxes.h
+#
+# Build targets
+#
-librxkad.a: $(OBJS) ${REGOBJS} AFS_component_version_number.o
- -rm -f librxkad.a
- $(AR) rv librxkad.a $(OBJS) ${REGOBJS} AFS_component_version_number.o
- $(RANLIB) librxkad.a
+librxkad.a: ${OBJS} AFS_component_version_number.o
+ -$(RM) -f $@
+ $(AR) crv $@ ${OBJS} AFS_component_version_number.o
+ $(RANLIB) $@
crypt_conn.o: fcrypt.h private_data.h crypt_conn.c ${INCLS}
rxkad_errs.o: rxkad_errs.c
rxkad_errs.c rxkad.h: rxkad_errs.et rxkad.p.h
- rm -f rxkad.h rxkad_errs.c; ${COMPILE_ET} rxkad_errs -h rxkad
+ $(RM) -f rxkad.h rxkad_errs.c
+ ${COMPILE_ET} -p ${srcdir} rxkad_errs -h rxkad
ticket.o: ticket.c lifetimes.h ${INCLS}
-fcrypt.o: fcrypt.c fcrypt.h sboxes.h rxkad.h
- ${CC} ${CFLAGS} -c fcrypt.c
-
-kinstall: ${KSRCS}
- ${INSTALL} $(KSRCS) ${KERNELDIR}afs
+ticket5.o: ticket5.c v5gen.c v5der.c v5gen-rewrite.h ${INCLS}
-ukinstall webinstall: ${UKSRCS}
- set ${UKERNELDIR}afs; $(MKDIR_IF_NEEDED)
- set ${UKERNELDIR}rx; $(MKDIR_IF_NEEDED)
- ${INSTALL} $(UKSRCS) ${UKERNELDIR}afs
- ${INSTALL} rxkad.h ${UKERNELDIR}rx
+crc.o: crc.c ${INCLS}
-install: all kinstall ukinstall
- rm -f ${DESTDIR}lib/librxkad.a
- ${INSTALL} librxkad.a ${DESTDIR}lib
- ${INSTALL} rxkad.h ${DESTDIR}include/rx
+fcrypt.o: fcrypt.c fcrypt.h sboxes.h rxkad.h rxkad_prototypes.h
+ ${CC} ${CFLAGS} -c fcrypt.c
tcrypt: tcrypt.o librxkad.a
${CC} -o tcrypt tcrypt.o librxkad.a
+
tcrypt.o: tcrypt.c AFS_component_version_number.o
+fc_test: ${fc_test_OBJS}
+ ${CC} ${CFLAGS} -o fc_test ${fc_test_OBJS} ${fc_test_LIBS} ${XLIBS}
+
+fc_test.o: ${INCLS}
+
+#
+# Misc. targets
+#
+
+clean:
+ $(RM) -f *.o *.a tcrypt core rxkad_errs.c rxkad.h \
+ AFS_component_version_number.c \
+ crypt_conn.c fcrypt.c fcrypt.h sboxes.h \
+ fc_test
+
test:
cd test; $(MAKE)
# These sources are kept in a separate directory so that we can use an
# ACL to comply with source export restrictions.
-crypt_conn.c: domestic/crypt_conn.c
- rm -f $@
- cp domestic/crypt_conn.c $@
+crypt_conn.c: domestic/crypt_conn.c
+ ${INSTALL} $? $@
+
+fcrypt.c: domestic/fcrypt.c
+ ${INSTALL} $? $@
+
+fcrypt.h: domestic/fcrypt.h
+ ${INSTALL} $? $@
+
+sboxes.h: domestic/sboxes.h
+ ${INSTALL} $? $@
+
+tcrypt.c: domestic/tcrypt.c
+ ${INSTALL} $? $@
+
+include ../config/Makefile.version
+${DESTDIR}${libdir}/librxkad.a: librxkad.a
+ ${INSTALL} $? $@
+
+${TOP_LIBDIR}/librxkad.a: librxkad.a
+ ${INSTALL} $? $@
+
+${DESTDIR}${includedir}/rx/fcrypt.h: fcrypt.h
+ ${INSTALL} $? $@
+
+${DESTDIR}${includedir}/rx/rxkad.h: rxkad.h
+ ${INSTALL} $? $@
+
+${DESTDIR}${includedir}/rx/rxkad_prototypes.h: rxkad_prototypes.h
+ ${INSTALL} $? $@
+
+${TOP_INCDIR}/rx/fcrypt.h: fcrypt.h
+ ${INSTALL} $? $@
-fcrypt.c: domestic/fcrypt.c
- rm -f $@
- cp domestic/fcrypt.c $@
+${TOP_INCDIR}/rx/rxkad.h: rxkad.h
+ ${INSTALL} $? $@
-fcrypt.h: domestic/fcrypt.h
- rm -f $@
- cp domestic/fcrypt.h $@
+${TOP_INCDIR}/rx/rxkad_prototypes.h: rxkad_prototypes.h
+ ${INSTALL} $? $@
-sboxes.h: domestic/sboxes.h
- rm -f $@
- cp domestic/sboxes.h $@
+dest: \
+ ${DEST}/lib/librxkad.a \
+ ${DEST}/include/rx/fcrypt.h \
+ ${DEST}/include/rx/rxkad.h \
+ ${DEST}/include/rx/rxkad_prototypes.h
-tcrypt.c: domestic/tcrypt.c
- rm -f $@
- cp domestic/tcrypt.c $@