#################################
# Overall Makefile for WEB to C	#
#				#
# Tim Morgan Jan 15, 1988	#
#################################

# Default CFLAGS
OPT=-O

# Default C compiler
CC=cc

# Installation directories
TEXBINDIR=/usr/local
MFBINDIR=/usr/local
TEXPOOLDIR=/usr/local/lib/tex82
MFPOOLDIR=/usr/local/lib/mf84
TEXFORMATDIR=/usr/local/lib/tex82

# Libraries needed for X10 support
XLIBS=-lX

# Libraries needed for X11 support
X11LIBS=-lX11

# Libraries needed for SunView support
SUNLIBS=-lsuntool -lsunwindow -lpixrect

# Modify the following line to select only the libraries you need
WLIBS=

# Which site.h are you using?
# (".." refers to the directory containing this make file)
SITEDIR=..

##########################################################
# You should not have to change anything below this line #
##########################################################

default:	triptex trapmf

all:		web2c tangle initex virtex inimf virmf

# add install-tex and install-latex if you wish to use undumped versions
install-all:	install-initex install-virtex install-inimf install-virmf

install-tex:	${TEXBINDIR}/tex
${TEXBINDIR}/tex:	ctex/tex
		cp ctex/tex ${TEXBINDIR}/tex

install-latex:	${TEXBINDIR}/latex
${TEXBINDIR}/latex:	ctex/latex
		cp ctex/latex ${TEXBINDIR}/latex

install-slitex:	${TEXBINDIR}/slitex
${TEXBINDIR}/slitex:	ctex/slitex
		cp ctex/slitex ${TEXBINDIR}/slitex

install-virtex:	${TEXBINDIR}/virtex ${TEXPOOLDIR}/tex.pool
${TEXBINDIR}/virtex:	ctex/virtex
		cp ctex/virtex ${TEXBINDIR}/virtex
${TEXPOOLDIR}/tex.pool:	ctex/tex.pool
		cp ctex/tex.pool ${TEXPOOLDIR}/tex.pool

install-initex:	${TEXBINDIR}/initex ${TEXPOOLDIR}/tex.pool
${TEXBINDIR}/initex:	ctex/initex
		cp ctex/initex ${TEXBINDIR}/initex

install-inimf:	${MFBINDIR}/inimf ${MFPOOLDIR}/mf.pool
${MFBINDIR}/inimf:	cmf/inimf
		cp cmf/inimf ${MFBINDIR}/inimf
${MFPOOLDIR}/mf.pool:	cmf/mf.pool
		cp cmf/mf.pool ${MFPOOLDIR}/mf.pool

install-virmf:	${MFBINDIR}/virmf ${MFPOOLDIR}/mf.pool
${MFBINDIR}/virmf:	cmf/virmf
		cp cmf/virmf ${MFBINDIR}/virmf

install-formats:
		(cd ctex; make "CC=${CC}" plain.fmt lplain.fmt splain.fmt)
		cp ctex/plain.fmt ctex/lplain.fmt ctex/splain.fmt \
			${TEXFORMATDIR}

install-links:	install-virtex install-formats
		(cd ${TEXFORMATDIR}; rm -f tex.fmt; ln plain.fmt tex.fmt)
		(cd ${TEXFORMATDIR}; rm -f latex.fmt; ln lplain.fmt latex.fmt)
		(cd ${TEXFORMATDIR}; rm -f slitex.fmt; ln splain.fmt slitex.fmt)
		(cd ${TEXBINDIR}; rm -f tex latex slitex; ln virtex tex)
		(cd ${TEXBINDIR}; ln virtex latex; ln virtex slitex)

web2c:
		(cd web2cdir; make "CC=${CC}" "SITEDIR=${SITEDIR}" "OPT=${OPT}")

triptex:	web2c tangle ctex/tex0.c ctex/triptex
ctex/triptex:
		(cd ctex; make "CC=${CC}" "SITEDIR=${SITEDIR}" "OPT=${OPT}" triptex)

initex:		web2c tangle ctex/tex0.c ctex/itex
ctex/itex:
		(cd ctex; make "CC=${CC}" "SITEDIR=${SITEDIR}" "OPT=${OPT}" initex)

virtex:		web2c tangle ctex/tex0.c ctex/vtex
ctex/vtex:
		(cd ctex; make "CC=${CC}" "SITEDIR=${SITEDIR}" "OPT=${OPT}" virtex)

ctex/tex0.c:	texdir/tex.p
		(cd texdir; ./convert)

texdir/tex.p:	texdir/tex.web texdir/ctex.ch
		(cd texdir; make "CC=${CC}" "SITEDIR=${SITEDIR}" "OPT=${OPT}")

tex:		ctex/tex
ctex/tex:	initex virtex
		(cd ctex; make "CC=${CC}" "SITEDIR=${SITEDIR}" "OPT=${OPT}" tex)

latex:		ctex/latex
ctex/latex:	initex virtex
		(cd ctex; make "CC=${CC}" "SITEDIR=${SITEDIR}" "OPT=${OPT}" latex)

slitex:		ctex/slitex
ctex/slitex:	initex virtex
		(cd ctex; make "CC=${CC}" "SITEDIR=${SITEDIR}" "OPT=${OPT}" slitex)

tangle:
		(cd texware; make "CC=${CC}" "SITEDIR=${SITEDIR}" "OPT=${OPT}" tangle)

mfdir/mf.p:	mfdir/mf.web mfdir/cmf.ch
		(cd mfdir; make "CC=${CC}" "SITEDIR=${SITEDIR}" "OPT=${OPT}")

cmf/mf0.c:	mfdir/mf.p
		(cd mfdir; ./convert)

trapmf:		web2c tangle cmf/trapmf
cmf/trapmf:	cmf/mf0.c
		(cd cmf; make "CC=${CC}" "SITEDIR=${SITEDIR}" "OPT=${OPT}" trapmf)

inimf:	 	web2c tangle cmf/inimf
cmf/inimf:	cmf/mf0.c
		(cd cmf; make "CC=${CC}" "SITEDIR=${SITEDIR}" "OPT=${OPT}" inimf)

virmf:		web2c tangle cmf/virmf
cmf/virmf:	cmf/mf0.c
		(cd cmf; make "CC=${CC}" "SITEDIR=${SITEDIR}" "OPT=${OPT}" "WLIBS=${WLIBS}" virmf)

clean:
		(cd texdir; make clean)
		(cd web2cdir; make clean)
		(cd ctex; make clean)
		(cd cmf; make clean)
		(cd texware; make clean)
		(cd mfdir; make clean)
veryclean:
		(cd texdir; make veryclean)
		(cd web2cdir; make veryclean)
		(cd ctex; make veryclean)
		(cd cmf; make veryclean)
		(cd texware; make veryclean)
		(cd mfdir; make veryclean)

parallel:
		(cd ctex; cp Makefile Makefile.sequential; \
			cp Makefile.parallel Makefile)
		(cd cmf; cp Makefile Makefile.sequential; \
			cp Makefile.parallel Makefile)
