]> git.llucax.com Git - z.facultad/75.00/presentacion.git/blob - Makefile
1b342715a4e90d6d206fb775608f59d9ca00daf4
[z.facultad/75.00/presentacion.git] / Makefile
1
2 O := .tmp
3
4 R2B := ./rst2beamer.py
5 R2BTHEME := Darmstadt
6 R2BFLAGS :=  --halt=2 --lang es --codeblocks-use-pygments \
7         --input-encoding=utf-8 --output-encoding=utf-8 \
8         --overlaybullets= \
9         --theme $(R2BTHEME)
10 R2BFILTER := sed '/\\usepackage\[scaled=\.90\]{helvet}/d'
11
12 DOT := dot
13 DOTFLAGS :=
14
15 AAFIG := aafigure
16 AAFIGFLAGS := --proportional
17
18 PDFLATEX := pdflatex
19 PDFLATEXFLAGS := -halt-on-error -file-line-error
20
21 PLOTS := stw pause time mem ncol
22 PROGS := bigarr conalloc concpu mcore rnddata sbtree split \
23                 bh bisort em3d tsp voronoi dil
24
25 STATS := ./stats.py
26 TEMPLITE := ./templite.py
27
28 EPSTOPDF := epstopdf
29 GNUPLOT := gnuplot
30
31 comma := ,
32
33 imgs := $O/img/mark-sweep-0.pdf \
34         $(patsubst %.dot,$O/%.pdf,$(wildcard img/mark-sweep-*.dot)) \
35         $O/img/heap.pdf \
36         $(patsubst %,$O/img/norm-hist-%.pdf,$(PLOTS))
37
38 presentacion.pdf: $O/presentacion.tex $(imgs)
39         @echo "$(PDFLATEX) $< > $@"
40         @cd $O && $(PDFLATEX) $(PDFLATEXFLAGS) $(<F) > $@.log
41         @cd $O && $(PDFLATEX) $(PDFLATEXFLAGS) $(<F) >> $@.log
42         @mv $O/$@ $@
43
44 $O/presentacion.tex: presentacion.rst $(R2B)
45         @echo "$(R2B) $< > $@"
46         @$(R2B) $(R2BFLAGS) $< | $(R2BFILTER) > $@
47
48 $O/img/%.pdf: img/%.dot
49         @echo "$(DOT) $< > $@"
50         @$(DOT) $(DOTFLAGS) -Tpdf -o $@ $<
51         @#pdftops mark-sweep-$i.pdf && ps2pdf14 mark-sweep-$i.ps && rm mark-sweep-$i.ps
52
53 $O/img/%.pdf: img/%.aafig
54         @echo "$(AAFIG) $< > $@"
55         @$(AAFIG) $(AAFIGFLAGS) -t pdf -o $@ $<
56
57 $O/img/norm-hist-%.csv: img/raw-hist-%.csv
58         @echo "norm $< > $@"
59         @awk -F, -v m=`cut -d, -f4 $< | $(STATS) '$$1' '%(max)s'` \
60                 '{print $$1 "," $$2/m "," $$3/m "," $$4/m "," $$5/m}' \
61                         $< > $@
62
63 $O/img/norm-hist-%.eps: $(patsubst %,$O/img/norm-hist-\%-%.csv,$(PROGS))
64         @echo "plot $< > $@"
65         @$(TEMPLITE) "progs=($(patsubst %,'%'$(comma),$(PROGS))), " \
66                         "files=($(patsubst %,'%'$(comma),$^))" \
67                         < histogram-plot.tpl.gpi | $(GNUPLOT) > $@
68
69 $O/img/norm-hist-%.pdf: $O/img/norm-hist-%.eps
70         @echo "$(EPSTOPDF) $< > $@"
71         @$(EPSTOPDF) --outfile=$@ $<
72
73 $O/img/%.pdf: img/%.pdf
74         @echo "cp $< > $@"
75         @cp $< $@
76
77 $O/heap.pdf: AAFIGFLAGS += -s 1.4 -a 0.8
78
79 .PHONY: clean
80 clean:
81         $(RM) -r $O
82
83 .PHONY: clean-all
84 clean-all: clean
85         $(RM) presentacion.pdf
86
87 __dummy := $(shell mkdir -p $O/img)