X-Git-Url: http://git.projectaon.org/?a=blobdiff_plain;f=common%2Fepub%2FMakefile.common;h=66201daefee7016d13b38fd8cb79387c4aa2aed1;hb=0dc16339f5c6a05f1e5fa0fea65debf6e633d3f9;hp=eda902384e262f2dda526c32860eca253073cb7d;hpb=136c029d5ac24456b74498f504ad487b1243670a;p=project-aon.git diff --git a/common/epub/Makefile.common b/common/epub/Makefile.common index eda9023..66201da 100644 --- a/common/epub/Makefile.common +++ b/common/epub/Makefile.common @@ -13,6 +13,56 @@ RELXSLDIR := $(AONROOTDIR)/common/xsl 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 @@ -40,9 +90,10 @@ XSLFILES=$(RELXSLDIR)/epub-opf-metadata.xsl $(RELXSLDIR)/epub-xhtml.xsl \ # 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) -$(EPUB): $(AONROOTDIR)/$(BLANG)/epub/$(SERIES)/$(BASENAME)/$(EPUB) +$(EPUB): $(AONROOTDIR)/$(BLANG)/epub/$(SERIES)/$(BASENAME)/$(EPUB) + @[ -x `which ebook-convert` ] || { echo "ERROR: Cannot find 'ebook-convert', please install Calibre" >&2; exit 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) @@ -56,44 +107,54 @@ $(EPUB): $(AONROOTDIR)/$(BLANG)/epub/$(SERIES)/$(BASENAME)/$(EPUB) # Generate the mobi file from the ePub (Mobipocket format) mobi: $(MOBI) %.mobi: %.epub + @[ -x `which ebook-convert` ] || { echo "ERROR: Cannot find 'ebook-convert', please install Calibre" >&2; exit 1; } ebook-convert $< $@ # Generate the pdb file from the ePub (eReader / Palm Media format) %.pdb: %.epub + @[ -x `which ebook-convert` ] || { echo "ERROR: Cannot find 'ebook-convert', please install Calibre" >&2; exit 1; } ebook-convert $< $@ # Generate the lrf file from the ePub (Broadband eBooks (BBeB) format) %.lrf: %.epub + @[ -x `which ebook-convert` ] || { echo "ERROR: Cannot find 'ebook-convert', please install Calibre" >&2; exit 1; } ebook-convert $< $@ # Generate the lit file from the ePub (Microsoft LIT format for Microsoft Reader) %.lit: %.epub + @[ -x `which ebook-convert` ] || { echo "ERROR: Cannot find 'ebook-convert', please install Calibre" >&2; exit 1; } ebook-convert $< $@ # Generate the pdf file from the ePub %.pdf: %.epub + @[ -x `which ebook-convert` ] || { echo "ERROR: Cannot find 'ebook-convert', please install Calibre" >&2; exit 1; } ebook-convert $< $@ # Generate the snb file from the ePub %.snb: %.epub + @[ -x `which ebook-convert` ] || { echo "ERROR: Cannot find 'ebook-convert', please install Calibre" >&2; exit 1; } ebook-convert $< $@ # Generate the pml file from the ePub %.pml: %.epub + @[ -x `which ebook-convert` ] || { echo "ERROR: Cannot find 'ebook-convert', please install Calibre" >&2; exit 1; } ebook-convert $< $@ # Generate the fb2 file from the ePub (Fictionbook format used by BeBook, PocketBook, Cybook, Papyre and others) -%.fb2: %.epub +%.fb2: %.epub + @[ -x `which ebook-convert` ] || { echo "ERROR: Cannot find 'ebook-convert', please install Calibre" >&2; exit 1; } ebook-convert $< $@ # Alternative build for the ePub format using open source tools instead -# of our script: +# of our script. +# Sample Makefile code: # #DOCBOOK_XSL=/usr/share/xml/docbook/stylesheet/docbook-xsl/epub/docbook.xsl -#$(BOOK): $(XMLFILE) $(DOCBOOK_XSL) +#$(EPUB): $(XMLFILE) $(DOCBOOK_XSL) +# @[ -x `which dbtoepub` ] || { echo "ERROR: Cannot find 'dbtoepub', please install this package" >&2; exit 1; } # if [ -x /usr/bin/dbtoepub ] ; then \ -# dbtoepub -o $(BOOK) $(XMLFILE) >$(BOOK).log 2>&1; \ +# dbtoepub -o $(EPUB) $(XMLFILE) >$(BOOK).log 2>&1; \ # else \ # xsltproc $(DOCBOOK_XSL) $< >$(BOOK).log 2>&1; \ # echo "application/epub+zip" > mimetype ; \ @@ -129,4 +190,4 @@ clean: 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