-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
executable file
·62 lines (52 loc) · 1.68 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
MAKE_CMD?= make
BIBLIOGRAPHY!= find -L . -name "bibligrafia.bib"
DOCUMENT= Appunti_di_matematica.pdf
IMAGES_PREFIX= Immagine_
IMAGES_PNG= ${IMAGES_M:.m=.png}
IMAGES_M!= find . -name "${IMAGES_PREFIX}*.m"
TESTS_DIR= Libreria_octave `grep -E '^[^%%]*input' main.tex | sed 's,^.*{,,' | sed 's,/sections.tex},,'`
TESTS_OUTPUT= ${DOCUMENT:.pdf=.test}
SOURCES!= find -L . -name "*.sty" -o -name "*.tex" -o -name "*.xml"
SOURCES+= ${BIBLIOGRAPHY}
all ${DOCUMENT}: ${SOURCES} images
export TEXINPUTS=style//: && \
pdflatex --shell-escape main.tex && \
pdflatex --shell-escape main.tex && \
if test -e "main.bib"; then bibtex main; fi && \
if test -e "glossary.tex"; then makeglossaries main; fi && \
if test -e "main.idx"; then makeindex main; fi && \
pdflatex --shell-escape main.tex && \
pdflatex --shell-escape main.tex && \
mv main.pdf ${DOCUMENT}
${MAKE_CMD} test &> ${TESTS_OUTPUT}
compress: clean
rm -f ~/Appunti.tar.gz && \
cd ~ && \
tar -cvf Appunti.tar Appunti && gzip Appunti.tar
images: ${IMAGES_PNG}
save: compress all
test:
for x in ${TESTS_DIR}; \
do \
if test -e "$$x/tests/Makefile"; \
then \
cd $$x/tests/ && ${MAKE_CMD} all && cd ../..; \
fi \
done
clean:
rm -f ${DOCUMENT} ${TESTS_OUTPUT}
rm -Rf _minted-main
for x in main.*; do if test "$$x" != "main.tex"; then rm $$x; fi; done
for x in ${IMAGES_PNG}; do rm -f $$x; done
for x in ${TESTS_DIR}; \
do \
if test -e "$$x/tests/Makefile"; \
then \
cd $$x/tests/ && ${MAKE_CMD} clean && cd ../..; \
fi \
done
.SUFFIXES: .m .png
.m.png:
cd $$(echo $^ | rev | cut -f 2- -d '/' | rev) && \
octave --no-gui --path $$(echo `find .. -type d` | sed "s/ /:/g") \
$$(echo $< | rev | cut -f 1 -d '/' | rev)