#
#   Makefile for TeX82 distribution, subdirectory `mfware'
#
#   This file makes GFtype, GFtoPK, PKtoGF, PKtype, GFtoDVI
#   from their WEB sources.
#

SITEDIR	=..
RM=/bin/rm
OPT=-O
CFLAGS=$(OPT) -Dlink=link_array -I$(SITEDIR)
LDFLAGS=-s

.SUFFIXES:
.SUFFIXES: .o .c .p .ch

.p.c:
	./convert $*.p $*.c

.ch.p:
	/usr/work/usagi.sparc/tangle $*.web $*.ch

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

default:	gftype 

# all:	gftype pktype gftopk pktogf gftodvi
#       but they are not all ready yet.
#	for useful substitutes, see the subdirectory CMFware

all:	gftype pktype gftopk pktogf

# GFtype
gftype: gftype.o mfwarext.o
	$(CC) $(LDFLAGS) $(CFLAGS) -o gftype gftype.o mfwarext.o
gftype.p: gftype.web gftype.ch
gftype.c: gftype.p
gftype.o: gftype.c web2c.h
	$(CC) $(CFLAGS) -c -Dindex=index_type gftype.c

# GFtoPK
gftopk: gftopk.o mfwarext.o
	$(CC) $(CFLAGS) -o gftopk gftopk.o mfwarext.o
gftopk.p: gftopk.web gftopk.ch
gftopk.c: gftopk.p
gftopk.o: gftopk.c web2c.h
	$(CC) $(CFLAGS) -c -Dindex=index_type gftopk.c

# PKtype
pktype: pktype.o mfwarext.o
	$(CC) $(LDFLAGS) $(CFLAGS) -o pktype pktype.o mfwarext.o
pktype.p: pktype.web pktype.ch
pktype.c: pktype.p
pktype.o: pktype.c web2c.h
	$(CC) $(CFLAGS) -c -Dindex=index_type pktype.c

# PKtoGF
pktogf: pktogf.o mfwarext.o
	$(CC) $(CFLAGS) -o pktogf pktogf.o mfwarext.o
pktogf.p: pktogf.web pktogf.ch
pktogf.c: pktogf.p
pktogf.o: pktogf.c web2c.h
	$(CC) $(CFLAGS) -c -Dindex=index_array pktogf.c

# GFtoDVI
gftodvi: gftodvi.o mfwarext.o
	$(CC) $(CFLAGS) -o gftodvi gftodvi.o mfwarext.o
gftodvi.p: gftodvi.web gftodvi.ch
gftodvi.c: gftodvi.p
gftodvi.o: gftodvi.c web2c.h

mfwarext.o:  mfwarext.c ${SITEDIR}/site.h

clean:
	$(RM) -f gftype.p pktype.p gftopk.p pktogf.p .p gftodvi.p
	$(RM) -f gftype.pool pktype.pool gftopk.pool pktogf.pool gftodvi.pool
	$(RM) -f gftype.o pktype.o gftopk.o pktogf.o gftodvi.o mfwarext.o 
veryclean:	clean
	$(RM) -f gftype.c pktype.c gftopk.c pktogf.c gftodvi.c
	$(RM) -f gftype.c pktype.h gftopk.h pktogf.h gftodvi.h
	$(RM) -f gftype pktype gftopk pktogf gftodvi
