# LATEX = latex BIBTEX = bibtex L2H = latex2html PDFLATEX = pdflatex DVIPS = dvips MAKEINDEX = makeindex RERUN = "(There were undefined references|Rerun to get (cross-references|the bars) right)" RERUNBIB = "No file.*\.bbl|Citation.*undefined" COPY = if test -r $*.toc; then cp $*.toc $*.toc.bak; fi RM = /usr/bin/rm -f VERSION= LATEXTARGET=example${VERSION} TEXFILES=$(wildcard *.tex) IMGFILES = PDFFILES = user.pdf building.pdf configuration.pdf EPSIMAGES := $(patsubst %.fig, %.eps, $(IMGFILES)) PDFIMAGES := $(patsubst %.fig, %.pdf, $(IMGFILES)) PNGIMAGES := $(patsubst %.fig, %.png, $(IMGFILES)) DVIFILES := $(patsubst %.tex, %.dvi, $(TEXFILES)) PSFILES := $(patsubst %.tex, %.ps, $(TEXFILES)) all: eps pdf tex: $(TEXFILES) echo $(TEXFILES) eps: $(EPSIMAGES) $(PDFIMAGES) png: $(PNGFILES) pdf: $(PDFFILES) ps: $(PSFILES) # %.dvi: %.tex # .PRECIOUS: %.aux %.bbl %.ind .PHONY : .cache .idxcache .bibcache clean # %.aux: %.tex $(TEXFILES) $(LATEX) $* # .idxcache: %.ind: .idxcache @if [ -f $*.idx ]; then \ $(MAKEINDEX) $*; \ touch .cache .idxcache; \ fi # .bibcache: %.bbl: .bibcache @if ( grep "^\\\\bibliography{" $*.tex > /dev/null ); then \ $(BIBTEX) $*; \ touch .cache; \ fi @touch .bibcache .cache: %.dvi: .cache %.aux %.ind %.bbl @if [ ! -f $*.dvi ]; then \ touch .cache; \ fi @if [ -f .cache ]; then \ rm .cache; \ $(LATEX) $*; \ else \ $(MAKE) $*.aux; \ fi @while ( grep Rerun $*.log > /dev/null ); do \ $(LATEX) $*; \ done %.ps : %.dvi $(DVIPS) -o $@ $< .SUFFIXES: .fig .eps .png .pdf .fig.eps: fig2dev -Leps $< $@ .fig.png: fig2dev -Lpng $< $@ .fig.pdf: fig2dev -Lpdf $< $@ .pstex.pdf: fig2dev -Lpdf $< $@ .tex.dvi: $(LATEX) $* @while ( grep Rerun $*.log > /dev/null ); do \ $(LATEX) $*; \ done %.pdf: %.tex $(PDFLATEX) $* @while ( grep Rerun $*.log > /dev/null ); do \ $(PDFLATEX) $*; \ done main: $(DVIFILES) all: $(GOALS) #%.dvi: %.tex # $(COPY);$(LATEX) $< # egrep -c $(RERUNBIB) $*.log && ($(BIBTEX) $*;$(COPY);$(LATEX) $<) ; # true # egrep $(RERUN) $*.log && ($(COPY);$(LATEX) $<) ; true # egrep $(RERUN) $*.log && ($(COPY);$(LATEX) $<) ; true # if cmp -s $*.toc $*.toc.bak; then . ;else $(LATEX) $< ; fi # $(RM) $*.toc.bak ## Display relevant warnings # egrep -i "(Reference|Citation).*undefined" $*.log ; true %.ps: %.dvi dvips $< -o $@ clean: rm -f $(EPSIMAGES) $(PDFIMAGES) $(PDFFILES) $(DVIFILES) clean1: rm -f *.aux *.log *.bbl *.blg *.brf *.cb *.ind *.idx *.ilg *.inx *.ps *.dvi *.pdf *.toc *.out