# Programs
WGET = @WGET@
+XML_CATALOG_FILES = /etc/xml/catalog:$(shell pwd)/samba.catalog
XSLTPROC = @XSLTPROC@
XMLLINT = @XMLLINT@
DVIPS = @DVIPS@
endif
# Paths
-TOPDIR = $(shell pwd)
-OUTPUTDIR = $(TOPDIR)/output
+OUTPUTDIR = output
ARCHIVEDIR = $(OUTPUTDIR)/archive
SRCDIR = @SAMBASOURCEDIR@
MANDIR = $(OUTPUTDIR)/manpages
EPSTOPDF = @EPSTOPDF@
-MANPAGEDIR = $(TOPDIR)/manpages
-HOWTODIR = $(TOPDIR)/howto
-GUIDEDOC = $(TOPDIR)/guide
-DEVDOCDIR = $(TOPDIR)/devel
+MANPAGEDIR = manpages
+HOWTODIR = howto
+GUIDEDOC = guide
+DEVDOCDIR = /devel
MAKEINDEX = @MAKEINDEX@
IMAGEPROJDIR = $(HOWTODIR)/imagefiles
IMAGEGUIDEDIR = $(GUIDEDOC)/images
-EXAMPLESDIR = $(TOPDIR)/examples
-SMBDOTCONFDOC = $(TOPDIR)/smbdotconf
+EXAMPLESDIR = examples
+SMBDOTCONFDOC = smbdotconf
PSDIR = $(OUTPUTDIR)
PDFDIR = $(OUTPUTDIR)
DVIDIR = $(OUTPUTDIR)
+FODIR = $(OUTPUTDIR)
+HTMLHELPDIR = $(OUTPUTDIR)/htmlhelp
VALIDATEDIR = $(OUTPUTDIR)/validate
TXTDIR = $(OUTPUTDIR)/textdocs
HTMLDIR=$(OUTPUTDIR)/htmldocs
pdf: $(PDFDIR) $(PDFDIR)/Samba-Developers-Guide.pdf # $(PDFDIR)/Samba-HOWTO-Collection.pdf
-dvi: $(DVIDIR) $(DVIDIR)/Samba-Developers-Guide.dvi # $(DVIDIR)/Samba-HOWTO-Collection.dvi
+dvi: $(DVIDIR) $(DVIDIR)/Samba-Developers-Guide.dvi # $(DVIDIR)/Samba-HOWTO-Collection.dvi
ps: $(PSDIR) $(PSDIR)/Samba-Developers-Guide.ps # $(PSDIR)/Samba-HOWTO-Collection.ps
-txt: $(TXTDIR) $(TXTDIR)/Samba-Developers-Guide.txt # $(TXTDIR)/Samba-HOWTO-Collection.txt
+txt: $(TXTDIR) $(TXTDIR)/Samba-Developers-Guide.txt # $(TXTDIR)/Samba-HOWTO-Collection.txt
+
+fo: $(FODIR) $(FODIR)/Samba-HOWTO-Collection.fo $(FODIR)/Samba-Developers-Guide.fo
htmlman: $(HTMLDIR) $(MANPAGES_HTML) $(HTMLDIR)/samba.css
xslt/figures/%.pdf: xslt/figures/%.eps
$(EPSTOPDF) $<
+# Fo
+$(FODIR):
+ mkdir $(FODIR)
+
+$(FODIR)/%.fo: %.xml $(FODIR)
+ $(XSLTPROC) --output $@ http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl $<
+
+$(HTMLHELPDIR):
+ mkdir $(HTMLHELPDIR)
+
+$(HTMLHELPDIR)/%: %.xml $(HTMLHELPDIR)
+ -mkdir $@
+ $(XSLTPROC) --stringparam base.dir "$@/" http://docbook.sourceforge.net/release/xsl/current/htmlhelp/htmlhelp.xsl $<
+
# Single large HTML files
$(HTMLDIR):
# Manpages
$(SMBDOTCONFDOC)/parameters.all.xml: $(SMBDOTCONFDOC)/generate-file-list.sh
- @cd $(SMBDOTCONFDOC) && \
- /bin/sh generate-file-list.sh >parameters.all.xml && \
- cd $(OUTPUTDIR)
+ @cd $(SMBDOTCONFDOC) && /bin/sh generate-file-list.sh >parameters.all.xml
$(SMBDOTCONFDOC)/parameters.global.xml: $(SMBDOTCONFDOC)/parameters.all.xml $(SMBDOTCONFDOC)/generate-context.xsl
- @cd $(SMBDOTCONFDOC) && \
- $(XSLTPROC) --xinclude \
- --param smb.context "'G'" \
+ $(XSLTPROC) --xinclude --param smb.context "'G'" \
--output parameters.global.xml \
- generate-context.xsl parameters.all.xml && \
- cd $(OUTPUTDIR)
+ $(SMBDOTCONFDOC)/generate-context.xsl $(SMBDOTCONFDOC)/parameters.all.xml
$(SMBDOTCONFDOC)/parameters.service.xml: $(SMBDOTCONFDOC)/parameters.all.xml $(SMBDOTCONFDOC)/generate-context.xsl
- @cd $(SMBDOTCONFDOC) && \
$(XSLTPROC) --xinclude \
--param smb.context "'S'" \
--output parameters.service.xml \
- generate-context.xsl parameters.all.xml && \
- cd $(OUTPUTDIR)
+ $(SMBDOTCONFDOC)/generate-context.xsl $(SMBDOTCONFDOC)/parameters.all.xml
smb.conf.5.xml: $(SMBDOTCONFDOC)/smb.conf.5.xml $(SMBDOTCONFDOC)/parameters.all.xml \
$(SMBDOTCONFDOC)/parameters.global.xml $(SMBDOTCONFDOC)/parameters.service.xml
The Output
----------
-The current Samba CVS tree contains the XML/DocBook source files.
+The current Samba Subversion tree contains the XML/DocBook source files.
A regularly generated version can be found at http://samba.org/samba/docs/.
dated 20030622 -- it works best. Versions previous to 20030425 are known
to have problems, as well as current (as of 20031210) snapshots.
* pdflatex
+ * thumbpdf
For generating PostScript (thru LaTeX):
* latex
* dvips
For generating ASCII:
- * xmlto
+ * html2text
This directory now contains a ./configure script and Makefile to
support the automated building of man pages (including HTML versions), and
The configure script detects which of the required utilities are installed
and builds as much docs as it can using these tools.
+
+Help! Building the docs generates a lot of HTTP traffic...
+-------------
+To be able to build the docs without an internet connection (or faster with
+a slow internet connection), you need to set up "catalogs".
+
+A catalog contains a list of mappings to locally cached documents. E.g. :
+http://db2latex.sf.net/xsl/ -> /usr/share/sgml/docbook/db2latex/xsl/
+
+Add the following two lines to /etc/xml/catalog for db2latex:
+<rewriteURI uriStartString="http://db2latex.sourceforge.net/xsl/" rewritePrefix="/export/user/me/source/docbook/db2latex/xsl/"/>
+<rewriteURI uriStartString="http://docbook.sourceforge.net/release/xsl/current/" rewritePrefix="/export/user/me/source/docbook/docbook-xsl/"/>
+
+(of course, adapt /export/user/me/source/ to whatever path db2latex is
+ installed in...)
+
+catalog entries for the other DTD's and XSL scripts should be present on your
+system already.