summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/tkz-orm/Makefile
blob: c85dea39b6eecf9ce6eefea76872e81d496d816e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
################################################################
# 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