# 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
include @TOP_OBJDIR@/src/config/Makefile.pthread


RXKAD = ../../rxkad
AUTH = ../../auth
BOZO = ../../bozo
CMD = ../../cmd
KAUTH = ../../kauth
PTSERVER = ../../ptserver
UBIK = ../../ubik
VLSERVER = ../../vlserver
VOLSER = ../../volser

all: ${TOP_LIBDIR}/libafsadminutil.a ${TOP_INCDIR}/afs/afs_utilAdmin.h

${TOP_LIBDIR}/libafsadminutil.a: libafsadminutil.a
	${INSTALL_DATA} $? $@

${TOP_INCDIR}/afs/afs_utilAdmin.h: afs_utilAdmin.h
	${INSTALL_DATA} $? $@

afs_AdminBosErrors.h: afs_AdminBosErrors.c
afs_AdminBosErrors.c: afs_AdminBosErrors.et
	${INSTALL_DATA} ${srcdir}/afs_AdminErrors.h ${TOP_INCDIR}/afs
	$(RM) -f afs_AdminBosErrors.c afs_AdminBosErrors.h
	${COMPILE_ET} -p ${srcdir} afs_AdminBosErrors.et -h afs_AdminBosErrors

${TOP_INCDIR}/afs/afs_AdminBosErrors.h: afs_AdminBosErrors.h
	cp afs_AdminBosErrors.h ${TOP_INCDIR}/afs/afs_AdminBosErrors.h

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

${TOP_INCDIR}/afs/afs_AdminCfgErrors.h: afs_AdminCfgErrors.h
	cp afs_AdminCfgErrors.h ${TOP_INCDIR}/afs/afs_AdminCfgErrors.h

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

${TOP_INCDIR}/afs/afs_AdminClientErrors.h: afs_AdminClientErrors.h
	cp afs_AdminClientErrors.h ${TOP_INCDIR}/afs/afs_AdminClientErrors.h

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

${TOP_INCDIR}/afs/afs_AdminMiscErrors.h: afs_AdminMiscErrors.h
	cp afs_AdminMiscErrors.h ${TOP_INCDIR}/afs/afs_AdminMiscErrors.h

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

${TOP_INCDIR}/afs/afs_AdminCommonErrors.h: afs_AdminCommonErrors.h
	cp afs_AdminCommonErrors.h ${TOP_INCDIR}/afs/afs_AdminCommonErrors.h

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

${TOP_INCDIR}/afs/afs_AdminKasErrors.h: afs_AdminKasErrors.h
	cp afs_AdminKasErrors.h ${TOP_INCDIR}/afs/afs_AdminKasErrors.h

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

${TOP_INCDIR}/afs/afs_AdminPtsErrors.h: afs_AdminPtsErrors.h
	cp afs_AdminPtsErrors.h ${TOP_INCDIR}/afs/afs_AdminPtsErrors.h

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

${TOP_INCDIR}/afs/afs_AdminUtilErrors.h: afs_AdminUtilErrors.h
	cp afs_AdminUtilErrors.h ${TOP_INCDIR}/afs/afs_AdminUtilErrors.h

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

afs_AdminVosErrors.h:	afs_AdminVosErrors.c

${TOP_INCDIR}/afs/afs_AdminVosErrors.h: afs_AdminVosErrors.h
	cp afs_AdminVosErrors.h ${TOP_INCDIR}/afs/afs_AdminVosErrors.h

ERROROBJS = \
	rxkad_errs.o \
	boserr.o \
	kaerrors.o \
	ktc_errors.o \
	cmd_errors.o \
	pterror.o \
	uerrors.o \
	vl_errors.o \
	acfg_errors.o \
	volerr.o

ADMINOBJS = \
	afs_AdminBosErrors.o \
	afs_AdminCfgErrors.o \
	afs_AdminClientErrors.o \
	afs_AdminCommonErrors.o \
	afs_AdminKasErrors.o \
	afs_AdminMiscErrors.o \
	afs_AdminPtsErrors.o \
	afs_AdminUtilErrors.o \
	afs_AdminVosErrors.o \
	afs_utilAdmin.o

