EPUBSCRIPT := $(RELSCRIPT)/gbtoepub.pl
COVERIMAGE := $(AONROOTDIR)/$(BLANG)/jpeg/$(SERIES)/$(BASENAME)/skins/ebook/cover.jpg
+# -------------------------------- BEGIN FONT SELECTION -----------------------------------------------------------
+# 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 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
+# under a free license. For more information see /common/fonts/README.txt
+#
+# 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
+
+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
+# ---------------------------------------------------------------------
+# Use this when running builds of the Freeway Warrior series using the Carlito
+# fonts. This will build the documents using the fonts available in the SVN
+# 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
# Generate the ePub file from the XML file
epub: $(EPUB)
$(AONROOTDIR)/$(BLANG)/epub/$(SERIES)/$(BASENAME)/$(EPUB): $(XMLFILE) $(EPUBSCRIPT) $(XSLFILES)
- cd $(AONROOTDIR) && perl $(EPUBSCRIPT) --language=$(BLANG) --font-files=$(AONROOTDIR)/common/fonts/ $(BASENAME)
+ cd $(AONROOTDIR) && perl $(EPUBSCRIPT) --language=$(BLANG) --font-files=$(FONTDIR) $(BASENAME)
+# Alternate generation mechanism
+# @[ -x `which dbtoepub` ] || { echo "ERROR: Cannot find 'dbtoepub', please install this package" >&2; exit 1; }
+# dbtoepub -o $(BOOK) $(XMLFILE) >$(BOOK).log 2>&1; \
-$(EPUB): $(AONROOTDIR)/$(BLANG)/epub/$(SERIES)/$(BASENAME)/$(EPUB)
+$(EPUB): $(AONROOTDIR)/$(BLANG)/epub/$(SERIES)/$(BASENAME)/$(EPUB) ebook-convert
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