1 # Copyright 2000, International Business Machines Corporation and others.
4 # This software has been released under the terms of the IBM Public
5 # License. For details, see the LICENSE file in the top-level source
6 # directory or online at http://www.openafs.org/dl/license10.html
13 include ../config/Makefile.${SYS_NAME}
15 KERNELDIR = ../libafs/
16 UKERNELDIR = ../libuafs/
17 COMPILE_ET = ${SRCDIR}bin/compile_et
18 MKDIR_IF_NEEDED=[ -d $$1 ] || mkdir -p $$1
20 CFLAGS = ${OPTMZ} -I${SRCDIR}include ${XCFLAGS}
21 INCLS= ${SRCDIR}include/rx/rx.h \
22 ${SRCDIR}include/rx/xdr.h \
25 OBJS= rxkad_client.o rxkad_server.o rxkad_common.o ticket.o rxkad_errs.o
27 REGOBJS=fcrypt.o crypt_conn.o
29 KSRCS=private_data.h fcrypt.h fcrypt.c crypt_conn.c rxkad_client.c rxkad_common.c rxkad.h sboxes.h
31 UKSRCS=$(KSRCS) rxkad.h ticket.c rxkad_server.c lifetimes.h private_data.h rxkad_errs.c
33 include ../config/Makefile.version
42 rm -f *.o tcrypt core *.a rxkad_errs.c rxkad.h AFS_component_version_number.c
44 librxkad.a: $(OBJS) ${REGOBJS} AFS_component_version_number.o
46 $(AR) rv librxkad.a $(OBJS) ${REGOBJS} AFS_component_version_number.o
49 crypt_conn.o: fcrypt.h private_data.h crypt_conn.c ${INCLS}
51 rxkad_client.o: fcrypt.h private_data.h rxkad_client.c ${INCLS}
53 rxkad_server.o: fcrypt.h private_data.h rxkad_server.c ${INCLS}
55 rxkad_common.o: fcrypt.h private_data.h rxkad_common.c ${INCLS}
57 rxkad_errs.o: rxkad_errs.c
59 rxkad_errs.c rxkad.h: rxkad_errs.et rxkad.p.h
60 rm -f rxkad.h rxkad_errs.c; ${COMPILE_ET} rxkad_errs -h rxkad
62 ticket.o: ticket.c lifetimes.h ${INCLS}
64 fcrypt.o: fcrypt.c fcrypt.h sboxes.h rxkad.h
65 ${CC} ${CFLAGS} -c fcrypt.c
68 ${INSTALL} $(KSRCS) ${KERNELDIR}afs
70 ukinstall webinstall: ${UKSRCS}
71 set ${UKERNELDIR}afs; $(MKDIR_IF_NEEDED)
72 set ${UKERNELDIR}rx; $(MKDIR_IF_NEEDED)
73 ${INSTALL} $(UKSRCS) ${UKERNELDIR}afs
74 ${INSTALL} rxkad.h ${UKERNELDIR}rx
76 install: all kinstall ukinstall
77 rm -f ${DESTDIR}lib/librxkad.a
78 ${INSTALL} librxkad.a ${DESTDIR}lib
79 ${INSTALL} rxkad.h ${DESTDIR}include/rx
81 tcrypt: tcrypt.o librxkad.a
82 ${CC} -o tcrypt tcrypt.o librxkad.a
83 tcrypt.o: tcrypt.c AFS_component_version_number.o
88 # These sources are kept in a separate directory so that we can use an
89 # ACL to comply with source export restrictions.
91 crypt_conn.c: domestic/crypt_conn.c
93 cp domestic/crypt_conn.c $@
95 fcrypt.c: domestic/fcrypt.c
97 cp domestic/fcrypt.c $@
99 fcrypt.h: domestic/fcrypt.h
101 cp domestic/fcrypt.h $@
103 sboxes.h: domestic/sboxes.h
105 cp domestic/sboxes.h $@
107 tcrypt.c: domestic/tcrypt.c
109 cp domestic/tcrypt.c $@