#-------------------------------------------------------------------------------
# Filename:    Makefile
# Description: LaTeX compilation flow
# Author:      Sylvain GUILLEY (sylvain.guilley@enst.fr)
#-------------------------------------------------------------------------------

TEX_FILES = $(wildcard *.tex)
FILES     = $(patsubst %.tex,%,$(TEX_FILES))
DVI_FILES = $(patsubst %.tex,%.dvi,$(TEX_FILES))
PS_FILES  = $(patsubst %.tex,%.ps,$(TEX_FILES))
PDF_FILES = $(patsubst %.tex,%.pdf,$(TEX_FILES))

#--------------------------------------------------------------------------------
# User-defined variables:
#--------------------------------------------------------------------------------
FIGDIR    = figures
LATEX     = latex
BIBTEX    = bibtex
MAKEINDEX = makeindex
PWD       = $(shell pwd)

#--------------------------------------------------------------------------------
# The reset of this file shall not be editted
#--------------------------------------------------------------------------------
.PHONY : figures all clean
.SECONDARY : $(DVI_FILES) $(PS_FILES) $(PDF_FILES)

all : $(PDF_FILES)

#--------------------------------------------------------------------------------
# Generation of the formatted text:
# regular flow tex -> dvi -> ps -> pdf.
#--------------------------------------------------------------------------------
%.pdf : %.ps
	ps2pdf13 $< $@

%.ps : %.dvi
	dvips -Ppdf -o $@ $<

%.dvi : %.tex
	#touch $(patsubst %.tex,%.ind,$<)
	if [ -d $(FIGDIR) ] ; then $(MAKE) -C $(FIGDIR) ; fi
	$(LATEX) $<
	$(LATEX) $< > /dev/null
	#$(MAKEINDEX) $(patsubst %.tex,%.idx,$<)
	if [ -e $(patsubst %.tex,%.bib,$<) ] ; then \
	  $(BIBTEX) $(patsubst %.tex,%,$<) ; \
	fi
	$(LATEX) $< > /dev/null
	$(LATEX) $< > /dev/null

#--------------------------------------------------------------------------------
# The figures directory :
#--------------------------------------------------------------------------------
figures :
	if [ -d $(FIGDIR) ] ; then $(MAKE) -C $(FIGDIR) ; fi

#--------------------------------------------------------------------------------
# Cleaning:
#--------------------------------------------------------------------------------
clean :
	rm -f *~ $(DVI_FILES) $(PS_FILES) $(PDF_FILES) \
	*.aux\
	*.blg\
	*.bmt\
	*.log\
	*.mtc*\
	*.toc\
	*.idx\
	*.ilg\
	*.ind\
	missfont.log
	@# The .bbl file is to be removed if "bibtex" is used.
	if [ -d $(FIGDIR) ] ; then $(MAKE) -C $(FIGDIR) clean ; fi
