FIGOPTS=-p foo
FIG=general.fig queues.fig socket.fig
DGR=caller.fig listen.fig incoming.fig
MSC=normal.msc fail.msc incall.msc cross.msc stray.msc reject.msc
EPS=$(FIG:.fig=.eps) $(DGR:.fig=.eps) $(MSC:.msc=.eps)

.SUFFIXES:	.fig .dvi .tex .eps .ps .msc

.fig.ps:
		fig2dev -L ps $(FIGOPTS) -c -P $*.fig >$*.ps || \
		  { rm -f $*.ps; false; }

.fig.eps:
		fig2dev -L ps $(FIGOPTS) $*.fig >$*.eps || \
		  { rm -f $*.eps; false; }

.msc.fig:
		./msc2fig.pl <$*.msc >$*.fig || \
		  { rm -f $*.fig; false; }

.msc.eps:	# is make *really* that stupid ?
		$(MAKE) $*.fig
		$(MAKE) $*.eps

all:		
		@echo "Try  make dvi  or  make ps"

dvi:		isp.dvi
ps:		isp.ps

$(MSC:.msc=.fig):	msc2fig.pl
$(MSC:.msc=.eps):	$(MSC)

isp.dvi:	isp.tex atmsvc.h $(EPS) texinc.pl
		./texinc.pl <isp.tex >tmp.tex
		./rlatex tmp
		cat tmp.dvi >isp.dvi

isp.ps:		isp.dvi $(EPS)
		dvips isp

atmsvc.h:	/usr/include/linux/atmsvc.h
		if [ -r /usr/include/linux/atmsvc.h ]; then \
		  cp /usr/include/linux/atmsvc.h .; fi
		[ -r atmsvc.h ]

update:
		cp $$HOME/k/curr/include/linux/atmsvc.h .

/usr/include/linux/atmsvc.h:
		@echo "WARNING: atmdev.h is not automatically updated"

filelist:
		@echo README CHANGES VERSION atmsvc.h isp.tex url.sty
		@echo Makefile mkdist rlatex msc2fig.pl texinc.pl
		@echo caller.p called.p
		@echo $(FIG) $(DGR) $(MSC)

checkin:
		ci -l `make -s filelist`

clean:
		rm -f *.aux *.log *.toc *.bak tmp.dvi tmp.tex

spotless:	clean
		rm -f *.dvi *.ps *.eps atmsvc.h $(MSC:.msc=.fig)
