# Makefile for ptc

LIBSRC=Argvgt.c Fopen.c Getl.c PTCerror.c
LIBOBJ=Argvgt.o Fopen.o Getl.o PTCerror.o

DIFF=gnudiff
CDIFF=$(DIFF) -c2
CDEBUGFLAGS=+O1 # -O takes so long...
CFLAGS=-I. $(CDEBUGFLAGS)
LDFLAGS=-z

all: ptc libptc.a

libptc.a: $(LIBOBJ)
	rm -f $@
	ar rv $@ $(LIBOBJ)

# -lmalloc has tremendous impact on the speed of ptc.
# Running time for initex.p went from 15 minutes CPU to one.

ptc:	ptc.c libptc.a ptc.h
	$(CC) $(CFLAGS) $(LDFLAGS) ptc.c -o ptc libptc.a -lmalloc

# Here we assume we already have ptc installed somewhere in PATH

ptc.c:	ptc.p 
	ptc <ptc.p >ptc.c

pptc:	pptc.p
	pc -o pptc pptc.p

pptc.p:	ptc.p
	cp ptc.p pptc.p
	chmod +w pptc.p
	ex - pptc.p <pptc.ed

RLOGS:	RCS/*,v
	rlog RCS/*,v >RLOGS

test:	ptc.c ptc.c.c
	$(CDIFF) ptc.c ptc.c.c

ptc.c.c: ptc ptc.p
	./ptc <ptc.p >ptc.c.c

tar:	ptc.tar

ptc.tar:
	$(MAKE) README RLOGS ptc.p ptc.c ptc.h $(LIBSRC)
	-mkdir tar
	-rm -f tar/*
	$(CO) -p1.1 ptc.p >/tmp/ptc.p.orig
	-$(CDIFF) ptc.p /tmp/ptc.p.orig >tar/ptc.p.backdiffs
	ln README README.ORIG RLOGS $(LIBSRC) ptc.h pptc.ed Makefile ptc.ms ptc.p ptc.c tar
	cd tar; tar cf - . | compress >../ptc.tar.Z
	rm -rf tar

clean:
	rm -f RLOGS *.o *.a ptc pptc pptc.p ptc.c ptc.c.c tar/* ptc.tar
