################################################################
# Makefile for tkz-orm                                         #
################################################################

help:
	@echo ""
	@echo " make clean   - clean out directory"
	@echo " make tidy    - clean out directory some more"
	@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

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

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
