######################################################################### 
#									# 
#   File: scorpion/src/errordb/Makefile 
#				 					# 
#   Copyright (C) 1991 C. Alexander Nelson
#									# 
#   The Scorpion System is free software in the public domain; you can  # 
#   redistribute it and/or modify it as you wish. We ask that you 	# 
#   retain credits referencing the University of Arizona and that you	# 
#   identify any changes you make.					# 
#									# 
#   Report problems to scorpion-project@cs.arizona.edu			# 
#   Direct all inquiries to:	The Scorpion Project			# 
#				Department of Computer Science		# 
#				Gould-Simpson Building			# 
#				University of Arizona			# 
#				Tucson, AZ 85721			# 
#				U.S.A.					# 
#									# 
#   Revision Log:							# 
#	$Log:$ 
#									# 
#   Edit Log:								# 
#									# 
######################################################################### 

# IMPORTED VARIABLES
SHELL=/bin/sh
LIBDIR=/usr/local/scorpion/lib
BINDIR=/usr/local/scorpion/bin
INCDIR=/usr/local/scorpion/include
SPECSDIR=/usr/local/scorpion/src/specs
HELPDIR=/usr/local/scorpion/help
MISCDIR=/usr/local/scorpion/misc
AR=ar ru
RANLIB=ranlib
CC=cc
IDLC=$(BINDIR)/idlc
PC=pc
CFLAGS=-I$(INCDIR)
IDLCFLAGS=-v
PFLAGS=
CP=cp
MV=mv
RM=rm -f
LEX=lex
MAKE=make
YACC=yacc

LINT=/usr/bin/lint
LINTINC=-I$(INCDIR)
LINTFLAGS=-abx

UTILITYVARS='CC=$(CC)' 'IDLC=$(IDLC)' 'PC=$(PC)' 'CFLAGS=$(CFLAGS)' \
	      'IDLCFLAGS=$(IDLCFLAGS)' 'PFLAGS=$(PFLAGS)' 'CP=$(CP)' \
	      'MV=$(MV)' 'RM=$(RM)' 'LEX=$(LEX)' 'MAKE=$(MAKE)' \
	      'YACC=$(YACC)'
CI=ci
CO=co -l
INSTALL=

#LOCAL VARIABLES
EXTRADEFS='-DEDBHELPDIRDEF="$(HELPDIR)/errordb"' \
           '-DEDBDEFAULTDEF="$(MISCDIR)/EDBdefault.aer"'
LIB=$(LIBDIR)/libidl.a
LINTLIB=$(LIBDIR)/lintlib/llib-llibidl.ln $(LIBDIR)/lintlib/llib-llibci.ln
IDLCFLAGSLOC=-I$(SPECSDIR) -nc -k -h
SRCFILES=oneof.c firsdex.c lasdex.c check.c checkbd.c display.c \
        shouldswap.c infocompare.c formatcompare.c setnum.c setlevel.c \
        aredigits.c stripsuffix.c \
        EDBquit.c EDBcomment.c EDBdate.c  EDBcreate.c EDBread.c \
        EDBtime.c EDBversion.c EDBwrite.c EDBlist.c EDBedit.c \
        EDBdelete.c EDBformats.c EDBchange.c EDBsortorder.c \
        EDBformatter.c EDBrestore.c EDBhowmany.c \
        EDBtype.c EDBappend.c EDBnlist.c EDBntype.c

OBJS=oneof.o firsdex.o lasdex.o check.o checkbd.o display.o \
	shouldswap.o infocompare.o formatcompare.o setnum.o setlevel.o \
	aredigits.o stripsuffix.o
EDBOBJS=EDBquit.o EDBcomment.o EDBdate.o  EDBcreate.o EDBread.o \
	EDBtime.o EDBversion.o EDBwrite.o EDBlist.o EDBedit.o \
	EDBdelete.o EDBformats.o EDBchange.o EDBsortorder.o \
	EDBformatter.o EDBrestore.o EDBhowmany.o \
	EDBtype.o EDBappend.o EDBnlist.o EDBntype.o

EDBOBJS1=EDBprint.o 
EDBSRC1=EDBprint.c
EDBOBJS2=EDBextract.o
EDBSRC2=EDBextract.c

LINTSRC=$(SRCFILES) $(EDBSRC1) $(EDBSRC2) EDBmain1.c EDBmain.c errordb.c

IDLSRC=$(SPECSDIR)/error.idl
IDLOBJ=
EDBIDLSRC=errordb.idl
EDBIDLOBJ=errordb.o

#*******************************************************************************
#*******************************************************************************

# errordb.a has to go first
System:	errordb 

errordb : errordb.a  EDBmain.o
	$(CC) ${CFLAGS} -o errordb EDBmain.o errordb.a $(LIBDIR)/libci.a $(LIB)

errordb.a : $(EDBIDLOBJ) $(OBJS) $(EDBOBJS) $(EDBOBJS1) $(EDBOBJS2) EDBmain1.o
	$(AR) errordb.a $(EDBIDLOBJ) $(OBJS) $(EDBOBJS) $(EDBOBJS1) $(EDBOBJS2)\
			EDBmain1.o
	$(RANLIB) errordb.a

