######################################################################### 
#									# 
#   File: scorpion/src/idlc/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.					# 
#									# 
#									# 
######################################################################### 

# IMPORTED VARIABLES
INCDIR=/usr/local/scorpion/include
BINDIR=/usr/local/scorpion/bin
LIBDIR=/usr/local/scorpion/lib
SRCDIR=/usr/local/scorpion/src

CC=cc
IDLC=$(BINDIR)/idlc
PC=pc
CFLAGS=-I$(INCDIR)
NO_CFLAGS=
IDLCFLAGS=-k -h
PFLAGS=
CP=cp
MV=mv
SED=sed
RM=rm -f
LEX=lex
SED=sed
MAKE=make
YACC=yacc

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

UTILITYVARS='AR=$(AR)' 'CC=$(CC)' 'IDLC=$(IDLC)' 'PC=$(PC)' 'CFLAGS=$(CFLAGS)' \
              'IDLCFLAGS=$(IDLCFLAGS)' 'PFLAGS=$(PFLAGS)' 'CP=$(CP)' \
              'MV=$(MV)' 'RM=$(RM)' 'LEX=$(LEX)' 'MAKE=$(MAKE)' \
              'YACC=$(YACC)' 'MACHINE=$(MACHINE)' 'SED=$(SED)' 'SHELL=$(SHELL)'\
              'LINT=$(LINT)' 'RANLIB=$(RANLIB)'

CI=ci
CO=co -l
INSTALL=

# LOCAL VARIABLES
SPECSDIR=$(SRCDIR)/specs
LINTVARS='LINT=$(LINT)' 'LINTFLAGS=$(LINTFLAGS)' 'LINTINC=$(LINTINC)' \
         'MACHINE=$(MACHINE)' 'LIBDIR=$(LIBDIR)'
IFLAGS='LIBDEST=${LIBDEST}' 'INSTALL=$(INSTALL)' 'RM=$(RM)'
SFLAGS='LIBDIR=$(LIBDIR)' 'INCDIR=$(INCDIR)' $(UTILITYVARS)\
	'SPECSDIR=$(SPECSDIR)' 'NO_CFLAGS=$(NO_CFLAGS)' 

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

System:
	cd frontend; $(MAKE) $(SFLAGS) System
	cd semantic; $(MAKE) $(SFLAGS) System
	cd semassert; $(MAKE) $(SFLAGS) System
	cd rep; $(MAKE) $(SFLAGS) System
	cd backend; $(MAKE) $(SFLAGS) System

Install: 
	cd frontend; $(MAKE) ${IFLAGS} Install
	cd semantic; $(MAKE) ${IFLAGS} Install
	cd rep; $(MAKE) ${IFLAGS} Install
	cd backend; $(MAKE) ${IFLAGS} Install
	cd semassert; $(MAKE) ${IFLAGS} Install

Checkout:
	cd test;  $(MAKE) 'BINDIR=$(BINDIR)' $(UTILITYVARS) \
		'SRCDIR=$(SRCDIR)' 'SPECSDIR=$(SRCDIR)/specs' \
		Checkout

Clean:
	cd frontend; $(MAKE) 'RM=$(RM)' Clean
	cd semantic; $(MAKE) 'RM=$(RM)' Clean
	cd rep; $(MAKE) 'RM=$(RM)' Clean
	cd backend; $(MAKE) 'RM=$(RM)' Clean
	cd semassert; $(MAKE) 'RM=$(RM)' Clean


Copy:
	mkdir $(COPYDIR)/idlc
	$(CP) Makefile README $(COPYDIR)/idlc
	cd frontend; $(MAKE) 'CP=$(CP)' 'COPYDIR=$(COPYDIR)/idlc' Copy
	cd semantic; $(MAKE) 'CP=$(CP)' 'COPYDIR=$(COPYDIR)/idlc' Copy
	cd rep; $(MAKE) 'CP=$(CP)' 'COPYDIR=$(COPYDIR)/idlc' Copy
	cd backend; $(MAKE) 'CP=$(CP)' 'COPYDIR=$(COPYDIR)/idlc' Copy
	cd semassert; $(MAKE) 'CP=$(CP)' 'COPYDIR=$(COPYDIR)/idlc' Copy

DelSrc:
	cd frontend; $(MAKE) 'RM=$(RM)' DelSrc
	cd semantic; $(MAKE) 'RM=$(RM)' DelSrc
	cd semassert; $(MAKE) 'RM=$(RM)' DelSrc
	cd rep; $(MAKE) 'RM=$(RM)' DelSrc
	cd backend; $(MAKE) 'RM=$(RM)' DelSrc

Lint:
	cd frontend; $(MAKE) $(LINTVARS) Lint
	cd semantic; $(MAKE) $(LINTVARS) Lint
	cd semassert; $(MAKE) $(LINTVARS) Lint
	cd rep; $(MAKE) $(LINTVARS) Lint
	cd backend; $(MAKE) $(LINTVARS) Lint

.IGNORE:
