# make file for CS4215 Slides

DOCNAMES = 01 02 03 04 05 06 07 08 09 10 11 12 13 # 03 04 05 06 07 08 09 09_lab 10 11 12 13 

ifndef LATEX
  LATEX= latex
endif
ifndef LATEXFLAGS
  LATEXFLAGS= -interaction=\nonstopmode
# -file-line-error-style 
endif
ifndef PDFLATEX
  PDFLATEX= pdflatex
endif
ifndef PDFLATEXFLAGS
  PDFLATEXFLAGS=$(LATEXFLAGS)
endif
ifndef MAKEINDEX
  MAKEINDEX= makeindex
endif
ifndef BIBTEX
  BIBTEX= bibtex
endif
ifndef DVIPS
  DVIPS= dvips
endif
ifndef DVIPSFLAGS
  DVIPSFLAGS= -P pdf -G0
endif
ifndef PS2PDF
  PS2PDF= ps2pdf
endif
ifndef EGREP
  EGREP= egrep
endif
ifndef ECHO
	ECHO=echo
endif
ifndef RM
	RM=rm
endif
ifdef QUIET
  LATEXSTDOUT=>/dev/null
endif

ifdef LASTLOG
  LATEXSTDOUT=>./lmake.log.~tmp~
endif

DOCSPDF = $(DOCNAMES:%=slides_%.bw.pdf) $(DOCNAMES:%=slides_%.color.pdf)

all:	$(DOCSPDF)

# %.pdf: %.tex
# 	@$(ECHO) "Makefile.latex: Running $(PDFLATEX) for the first time ..."
# 	$(PDFLATEX) $(PDFLATEXFLAGS) $< $(LATEXSTDOUT)
# 	@if $(EGREP) -q "ps4pdf Warning: .*-pics.pdf' is no more" $*.log; then \
# 		$(ECHO) "Makefile.latex: Creating the postscript images ..." ; \
# 		$(MAKE) $*-pics.pdf ; \
# 		$(ECHO) "Makefile.latex: Incorporating the postscript imaes ..." ; \
# 		$(PDFLATEX) $(PDFLATEXFLAGS) $< $(LATEXSTDOUT) ; \
# 	 fi
# 	if $(EGREP) -q "Rerun to get .*references right" $*.log; then \
# 	  $(ECHO) "Makefile.latex: Running $(PDFLATEX) again to get references right"; \
# 	  $(PDFLATEX) $(PDFLATEXFLAGS) $< $(LATEXSTDOUT) ; \
# 	fi
# 	if $(EGREP) -q '\\bib(data|cite)' $*.aux; then \
# 	  	$(ECHO) "Makefile.latex: Making Bibliography using $(BIBTEX)"; \
# 		$(BIBTEX) $(BIBTEXFLAGS) $*; \
# 		if [ -f $*.bbl ]; then \
# 		  $(ECHO) "Makefile.latex: Running $(PDFLATEX) again to include bibliography"; \
# 		  $(PDFLATEX) $(PDFLATEXFLAGS) $< $(LATEXSTDOUT); \
# 		fi; \
# 	fi
# 	if [ -f $*.idx ]; then \
# 	  $(ECHO) "Makefile.latex: Creating index using $(MAKEINDEX)"; \
# 	  $(MAKEINDEX) $(MAKEINDEXFLAGS) -o $*.ind $*.idx; \
# 	  if [ -s $*.ind ]; then \
# 		$(ECHO) "Makefile.latex: Running $(PDFLATEX) again to include index"; \
# 		$(PDFLATEX) $(PDFLATEXFLAGS) $< $(LATEXSTDOUT); \
# 	  fi; \
# 	fi
# 	-count=5; \
# 	while $(EGREP) -q "Rerun to get .*(references|citations) (right|correct)" $*.log && [ $$count -gt 0 ]; do \
# 	  $(ECHO) "Makefile.latex: Rerunning $(PDFLATEX), max. $$count times left"; \
# 	  $(PDFLATEX) $(PDFLATEXFLAGS) $< $(LATEXSTDOUT); \
# 	  count=`expr $$count - 1`; \
# 	done
# 	if [ -f $*.out ] ; then \
# 	  if egrep -q '$*\.out\)' $*.log; then true ; else \
# 		$(ECHO) "Makefile.latex: Rerunning $(PDFLATEX) to include PDF outline"; \
# 	    $(PDFLATEX) $(PDFLATEXFLAGS) $<; \
# 	  fi ; \
# 	fi

%.dvi: %.tex
	@$(ECHO) "Makefile.latex: Running $(LATEX) for the first time ..."
	$(LATEX) $(LATEXFLAGS) $< $(LATEXSTDOUT)
	if $(EGREP) -q "Rerun to get .*references right" $*.log; then \
	  $(ECHO) "Makefile.latex: Running $(LATEX) again to get references right"; \
	  $(LATEX) $(LATEXFLAGS) $< $(LATEXSTDOUT) ; \
	fi
	if $(EGREP) -q '\\bib(data|cite)' $*.aux; then \
	  	$(ECHO) "Makefile.latex: Making Bibliography using $(BIBTEX)"; \
		$(BIBTEX) $(BIBTEXFLAGS) $*; \
		if [ -f $*.bbl ]; then \
		  $(ECHO) "Makefile.latex: Running $(LATEX) again to include bibliography"; \
		  $(LATEX) $(LATEXFLAGS) $< $(LATEXSTDOUT); \
		fi; \
	fi
	if [ -f $*.idx ]; then \
	  $(ECHO) "Makefile.latex: Creating index using $(MAKEINDEX)"; \
	  $(MAKEINDEX) $(MAKEINDEXFLAGS) -o $*.ind $*.idx; \
	  if [ -s $*.ind ]; then \
		$(ECHO) "Makefile.latex: Running $(LATEX) again to include index"; \
		$(LATEX) $(LATEXFLAGS) $< $(LATEXSTDOUT); \
	  fi; \
	fi
	-count=5; \
	while $(EGREP) -q "Rerun to get .*(references|citations) (right|correct)" $*.log && [ $$count -gt 0 ]; do \
	  $(ECHO) "Makefile.latex: Rerunning $(LATEX), max. $$count times left"; \
	  $(LATEX) $(LATEXFLAGS) $< $(LATEXSTDOUT); \
	  count=`expr $$count - 1`; \
	done

%.ps: %.dvi
	@$(ECHO) "Makefile.latex: Running $(DVIPS) ..."
	$(DVIPS) $(DVIPSFLAGS) $<

%.pdf: %.ps
	@$(ECHO) "Makefile.latex: Running $(PS2PDF) ..."
	$(PS2PDF) $< $@ 

%.bw.tex: %.raw
	cat bwheader.raw $? footer.raw > $*.bw.tex

%.color.tex: %.raw
	cat colorheader.raw $? footer.raw > $*.color.tex

clean:
	$(RM) *.tex *.aux *.log *.out *.dvi *.pdf *.ps