.c.o:
	$(CC) $(CFLAGS) -c $*.c

EDBmain.o:
	$(CC) $(CFLAGS) $(EXTRADEFS) -c EDBmain.c
	
errordb.h:	$(EDBIDLSRC) $(IDLSRC)
	$(IDLC) $(IDLCFLAGS) $(IDLCFLAGSLOC) $(EDBIDLSRC) 

EDBDefs.o : EDBDefs.c 
EDBappend.o : EDBappend.c EDB.h errordb.h del.h EDBtypes.h 
EDBchange.o : EDBchange.c EDB.h errordb.h del.h EDBtypes.h 
EDBcomment.o : EDBcomment.c EDB.h errordb.h del.h EDBtypes.h 
EDBcreate.o : EDBcreate.c EDB.h errordb.h del.h EDBtypes.h 
EDBdate.o : EDBdate.c EDB.h errordb.h del.h EDBtypes.h 
EDBdelete.o : EDBdelete.c EDB.h errordb.h del.h EDBtypes.h 
EDBedit.o : EDBedit.c EDB.h errordb.h del.h EDBtypes.h 
EDBextract.o : EDBextract.c EDB.h errordb.h del.h EDBtypes.h 
EDBformats.o : EDBformats.c EDB.h errordb.h del.h EDBtypes.h 
EDBformatter.o : EDBformatter.c EDB.h errordb.h del.h EDBtypes.h 
EDBhowmany.o : EDBhowmany.c EDB.h errordb.h del.h EDBtypes.h 
EDBlist.o : EDBlist.c EDB.h errordb.h del.h EDBtypes.h 
EDBmain.o : EDBmain.c 
EDBmain1.o : EDBmain1.c EDB.h errordb.h del.h EDBtypes.h CIproc.h 
EDBnlist.o : EDBnlist.c EDB.h errordb.h del.h EDBtypes.h 
EDBntype.o : EDBntype.c EDB.h errordb.h del.h EDBtypes.h 
EDBprint.o : EDBprint.c EDB.h errordb.h del.h EDBtypes.h 
EDBquit.o : EDBquit.c EDB.h errordb.h del.h EDBtypes.h 
EDBread.o : EDBread.c EDB.h errordb.h del.h EDBtypes.h 
EDBrestore.o : EDBrestore.c EDB.h errordb.h del.h EDBtypes.h 
EDBsortorder.o : EDBsortorder.c EDB.h errordb.h del.h EDBtypes.h 
EDBtime.o : EDBtime.c EDB.h errordb.h del.h EDBtypes.h 
EDBtype.o : EDBtype.c EDB.h errordb.h del.h EDBtypes.h 
EDBversion.o : EDBversion.c EDB.h errordb.h del.h EDBtypes.h 
EDBwrite.o : EDBwrite.c EDB.h errordb.h del.h EDBtypes.h 
aredigits.o : aredigits.c EDB.h errordb.h del.h EDBtypes.h 
check.o : check.c EDB.h errordb.h del.h EDBtypes.h 
checkbd.o : checkbd.c EDB.h errordb.h del.h EDBtypes.h 
display.o : display.c EDB.h errordb.h del.h EDBtypes.h 
errordb.o : errordb.c errordb.h 
firsdex.o : firsdex.c 
formatcompare.o : formatcompare.c EDB.h errordb.h del.h EDBtypes.h 
infocompare.o : infocompare.c EDB.h errordb.h del.h EDBtypes.h 
lasdex.o : lasdex.c 
oneof.o : oneof.c 
setlevel.o : setlevel.c EDB.h errordb.h del.h EDBtypes.h 
setnum.o : setnum.c EDB.h errordb.h del.h EDBtypes.h 
shouldswap.o : shouldswap.c EDB.h errordb.h del.h EDBtypes.h 
stripsuffix.o : stripsuffix.c EDB.h errordb.h del.h EDBtypes.h 

Clean:
	$(RM) *.o core a.out *.list *.Cdl errordb.a

Install:
	$(RM) $(BINDEST)/errordb
	$(INSTALL) errordb $(BINDEST)

Ci:
	$(CI) $(SRCFILES) $(SRC) $(EDBHEADERS) $(EDBSRC1) $(EDBSRC2) \
              $(EDBIDLSRC) errors.tex

Co:
	$(CO) $(SRCFILES) $(SRC) $(EDBHEADERS) $(EDBSRC1) $(EDBSRC2) \
              $(EDBIDLSRC) errors.tex

# EDBmain.c needed during installation
DelSrc:
	$(MV) EDBmain.c EDBmain.c1
	$(RM) *.h *.c *.idl 
	$(MV) EDBmain.c1 EDBmain.c

Lint:
	$(LINT) $(LINTFLAGS) $(EXTRADEFS) $(LINTINC) $(LINTLIB) $(LINTSRC)

.IGNORE:
