-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
64 lines (53 loc) · 1.25 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
# Makefile
#
# Used to run latex compilation, run evaluation tests...
# Use `-shell-escape` to support the `minted` package for including code.
LATEX = pdflatex -shell-escape
BIBTEX = bibtex
PDFLATEX = pdflatex -shell-escape
THESIS_DIR = writing
PROPOSAL_DIR = proposal
THESIS_FILE = thesis.tex
PROPOSAL_FILE = proposal.tex
THESIS_BIBTEX = thesis
PROPOSAL_BIBTEX = proposal
# `make build-thesis`
#
# Build the thesis.
build-thesis:
cd $(THESIS_DIR) && \
$(LATEX) $(THESIS_FILE) && \
$(BIBTEX) $(THESIS_BIBTEX) && \
$(LATEX) $(THESIS_FILE) && \
$(PDFLATEX) $(THESIS_FILE)
# `make build-proposal`
#
# Build the thesis description.
build-proposal:
cd $(PROPOSAL_DIR) && \
$(LATEX) $(PROPOSAL_FILE) && \
$(BIBTEX) $(PROPOSAL_BIBTEX) && \
$(LATEX) $(PROPOSAL_FILE) && \
$(PDFLATEX) $(PROPOSAL_FILE)
# `make build-all`
#
# Build the thesis and the proposal.
build-all: build-proposal build-thesis
# `make build`
#
# Build all Latex files.
build: build-thesis
# `make spellcheck`
#
# Spellcheck the thesis.
spellcheck:
find $(THESIS_DIR) -type f -name "*.tex" -exec aspell -t -c {} \;
# `make tmux`
#
# Open the projects tmux (based on the `.tmuxinator.yml`) file.
tmux:
tmuxinator start .
# `make`
#
# If no target is specified, run `build`.
.DEFAULT_GOAL := build