-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
29 lines (20 loc) · 1.09 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
OUT=out
GRAPHICS=graphics
PDF=$(patsubst %.md,$(OUT)/%.pdf,$(wildcard *.md))
GRAPH_DEPS=$(call graphics-deps,$(GRAPHICS))
.PHONY: all graphics pdf complete clean
.SECONDARY: $(GRAPH_DEPS)
all: graphics pdf complete
include ../Makefile.inc
graphics: $(GRAPH_DEPS) | $(GRAPHICS_OUT)
pdf: $(PDF)
complete: $(OUT)/complete.pdf
clean:
find $(OUT) ! -name '*.pdf' -type f -delete
allMarkdownInputs=$(addsuffix }, $(addprefix \markdownInput{../,$(shell ls -v *.md)))
completeOptions := twoside,titlepage
$(OUT)/complete.pdf: $(wildcard *.md) template.cls $(GRAPH_DEPS) | $(GRAPHICS_OUT) $(OUT)
cd $(@D); $(call XELATEX,'\documentclass[$(completeOptions)]{../template}\begin{document}\maketitle\tableofcontents\newpage$(allMarkdownInputs)\listoffigures\listoftables\end{document}')
.SECONDEXPANSION:
$(OUT)/%.pdf: %.md template.cls $$(call graphics-deps,$(GRAPHICS),$$(shell echo $$* | cut -d'-' -f1)) $$(wildcard source_codes/$$(shell echo $$* | cut -d'-' -f1)*) | $(GRAPHICS_OUT) $(OUT)
cd $(@D); $(call XELATEX,'\documentclass{../template}\begin{document}\tableofcontents\markdownInput{../$<}\end{document}')