#
# A huge Makefile for performing funny magic on latex files.
#
# Jouni Paulus, jouni.paulus(a)tut.fi, 9.5.2005
¤

# desired paper size, one from: letter, legal, ledger, a4, a3
PAPERSIZE=a4
POSTERSIZE=a0

# uncomment if landscape orientation is desired instead of portrait
#LANDSCAPE=-t landscape
LANDSCAPE=

# resolution of created ps file
PS_DPI=1200

# entry having less than this crossrefs wont be a separate entry
CREFS=10

# dvips command and parameters
DVIPS=dvips -j0 -Ppdf -Pdownload35 -G0 -t $(PAPERSIZE) $(LANDSCAPE) -D $(PS_DPI) -Z -mode ljfzzz

DO_DUPLEX=true

TARGET=draft

# substitute, if necessary
#INPUT=$(TARGET).tex
INPUT=%.tex

all: $(TARGET).pdf

# .tex -> .dvi, use bibtex only if necessary
%.dvi: %.tex Makefile $(INPUT)
	@echo " "
	@echo Creating $@ from $<
	@echo " "
	@(test -f make.log && rm make.log) || true
	@latex $< >make.log
	@[ `grep -c '^[:space:]*[^%]*[:space:]*[\\]bibliography[{]' $<` -ne 0 ] && bibtex -min-crossrefs=$(CREFS) $(*F); true
	@latex $< >>make.log
	@latex $< >>make.log

# .dvi -> .ps
%.ps: %.dvi Makefile
	@echo " "
	@echo Creating $@ from $<
	@echo " "
	@${DVIPS} $< -o $@

# .ps -> .pdf
%.pdf: %.ps Makefile
	@echo " "
	@echo Creating $@ from $<
	@echo " "
	gs -q -dNOPAUSE -dBATCH \
	-sDEVICE=pdfwrite \
	-dPDFSETTINGS=/prepress \
	-dCompatibilityLevel=1.3 \
	-dCompressPages=true \
	-dUseFlateCompression=false \
	-sPAPERSIZE=$(PAPERSIZE) \
	-dSubsetFonts=true \
	-dEmbedAllFonts=true \
	-dProcessColorModel=/DeviceGray \
	-dDetectBlends=true \
	-dOptimize=true \
	-dDownsampleColorImages=true \
	-dColorImageResolution=$(PS_DPI) \
	-dColorImageDownsampleType=/Average \
	-dColorImageFilter=/FlateEncode \
	-dAutoFilterColorImages=false \
	-dAntiAliasColorImages=false \
	-dColorImageDownsampleThreshold=1.50000 \
	-dDownsampleGrayImages=true \
	-dGrayImageResolution=$(PS_DPI) \
	-dGrayImageDownsampleType=/Average \
	-dGrayImageFilter=/FlateEncode \
	-dAutoFilterGrayImages=false \
	-dAntiAliasGrayImages=false \
	-dGrayImageDownsampleThreshold=1.50000 \
	-dDownsampleMonoImages=true \
	-dMonoImageResolution=$(PS_DPI) \
	-dMonoImageDownsampleType=/Average \
	-dMonoImageFilter=/FlateEncode \
	-dAutoFilterMonoImages=false \
	-dAntiAliasMonoImages=false \
	-dMonoImageDownsampleThreshold=1.50000 \
	-dDuplex=$(DO_DUPLEX) \
	-sOutputFile=$@ \
	$<

# clean-up
.PHONY: clean
clean:
	-rm -f *.aux *.log *.toc *.mx1 *.bbl *.lot rm -f *.blg *.lof rm -f *.out

.PHONY: proper
proper: clean
	-rm -f *.pdf *.dvi

poster: Makefile poster.tex
	latex poster.tex
	dvips poster.dvi -o poster.ps -D $(PS_DPI)
	ps2pdf poster.ps
#	gv -scale -5 poster.ps&

