# $Id$
# $Log$
#
# Select whether you want to use wrapper script
#LATEX=latex \\nonstopmode\\input
LATEX=latex2dvi
# replace with ps2pdf if you don't have Adobe Distiller
PS2PDF=distill
# flags below are for Adobe Distiller
PDFFLAGSH=-monodownsample off -colordownsample off -graydownsample off -pagesize 21 29.7 cm  -embedallfonts on
PDFFLAGSS=-monodownsample off -colordownsample off -graydownsample off -pagesize 29.7 21 cm  -embedallfonts on

SRC=$(wildcard [0-9][0-9]*.tex)
SLIDES=$(addprefix slides-,$(basename $(SRC)))
HANDOUT=$(addprefix handout-,$(basename $(SRC)))
OUTS=$(SLIDES) $(HANDOUT)

all: dvi

pdf: $(addsuffix .pdf,$(OUTS))

ps: $(addsuffix .ps,$(OUTS))

dvi: $(addsuffix .dvi,$(OUTS))

# you can add here lines for other source file types, such as
# $(addsuffix .eps,$(basename $(wildcard *.jpg)))
# Dont forget trailing backslash on non-last lines
clean:
	rm -f handout-* slides-* \
	$(addsuffix .eps,$(basename $(wildcard *.fig)))

.depend: $(SRC)
	rm -f .depend
	for i in $(SRC); do \
	nawk '-F[{}]' '/includegraphics/{print "handout-'`basename $$i .tex`'.dvi:"$$(NF-1)}' $$i ;\
	nawk '-F[{}]' '/includegraphics/{print "slides-'`basename $$i .tex`'.dvi:"$$(NF-1)}' $$i ;\
	done | egrep '.eps$$' > .depend

handout-%.dvi: handout-%.tex

slides-%.dvi: slides-%.tex

handout-%.pdf : handout-%.ps
	$(PS2PDF) $(PDFFLAGSH)  $<

slides-%.pdf : slides-%.ps
	$(PS2PDF) $(PDFFLAGSS)  $<

slides-%.tex : %.tex slides.tex
	sed "s/#SOURCE_DOCUMENT#/$</" < slides.tex > $@

handout-%.tex : %.tex handout.tex
	sed "s/#SOURCE_DOCUMENT#/$</" < handout.tex > $@

%/%.html: %.dvi
	latex2html -split 0 -no_navigation $<

handout-%.ps : handout-%.dvi
	dvips -t a4 -o $@ $<

slides-%.ps : slides-%.dvi
	dvips -t landscape -t a4 -O 0cm,8.7cm -o $@ $<

%.dvi : %.tex
	$(LATEX) $<

# Following converssions are dependent on your system, maybe also on 
# your document
%.eps : %.ps 
	ps2epsi $< $@

%.eps : %.fig 
	fig2dev -L eps $< > $@ || (rm -f $@; false)

%.eps : %.gif
	giftopnm $< | \
	pnmtops -scale 0.25 -noturn -rle > $@ || (rm -f $@; false)

%.eps : %.png
	pngtopnm $< | pnmtops > $@ || (rm -f $@; false)

%.eps : %.jpg
	djpeg $< | pnmtops > $@ || (rm -f $@; false)

%.eps : %.ppm
	pnmtops $< > $@ || (rm -f $@; false)

neg-%.eps : %.gif
	giftopnm $< | pnminvert | ppmquant -map quant4.ppm | ppmtopgm | \
	pnmtops -scale 0.25 -noturn -rle > $@ || (rm -f $@; false)

%.eps : %.xwd
	xwdtopnm $< | pnmdepth 255 | ppmquant -map quant4.ppm | ppmtopgm | \
	pnmtops -scale 0.25 -noturn -rle > $@ || (rm -f $@; false)

%.gz: %
	gzip -c -v --name $^ > $@

include .depend
