# -*- makefile -*-

DVIPS		= dvips
LATEX		= pdflatex
LATEXOUT	= pdf
RESULT		= pdf

#LATEX		= latex
#LATEXOUT	= dvi
#RESULT		= ps


.SUFFIXES: .tex .dvi .ps .pdf .c .lg .eps

.c.lg:
	lgrind -i -o $*.lg -a -lc++ $*.c

.eps.pdf:
	epstopdf $*.eps

.tex.pdf:
	@ if test ! -f $*.ind; then echo "" > $*.ind; fi
	@ $(LATEX) $*
	@ if ( grep 'Writing index file' $*.log > /dev/null ); \
	then makeindex $* ; $(LATEX) $* ; fi
	@ if ( grep 'LaTeX Warning: Label(s) may' $*.log > /dev/null ); \
	then $(LATEX) $* ; fi
	@ if ( grep 'LaTeX Warning: Citation' $*.log > /dev/null ); \
	then bibtex $* ; $(LATEX) $* ; fi
	@ if ( grep 'LaTeX Warning: Label(s) may' $*.log > /dev/null ); \
	then $(LATEX) $* ; fi
	@ if ( grep 'LaTeX Warning: Label(s) may' $*.log > /dev/null ); \
	then $(LATEX) $* ; fi
	@ if ( grep 'LaTeX Warning: Label(s) may' $*.log > /dev/null ); \
	then $(LATEX) $* ; fi

.tex.dvi: 
	@ if test ! -f $*.ind; then echo "" > $*.ind; fi
	@ $(LATEX) $*
	@ if ( grep 'Writing index file' $*.log > /dev/null ); \
	then makeindex $* ; $(LATEX) $* ; fi
	@ if ( grep 'LaTeX Warning: Label(s) may' $*.log > /dev/null ); \
	then $(LATEX) $* ; fi
	@ if ( grep 'LaTeX Warning: Citation' $*.log > /dev/null ); \
	then bibtex $* ; $(LATEX) $* ; fi
	@ if ( grep 'LaTeX Warning: Label(s) may' $*.log > /dev/null ); \
	then $(LATEX) $* ; fi
	@ if ( grep 'LaTeX Warning: Label(s) may' $*.log > /dev/null ); \
	then $(LATEX) $* ; fi
	@ if ( grep 'LaTeX Warning: Label(s) may' $*.log > /dev/null ); \
	then $(LATEX) $* ; fi

.dvi.ps:
	$(DVIPS) -o $*.ps $*

.ps.pdf:
	distill -v -maxsubsetpct 99 -subsetfonts on -pairs $*.ps $*.pdf

INPUT   = $(SRCCODE) $(EPS) $(PDFPICT)

SRCCODE	= 

EPS	=

PDFPICT	= 


SRCCODELG = $(SRCCODE:.c=.lg)

#
# Default rule
#

default: functors_operators.$(RESULT)


#
# LaTeX stuff
#
TEX	= functors_operators.tex introduction.tex no_models.tex


#
# Standard rules
#

clean:
	/bin/rm -f *.dvi *.o *.ps *.log *.blg *.bbl *.aux *~
	make -C examples clean

semiclean:
	/bin/rm -f mtl_user_manual.ps mtl_user_manual.pdf

dist:
	cd ..; tar czvf concepts.tgz concepts/*.tex concepts/algebra_concepts_extended.pdf concepts/makefile \
	    concepts/examples/makefile concepts/examples/*.?pp