-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
61 lines (43 loc) · 1017 Bytes
/
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
CHAPTERS = $(wildcard markdown/*.md)
EPUB_FILE = build/book.epub
PDF_FILE = build/book.pdf
MOBI_FILE = build/book.mobi
.PHONY: all
all: $(EPUB_FILE) $(MOBI_FILE) $(PDF_FILE)
.PHONY: cleanall
cleanall:
rm -f build/*
.PHONY: cleanepub
cleanepub:
rm -f build/*.epub
.PHONY: cleanpdf
cleanpdf:
rm -f build/*.pdf
.PHONY: cleanmobi
cleanmobi:
rm -f build/*.mobi
.PHONY: epub
epub: $(EPUB_FILE)
.PHONY: pdf
pdf: $(PDF_FILE)
.PHONY: mobi
mobi: $(MOBI_FILE)
.PHONY: all
all: $(MOBI_FILE) $(PDF_FILE) $(EPUB_FILE)
$(EPUB_FILE): cleanepub $(CHAPTERS) meta/title.txt meta/cover.jpg meta/stylesheet.css meta/metadata.xml
pandoc -t epub3\
-o $(EPUB_FILE) \
meta/title.txt \
$(CHAPTERS) \
--epub-cover-image=meta/cover.jpg \
--css=meta/stylesheet.css \
--epub-metadata=meta/metadata.xml \
--table-of-contents
$(PDF_FILE): cleanpdf $(CHAPTERS) meta/title.txt
pandoc \
-o $(PDF_FILE) \
meta/title.txt \
$(CHAPTERS) \
--toc
$(MOBI_FILE): cleanmobi $(EPUB_FILE)
kindlegen $(EPUB_FILE)