# 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 official builds) - Souvenir font
-# ---------------------------------------------------------
-# Use this when 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
+# 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
-# FONTDIR := $(AONROOTDIR)/../fontfiles/
-
-# Option 2 (to be used for test builds) - Carlito font
-# ---------------------------------------------------------
-# Use this when running test builds and you do not have the Souvenir font available.
-# 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), 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
-# --------------------------------- END FONT SELECTION -----------------------------------------------------------
EPUB=$(BASENAME).epub
MOBI=$(BASENAME).mobi
epub: $(EPUB)
$(AONROOTDIR)/$(BLANG)/epub/$(SERIES)/$(BASENAME)/$(EPUB): $(XMLFILE) $(EPUBSCRIPT) $(XSLFILES)
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