aboutsummaryrefslogtreecommitdiff
path: root/model_1/Makefile
diff options
context:
space:
mode:
authorSébastien Dailly <sebastien@chimrod.com>2019-08-10 20:36:56 +0200
committerSébastien Dailly <sebastien@chimrod.com>2019-08-10 20:36:56 +0200
commitf83e8b39df08ea9e9ca130a4578c749d48d55844 (patch)
tree2f774eaf9d5aeaa87d5b6e19697c123584aaa495 /model_1/Makefile
First commit
Diffstat (limited to 'model_1/Makefile')
-rwxr-xr-xmodel_1/Makefile46
1 files changed, 46 insertions, 0 deletions
diff --git a/model_1/Makefile b/model_1/Makefile
new file mode 100755
index 0000000..99eb4e8
--- /dev/null
+++ b/model_1/Makefile
@@ -0,0 +1,46 @@
+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
+
+# Generate the latex file from rst
+tmp/%.tex: %.rst $(INCLUDED_PDF) $(SOURCES)| tmp
+ $$(command -v rst2latex rst2latex.py | head -n 1) --no-section-subtitles --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/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