|
# 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 .
|
|
|