-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
105 lines (89 loc) · 2.56 KB
/
Makefile
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
SHELL = /bin/sh
### Copyright (C) 2013, 2014 Orlando Iovino.
###
### Autore: Orlando Iovino.
###
### Descrizione: Makefile per l'installazione della classe guidatematica
### nell'albero personale di una distribuzione TeX Live.
###
### Versione: v.1.0.0.1
###
### Licenza: LaTeX Project Public License.
.SILENT:
#
# Senza nessuna regola stampa l'help (che è la prima regola)
#
help:
echo ""
echo " make cls. . . . . . crea la classe e la documentazione"
echo " make doc. . . . . . crea la guida ausiliaria"
echo " make installa . . . installa la classe"
echo " make clean. . . . . elimina i file ausiliari "
echo " make xclean . . . . elimina i file ausiliari e i documenti prodotti"
echo ""
#
# VARIABILI
#
ENGINE = pdflatex
MAIN = guidatematica
MAIN_DOC = $(MAIN)-doc
CLASSE = $(MAIN).cls
CLASSE_DOC = $(MAIN_DOC).pdf
FIGURE = logoguitlineare.pdf logoguittondo.pdf
STILIIDX = $(wildcard *.ist)
ALBEROPERS = $(shell kpsewhich -var-value TEXMFHOME)
AUSILIARI = *.aux *.log *.out *.toc *.bbl *.blg *.idx *.ilg *.ind
#
# REGOLE
#
.PHONY: clean xclean cls
cls: $(CLASSE)
$(CLASSE): $(MAIN).dtx
echo "Compilazione di $< ..."
pdflatex $< > /dev/null
echo "... Fatto!"
doc: $(CLASSE_DOC)
$(CLASSE_DOC): $(MAIN_DOC).tex $(CLASSE)
echo "Compilazione di $< ..."
$(ENGINE) $< > /dev/null
bibtex $(MAIN_DOC) > /dev/null
$(ENGINE) $< > /dev/null
$(ENGINE) $< > /dev/null
echo "... Fatto!"
installa: $(CLASSE) $(CLASSE_DOC)
echo "Copia dei file in ..."
#
# Stile bibliografico
#
echo "... $(ALBEROPERS)/bibtex/bst/$(MAIN) ..."
mkdir -p $(ALBEROPERS)/bibtex/bst/$(MAIN)
cp $(MAIN).bst $(ALBEROPERS)/bibtex/bst/$(MAIN)
#
# Codice sorgente della classe (.dtx)
#
echo "... $(ALBEROPERS)/source/latex/$(MAIN) ..."
mkdir -p $(ALBEROPERS)/source/latex/$(MAIN)
cp $(MAIN).dtx $(ALBEROPERS)/source/latex/$(MAIN)
#
# Codice della classe (.cls) e file accessori
#
echo "... $(ALBEROPERS)/tex/latex/$(MAIN) ..."
mkdir -p $(ALBEROPERS)/tex/latex/$(MAIN)
cp $(MAIN).cls $(ALBEROPERS)/tex/latex/$(MAIN)
cp $(FIGURE) $(ALBEROPERS)/tex/latex/$(MAIN)
cp $(STILIIDX) $(ALBEROPERS)/tex/latex/$(MAIN)
#
# Documentazione
#
echo "... $(ALBEROPERS)/doc/latex/$(MAIN) ..."
mkdir -p $(ALBEROPERS)/doc/latex/$(MAIN)
cp $(MAIN).pdf $(ALBEROPERS)/doc/latex/$(MAIN)
cp $(MAIN_DOC).pdf $(MAIN_DOC).tex $(ALBEROPERS)/doc/latex/$(MAIN)
echo "... Fatto!"
echo ""
echo "Happy TeXing con guidatematica.cls"
echo ""
clean:
rm -f $(AUSILIARI)
xclean: clean
rm -f $(MAIN).pdf $(CLASSE) $(CLASSE_DOC)