################################################################ # Makefile for tkz-orm # ################################################################ help: @echo "" @echo " make clean - clean out directory" @echo " make tidy - clean out directory some more" @echo " make examples - create examples as PDF and PNG" @echo " make ctan - create a CTAN-ready archive" @echo " make doc - typeset documentation" @echo " make install - install files in local texmf tree" @echo "" ################################################################ # Master package name # ################################################################ PACKAGE = tkz-orm FEATURES = index bib LATEXFLAGS = -interaction=nonstopmode ################################################################ # Directory structure for making zip files # ################################################################ CTANROOT := ctan CTANDIR := $(CTANROOT)/$(PACKAGE) CTANINCLUDE = $(PACKAGE).tex $(PACKAGE).sty $(PACKAGE).bib \ README LICENSE pgfmanualstyle.sty Makefile ############################################################### # Data for local installation ############################################################### # TODO: add cheatsheet INCLUDEPDF := $(PACKAGE) PACKAGEROOT := latex/$(PACKAGE) ################################################################ # Clean-up information # ################################################################ AUXFILES = aux bbl bit blg glo gls dvi glo hd idx ilg ind lof \ log nlo nls out toc CLEAN = gz pdf ps zip ################################################################ # File buiding: default actions # ################################################################ all: $(PACKAGE).pdf index: $(PACKAGE).ind $(PACKAGE).ilg abbr: $(PACKAGE).nls bib: $(PACKAGE).blg $(PACKAGE).bbl # Documentation $(PACKAGE).pdf: $(PACKAGE).tex $(FEATURES) pdflatex $(LATEXFLAGS) $(PACKAGE).tex pdflatex $(LATEXFLAGS) $(PACKAGE).tex # Preperation $(PACKAGE).idx $(PACKAGE).nlo $(PACKAGE).aux: $(PACKAGE).tex pdflatex $(LATEXFLAGS) $(PACKAGE).tex # Indexes $(PACKAGE).ind $(PACKAGE).ilg: $(PACKAGE).tex $(PACKAGE).idx makeindex $(PACKAGE).idx $(PACKAGE).nls: $(PACKAGE).tex $(PACKAGE).nlo makeindex $(PACKAGE).nlo -s nomencl.ist -o $(PACKAGE).nls # Bibliography $(PACKAGE).blg $(PACKAGE).bbl: $(PACKAGE).tex $(PACKAGE).bib $(PACKAGE).aux bibtex $(PACKAGE) %.pdf2: %.tex NAME=`basename $< .tex` ; \ echo "Typesetting $$NAME" ; \ pdflatex &> /dev/null ; \ if [ $$? = 0 ] ; then \ makeindex -s gglo.ist -o $$NAME.gls $$NAME.glo &> /dev/null ; \ makeindex -s gind.ist -o $$NAME.ind $$NAME.idx &> /dev/null ; \ pdflatex &> /dev/null ; \ pdflatex &> /dev/null ; \ else \ echo " Complilation failed" ; \ fi ; \ for I in $(AUXFILES) ; do \ rm -f $$NAME.$$I ; \ done %.png: %.tex @sed 's/^\\begin{document}/\ \\pgfrealjobname{dummy}\\begin{document}\\beginpgfgraphicnamed{example}/' $< | \ sed 's/^\\end{document}/\\endpgfgraphicnamed\\end{document}/' > example.tex ; \ pdflatex --jobname=example example.tex ; \ gs -dNOPAUSE -r120 -dGraphicsAlphaBits=4 -dTextAlphaBits=4 -sDEVICE=png16m \ -sOutputFile=$@ -dBATCH example.pdf ; \ convert -thumbnail 200 $@ $(addsuffix .thumb.png, $(basename $@)) ; \ mv example.pdf $(addsuffix .pdf, $(basename $<)) ; rm example.* ################################################################ # User make options # ################################################################ .PHONY = clean tidy install clean: for I in $(AUXFILES) $(CLEAN) ; do \ rm -f *.$$I ; \ done @rm -rf $(CTANROOT)/ tidy: clean @rm -rf *~ ctan: doc echo "Creating CTAN archive" mkdir -p $(CTANDIR)/ rm -rf $(CTANDIR)/* for I in $(INCLUDEPDF) ; do \ cp -f $$I.pdf $(CTANDIR)/ ; \ done ; \ for F in $(CTANINCLUDE) ; do \ cp -f $$F $(CTANDIR)/ ; \ done ; \ cd $(CTANDIR) ; \ zip -ll -q -r -X $(PACKAGE).zip . cp $(CTANDIR)/$(PACKAGE).zip ./ rm -rf $(CTANROOT)/ doc: $(foreach FILE,$(INCLUDEPDF),$(FILE).pdf) examples: $(foreach FILE,$(wildcard examples/*.tex),$(basename $(FILE)).png) install: echo Installing $(PACKAGE).sty TEXMFHOME=`kpsewhich --var-value=TEXMFHOME` ; \ rm -rf $$TEXMFHOME/tex/$(PACKAGEROOT)/*.* ; \ mkdir -p $$TEXMFHOME/tex/$(PACKAGEROOT)/ ; \ cp $(PACKAGE).sty $$TEXMFHOME/tex/$(PACKAGEROOT)/ ; \ texhash &> /dev/null