summaryrefslogtreecommitdiff
path: root/Makefile
blob: 530980fce298766d62debea24fc11bbc45c90cda (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
TEX=xelatex
SOURCE=.

SRC  =$(wildcard *.rst)
SVG  =$(wildcard content/*.svg)

PDFS = $(SRC:.rst=.pdf)
INCLUDED_PDF = $(SVG:.svg=.pdf)

all: $(PDFS)

BIBS =$(wildcard *.bib)

DIR = $(sort $(shell find $(SOURCE) -name '*.rst' -print))
SOURCES = $(sort $(wildcard resources/*.tex))

null  :=
space := $(null) #
comma := ,
TEX_STYLE := $(subst $(space),$(comma),$(strip $(SOURCES)))
TEX_BIBS := $(subst $(space),$(comma),$(strip $(BIBS)))

PACK = $(shell sed -e 's/\#.*$$//' -e '/^$$/d' resources/modules)
PACKAGES := $(subst $(space),$(comma),$(strip $(PACK)))

tmp:
	mkdir tmp

# Image generation
content/%.pdf: content/%.svg
	inkscape -D -z --export-pdf=$@ $<

%.pdf: %.dot
	dot -Tpdf $< | ps2pdf - $@

# Generate the latex file from rst
tmp/%.tex: %.rst $(INCLUDED_PDF) $(SOURCES)| tmp
	rst2latex --no-section-subtitles --no-section-numbering --table-style=borderless --use-latex-citations --use-latex-docinfo --documentclass=article --documentoption=12pt,A4,table --syntax-highlight=short --stylesheet=$(PACKAGES),$(TEX_STYLE) $< $@
	sed -i -e 's/continued on next page/suite sur la page suivante/;s|^%$$||' $@
	sed -i -e 's/longtable\*/mytable/g' $@
	sed -i -e 's/p{[0-9]\.[0-9]*\\DUtablewidth}/X/g' $@
	sed -i -e 's/admonition-/admonition/g' $@

# Generate each pdf with latex
tmp/%.pdf: tmp/%.tex $(BIBS) | tmp
	$(TEX) -output-directory tmp $<
	#bibtex tmp/$*.aux && $(TEX) -output-directory tmp $< || echo "no bib"
	while grep 'Rerun to get ' tmp/$*.log ; do $(TEX) -output-directory tmp $< ; done

# Put the pdf in the right place
%.pdf: tmp/%.pdf | tmp
	cp $< $@

clean:
	rm -r tmp