-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile
84 lines (61 loc) · 2.41 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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
.PHONY: clean full-clean
# Information associated to the Thesis
MAIN = main.tex
MEMORIA = memoriaTFG
DIR_MEMORIA = dirMemoria
# Information associated to the User's Manual
MANUAL = extra/user_manual.tex
MANUAL_USUARIO = manual_usuario
DIR_MANUAL = dirManual
# Information associated to the presentation
PRESENTATION_FILE = presentation/presentation.tex
PRESENTATION = presentation
DIR_PRESENTATION = dirPresentation
DIRS = $(DIR_MEMORIA) $(DIR_MANUAL) $(DIR_PRESENTATION)
# PDF generator and bibliography manager
CXX = pdflatex
BIB = biber
# Shell
SHELL=/bin/zsh
all: $(MEMORIA) $(MANUAL_USUARIO) $(PRESENTATION)
$(MEMORIA): $(MEMORIA).pdf
$(MANUAL_USUARIO): $(MANUAL_USUARIO).pdf
$(PRESENTATION): $(PRESENTATION).pdf
################################################################################
# Generate Thesis
$(MEMORIA).pdf: $(DIR_MEMORIA) $(MAIN)
$(CXX) -output-directory=$(DIR_MEMORIA) -jobname=$(MEMORIA) $(MAIN)
$(BIB) $(DIR_MEMORIA)/$(MEMORIA).bcf
$(CXX) -output-directory=$(DIR_MEMORIA) -jobname=$(MEMORIA) $(MAIN)
$(CXX) -output-directory=$(DIR_MEMORIA) -jobname=$(MEMORIA) $(MAIN)
cp $(DIR_MEMORIA)/$(MEMORIA).pdf .
$(DIR_MEMORIA):
mkdir $@
################################################################################
# Generate User's Manual
$(MANUAL_USUARIO).pdf: $(DIR_MANUAL) $(MANUAL)
$(CXX) -output-directory=$(DIR_MANUAL) -jobname=$(MANUAL_USUARIO) $(MANUAL)
$(CXX) -output-directory=$(DIR_MANUAL) -jobname=$(MANUAL_USUARIO) $(MANUAL)
cp $(DIR_MANUAL)/$(MANUAL_USUARIO).pdf .
$(DIR_MANUAL):
mkdir $@
################################################################################
# Generate Presentation
$(PRESENTATION).pdf: $(DIR_PRESENTATION) $(PRESENTATION_FILE)
$(CXX) -output-directory=$(DIR_PRESENTATION) -jobname=$(PRESENTATION) $(PRESENTATION_FILE)
$(CXX) -output-directory=$(DIR_PRESENTATION) -jobname=$(PRESENTATION) $(PRESENTATION_FILE)
cp $(DIR_PRESENTATION)/$(PRESENTATION).pdf .
$(DIR_PRESENTATION):
mkdir $(DIR_PRESENTATION)
################################################################################
# Watch updates on presentation
watch-presentation:
@while true; do; inotifywait $(PRESENTATION_FILE); sleep 0.01; make presentation; done
################################################################################
# Remove files
clean:
@echo Limpiando archivos extra generados por LaTex...
rm -rf $(DIRS)
full-clean: clean
@echo Limpiando archivos PDF...
rm -f *.pdf