summaryrefslogtreecommitdiff
path: root/info/italian/GuIT/corso_guit/Makefile
blob: be8fb2c957f76d79e03cdbf469769b0c8cfae149 (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
# Due variabili che conteranno rispettivamente la lista dei PDF da produrre
# e dei file LaTeX prodotti durate il procedimento *.Rtex -> *.pdf. Da
# notare che l'utente non è più obbligato a specificare in alcun modo il
# nome del file da "compilare": qualunque file con estensione Rtex viene
# "massaggiato" nella speranza di ottenere un bel PDF.
documenti=$(patsubst %.tex,%.pdf,$(wildcard *.tex))
tarfiles=$(wildcard *.cls) $(wildcard *.pdf) $(patsubst %.pdf,%.tex,$(wildcard *.pdf)) Makefile

# Il target di default (potete anche chiamarlo Pippo, per quel che vale,
# dato che viene eseguito se l'utente non specifica altro (quindi basterà un
# semplice `make` senza fronzoli per compilare tutto)).
all: $(documenti)

# Static pattern rule: se la variabile "documenti" non è vuota la regola
# prende un valore alla volta (<file>.pdf) ed assume che esso dipenda da un
# file con lo stesso nome ma estensione diversa (<file>.tex), che diventa il
# prerequisito su cui agire.
$(documenti): %.pdf: %.tex
	pdflatex $<
	pdflatex $<

# Target di comodo
# Permette di compilare un file dato il nome di quel file senza estensione
%: %.tex
	pdflatex $<
	pdflatex $<

tarball:
	tar cjvf lezioni_`date +%F`.tar.bz2 $(tarfiles)

# Tanto per stare sicuri, conviene indicare target come questi (cioè quelli
# che non sono il nome di un file ma rappresentano un'azione) come phony
# target, per evitare problemi nel caso capiti fra i piedi un file con il
# nome del target.
.PHONY: clean  distclean all
clean:
	rm -f *~ *.aux *.log *.nav *.snm *.out *.toc

distclean: clean
	rm -f *.dvi *.ps *.pdf