######################################################################### 
#									# 
#   File: scorpion/src/lister/Makefile 
#				 					# 
#   Copyright (C) 1991 Karen Shannon
#									# 
#   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
INCDIR=/usr/local/scorpion/include
LIBDIR=/usr/local/scorpion/lib
SPECSDIR=/usr/local/scorpion/src/specs
BINDIR=/usr/local/scorpion/bin
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=install

# LOCAL VARIABLES
LIB=$(LIBDIR)/libidl.a
LINTLIB=$(LIBDIR)/lintlib/llib-llibidl.ln
IDLCFLAGSLOC=-I$(SPECSDIR) -nc -h -k
OBJ=main.o geterror.o process.o print.o misc.o globals.o debug.o add.o
SRC=main.c geterror.c process.c print.c misc.c globals.c debug.c add.c\
	lister.idl macros.h
LINTSRC=main.c geterror.c process.c print.c misc.c globals.c debug.c \
	add.c lister.c

###############################################################

System: lister

lister: $(OBJ) lister.o
	$(CC) $(CFLAGS) $(OBJ) lister.o $(LIB) -o lister

lister.h: lister.idl $(SPECSDIR)/error.idl $(SPECSDIR)/errinstance.idl
	$(IDLC) $(IDLCFLAGS) $(IDLCFLAGSLOC)  lister.idl

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

add.o : add.c lister.h macros.h globals.h 
debug.o : debug.c 
geterror.o : geterror.c lister.h macros.h globals.h 
globals.o : globals.c lister.h macros.h 
lister.o : lister.c lister.h 
main.o : main.c lister.h macros.h globals.h
misc.o : misc.c lister.h macros.h globals.h 
print.o : print.c lister.h macros.h globals.h 
process.o : process.c lister.h macros.h globals.h 

Checkout:
	make 'SRCDIR=$(SRCDIR)' 'BINDIR=$(BINDIR)' Checkout1
	sh -c 'cmp -s $(SRCDIR)/specs/Diana.Revision4/dianatestC.list $(SRCDIR)/specs/Diana.Revision4/correct_diana.list &&(echo "files diana.list correct_diana.list agree"; echo "lister Passed Installation Check") || (echo "*** lister Failed Installation Check") '

Checkout1:
	cd $(SRCDIR)/specs/Diana.Revision4; make -s 'SRCDIR=$(SRCDIR)' 'BINDIR=$(BINDIR)' TestC.h

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

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

CI:
	$(CI) $(SRC) Makefile
CO:
	$(CO) $(SRC)
Copy:
	mkdir $(COPYDIR)/lister
	$(CP) $(SRC) lister.c lister.h Makefile README $(COPYDIR)/lister

DelSrc:
	$(RM) *.c *.h *.idl

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