#
# This file makes DVItype, PLtoTF, TFtoPL, and POOLtype from their
# respective sources.
#

SITEDIR=/
CC=lc
OPT= -cw -f8 -j100i94i84i -m2 -O
CFLAGS= -b0 -i$(SITEDIR) -r0 -v $(OPT)
BLINKCMDS = LIB lib:lcm881.lib lib:lcnb.lib


.SUFFIXES: .o .c .p .ch
.SUFFIXES: .dvi .tex .ch
.ch.p:
		/web/tangle $*.web $*.ch
.p.c:
		execute /common/convert $*
.c.o:
		$(CC) $(CFLAGS) $*.c
.ch.tex:
		/web/weave $*.web $*.ch
.tex.dvi:
		virtex &plain. \language=\usenglish \input $*.tex


# Routines used everywhere.
#
commondefines=/common/common.defines
commonh=/common/extra.h
commono=/common/extra.o /common/main.o


default:        all

all:		triptrap patgen pooltype

triptrap:	dvitype pltotf tftopl

docs:		dvitype.dvi pltotf.dvi tftopl.dvi patgen.dvi pooltype.dvi


# DVItype:
#
dvitype:	dvitype.o $(commono)
		blink FROM lib:c.o $*.o $(commono) TO $* $(BLINKCMDS)
dvitype.o:	dvitype.c $(commonh)
dvitype.c:	dvitype.p $(commondefines)
dvitype.p:	dvitype.web dvitype.ch
dvitype.dvi:	dvitype.tex
dvitype.tex:	dvitype.web dvitype.ch


# PatGen:
#
patgen:		patgen.o $(commono)
		blink FROM lib:c.o $*.o $(commono) TO $* $(BLINKCMDS)
patgen.o:	patgen.c $(commonh)
patgen.c:	patgen.p $(commondefines)
patgen.p:	patgen.web patgen.ch
patgen.dvi:	patgen.tex
patgen.tex:	patgen.web patgen.ch


# PLtoTF:
#
pltotf:		pltotf.o $(commono)
		blink FROM lib:c.o $*.o $(commono) TO $* $(BLINKCMDS)
pltotf.o:	pltotf.c $(commonh)
		$(CC) $(CFLAGS) -dINDEX -dindex=index_arr -dlink=link_array $*
pltotf.c:	pltotf.p $(commondefines)
pltotf.p:	pltotf.web pltotf.ch
pltotf.dvi:	pltotf.tex
pltotf.tex:	pltotf.web pltotf.ch


# POOLtype:
#
pooltype:	pooltype.o $(commono)
		blink FROM lib:c.o $*.o $(commono) TO $* $(BLINKCMDS)
pooltype.o:	pooltype.c $(commonh)
pooltype.c:	pooltype.p $(commondefines)
pooltype.p:	pooltype.web pooltype.ch
pooltype.dvi:	pooltype.tex
pooltype.tex:	pooltype.web pooltype.ch


# TFtoPL:
#
tftopl:		tftopl.o $(commono)
		blink FROM lib:c.o $*.o $(commono) TO $* $(BLINKCMDS)
tftopl.o:	tftopl.c $(commonh)
		$(CC) $(CFLAGS) -dINDEX -dindex=index_var $*
tftopl.c:	tftopl.p $(commondefines)
tftopl.p:	tftopl.web tftopl.ch
tftopl.dvi:	tftopl.tex
tftopl.tex:	tftopl.web tftopl.ch


clean:
		delete dvitype.o pltotf.o tftopl.o patgen.o pooltype.o QUIET
		delete dvitype pltotf tftopl patgen pooltype QUIET

veryclean:	clean
		delete dvitype.p pltotf.p tftopl.p patgen.p pooltype.p QUIET
		delete dvitype.c pltotf.c tftopl.c patgen.c pooltype.c QUIET
		delete dvitype.h pltotf.h tftopl.h patgen.h pooltype.h QUIET
		delete dvitype.log pltotf.log tftopl.log patgen.log pooltype.log QUIET
		delete dvitype.dvi pltotf.dvi tftopl.dvi patgen.dvi pooltype.dvi QUIET
		delete dvitype.tex pltotf.tex tftopl.tex patgen.tex pooltype.tex QUIET
		delete CONTENTS.tex QUIET
		delete dvitype.log pltotf.log tftopl.log patgen.log pooltype.log QUIET
