Adding pandoc template from
[themediocreprogrammer.git] / Makefile
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..7fca8a3
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,35 @@
+BUILD = build
+BOOKNAME = the_mediocre_programmer
+TITLE = title.txt
+METADATA = metadata.xml
+CHAPTERS = intro.md chapter01.md
+TOC = --toc --toc-depth=2
+COVER_IMAGE = images/cover.jpg
+LATEX_CLASS = report
+
+all: book
+
+book: epub html pdf
+
+clean:
+       rm -r $(BUILD)
+
+epub: $(BUILD)/epub/$(BOOKNAME).epub
+
+html: $(BUILD)/html/$(BOOKNAME).html
+
+pdf: $(BUILD)/pdf/$(BOOKNAME).pdf
+
+$(BUILD)/epub/$(BOOKNAME).epub: $(TITLE) $(CHAPTERS)
+       mkdir -p $(BUILD)/epub
+       pandoc $(TOC) -S --epub-metadata=$(METADATA) --epub-cover-image=$(COVER_IMAGE) -o $@ $^
+
+$(BUILD)/html/$(BOOKNAME).html: $(CHAPTERS)
+       mkdir -p $(BUILD)/html
+       pandoc $(TOC) --standalone --to=html5 -o $@ $^
+
+$(BUILD)/pdf/$(BOOKNAME).pdf: $(TITLE) $(CHAPTERS)
+       mkdir -p $(BUILD)/pdf
+       pandoc $(TOC) --latex-engine=xelatex -V documentclass=$(LATEX_CLASS) -o $@ $^
+
+.PHONY: all book clean epub html pdf