#
# @(#) Makefile - makefile for Rail package
#
# 07-Feb-1991 L. Rooijakkers	added 'tar' target
# 12-Feb-1991 L. Rooijakkers	added 'patch' target
#

BINDIR=$(HOME)/bin
TEXDIR=$(HOME)/tex
MANDIR=$(HOME)/man
MANSUFFIX=l
OBJS=rail.o gram.o lex.o
CFLAGS=-DYYDEBUG

all: rail

install: rail rail.sty rail.man
	cp rail $(BINDIR)
	cp rail.sty $(TEXDIR)
	cp rail.man $(MANDIR)/man$(MANSUFFIX)/rail.$(MANSUFFIX)

clean:
	rm -f $(OBJS) rail gram.[ch] lex.c y.tab.[ch] y.output a.out core PATCH
	rm -f *.log *.aux *.rai *.rao *.dvi rail.txt SHAR.* TAR MANIFEST.BAK

lint: rail.c gram.c lex.c gram.h
	lint rail.c gram.c lex.c

shar:
	makekit -m -n SHAR.

tar:
	tar cvf TAR `sed -n '3,$$s/^[ 	]*\([^ 	]*\).*$$/\1/p' MANIFEST`

patch:
	diff -bc old . | sed '/^diff/d' >PATCH

doc:	rail.dvi rail.txt

$(OBJS): rail.h

rail.o lex.o: gram.h

rail.o: patchlev.h

gram.c gram.h: y.tab.c y.tab.h
	cmp -s gram.c y.tab.c || cp y.tab.c gram.c
	cmp -s gram.h y.tab.h || cp y.tab.h gram.h

y.tab.c y.tab.h y.output: gram.y
	$(YACC) $(YFLAGS) -dv gram.y

rail: $(OBJS)
	$(CC) $(CFLAGS) $(OBJS) -o rail

rail.rai: rail.tex
	latex rail

rail.rao: rail rail.rai
	./rail rail

rail.dvi: rail.rao rail.tex
	latex rail

rail.txt: rail.man
	nroff -man rail.man >rail.txt
