summaryrefslogtreecommitdiffstats
path: root/doc/man/SConstruct
diff options
context:
space:
mode:
Diffstat (limited to 'doc/man/SConstruct')
-rw-r--r--doc/man/SConstruct22
1 files changed, 21 insertions, 1 deletions
diff --git a/doc/man/SConstruct b/doc/man/SConstruct
index cd94021..cfdbb2d 100644
--- a/doc/man/SConstruct
+++ b/doc/man/SConstruct
@@ -27,7 +27,7 @@
import os
env = Environment(ENV={'PATH' : os.environ['PATH']},
- tools=['docbook'],
+ tools=['docbook','gs','zip'],
toolpath=['../../src/engine/SCons/Tool'],
DOCBOOK_DEFAULT_XSL_HTML='html.xsl',
DOCBOOK_DEFAULT_XSL_PDF='pdf.xsl')
@@ -53,3 +53,23 @@ def createManPages(env, target):
createManPages(env, "scons")
createManPages(env, "sconsign")
createManPages(env, "scons-time")
+
+has_gs = False
+if env.WhereIs('gs'):
+ has_gs = True
+
+#
+# Create the EPUB format
+#
+if has_gs and has_pdf:
+ metainf = env.Command('META-INF','',[Mkdir('META-INF'), Mkdir('OEBPS')])
+ css = env.Command('OEBPS/epub.css','epub.css',[Copy('OEBPS/epub.css','epub.css')])
+ env.Depends(css, metainf)
+ jpg = env.Gs('OEBPS/cover.jpg','scons-scons.pdf',
+ GSFLAGS='-dNOPAUSE -dBATCH -sDEVICE=jpeg -dFirstPage=1 -dLastPage=1 -dJPEGQ=100 -r72x72 -q')
+ env.Depends(jpg, metainf)
+ oebps = env.DocbookXslt('OEBPS/toc.ncx', 'scons_db.xml', xsl='epub.xsl')
+ env.Depends(oebps, jpg)
+ env.Zip('scons-man.epub', 'OEBPS', ZIPFLAGS='-Xr9D')
+ env.Clean(oebps, Glob('OEBPS/*.*'))
+ env.Clean(oebps, Glob('META-INF/*.*'))