|
|
- # LaTeX Makefile for dvi, ps, and pdf file creation.
- # MAGMA - Laboratoire Leibniz 13-12-2004
-
- # The LATEX variable contains the latex command to use, using LATEXFLAGS
- # you can specify additional flags to pass.
- TEXPATH = /usr/local/texlive/latest/bin/universal-darwin
- LATEX = pdflatex
- LATEXFLAGS= -interaction=scrollmode
- PDFLATEX = pdflatex
- #PDFLATEXFLAGS= --jobname=$(OUTFILE)
- PDFLATEXFLAGS=
- MAKEINDEX = makeindex
-
- # Specifies the bibliography generation program.
- BIBTEX = biber
- BIBTEXFLAGS=
-
- # These options are used for generating PostScript files from DVI files.
- DVIPS = dvips
- DVIPSFLAGSPDF = -P pdf
- PS2PDF = ps2pdf
- PS2PDFFLAGS =
-
- # Commands for images convertion
- FIG2DEV = /usr/bin/fig2dev
- GIFTOPNM = giftopnm
- PNMTOPNG = pnmtopng
-
- # Useful commands
- EGREP = egrep
- ECHO = echo
-
- # The variable USEPDFLATEX must equal 1 to use pdflatex for generating pdf file.
- USEPDFLATEX = 1
-
- # Tex directory
- TEX_DIR = .
-
- # Figures directory for fig to eps or pdf convertion
- FIGURE_DIR = figures
-
- # Contain those LaTeX input files which will be passed directly to LaTeX, i.e.
- # no include files.
- MAIN_TEX_FILES= Main.tex
-
-
- # Contains include tex file
- TEX_FILES= $(wildcard *.tex) \
- $(wildcard ./$(TEX_DIR)/*.tex)
-
- # Contains the names of all DVI files to be generated when using the target<.dvi>
- # target. Defaults to all files from $(MAIN_TEX_FILES) with their
- # extensions changed to target<.dvi>.
- DVI_FILES= $(MAIN_TEX_FILES:.tex=.dvi)
-
- # Contains the names of all PostScript resp. PDF files to be generated when
- # using the target<.ps> or target<.pdf>.
- PS_FILES= $(DVI_FILES:.dvi=.ps)
- CMR_FILES= $(DVI_FILES:.dvi=_CMR.pdf)
- PDF_FILES= $(DVI_FILES:.dvi=.pdf)
-
- # Contains the names of all eps resp. eps images to be generated when
- # using target<.dvi> or target<.ps> or target<.pdf>.
- EPSFIGURES = $(patsubst %.fig,%.eps,$(wildcard ./$(FIGURE_DIR)/*.fig)) $(patsubst %.tex,%.eps,$(wildcard ./$(FIGURE_DIR)/*.tex))
- PDFFIGURES = $(patsubst %.fig,%.pdf,$(wildcard ./$(FIGURE_DIR)/*.fig))
-
- TODAY= $(shell date +"%Y%m%d_%H%M")
- TODAY= $(shell date +"%Y%m%d")
- OUTFILE=$(shell basename $(CURDIR))_$(TODAY)
-
- # Contains the names of all configuration and styles to be linked
- # from the configuration directory
- LINKS_FILES = bibliography.bib MySetting.tex latex8.bst latex8.sty latex8_unsrt.bst myColor.sty ntu_techrpt_cover.sty mycolor.cfg coverart.eps svn-multi.sty prelim2e.sty ieeeconf.cls IEEEtran.cls
- #LINKS_FILES = mycolor.cfg myColor.sty
- LN = ln -sf
- HOME = /Users/cshih
- # Target definition
-
- #all: $(EPSFIGURES) $(PDFFIGURE)
- all: link $(EPSFIGURES) $(PDFFIGURE)
- @$(ECHO) "Home directory is $(HOME)"
- @$(ECHO) "----------------------------------------------------------------"
- @$(ECHO) "EPSFIGURES: $(EPSFIGURES)."
- @$(ECHO) "PDFFIGURES: $(PDFFIGURES)."
- @$(ECHO) "OUTFILE: $(OUTFILE)."
- @$(ECHO) "----------------------------------------------------------------"
- # $(MAKE) $(DVI_FILES) $(PS_FILES)
- # ./svnlog-gen.sh http://newslabx.csie.ntu.edu.tw/svn/R_Publications/SOCA12 log.tex
- # $(MAKE) $(DVI_FILES) $(PS_FILES) $(PDF_FILES)
- $(MAKE) $(DVI_FILES) $(PDF_FILES)
-
- %.dvi %.log %.aux %.toc : $(EPSFIGURES) $(TEX_FILES)
- $(MAKE) $<
- @$(ECHO) "----------------------------------------------------------------"
- @$(ECHO) "Running $(LATEX) $* for the first time"
- @$(ECHO) "----------------------------------------------------------------"
- $(TEXPATH)/$(LATEX) $(LsATEXFLAGS) $* $(LATEXSTDOUT)
- # Path beamer to be sure to have navigation bar
- @if $(EGREP) -q "No file .*nav" $*.log && $(EGREP) -q "beamer" $*.log; then \
- $(ECHO) "----------------------------------------------------------------"; \
- $(ECHO) "Running $(LATEX) again to include navigation bar"; \
- $(ECHO) "----------------------------------------------------------------"; \
- $(TEXPATH)/$(PDFLATEX) $(PDFLATEXFLAGS) $* $(LATEXSTDOUT); \
- fi; \
- # end beamer
- @if $(EGREP) -q "Rerun to get .*references right" $*.log; then \
- $(ECHO) "----------------------------------------------------------------"; \
- $(ECHO) "Running $(LATEX) again to get references right"; \
- $(ECHO) "----------------------------------------------------------------"; \
- $(TEXPATH)/$(LATEX) $(LATEXFLAGS) $* $(LATEXSTDOUT) ; \
- fi
- @if $(EGREP) -q '\\bib(data|cite)' $*.aux; then \
- $(ECHO) "----------------------------------------------------------------"; \
- $(ECHO) "Making Bibliography using $(BIBTEX)"; \
- $(ECHO) "----------------------------------------------------------------"; \
- $(TEXPATH)/$(BIBTEX) $(BIBTEXFLAGS) $*; \
- if [ -f $*.bbl ]; then \
- $(ECHO) "----------------------------------------------------------------"; \
- $(ECHO) "Running $(LATEX) again to include bibliography"; \
- $(ECHO) "----------------------------------------------------------------"; \
- $(TEXPATH)/$(LATEX) $(LATEXFLAGS) $* $(LATEXSTDOUT); \
- fi; \
- fi
- @-count=5;\
- while $(EGREP) -q "Rerun to get .*(references|citations) (right|correct)" $*.log && [ $$count -gt 0 ]; do \
- $(ECHO) "----------------------------------------------------------------"; \
- $(ECHO) "Rerunning $(LATEX), max. $$count times left"; \
- $(ECHO) "----------------------------------------------------------------"; \
- $(TEXPATH)/$(LATEX) $(LATEXFLAGS) $* $(LATEXSTDOUT); \
- count=`expr $$count - 1`; \
- done
-
- # Generate pdf file with pdflatex
- ifdef USEPDFLATEX
- %.pdf : $(TEX_FILES)
- $(MAKE) $<
- @$(ECHO) "----------------------------------------------------------------"
- @$(ECHO) "Running $(PDFLATEX) for the first time..."
- @$(ECHO) "----------------------------------------------------------------"
- $(TEXPATH)/$(PDFLATEX) $(PDFLATEXFLAGS) $* $(LATEXSTDOUT)
- # Path beamer to be sure to have navigation bar
- @if $(EGREP) -q "No file .*nav" $*.log && $(EGREP) -q "beamer" $*.log; then \
- $(ECHO) "----------------------------------------------------------------"; \
- $(ECHO) "Running $(PDFLATEX) again to include navigation bar"; \
- $(ECHO) "----------------------------------------------------------------"; \
- $(TEXPATH)/$(PDFLATEX) $(PDFLATEXFLAGS) $* $(LATEXSTDOUT); \
- fi; \
- # end beamer
- @if $(EGREP) -q "Rerun to get .*references right" $*.log; then \
- $(ECHO) "----------------------------------------------------------------"; \
- $(ECHO) "Running $(PDFLATEX) again to get references right"; \
- $(ECHO) "----------------------------------------------------------------"; \
- $(TEXPATH)/$(PDFLATEX) $(PDFLATEXFLAGS) $* $(LATEXSTDOUT) ; \
- fi
- @if $(EGREP) -q '\\bib(data|cite)' $*.aux; then \
- $(ECHO) "----------------------------------------------------------------"; \
- $(ECHO) "Making Bibliography using $(BIBTEX)"; \
- $(ECHO) "----------------------------------------------------------------"; \
- $(TEXPATH)/$(BIBTEX) $(BIBTEXFLAGS) $*; \
- if [ -f $*.bbl ]; then \
- $(ECHO) "----------------------------------------------------------------"; \
- $(ECHO) "Running $(PDFLATEX) again to include bibliography"; \
- $(ECHO) "----------------------------------------------------------------"; \
- $(TEXPATH)/$(PDFLATEX) $(PDFLATEXFLAGS) $* $(LATEXSTDOUT); \
- fi; \
- fi
- @-count=5; \
- while $(EGREP) -q "Rerun to get .*(references|citations) (right|correct)" $*.log && [ $$count -gt 0 ]; do \
- $(ECHO) "----------------------------------------------------------------"; \
- $(ECHO) "Rerunning $(PDFLATEX), max. $$count times left"; \
- $(ECHO) "----------------------------------------------------------------"; \
- $(TEXPATH)/$(PDFLATEX) $(PDFLATEXFLAGS) $* $(LATEXSTDOUT); \
- count=`expr $$count - 1`; \
- done; \
- cp -f $(PDF_FILES) ~/Dropbox/2Reads/$(OUTFILE).pdf; \
- $(ECHO) "-------- DONE --------"
- # Generate pdf file with dvi and dvips
- else
- %.pdf : %.ps
- @if [ -s $< ] ; then \
- $(ECHO) "----------------------------------------------------------------"; \
- $(ECHO) "Generating PDF file $@"; \
- $(ECHO) "----------------------------------------------------------------"; \
- $(TEXPATH)/$(PS2PDF) $(PS2PDFFLAGS) $< $@; \
- else \
- $(ECHO) "----------------------------------------------------------------"; \
- $(ECHO) "Skipped creating $@: $< does not exist or is empty"; \
- $(ECHO) "----------------------------------------------------------------"; \
- fi
- endif
-
- %.ps : %.dvi
- @if [ -s $< ] ; then \
- $(ECHO) "----------------------------------------------------------------"; \
- $(ECHO) "Generating PS file $@"; \
- $(ECHO) "----------------------------------------------------------------"; \
- $(TEXPATH)/$(DVIPS) $(DVIPSFLAGSPDF) $< -o $*.ps ; \
- else \
- $(ECHO) "----------------------------------------------------------------"; \
- $(ECHO) "Skipped creating $@: $< does not exist or is empty"; \
- $(ECHO) "----------------------------------------------------------------"; \
- fi
-
- cmr: $(PDF_FILES)
- @$(ECHO) "----------------------------------------------------------------"
- @$(ECHO) "Make CMR Ready for IEEE"
- @$(ECHO) "----------------------------------------------------------------"
- gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dEmbedAllFonts=true -dSubsetFonts=true -sOutputFile=$(CMR_FILES) -f $(PDF_FILES)
- # ps2pdf14 -dPDFSETTINGS=/prepress $(PDF_FILES) $(CMR_FILES)
-
- cleanepsfig:
- -rm -f $(FIGURE_DIR)/*.eps $(FIGURE_DIR)/*.bak
-
- cleanpdffig:
- -rm -f $(FIGURE_DIR)/*.pdf $(FIGURE_DIR)/*.bak
-
- #cleanfig: cleanepsfig cleanpdffig
- cleanfig:
- -rm -f $(PDFFIGURES) $(EPSFIGURES)
-
- cleanbiber:
- rm -rf `biber --cache`
-
- clean: cleanfig cleanbiber
- rsync -Cuavz $(PDF_FILES) ~/Dropbox/2Reads/$(OUTFILE).pdf
- -rm -f $(TEX_DIR)/*.aux
- -rm -f *.dvi *.ps *.pdf
- -rm -f *.aux *.log *.toc *.out
- -rm -f *.lof *.lot *.loa *.lol
- -rm -f *.nav *.snm *.vrb
- -rm -f *.idx *.ind *.ilg *.glo *.gls *.bbl *.blg
- -rm -f $(LINKS_FILES)
-
- %.eps : %.fig
- @$(ECHO) "----------------------------------------------------------------"
- @$(ECHO) "Convert $*.fig to $*.eps and $*.pdf"
- @$(ECHO) "----------------------------------------------------------------"
- $(FIG2DEV) -L eps $*.fig $*.eps
- @if [ -f $*.pdf ]; then \
- $(ECHO) "$*.pdf is there"; \
- rm -f $*.pdf; \
- fi
- epstopdf $*.eps
-
- %.pdf : %.fig %.eps
- @$(ECHO) "----------------------------------------------------------------"
- @$(ECHO) "Convert $*.eps to $*.pdf"
- @$(ECHO) "----------------------------------------------------------------"
- if [ -f $*.eps ]; then \
- epstopdf $*.eps \
- else \
- $(FIG2DEV) -L pdf -P $*.fig $*.pdf \
- fi
-
- help:
- @$(ECHO) "Usage: make <target>[.dvi,.ps,.pdf]"
- @$(ECHO) "Options:"
- @$(ECHO) " - make help display this message"
- @$(ECHO) " - make clean remove all intermediate generated file"
- @$(ECHO) " - make cleanfig remove all intermediate figures"
-
- link: $(LINKS_FILES)
-
- bibliography.bib:
- $(LN) $(HOME)/notes/bibDB/bibliography.bib .
-
- MySetting.tex:
- $(LN) $(HOME)/notes/tex_config/MySetting.tex .
-
- latex8.bst:
- $(LN) $(HOME)/notes/tex_config/latex8.bst .
-
- latex8.sty:
- $(LN) $(HOME)/notes/tex_config/latex8.sty .
-
- latex8_unsrt.bst:
- $(LN) $(HOME)/notes/tex_config/latex8_unsrt.bst .
-
- myColor.sty:
- $(LN) $(HOME)/notes/tex_config/myColor.sty .
-
- svn-multi.sty:
- $(LN) $(HOME)/notes/tex_config/svn-multi.sty .
-
- prelim2e.sty:
- $(LN) $(HOME)/notes/tex_config/prelim2e.sty .
-
- mycolor.cfg:
- $(LN) $(HOME)/notes/tex_config/mycolor.cfg .
-
- ntu_techrpt_cover.sty:
- $(LN) $(HOME)/notes/tex_config/ntu_techrpt_cover.sty .
-
- coverart.eps:
- $(LN) $(HOME)/notes/tex_config/figures/coverart.eps ./figures/.
-
- ieeeconf.cls:
- $(LN) $(HOME)/notes/tex_config/ieeeconf.cls .
-
- IEEEtran.cls:
- $(LN) $(HOME)/notes/tex_config/IEEEtran.cls .
-
|