X-Git-Url: http://git.projectaon.org/?p=project-aon.git;a=blobdiff_plain;f=common%2Fepub%2FMakefile.common;h=633416fd7f7abf56c494677f820f6ec90099ea94;hp=02ee57642514d6d62f44c8b0823cd930ffa57203;hb=9dc76a6f92b21fa752b6464dc168c1dc0a6e9be5;hpb=217dd24f7bd1138a12c50c3bf9907811d90ec611 diff --git a/common/epub/Makefile.common b/common/epub/Makefile.common index 02ee576..633416f 100644 --- a/common/epub/Makefile.common +++ b/common/epub/Makefile.common @@ -11,7 +11,9 @@ RELSCRIPT := $(AONROOTDIR)/common/scripts # Relative location of the xsl files RELXSLDIR := $(AONROOTDIR)/common/xsl EPUBSCRIPT := $(RELSCRIPT)/gbtoepub.pl +COVERSCRIPT := $(RELSCRIPT)/create-epub-cover.pl COVERIMAGE := $(AONROOTDIR)/$(BLANG)/jpeg/$(SERIES)/$(BASENAME)/skins/ebook/cover.jpg +ALTCOVERIMAGE := $(AONROOTDIR)/$(BLANG)/epub/$(SERIES)/$(BASENAME)/OEBPS/cover.jpg # -------------------------------- BEGIN FONT SELECTION ----------------------------------------------------------- # Location of the font files, this is adjustable here in order to make it possible to run @@ -30,6 +32,9 @@ COVERIMAGE := $(AONROOTDIR)/$(BLANG)/jpeg/$(SERIES)/$(BASENAME)/skins/ebook/cove ifeq ($(SERIES), lw) FONTDIR := $(AONROOTDIR)/../fontfiles/ endif +ifeq ($(SERIES), ls) +FONTDIR := $(AONROOTDIR)/../fontfiles/ +endif ifeq ($(SERIES), gs) FONTDIR := $(AONROOTDIR)/../fontfiles/ endif @@ -89,15 +94,27 @@ 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) +$(AONROOTDIR)/$(BLANG)/epub/$(SERIES)/$(BASENAME)/$(EPUB): $(XMLFILE) $(XSLFILES) cd $(AONROOTDIR) && perl $(EPUBSCRIPT) --language=$(BLANG) --font-files=$(FONTDIR) $(BASENAME) +# Create cover page if not existing + @if [ ! -e $(COVERIMAGE) ] ; then \ + cd $(AONROOTDIR) && perl $(COVERSCRIPT) --language=$(BLANG) --font-files=$(FONTDIR) $(BASENAME) ; \ + fi -$(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; \ +$(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) + @if [ -e $(ALTCOVERIMAGE) ] && [ ! -e $(COVERIMAGE) ] ; then \ + ebook-convert $(EPUB) regen_$(EPUB) --cover $(ALTCOVERIMAGE) ; \ + fi + @if [ -e $(COVERIMAGE) ] ; then \ + ebook-convert $(EPUB) regen_$(EPUB) --cover $(COVERIMAGE) ; \ + fi + @if [ ! -e $(ALTCOVERIMAGE) ] && [ ! -e $(COVERIMAGE) ] ; then \ + ebook-convert $(EPUB) regen_$(EPUB) ; \ + fi + mv regen_$(EPUB) $(EPUB) -rm -f cover.jpg $(BASENAME).opf @@ -105,50 +122,57 @@ $(EPUB): $(AONROOTDIR)/$(BLANG)/epub/$(SERIES)/$(BASENAME)/$(EPUB) ebook-convert # 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 ebook-convert +%.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 ebook-convert +%.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 ebook-convert +%.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 ebook-convert +%.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 ebook-convert +%.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 ebook-convert +%.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 ebook-convert +%.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 ebook-convert +%.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 ; \