2004-04-07 10:15:11 +00:00
#################################################################
2005-03-11 15:57:45 +00:00
# Makefile for Samba Documentation
2004-04-07 10:15:11 +00:00
# Authors:
# James Moore <jmoore@php.net>
# Gerald Carter <jerry@samba.org>
# Jelmer Vernooij <jelmer@samba.org>
2005-01-29 20:05:52 +00:00
- i n c l u d e M a k e f i l e . s e t t i n g s
2004-04-07 10:15:11 +00:00
2004-06-20 12:43:16 +00:00
# Docs to build
MAIN_DOCS = $( patsubst %/index.xml,$( DOCBOOKDIR) /%.xml,$( wildcard */index.xml) )
MANPAGES = $( wildcard $( MANPAGEDIR) /*.?.xml)
2004-04-07 10:15:11 +00:00
# Lists of files to process
LATEX_FIGURES = xslt/figures/caution.pdf xslt/figures/important.pdf xslt/figures/note.pdf xslt/figures/tip.pdf xslt/figures/warning.pdf
2004-12-07 16:54:57 +00:00
MANPAGES_PLUCKER = $( patsubst $( MANPAGEDIR) /%.xml,$( PLUCKERDIR) /%.pdb,$( MANPAGES) )
2004-06-20 12:43:16 +00:00
2005-01-29 20:05:52 +00:00
i f n d e f O U T P U T D I R
Makefile.settings : Makefile .settings .in configure
@echo Makefile.settings not present, trying to run configure...
@./configure
configure : configure .in
@echo configure not present, trying to generate
@autoreconf
e n d i f
2004-04-23 14:23:36 +00:00
help :
2004-04-07 10:15:11 +00:00
@echo "Supported make targets:"
2004-06-20 12:43:16 +00:00
@echo " release - Build the docs needed for a Samba release"
@echo " all - Build all docs that can be build using the utilities found by configure"
@echo " everything - Build all of the above"
@echo " pdf,tex,dvi,ps,manpages,txt,pearson,fo,htmlhelp - Build specific output format"
@echo " html - Build multi-file HTML version of HOWTO Collection, Guide and Dev-Guide"
@echo " html-single - Build single-file HTML version of HOWTO Collection, Guide and Dev-Guide"
@echo " htmlman - Build HTML version of manpages"
@echo " undocumented - Output list of undocumented smb.conf options"
@echo " samples - Extract examples"
@echo " files - Extract other files"
2005-01-29 20:05:52 +00:00
2004-06-20 12:43:16 +00:00
Samba-Guide/index.xml : $( subst Samba -Guide /index .xml ,,$ ( wildcard Samba -Guide /*.xml ) )
Samba-HOWTO-Collection/index.xml : $( subst Samba -HOWTO -Collection /index .xml ,,$ ( wildcard Samba -HOWTO -Collection /*.xml ) ) Samba -HOWTO -Collection -attributions .xml
Samba-Developers-Guide/index.xml : $( subst Samba -Developers -Guide /index .xml ,,$ ( wildcard Samba -Developers -Guide /*.xml ) ) Samba -Developers -Guide -attributions .xml
# Pseudo targets
2005-02-01 13:01:10 +00:00
all : $( TARGETS )
2005-02-10 18:50:51 +00:00
everything : manpages pdf html -single html htmlman txt ps fo htmlhelp pearson validate
2004-07-08 16:03:02 +00:00
release : manpages htmlman html pdf
2004-04-07 10:15:11 +00:00
2004-06-20 12:43:16 +00:00
# Output format targets
pdf : $( patsubst $ ( DOCBOOKDIR ) /%.xml ,$ ( PDFDIR ) /%.pdf ,$ ( MAIN_DOCS ) )
dvi : $( patsubst $ ( DOCBOOKDIR ) /%.xml ,$ ( DVIDIR ) /%.dvi ,$ ( MAIN_DOCS ) )
ps : $( patsubst $ ( DOCBOOKDIR ) /%.xml ,$ ( PSDIR ) /%.ps ,$ ( MAIN_DOCS ) )
txt : $( patsubst $ ( DOCBOOKDIR ) /%.xml ,$ ( TXTDIR ) /%.txt ,$ ( MAIN_DOCS ) )
2005-02-05 21:02:41 +00:00
txt-chunks : $( patsubst $ ( DOCBOOKDIR ) /%.xml ,$ ( TXTDIR ) /%/,$ ( MAIN_DOCS ) )
2004-06-20 12:43:16 +00:00
fo : $( patsubst $ ( DOCBOOKDIR ) /%.xml ,$ ( FODIR ) /%.fo ,$ ( MAIN_DOCS ) )
2005-02-10 08:51:11 +00:00
fo-pdf : $( patsubst $ ( DOCBOOKDIR ) /%.xml ,$ ( FOPDFDIR ) /%.pdf ,$ ( MAIN_DOCS ) )
2004-06-20 12:43:16 +00:00
tex : $( patsubst $ ( DOCBOOKDIR ) /%.xml ,%.tex ,$ ( MAIN_DOCS ) )
manpages : $( patsubst $ ( MANPAGEDIR ) /%.xml ,$ ( MANDIR ) /%,$ ( MANPAGES ) )
pearson : $( PEARSONDIR ) /Samba -HOWTO -Collection .xml
pearson-verify : $( PEARSONDIR ) /Samba -HOWTO -Collection .report .html
plucker : $( patsubst $ ( DOCBOOKDIR ) /%.xml ,$ ( PLUCKERDIR ) /%.pdb ,$ ( MAIN_DOCS ) )
htmlman : $( patsubst $ ( MANPAGEDIR ) /%.xml ,$ ( HTMLDIR ) /%.html ,$ ( MANPAGES ) ) $( HTMLDIR ) /manpages .html
html-single : $( patsubst $ ( DOCBOOKDIR ) /%.xml ,$ ( HTMLDIR ) /%.html ,$ ( MAIN_DOCS ) )
html : $( patsubst $ ( DOCBOOKDIR ) /%.xml ,$ ( HTMLDIR ) /%/index .html ,$ ( MAIN_DOCS ) ) $( HTMLDIR ) /index .html
htmlhelp : $( patsubst $ ( DOCBOOKDIR ) /%.xml ,$ ( HTMLHELPDIR ) /%,$ ( MAIN_DOCS ) )
2004-04-07 10:15:11 +00:00
2004-06-20 12:43:16 +00:00
# Intermediate docbook docs
2004-04-07 10:15:11 +00:00
2004-06-26 15:43:54 +00:00
$(DOCBOOKDIR)/%.xml : %/index .xml xslt /expand -sambadoc .xsl
mkdir -p $( @D)
2004-07-10 18:10:36 +00:00
$( XSLTPROC) --stringparam latex.imagebasedir " $* / " --stringparam noreference 1 --xinclude --output $@ xslt/expand-sambadoc.xsl $<
2004-04-07 10:15:11 +00:00
2004-06-26 15:43:54 +00:00
$(DOCBOOKDIR)/%.xml : $( MANPAGEDIR ) /%.xml xslt /expand -sambadoc .xsl
mkdir -p $( @D)
2004-07-13 22:47:11 +00:00
$( XSLTPROC) --xinclude --stringparam latex.imagebasedir " $* / " --stringparam noreference 1 --output $@ xslt/expand-sambadoc.xsl $<
2004-04-07 10:15:11 +00:00
2004-12-07 16:54:57 +00:00
$(DOCBOOKDIR)/manpages.xml : $( MANPAGES ) xslt /manpage -summary .xsl
2004-06-26 15:43:54 +00:00
mkdir -p $( @D)
2004-06-20 12:43:16 +00:00
echo "<article><variablelist>" > $@
2004-12-07 16:54:57 +00:00
for I in $( MANPAGES) ; do $( XSLTPROC) xslt/manpage-summary.xsl $$ I >> $@ ; done
2004-06-20 12:43:16 +00:00
echo "</variablelist></article>" >> $@
2004-05-31 12:33:28 +00:00
2004-06-20 12:43:16 +00:00
# HTML docs
2004-06-14 21:25:16 +00:00
2004-06-26 15:43:54 +00:00
$(HTMLDIR)/index.html : htmldocs .html
mkdir -p $( @D)
2004-05-31 12:33:28 +00:00
cp $< $@
2004-04-26 22:46:47 +00:00
2004-06-26 15:43:54 +00:00
$(HTMLDIR)/%/index.html : $( DOCBOOKDIR ) /%.xml $( HTMLDIR ) /%/samba .css xslt /html -chunk .xsl
mkdir -p $( @D)
2004-06-20 12:43:16 +00:00
$( XSLTPROC) --stringparam base.dir " $( HTMLDIR) / $* / " xslt/html-chunk.xsl $<
2004-07-10 18:10:36 +00:00
-mkdir $( @D) /images
$( COPY_IMAGES) html $( DOCBOOKDIR) /$* .xml $* $( @D)
2004-04-07 10:15:11 +00:00
2004-06-20 12:43:16 +00:00
# Single large HTML files
$(OUTPUTDIR)/%/samba.css : xslt /html /samba .css
2004-06-26 15:43:54 +00:00
mkdir -p $( @D)
2004-06-20 12:43:16 +00:00
cp $< $@
2004-04-07 10:15:11 +00:00
2004-07-10 18:10:36 +00:00
$(HTMLDIR)/%.html : $( DOCBOOKDIR ) /%.xml $( HTMLDIR ) /samba .css xslt /html .xsl
mkdir -p $( @D) /images
$( COPY_IMAGES) html $( DOCBOOKDIR) /$* .xml $* $( @D)
2004-06-20 12:43:16 +00:00
$( XSLTPROC) --output $@ xslt/html.xsl $<
2004-04-07 10:15:11 +00:00
2004-06-20 12:43:16 +00:00
%-attributions.xml :
2005-02-10 20:27:44 +00:00
$( XSLTPROC) --xinclude -o $@ xslt/generate-attributions.xsl $* /index.xml
2004-04-07 10:15:11 +00:00
2004-11-07 02:16:31 +00:00
clobber : clean
2005-01-29 20:05:52 +00:00
rm Makefile.settings settings.xsl config.status config.log configure
2004-11-07 02:16:31 +00:00
2004-04-07 10:15:11 +00:00
clean :
2004-06-20 12:43:16 +00:00
rm -rf $( OUTPUTDIR) /* $( DOCBOOKDIR)
rm -f *.xml
2004-04-07 10:15:11 +00:00
rm -f xslt/figures/*pdf
2004-06-20 12:43:16 +00:00
rm -f $( SMBDOTCONFDOC) /parameters.*.xml
rm -f $( patsubst $( DOCBOOKDIR) /%.xml,%.*,$( MAIN_DOCS) )
2004-04-07 10:15:11 +00:00
# Text files
2004-06-26 15:43:54 +00:00
$(TXTDIR)/%.txt : $( HTMLDIR ) /%.html
mkdir -p $( @D)
2004-05-15 16:09:50 +00:00
$( HTML2TEXT) -nobs -style pretty -o $@ $<
2004-04-07 10:15:11 +00:00
2005-02-05 21:02:41 +00:00
$(TXTDIR)/%/ : $( HTMLDIR ) /%/index .html
$( MAKE) ` echo $( HTMLDIR) /$* /*.html | $( PERL) -p -e 's|$(HTMLDIR)|$(TXTDIR)|g;s/\.html/\.txt/g;' `
2004-04-07 10:15:11 +00:00
# Tex files
2004-06-20 12:43:16 +00:00
%.tex : $( DOCBOOKDIR ) /%.xml xslt /latex .xsl
2004-06-26 15:43:54 +00:00
mkdir -p $( @D)
2004-04-07 10:15:11 +00:00
$( XSLTPROC) --output $@ xslt/latex.xsl $<
latexfigures : $( LATEX_FIGURES )
2004-06-12 13:15:38 +00:00
2004-06-26 15:43:54 +00:00
$(PDFDIR)/%.pdf : %.pdf
mkdir -p $( @D)
cp $< $@
2004-09-04 13:13:48 +00:00
%.idx : %.tex latexfigures
2004-07-01 18:27:46 +00:00
-$( PDFLATEX) $<
2004-09-04 13:13:48 +00:00
%.ind : %.idx
$( MAKEINDEX) $<
# Adobe PDF files
%.pdf : %.tex %.ind latexfigures
2004-09-05 12:36:21 +00:00
$( MAKE) $( shell $( XSLTPROC) --stringparam prepend "" --stringparam append ".png" --stringparam role latex xslt/find-image-dependencies.xsl $( DOCBOOKDIR) /$* .xml)
2004-04-07 10:15:11 +00:00
-$( PDFLATEX) $<
2004-06-20 12:43:16 +00:00
$( THUMBPDF) $* .pdf
2004-04-07 10:15:11 +00:00
-$( PDFLATEX) $<
# DVI files
2004-06-26 15:43:54 +00:00
$(DVIDIR)/%.dvi : %.dvi
mkdir -p $( @D)
cp $< $@
2004-07-30 22:21:25 +00:00
%.dvi : %.tex %.idx
2004-07-10 18:10:36 +00:00
$( MAKE) $( shell $( XSLTPROC) --stringparam prepend "" --stringparam append ".eps" --stringparam role latex xslt/find-image-dependencies.xsl $( DOCBOOKDIR) /$* .xml)
2004-07-01 18:27:46 +00:00
-$( LATEX) $<
2004-09-05 12:36:21 +00:00
%.png : %.dia
$( DIA) -e $@ $<
2004-04-07 10:15:11 +00:00
%.eps : %.png
$( PNGTOPNM) $< | $( PNMTOPS) > $@
# PostScript files
2004-06-26 15:43:54 +00:00
$(PSDIR)/%.ps : $( DVIDIR ) /%.dvi
mkdir -p $( @D)
2004-04-07 10:15:11 +00:00
$( DVIPS) -o $@ $<
xslt/figures/%.pdf : xslt /figures /%.eps
$( EPSTOPDF) $<
2005-03-11 15:57:45 +00:00
# RTF files
$(RTFDIR)/%.rtf : $( DOCBOOKDIR ) /%.xml
$( XSLTPROC) --output $@ http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl $<
2004-06-14 13:47:11 +00:00
# Fo
2004-06-26 15:43:54 +00:00
$(FODIR)/%.fo : $( DOCBOOKDIR ) /%.xml
mkdir -p $( @D)
2004-06-14 13:47:11 +00:00
$( XSLTPROC) --output $@ http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl $<
2005-02-10 08:51:11 +00:00
# PDF thru Fo
$(FOPDFDIR)/%.pdf : $( FODIR ) /%.fo
mkdir -p $( @D)
2005-02-10 18:50:51 +00:00
$( FOP) -q -d $< -pdf $@
2005-02-10 08:51:11 +00:00
2004-07-10 18:10:36 +00:00
$(HTMLHELPDIR)/% : $( DOCBOOKDIR ) /%.xml
-mkdir -p $@ /images
$( COPY_IMAGES) html $( DOCBOOKDIR) /$* .xml $* $@
2004-06-20 12:43:16 +00:00
$( XSLTPROC) --stringparam htmlhelp.chm $* .chm --stringparam manifest.in.base.dir " $@ / " --stringparam base.dir " $@ / " http://docbook.sourceforge.net/release/xsl/current/htmlhelp/htmlhelp.xsl $<
2004-04-26 22:46:47 +00:00
2004-06-20 12:43:16 +00:00
# Plucker docs
2004-12-07 16:54:57 +00:00
$(PLUCKERDIR)/%.pdb : $( HTMLDIR ) /%.html
2004-06-26 15:43:54 +00:00
mkdir -p $( @D)
2005-03-11 15:57:45 +00:00
$( PLUCKERBUILD) -v -V 2 --stayonhost --zlib-compression -f $* -p $( PLUCKERDIR) file:$<
2004-04-07 10:15:11 +00:00
# Manpages
2004-06-16 16:20:05 +00:00
$(MANPAGEDIR)/smb.conf.5.xml : $( SMBDOTCONFDOC ) /parameters .all .xml $( SMBDOTCONFDOC ) /parameters .service .xml $( SMBDOTCONFDOC ) /parameters .global .xml
2004-04-07 10:15:11 +00:00
2004-06-20 12:43:16 +00:00
$(SMBDOTCONFDOC)/parameters.all.xml : $( shell find $ ( SMBDOTCONFDOC ) -type f -name '*.xml ' -mindepth 2 | sort -t / -k 3 | xargs ) $( SMBDOTCONFDOC ) /generate -file -list .sh
$( SMBDOTCONFDOC) /generate-file-list.sh $( SMBDOTCONFDOC) > $@
2004-04-07 10:15:11 +00:00
2004-06-20 12:43:16 +00:00
$(SMBDOTCONFDOC)/parameters.global.xml : $( SMBDOTCONFDOC ) /parameters .all .xml $( SMBDOTCONFDOC ) /generate -context .xsl
2004-06-16 16:20:05 +00:00
$( XSLTPROC) --xinclude --param smb.context "'G'" --output $( SMBDOTCONFDOC) /parameters.global.xml $( SMBDOTCONFDOC) /generate-context.xsl $<
2004-04-07 10:15:11 +00:00
2004-06-20 12:43:16 +00:00
$(SMBDOTCONFDOC)/parameters.service.xml : $( SMBDOTCONFDOC ) /parameters .all .xml $( SMBDOTCONFDOC ) /generate -context .xsl
2004-06-16 16:20:05 +00:00
$( XSLTPROC) --xinclude --param smb.context "'S'" --output $( SMBDOTCONFDOC) /parameters.service.xml $( SMBDOTCONFDOC) /generate-context.xsl $<
2004-04-07 10:15:11 +00:00
2004-06-20 12:43:16 +00:00
$(MANDIR)/% : $( DOCBOOKDIR ) /%.xml xslt /man .xsl
2004-06-26 15:43:54 +00:00
mkdir -p $( @D)
2004-04-07 10:15:11 +00:00
$( XSLTPROC) --output $@ xslt/man.xsl $<
2005-01-07 16:04:34 +00:00
# Individual smb.conf parameters
smb.conf-chunks : $( patsubst $ ( SMBDOTCONFDOC ) /%.xml ,$ ( HTMLDIR ) /smb .conf /%.html ,$ ( wildcard $ ( SMBDOTCONFDOC ) /*/*.xml ) )
$(HTMLDIR)/smb.conf/%.html : $( SMBDOTCONFDOC ) /%.xml
mkdir -p $( @D)
$( XSLTPROC) --output $@ xslt/smb.conf-html.xsl $<
2004-06-20 12:43:16 +00:00
# Pearson compatible XML
2004-10-05 13:20:54 +00:00
$(PEARSONDIR)/%.xml : %/index .xml xslt /pearson .xsl
2004-06-26 15:43:54 +00:00
mkdir -p $( @D)
2004-10-05 13:20:54 +00:00
$( XSLTPROC) --xinclude --output $@ xslt/sambadoc2pearson.xsl $<
2004-06-15 20:12:16 +00:00
2004-06-16 16:20:05 +00:00
$(PEARSONDIR)/%.report.html : $( PEARSONDIR ) /%.xml
2004-06-26 15:43:54 +00:00
mkdir -p $( @D)
2004-06-16 16:20:05 +00:00
$( XMLLINT) --valid --noout --htmlout $< 2> $@
2004-06-20 12:43:16 +00:00
# Validation verification
2004-06-15 20:12:16 +00:00
2005-02-10 20:27:44 +00:00
$(VALIDATEDIR)/%.report.html : %/index .xml
2004-06-26 15:43:54 +00:00
mkdir -p $( @D)
2005-02-10 20:27:44 +00:00
$( XMLLINT) --xinclude --postvalid --noout --htmlout $< 2> $@
2004-05-20 20:33:00 +00:00
2005-02-10 18:50:51 +00:00
validate : $( VALIDATEDIR ) /Samba -HOWTO -Collection .report .html $( VALIDATEDIR ) /Samba -Developers -Guide .report .html $( VALIDATEDIR ) /Samba -Guide .report .html
2004-05-20 20:33:00 +00:00
2004-04-07 10:15:11 +00:00
# Find undocumented parameters
2004-06-20 12:43:16 +00:00
undocumented : $( SMBDOTCONFDOC ) /parameters .all .xml scripts /find_missing_doc .pl scripts /find_missing_manpages .pl
2004-05-15 16:36:15 +00:00
@$( PERL) scripts/find_missing_doc.pl $( SRCDIR)
2004-05-15 18:08:19 +00:00
@$( PERL) scripts/find_missing_manpages.pl $( SRCDIR)
2004-04-07 10:15:11 +00:00
# Examples and the like
2005-03-11 15:57:45 +00:00
files : Samba -HOWTO -Collection /index .xml xslt /extract -smbfiles .xsl
2004-04-07 10:15:11 +00:00
$( XSLTPROC) xslt/extract-smbfiles.xsl $< > /dev/null
2004-06-26 15:43:54 +00:00
samples : $( DOCBOOKDIR ) /Samba -HOWTO -Collection .xml xslt /extract -examples .xsl scripts /indent -smb .conf .pl
mkdir -p $( EXAMPLESDIR)
2004-06-20 12:43:16 +00:00
$( XSLTPROC) --xinclude xslt/extract-examples.xsl $< > /dev/null 2> examples/README
2004-04-07 10:15:11 +00:00
for I in examples/*.conf; do { ./scripts/indent-smb.conf.pl < $$ I > $$ I.tmp; mv $$ I.tmp $$ I; } done
2004-06-20 12:43:16 +00:00
# Archiving
2004-11-18 11:03:57 +00:00
archive : pdf
2004-06-26 15:43:54 +00:00
mkdir -p $( ARCHIVEDIR)
2004-11-18 11:03:57 +00:00
cp $( PDFDIR) /Samba-HOWTO-Collection.pdf $( ARCHIVEDIR) /TOSHARG-` date +%Y%m%d%H%M%S` .pdf
cp $( PDFDIR) /Samba-Guide.pdf $( ARCHIVEDIR) /S3bE-` date +%Y%m%d%H%M%S` .pdf
2004-06-20 12:43:16 +00:00
# XSL scripts
xslt/html.xsl : xslt /html -common .xsl settings .xsl
xslt/html-chunk.xsl : xslt /html -common .xsl settings .xsl
xslt/latex.xsl : settings .xsl
xslt/expand-sambadoc.xsl : settings .xsl
xslt/generate-attributions.xsl :
xslt/man.xsl :
xslt/pearson.xsl :
2004-07-01 18:27:46 +00:00
.SECONDARY :