# Copyright 2000, International Business Machines Corporation and others.
# 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

srcdir=@srcdir@
include @TOP_OBJDIR@/src/config/Makefile.config

OBJS= cellconfig.o ktc.o userok.o writeconfig.o authcon.o \
    acfg_errors.o ktc_errors.o
KOBJS= cellconfig.o ktc.krb.o userok.o writeconfig.o authcon.o \
    acfg_errors.o ktc_errors.o

LIBS=libauth.a ${TOP_LIBDIR}/libsys.a \
      ${TOP_LIBDIR}/librxkad.a ${TOP_LIBDIR}/libdes.a \
      ${TOP_LIBDIR}/librx.a ${TOP_LIBDIR}/libsys.a \
      ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/util.a
INCLS=cellconfig.h auth.h keys.h
KSRCS=auth.h
UKSRCS=${KSRCS} cellconfig.h acfg_errors.c keys.h cellconfig.c \
       ktc.c authcon.c ktc_errors.c

all: \
	${TOP_LIBDIR}/libauth.a \
	${TOP_LIBDIR}/libauth.krb.a \
	depinstall \
	copyauth \
	setkey

depinstall: \
	${TOP_INCDIR}/afs/keys.h \
	${TOP_INCDIR}/afs/cellconfig.h \
	${TOP_INCDIR}/afs/auth.h \
	${TOP_INCDIR}/afs/ktc.h

cellconfig.o: cellconfig.c ${INCLS}
ktc.o: ktc.c ${INCLS} ${TOP_INCDIR}/afs/vice.h
writeconfig.o: writeconfig.c ${INCLS}
authcon.o: authcon.c ${INCLS}
userok.o: userok.c ${INCLS}
cellconfig.o: cellconfig.c ${INCLS}
copyauth.o: copyauth.c ${INCLS} AFS_component_version_number.o
setkey.o: setkey.c ${INCLS} AFS_component_version_number.o

ktc.krb.o: ktc.c ${INCLS} ${TOP_INCDIR}/afs/vice.h
	${CCOBJ} ${CFLAGS} -DAFS_KERBEROS_ENV -c ${srcdir}/ktc.c -o ktc.krb.o

libauth.a: $(OBJS) AFS_component_version_number.o
	-$(RM) -f libauth.a
	$(AR) crv $@ $(OBJS) AFS_component_version_number.o
	$(RANLIB) libauth.a

libauth.krb.a: $(KOBJS) AFS_component_version_number.o
	-$(RM) -f $@
	$(AR) crv $@ $(KOBJS) AFS_component_version_number.o
	$(RANLIB) $@

copyauth: copyauth.o ${LIBS}
	$(CC) $(CFLAGS) -o copyauth copyauth.o ${LIBS} ${XLIBS}

setkey: setkey.o ${LIBS}
	${CC} $(CFLAGS) -o setkey setkey.o ${LIBS} ${XLIBS}

acfg_errors.o: acfg_errors.c

acfg_errors.c cellconfig.h: acfg_errors.et cellconfig.p.h
	$(RM) -f cellconfig.h acfg_errors.c
	${COMPILE_ET} -p ${srcdir} acfg_errors -h cellconfig

ktc_errors.o: ktc_errors.c

ktc_errors.c auth.h: ktc_errors.et auth.p.h
	$(RM) -f auth.h ktc_errors.c
	${COMPILE_ET} -p ${srcdir} ktc_errors -h auth

#
# Install targets
#
install: \
	${DESTDIR}${libdir}/afs/libauth.a \
	${DESTDIR}${libdir}/afs/libauth.krb.a \
	${DESTDIR}${includedir}/afs/keys.h \
	${DESTDIR}${includedir}/afs/cellconfig.h \
	${DESTDIR}${includedir}/afs/auth.h \
	${DESTDIR}${includedir}/afs/ktc.h \
	${DESTDIR}${sbindir}/copyauth 

#
# Misc. targets
#
test: 
	cd test; $(MAKE)

clean:
	$(RM) -f *.o *.a \
		copyauth setkey auth.h cellconfig.h acfg_errors.c \
		ktc_errors.c core AFS_component_version_number.c

include ../config/Makefile.version


${DESTDIR}${libdir}/afs/libauth.a: libauth.a
	${INSTALL} $? $@

${TOP_LIBDIR}/libauth.a: libauth.a
	${INSTALL} $? $@

${DEST}/lib/afs/libauth.a: libauth.a
	${INSTALL} $? $@

${DESTDIR}${libdir}/afs/libauth.krb.a: libauth.krb.a
	${INSTALL} $? $@

${TOP_LIBDIR}/libauth.krb.a: libauth.krb.a
	${INSTALL} $? $@

${DEST}/lib/afs/libauth.krb.a: libauth.krb.a
	${INSTALL} $? $@

${DESTDIR}${includedir}/afs/keys.h: keys.h
	${INSTALL} $? $@

${TOP_INCDIR}/afs/keys.h: keys.h
	${INSTALL} $? $@

${DEST}/include/afs/keys.h: keys.h
	${INSTALL} $? $@

${DESTDIR}${includedir}/afs/cellconfig.h: cellconfig.h
	${INSTALL} $? $@

${TOP_INCDIR}/afs/cellconfig.h: cellconfig.h
	${INSTALL} $? $@

${DEST}/include/afs/cellconfig.h: cellconfig.h
	${INSTALL} $? $@

${DESTDIR}${includedir}/afs/auth.h: auth.h
	${INSTALL} $? $@

${TOP_INCDIR}/afs/auth.h: auth.h
	${INSTALL} $? $@

${DEST}/include/afs/auth.h: auth.h
	${INSTALL} $? $@

${DESTDIR}${includedir}/afs/ktc.h: ktc.h
	${INSTALL} $? $@

${TOP_INCDIR}/afs/ktc.h: ktc.h
	${INSTALL} $? $@

${DEST}/include/afs/ktc.h: ktc.h
	${INSTALL} $? $@

${DESTDIR}${sbindir}/copyauth: copyauth
	${INSTALL} $? $@

${DEST}/etc/copyauth: copyauth
	${INSTALL} $? $@




dest: \
	${DEST}/lib/afs/libauth.a \
	${DEST}/lib/afs/libauth.krb.a \
	${DEST}/include/afs/keys.h \
	${DEST}/include/afs/cellconfig.h \
	${DEST}/include/afs/auth.h \
	${DEST}/include/afs/ktc.h \
	${DEST}/etc/copyauth 

