Merge branch 'release/20200525.01'
[themediocreprogrammer.git] / Makefile
index 9dcb8f83d68d7a065384dc977b929578806415b9..7575b808cc2fcd357ba821747831f02cb42b0b96 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,13 @@
 BUILD = build
 BOOKNAME = the_mediocre_programmer
 TITLE = title.txt
-METADATA = metadata.xml
-CHAPTERS = intro.md chapter01.md chapter02.md chapter03.md chapter04.md chapter05.md chapter06.md epilogue.md gratitude.md appendixa.md
+METADATA_XML = metadata.xml
+METADATA_YAML = metadata.yaml
+CHAPTERS = intro.md chapter01.md chapter02.md chapter03.md chapter04.md chapter05.md chapter06.md chapter07.md epilogue.md gratitude.md appendixa.md
 TOC = --toc --toc-depth=2
-COVER_IMAGE = images/cover.jpg
+COVER_IMAGE = images/cover_ebook_1600x2400.png
 LATEX_CLASS = book
+FONTS = fonts/LinBiolinum_R.ttf fonts/LinBiolinum_RI.ttf fonts/LinBiolinum_RB.ttf
 
 all: book
 
@@ -16,20 +18,33 @@ clean:
 
 epub: $(BUILD)/epub/$(BOOKNAME).epub
 
-html: $(BUILD)/html/$(BOOKNAME).html
+html: $(BUILD)/html/$(BOOKNAME).html fonts css
+
+fonts: $(patsubst %,$(BUILD)/html/%,$(FONTS))
+
+css: $(BUILD)/html/css/$(BOOKNAME).css
 
 pdf: $(BUILD)/pdf/$(BOOKNAME).pdf
 
-$(BUILD)/epub/$(BOOKNAME).epub: $(TITLE) $(CHAPTERS)
+$(BUILD)/epub/$(BOOKNAME).epub: $(TITLE) $(CHAPTERS) $(METADATA_YAML)
        mkdir -p $(BUILD)/epub
-       pandoc $(TOC) --chapters --number-offset=0 -S --epub-metadata=$(METADATA) --epub-cover-image=$(COVER_IMAGE) -o $@ $^
+       pandoc -s $(TOC) --chapters --number-offset=0 -S --epub-metadata=$(METADATA_XML) --epub-cover-image=$(COVER_IMAGE) -o $@ $^
 
-$(BUILD)/html/$(BOOKNAME).html: $(CHAPTERS)
+$(BUILD)/html/$(BOOKNAME).html: $(CHAPTERS) $(METADATA_YAML)
        mkdir -p $(BUILD)/html
-       pandoc $(TOC) --chapters --number-offset=0 --standalone --to=html5 -o $@ $^
+       pandoc -s $(TOC) --chapters --number-offset=0 --standalone --to=html5 --css=css/$(BOOKNAME).css -o $@ $^
+
+$(BUILD)/html/fonts/%: fonts/%
+       mkdir -p $(BUILD)/html/fonts
+       cp $< $@
+
+$(BUILD)/html/css/%: css/%
+       mkdir -p $(BUILD)/html/css
+       cp $< $@
 
-$(BUILD)/pdf/$(BOOKNAME).pdf: $(TITLE) $(CHAPTERS)
+$(BUILD)/pdf/$(BOOKNAME).pdf: $(CHAPTERS) $(METADATA_YAML)
        mkdir -p $(BUILD)/pdf
-       pandoc $(TOC) --chapters --number-offset=0 --latex-engine=xelatex -V documentclass=$(LATEX_CLASS) -o $@ $^
+       # pandoc $(TOC) --chapters --number-offset=0 --latex-engine=pdflatex -V documentclass=$(LATEX_CLASS) -V papersize=6x9 -o $@ $^
+       pandoc -s $(TOC) --chapters --number-offset=0 --template=Pandoc/templates/cs-6x9-pdf.latex --latex-engine=xelatex  -o $@ $^
 
-.PHONY: all book clean epub html pdf
+.PHONY: all book clean epub html fonts css pdf