Attempting to make a 6x9 format
[themediocreprogrammer.git] / Makefile
1 BUILD = build
2 BOOKNAME = the_mediocre_programmer
3 TITLE = title.txt
4 METADATA_XML = metadata.xml
5 METADATA_YAML = metadata.yaml
6 CHAPTERS = intro.md chapter01.md chapter02.md chapter03.md chapter04.md chapter05.md chapter06.md chapter07.md epilogue.md gratitude.md appendixa.md
7 TOC = --toc --toc-depth=2
8 COVER_IMAGE = images/cover_ebook_1600x2400.png
9 LATEX_CLASS = book
10
11 all: book
12
13 book: epub html pdf
14
15 clean:
16         rm -r $(BUILD)
17
18 epub: $(BUILD)/epub/$(BOOKNAME).epub
19
20 html: $(BUILD)/html/$(BOOKNAME).html
21
22 pdf: $(BUILD)/pdf/$(BOOKNAME).pdf
23
24 $(BUILD)/epub/$(BOOKNAME).epub: $(TITLE) $(CHAPTERS) $(METADATA_YAML)
25         mkdir -p $(BUILD)/epub
26         pandoc -s $(TOC) --chapters --number-offset=0 -S --epub-metadata=$(METADATA_XML) --epub-cover-image=$(COVER_IMAGE) -o $@ $^
27
28 $(BUILD)/html/$(BOOKNAME).html: $(CHAPTERS) $(METADATA_YAML)
29         mkdir -p $(BUILD)/html
30         pandoc -s $(TOC) --chapters --number-offset=0 --standalone --to=html5 -o $@ $^
31
32 $(BUILD)/pdf/$(BOOKNAME).pdf: $(CHAPTERS) $(METADATA_YAML)
33         mkdir -p $(BUILD)/pdf
34         # pandoc $(TOC) --chapters --number-offset=0 --latex-engine=pdflatex -V documentclass=$(LATEX_CLASS) -V papersize=6x9 -o $@ $^
35         pandoc -s $(TOC) --chapters --number-offset=0 --template=Pandoc/templates/cs-6x9-pdf.latex --latex-engine=xelatex  -o $@ $^
36
37 .PHONY: all book clean epub html pdf