2006-10-25 02:42:17 +04:00
|
|
|
# default target: compile the report pdf
|
|
|
|
all: report.pdf
|
|
|
|
|
|
|
|
PS4PDFDIR=./ps4pdf
|
|
|
|
|
2006-10-26 04:44:28 +04:00
|
|
|
#useful for anything other than a standard linux system
|
|
|
|
#TEXDIR = c:/progra~1/miktex/miktex-2.4/miktex/bin
|
|
|
|
#TEX = $(TEXDIR)/tex
|
|
|
|
#PDFLATEX = $(TEXDIR)/pdflatex
|
|
|
|
#BIBTEX = $(TEXDIR)/bibtex
|
|
|
|
TEX = tex
|
|
|
|
PDFLATEX = pdflatex
|
|
|
|
BIBTEX = bibtex
|
|
|
|
|
2006-10-25 02:51:47 +04:00
|
|
|
export TEXINPUTS=:$(PS4PDFDIR)
|
|
|
|
|
2006-11-01 13:29:40 +03:00
|
|
|
# These packages are needed to compile e.g. on login.cslp, though they might
|
|
|
|
# be present in your TeX installations in versions recent enough.
|
|
|
|
EXTRA_PACKAGES=preview.sty caption.sty subfig.sty
|
|
|
|
|
2006-10-25 02:42:17 +04:00
|
|
|
# generic rule for using ps4pdf
|
2006-10-25 03:08:51 +04:00
|
|
|
# The idea is to run ps4pdf once and if the file contains some bibliography,
|
|
|
|
# run bibtex and recompile. If labels get changed etc., a third run is issued.
|
|
|
|
# The second and third runs are pdflatex only, because otherwise the .aux file
|
|
|
|
# gets re-created and forgets label positions.
|
2006-11-01 13:29:40 +03:00
|
|
|
%.pdf: %.tex $(EXTRA_PACKAGES) $(PS4PDFDIR)
|
2006-10-25 02:42:17 +04:00
|
|
|
$(PS4PDFDIR)/ps4pdf $<
|
|
|
|
if ( grep 'bibstyle' $*.aux >/dev/null 2>/dev/null ) ; then \
|
2006-10-26 04:44:28 +04:00
|
|
|
$(BIBTEX) $*; \
|
|
|
|
$(PDFLATEX) $<; \
|
2006-10-25 02:42:17 +04:00
|
|
|
fi
|
|
|
|
if ( \
|
|
|
|
grep 'ref{\|tableofcontents\|\\listof\|prosper' $*.tex >/dev/null 2>/dev/null \
|
|
|
|
|| grep 'Rerun to get cross-references right.' $*.log >/dev/null 2>/dev/null \
|
|
|
|
|| grep 'Citation.*undefined' $*.log >/dev/null 2>/dev/null \
|
|
|
|
); then \
|
|
|
|
echo "## Reruning latex"; \
|
2006-10-26 04:44:28 +04:00
|
|
|
$(PDFLATEX) $<; \
|
2006-10-25 02:42:17 +04:00
|
|
|
fi
|
|
|
|
|
2006-11-01 13:29:40 +03:00
|
|
|
# additional dependence, just make sure to install these, too
|
|
|
|
caption.dtx: caption2.dtx
|
2006-10-25 02:42:17 +04:00
|
|
|
|
2006-11-01 13:29:40 +03:00
|
|
|
# "installing" preview.sty, caption.sty or subfig.sty, installing the TeX way
|
2007-04-13 05:28:42 +04:00
|
|
|
.PRECIOUS: %.sty
|
2006-11-01 13:29:40 +03:00
|
|
|
%.sty: %.ins %.dtx
|
|
|
|
$(TEX) $<
|
2006-10-25 02:42:17 +04:00
|
|
|
|
|
|
|
|
|
|
|
# download ps4pdf
|
|
|
|
ps4pdf.zip:
|
|
|
|
wget http://theory.uwinnipeg.ca/scripts/CTAN/macros/latex/contrib/ps4pdf.zip
|
|
|
|
|
|
|
|
# unzip ps4pdf; for whatever reason, the ps4pdf script is not executable by default
|
|
|
|
$(PS4PDFDIR): ps4pdf.zip
|
|
|
|
[ -d $@ ] || unzip $<
|
|
|
|
chmod 755 $@/ps4pdf
|