LIBOBJS = ${ADMINOBJS} ${ERROROBJS}

install: libafsadminutil.a afs_utilAdmin.h
	${INSTALL} -d ${DESTDIR}${libdir}
	${INSTALL} -d ${DESTDIR}${includedir}/afs
	${INSTALL_DATA} libafsadminutil.a ${DESTDIR}${libdir}/afs/libafsadminutil.a
	${INSTALL_DATA} ${srcdir}/afs_utilAdmin.h ${DESTDIR}${includedir}/afs/afs_utilAdmin.h

dest: libafsadminutil.a afs_utilAdmin.h
	${INSTALL} -d ${DEST}/lib/afs
	${INSTALL} -d ${DEST}/include/afs
	${INSTALL_DATA} libafsadminutil.a ${DEST}/lib/afs/libafsadminutil.a
	${INSTALL_DATA} ${srcdir}/afs_utilAdmin.h ${DEST}/include/afs/afs_utilAdmin.h

libafsadminutil.a: ${LIBOBJS}
	-$(RM) -f $@
	$(AR) crv $@ ${LIBOBJS}
	${RANLIB} $@

afs_utilAdmin.o: afs_utilAdmin.h ${TOP_INCDIR}/afs/afs_AdminBosErrors.h ${TOP_INCDIR}/afs/afs_AdminUtilErrors.h \
				${TOP_INCDIR}/afs/afs_AdminVosErrors.h ${TOP_INCDIR}/afs/afs_AdminClientErrors.h \
				${TOP_INCDIR}/afs/afs_AdminCommonErrors.h ${TOP_INCDIR}/afs/afs_AdminKasErrors.h \
				${TOP_INCDIR}/afs/afs_AdminMiscErrors.h ${TOP_INCDIR}/afs/afs_AdminPtsErrors.h \
				${TOP_INCDIR}/afs/afs_AdminCfgErrors.h ${TOP_INCDIR}/afs/afs_AdminPtsErrors.h

ktc_errors.o: ${AUTH}/ktc_errors.c
	$(AFS_CCRULE) $(AUTH)/ktc_errors.c

acfg_errors.o: ${AUTH}/acfg_errors.c
	$(AFS_CCRULE) $(AUTH)/acfg_errors.c

boserr.o: ${BOZO}/boserr.c
	$(AFS_CCRULE) $(BOZO)/boserr.c

cmd_errors.o: ${CMD}/cmd_errors.c
	$(AFS_CCRULE) $(CMD)/cmd_errors.c

kaerrors.o: ${KAUTH}/kaerrors.c
	$(AFS_CCRULE) $(KAUTH)/kaerrors.c

pterror.o: ${PTSERVER}/pterror.c
	$(AFS_CCRULE) $(PTSERVER)/pterror.c

rxkad_errs.o: ${RXKAD}/rxkad_errs.c
	$(AFS_CCRULE) $(RXKAD)/rxkad_errs.c

uerrors.o: ${UBIK}/uerrors.c
	$(AFS_CCRULE) $(UBIK)/uerrors.c

vl_errors.o: ${VLSERVER}/vl_errors.c
	$(AFS_CCRULE) $(VLSERVER)/vl_errors.c

volerr.o: ${VOLSER}/volerr.c
	$(AFS_CCRULE) $(VOLSER)/volerr.c

clean:
	$(RM) -f *.o libafsadminutil*
	$(RM) -f afs_AdminBosErrors.c afs_AdminBosErrors.h
	$(RM) -f afs_AdminCfgErrors.c afs_AdminCfgErrors.h
	$(RM) -f afs_AdminClientErrors.c afs_AdminClientErrors.h
	$(RM) -f afs_AdminCommonErrors.c afs_AdminCommonErrors.h
	$(RM) -f afs_AdminKasErrors.c afs_AdminKasErrors.h
	$(RM) -f afs_AdminMiscErrors.c afs_AdminMiscErrors.h
	$(RM) -f afs_AdminPtsErrors.c afs_AdminPtsErrors.h
	$(RM) -f afs_AdminUtilErrors.c afs_AdminUtilErrors.h
	$(RM) -f afs_AdminVosErrors.c afs_AdminVosErrors.h
