# Location of the font files, this is adjustable here in order to make it possible to run
# the build scripts as not all developers might have the Souvernir fonts.
-# Option 1 (to be used for Lone wolf series) - Souvenir font
-# ---------------------------------------------------------
+# Option 1 (to be used for the Lone wolf and Grey star series) - Souvenir font
+# ---------------------------------------------------------------------------
# Use this when buidling Lone Wolf books, using Souvenir fonts and make sure
# the font is available in the directory you configure here. Note that the
# fontfiles are *not* available in Project Aon's SVN repository as they are not
# If using this configure, please make sure the following fonts are available in this directory:
# SouvenirStd-DemiItalic.otf SouvenirStd-Demi.otf SouvenirStd-LightItalic.otf SouvenirStd-Light.otf
-# FONTDIR := $(AONROOTDIR)/../fontfiles/
+ifeq ($(SERIES), lw)
+FONTDIR := $(AONROOTDIR)/../fontfiles/
+endif
+ifeq ($(SERIES), gs)
+FONTDIR := $(AONROOTDIR)/../fontfiles/
+endif
# Option 2 (to be used for Freway Warrior series builds) - Carlito font
# ---------------------------------------------------------------------
# repository which (at the time of this writting) are the Carlito font, which
# is distributed with an Open Font license.
+ifeq ($(SERIES), fw)
FONTDIR := $(AONROOTDIR)/common/fonts/
-
+endif
# --------------------------------- END FONT SELECTION -----------------------------------------------------------
+ifndef FONTDIR
+$(info FONTDIR is not defined, defauling to AONROOTDIR/common/fonts/)
+FONTDIR := $(AONROOTDIR)/common/fonts/
+endif
+
+# Sanity checks before going further
+ifndef SERIES
+$(error WARNING: Book series is not defined, please define variable 'SERIES')
+endif
+ifndef BLANG
+$(error WARNING: Book language is not defined, please define variable 'BLANG')
+endif
+ifndef BASENAME
+$(error WARNING: Book basic name is not defined, please define variable 'BASENAME')
+endif
+
+
EPUB=$(BASENAME).epub
MOBI=$(BASENAME).mobi
PDB=$(BASENAME).pdb
$(AONROOTDIR)/$(BLANG)/epub/$(SERIES)/$(BASENAME)/$(EPUB): $(XMLFILE) $(EPUBSCRIPT) $(XSLFILES)
cd $(AONROOTDIR) && perl $(EPUBSCRIPT) --language=$(BLANG) --font-files=$(FONTDIR) $(BASENAME)
-$(EPUB): $(AONROOTDIR)/$(BLANG)/epub/$(SERIES)/$(BASENAME)/$(EPUB)
+$(EPUB): $(AONROOTDIR)/$(BLANG)/epub/$(SERIES)/$(BASENAME)/$(EPUB) ebook-convert
+ @[ ! -x `which dbtoepub` ] || { echo "ERROR: Cannot find 'dbtoepub', please install this package" >&2; exit 1; }
+ dbtoepub -o $(BOOK) $(XMLFILE) >$(BOOK).log 2>&1; \
cp -p $(AONROOTDIR)/$(BLANG)/epub/$(SERIES)/$(BASENAME)/$(EPUB) .
# Regenerate to include the covers properly within the Ebook and fix the EPUB
ebook-convert $(EPUB) regen_$(EPUB) --cover $(COVERIMAGE)
# Convert to other formats. For a full list of format that we can convert to using
# Calibre see http://manual.calibre-ebook.com/cli/ebook-convert.html
+ebook-convert:
+ @[ ! -x `which ebook-convert` ] || { echo "ERROR: Cannot find 'ebook-convert', please install Calibre" >&2; exit 1; }
+
# Generate the mobi file from the ePub (Mobipocket format)
mobi: $(MOBI)
-%.mobi: %.epub
+%.mobi: %.epub ebook-convert
ebook-convert $< $@
# Generate the pdb file from the ePub (eReader / Palm Media format)
-%.pdb: %.epub
+%.pdb: %.epub ebook-convert
ebook-convert $< $@
# Generate the lrf file from the ePub (Broadband eBooks (BBeB) format)
-%.lrf: %.epub
+%.lrf: %.epub ebook-convert
ebook-convert $< $@
# Generate the lit file from the ePub (Microsoft LIT format for Microsoft Reader)
-%.lit: %.epub
+%.lit: %.epub ebook-convert
ebook-convert $< $@
# Generate the pdf file from the ePub
-%.pdf: %.epub
+%.pdf: %.epub ebook-convert
ebook-convert $< $@
# Generate the snb file from the ePub
-%.snb: %.epub
+%.snb: %.epub ebook-convert
ebook-convert $< $@
# Generate the pml file from the ePub
-%.pml: %.epub
+%.pml: %.epub ebook-convert
ebook-convert $< $@
# Generate the fb2 file from the ePub (Fictionbook format used by BeBook, PocketBook, Cybook, Papyre and others)
-%.fb2: %.epub
+%.fb2: %.epub ebook-convert
ebook-convert $< $@
distclean: clean
-rm -rf $(AONROOTDIR)/$(BLANG)/epub/$(SERIES)/$(BASENAME)/
-.PHONY: all install publish clean distclean epub mobi
+.PHONY: all install publish clean distclean epub mobi ebook-convert