######################################################################### 
#									# 
#   File: scorpion/src/idlcheck/assertcodegen/Makefile 
#				 					# 
#   Copyright (C) 1991 Jerry Kickenson
#									# 
#   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
LIBDIR=/usr/local/scorpion/lib
INCDIR=/usr/local/scorpion/include
BINDIR=/usr/local/scorpion/bin
SPECSDIR=/usr/local/scorpion/src/specs/Candle
CC=cc
IDLC=$(BINDIR)/idlc
PC=pc
CFLAGS=-I$(INCDIR)/C -I$(INCDIR)
IDLCFLAGS=-v
PFLAGS=
CP=cp
MV=mv
RM=rm -f
LEX=lex
MAKE=make
YACC=yacc

LINTINC=-I$(INCDIR) -I$(INCDIR)/C
LINTLIB=$(LIBDIR)/lintlib/llib-lliball.ln
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

# LOCAL VARIABLES
LIB=$(LIBDIR)/libidl.a
INCDIR2=../include
SPECDIR2=../specs
CFLAGSLOC=-I$(INCDIR2)
IDLCFLAGSLOC=-S -I$(SPECSDIR) -I$(SPECDIR2) -nc -h -k
OBJ=gencode.o GeneratePostfix1.o GeneratePostfix2.o GeneratePostfix3.o
LINTINC2=-I$(INCDIR2)
LINTSRC=gencode.c GeneratePostfix1.c GeneratePostfix2.c GeneratePostfix3.c

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

IDLgen:	 $(OBJ)
	$(CC) -o IDLgen  $(CFLAGS) $(CFLAGSLOC) $(OBJ)  $(LIB)

System:  IDLgen

Install:
	$(RM) $(LIBDEST)/IDLgen
	$(INSTALL) IDLgen $(LIBDEST)

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

GeneratePostfix1.o : GeneratePostfix1.c GeneratePostfix.h 
GeneratePostfix2.o : GeneratePostfix2.c GeneratePostfix.h 
GeneratePostfix3.o : GeneratePostfix3.c GeneratePostfix.h 
	if (test "$(MACHINE)" = "sun") then \
		$(CC) -c $(NO_CFLAGS) $*.c; \
	else \
		$(CC) -c $(CFLAGS) $*.c; \
	fi

gencode.o : gencode.c GeneratePostfix.h $(INCDIR2)/instructions.h 

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

Checkout:
	$(RM) postfix.2
	IDLgen < postfix.1 > postfix.2
	@sh -c 'cmp -s postfix.1 postfix.2 && (echo "files postfix.1 and postfix.2 agree"; echo "Code Generator Passed Installation Check") || echo "?Code Generator Failed Installation Check " '

$(OBJ) :  GeneratePostfix.h $(INCDIR2)/instructions.h

GeneratePostfix.h: GeneratePostfix.idl
	$(IDLC) $(IDLCFLAGS) $(IDLCFLAGSLOC) GeneratePostfix.idl

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

Lint:
	lint $(LINTFLAGS) $(LINTINC) $(LINTINC2) $(LINTLIB) $(LINTSRC)
