# (C) Copyright International Business Machines Corporation 23 January 
# 1990.  All Rights Reserved. 
#  
# See the file USERAGREEMENT distributed with this software for full 
# terms and conditions of use. 
# File: Makefile
# Author: David F. Bacon
# SCCS Info: @(#)Makefile	1.3 8/21/89

DSRC	=	pocall.d tsapre.d tscheck.d pomakefull.d
DEFOBJS	=	pocall.do tsapre.do tscheck.do pomakefull.do

PSRC	=	beginaltern.p checkguardc.p checkvar.p \
		exceptionbr.p involving.p \
		pocall.p pocopyts.p pohide.p \
		podissolve.p pomakecase.p pomakeinit.p \
		pomakeunin.p pomvelts.p pomventts.p \
		pomvts.p ponull.p popolyts.p \
		precall.p precasets.p predupkey.p \
		preinit.p prereveal.p preinsert.p \
		presend.p prereturn.p prenull.p \
		prewrap.p prepos.p prerangeerr.p \
		preuncopy.p prevar.p softcoerce.p \
		softglb.p substcparms.p tsapost.p \
		tsapre.p tsatc.p tscc.p \
		substobject.p tstypeof.p typestate.p \
		impliedat.p checkloop.p pomakefull.p
PROCOBJS =	beginaltern.po checkguardc.po checkvar.po \
		exceptionbr.po involving.po \
		pocall.po pocopyts.po pohide.po \
		podissolve.po pomakecase.po pomakeinit.po \
		pomakeunin.po pomvelts.po pomventts.po \
		pomvts.po ponull.po popolyts.po \
		precall.po precasets.po predupkey.po \
		preinit.po prereveal.po preinsert.po \
		presend.po prereturn.po prenull.po \
		prewrap.po prepos.po prerangeerr.po \
		preuncopy.po prevar.po softcoerce.po \
		softglb.po substcparms.po tsapost.po \
		tsapre.po tsatc.po tscc.po \
		substobject.po tstypeof.po typestate.po \
		impliedat.po checkloop.po pomakefull.po

include ../make/includefile


all:	compiledefs compileprocs

install:	all
	cp typestate.po $(PROCDIR)

# see interface/Makefile for a description of the following bogosity
fixdefs:
	@-mkdir .dosave 2>/dev/null; 
	@-rm -f .dosave/* 2>/dev/null
	@mv *.do .dosave
	@dlist=`make -n defobjs` ; echo $$dlist > .dlist
	@mv .dosave/* .
	@rmdir .dosave
	@dlist=`cat .dlist` ; rm .dlist ; \
		echo env $(HERMENV) $(HERMI) $(CACHE) fixdefs $$dlist ; \
		env $(HERMENV) $(HERMI) $(CACHE) fixdefs $$dlist

# Dependencies
pocall.do:	tscheck.do
pomakefull.do:	tscheck.do


$(PROCOBJS):	tscheck.do
impliedat.po:	tsapre.do
pocall.po:	pocall.do
pomakefull.po:	pomakefull.do
tsapre.po:	tsapre.do

typestate.po: 	tscc.po tsapre.po tsapost.po tsatc.po involving.po \
		exceptionbr.po checkguardc.po beginaltern.po softglb.po \
		softcoerce.po impliedat.po checkloop.po checkvar.po \
		tstypeof.po substobject.po substcparms.po pocall.po \
		prenull.po ponull.po precall.po preinit.po prepos.po \
		prevar.po precasets.po preinsert.po prereturn.po \
		prereveal.po presend.po prewrap.po prerangeerr.po \
		preuncopy.po predupkey.po pomakeinit.po pocopyts.po \
		pomakeunin.po pomvts.po podissolve.po pohide.po \
		pomventts.po pomvelts.po pomakecase.po popolyts.po \
		pomakefull.po
clean:
	@- rm -f $(PROCOBJS) $(DEFOBJS) 2>/dev/null

# procclean removes all compiled process modules
procclean:
	@- rm -f $(PROCOBJS)
