1 #################################################################
2 # Makefile.in for Samba Documentation
4 # James Moore <jmoore@php.net>
5 # Gerald Carter <jerry@samba.org>
6 # Jelmer Vernooij <jelmer@samba.org>
17 HTML2TEXT
= @HTML2TEXT@
18 PLUCKERBUILD
= @PLUCKERBUILD@
20 PDFLATEX
= TEXINPUTS
=xslt
/latex
:.
: @PDFLATEX@
--file-line-error-style
21 LATEX
= TEXINPUTS
=xslt
/latex
:.
: @LATEX@
--file-line-error-style
24 PDFLATEX
+= --interaction nonstopmode
25 LATEX
+= --interaction nonstopmode
30 ARCHIVEDIR
= $(OUTPUTDIR
)/archive
31 SRCDIR
= @SAMBASOURCEDIR@
32 MANDIR
= $(OUTPUTDIR
)/manpages
35 MAKEINDEX
= @MAKEINDEX@
36 EXAMPLESDIR
= examples
37 SMBDOTCONFDOC
= smbdotconf
43 HTMLHELPDIR
= $(OUTPUTDIR
)/htmlhelp
44 VALIDATEDIR
= $(OUTPUTDIR
)/validate
45 PEARSONDIR
= $(OUTPUTDIR
)/pearson
46 TXTDIR
= $(OUTPUTDIR
)/textdocs
47 HTMLDIR
=$(OUTPUTDIR
)/htmldocs
48 PLUCKERDIR
=$(OUTPUTDIR
)/plucker
51 MAIN_DOCS
= $(patsubst %/index.xml
,$(DOCBOOKDIR
)/%.xml
,$(wildcard */index.xml
))
52 MANPAGES
= $(wildcard $(MANPAGEDIR
)/*.?.xml
)
54 # Lists of files to process
55 LATEX_FIGURES
= xslt
/figures
/caution.pdf xslt
/figures
/important.pdf xslt
/figures
/note.pdf xslt
/figures
/tip.pdf xslt
/figures
/warning.pdf
56 MANPAGES_PLUCKER
= $(patsubst $(MANPAGEDIR
)/%.xml
,$(PLUCKERDIR
)/%.pdb
,$(MANPAGES_SOURCES
))
58 Samba_HOWTO_Collection_IMAGES_PNG
= $(wildcard Samba-HOWTO-Collection
/imagefiles
/*.png
)
59 Samba_Guide_IMAGES_PNG
= $(wildcard Samba-Guide
/images
/*.png
)
61 Samba_HOWTO_Collection_IMAGEDIR
= Samba-HOWTO-Collection
/imagefiles
62 Samba_Guide_IMAGEDIR
= Samba-Guide
/images
64 Samba_HOWTO_Collection_IMAGES_EPS
= $(patsubst %.png
,%.eps
,$(Samba_HOWTO_Collection_IMAGES_PNG
))
65 Samba_Guide_IMAGES_EPS
= $(patsubst %.png
,%.eps
,$(Samba_Guide_IMAGES_PNG
))
68 @echo
"Supported make targets:"
69 @echo
" release - Build the docs needed for a Samba release"
70 @echo
" all - Build all docs that can be build using the utilities found by configure"
71 @echo
" everything - Build all of the above"
72 @echo
" pdf,tex,dvi,ps,manpages,txt,pearson,fo,htmlhelp - Build specific output format"
73 @echo
" html - Build multi-file HTML version of HOWTO Collection, Guide and Dev-Guide"
74 @echo
" html-single - Build single-file HTML version of HOWTO Collection, Guide and Dev-Guide"
75 @echo
" htmlman - Build HTML version of manpages"
76 @echo
" undocumented - Output list of undocumented smb.conf options"
77 @echo
" samples - Extract examples"
78 @echo
" files - Extract other files"
80 Samba-Guide
/index.xml
: $(subst Samba-Guide
/index.xml
,,$(wildcard Samba-Guide
/*.xml
))
81 Samba-HOWTO-Collection
/index.xml
: $(subst Samba-HOWTO-Collection
/index.xml
,,$(wildcard Samba-HOWTO-Collection
/*.xml
)) Samba-HOWTO-Collection-attributions.xml
82 Samba-Developers-Guide
/index.xml
: $(subst Samba-Developers-Guide
/index.xml
,,$(wildcard Samba-Developers-Guide
/*.xml
)) Samba-Developers-Guide-attributions.xml
86 everything
: manpages pdf html-single html htmlman txt ps fo htmlhelp pearson verify
87 release
: manpages htmlman html pdf guide
89 # Output format targets
90 pdf
: $(patsubst $(DOCBOOKDIR
)/%.xml
,$(PDFDIR
)/%.pdf
,$(MAIN_DOCS
))
91 dvi: $(patsubst $(DOCBOOKDIR
)/%.xml
,$(DVIDIR
)/%.
dvi,$(MAIN_DOCS
))
92 ps
: $(patsubst $(DOCBOOKDIR
)/%.xml
,$(PSDIR
)/%.ps
,$(MAIN_DOCS
))
93 txt
: $(patsubst $(DOCBOOKDIR
)/%.xml
,$(TXTDIR
)/%.txt
,$(MAIN_DOCS
))
94 fo
: $(patsubst $(DOCBOOKDIR
)/%.xml
,$(FODIR
)/%.fo
,$(MAIN_DOCS
))
95 tex: $(patsubst $(DOCBOOKDIR
)/%.xml
,%.
tex,$(MAIN_DOCS
))
96 manpages
: $(patsubst $(MANPAGEDIR
)/%.xml
,$(MANDIR
)/%,$(MANPAGES
))
97 pearson
: $(PEARSONDIR
)/Samba-HOWTO-Collection.xml
98 pearson-verify
: $(PEARSONDIR
)/Samba-HOWTO-Collection.report.html
99 plucker
: $(patsubst $(DOCBOOKDIR
)/%.xml
,$(PLUCKERDIR
)/%.pdb
,$(MAIN_DOCS
))
100 htmlman
: $(patsubst $(MANPAGEDIR
)/%.xml
,$(HTMLDIR
)/%.html
,$(MANPAGES
)) $(HTMLDIR
)/manpages.html
101 html-single
: $(patsubst $(DOCBOOKDIR
)/%.xml
,$(HTMLDIR
)/%.html
,$(MAIN_DOCS
))
102 html
: $(patsubst $(DOCBOOKDIR
)/%.xml
,$(HTMLDIR
)/%/index.html
,$(MAIN_DOCS
)) $(HTMLDIR
)/index.html
103 htmlhelp
: $(patsubst $(DOCBOOKDIR
)/%.xml
,$(HTMLHELPDIR
)/%,$(MAIN_DOCS
))
105 # Intermediate docbook docs
107 $(DOCBOOKDIR
)/%.xml
: %/index.xml xslt
/expand-sambadoc.xsl
109 $(XSLTPROC
) --stringparam noreference
1 --stringparam imagedir
"$($(subst -,_,$*)_IMAGEDIR)/" --xinclude
--output
$@ xslt
/expand-sambadoc.xsl
$<
111 $(DOCBOOKDIR
)/%.xml
: $(MANPAGEDIR
)/%.xml xslt
/expand-sambadoc.xsl
113 $(XSLTPROC
) --stringparam noreference
1 --output
$@ xslt
/expand-sambadoc.xsl
$<
115 $(DOCBOOKDIR
)/manpages.xml
: $(MANPAGES_SOURCES
) xslt
/manpage-summary.xsl
117 echo
"<article><variablelist>" > $@
118 for I in
$(MANPAGES_SOURCES
); do
$(XSLTPROC
) xslt
/manpage-summary.xsl
$$I >> $@
; done
119 echo
"</variablelist></article>" >> $@
123 $(HTMLDIR
)/index.html
: htmldocs.html
127 $(HTMLDIR
)/%/index.html
: $(DOCBOOKDIR
)/%.xml
$(HTMLDIR
)/%/samba.css xslt
/html-chunk.xsl
129 $(XSLTPROC
) --stringparam base.
dir "$(HTMLDIR)/$*/" xslt
/html-chunk.xsl
$<
130 -mkdir
$(HTMLDIR
)/$*/images
132 # Single large HTML files
133 $(OUTPUTDIR
)/%/samba.css
: xslt
/html
/samba.css
137 $(HTMLDIR
)/%.html
: $(DOCBOOKDIR
)/%.xml
$(HTMLDIR
)/samba.css
$(patsubst %.png
,$(HTMLDIR
)/images
/%.png
,$(%_IMAGES_PNG
)) xslt
/html.xsl
139 $(XSLTPROC
) --output
$@ xslt
/html.xsl
$<
143 $(XSLTPROC
) --xinclude xslt
/generate-attributions.xsl
$*/index.xml
> $@
146 rm -rf
$(OUTPUTDIR
)/* $(DOCBOOKDIR
)
148 rm -f xslt
/figures
/*pdf
149 rm -f
$(SMBDOTCONFDOC
)/parameters.
*.xml
150 rm -f
$(patsubst $(DOCBOOKDIR
)/%.xml
,%.
*,$(MAIN_DOCS
))
153 $(TXTDIR
)/%.txt
: $(HTMLDIR
)/%.html
155 $(HTML2TEXT
) -nobs
-style pretty
-o
$@
$<
158 %.
tex: $(DOCBOOKDIR
)/%.xml xslt
/latex.xsl
160 $(XSLTPROC
) --output
$@ xslt
/latex.xsl
$<
163 $(WGET
) http
://www.gnu.org
/licenses
/gpl.
tex
165 latexfigures
: $(LATEX_FIGURES
)
167 $(PDFDIR
)/%.pdf
: %.pdf
172 %.pdf
: %.
tex latexfigures gpl.
tex $(%_IMAGES_PNG
)
180 $(DVIDIR
)/%.
dvi: %.
dvi
184 %.
dvi: %.
tex %.idx gpl.
tex $(%_IMAGES_EPS
)
191 $(PNGTOPNM
) $< |
$(PNMTOPS
) > $@
194 $(PSDIR
)/%.ps
: $(DVIDIR
)/%.
dvi
198 xslt
/figures
/%.pdf
: xslt
/figures
/%.eps
202 $(FODIR
)/%.fo
: $(DOCBOOKDIR
)/%.xml
204 $(XSLTPROC
) --output
$@ http
://docbook.sourceforge.net
/release
/xsl
/current
/fo
/docbook.xsl
$<
207 $(HTMLHELPDIR
)/%/images
/%.png
: $(%_IMAGEDIR
)/%.png
211 $(HTMLHELPDIR
)/%: $(DOCBOOKDIR
)/%.xml
#$(patsubst $(%_IMAGEDIR)/%.png,$(HTMLHELPDIR)/%/images/%.png,$(%_IMAGEDIR)/*.png)
213 $(XSLTPROC
) --stringparam htmlhelp.chm
$*.chm
--stringparam manifest.in.base.
dir "$@/" --stringparam base.
dir "$@/" http
://docbook.sourceforge.net
/release
/xsl
/current
/htmlhelp
/htmlhelp.xsl
$<
216 $(PLUCKERDIR
)/%.pdb
: $(HTMLDIR
)/%.html
$(PLUCKERDIR
)
218 $(PLUCKERBUILD
) -v
-M1
--stayonhost
--noimages
--zlib-compression
-H file
:$< -f
$* -p
$(PLUCKERDIR
)
221 $(MANPAGEDIR
)/smb.conf
.5.xml
: $(SMBDOTCONFDOC
)/parameters.
all.xml
$(SMBDOTCONFDOC
)/parameters.service.xml
$(SMBDOTCONFDOC
)/parameters.global.xml
223 $(SMBDOTCONFDOC
)/parameters.
all.xml
: $(shell find
$(SMBDOTCONFDOC
) -type f
-name
'*.xml' -mindepth
2 |
sort -t
/ -k3 | xargs
) $(SMBDOTCONFDOC
)/generate-file-list.sh
224 $(SMBDOTCONFDOC
)/generate-file-list.sh
$(SMBDOTCONFDOC
) > $@
226 $(SMBDOTCONFDOC
)/parameters.global.xml
: $(SMBDOTCONFDOC
)/parameters.
all.xml
$(SMBDOTCONFDOC
)/generate-context.xsl
227 $(XSLTPROC
) --xinclude
--param smb.context
"'G'" --output
$(SMBDOTCONFDOC
)/parameters.global.xml
$(SMBDOTCONFDOC
)/generate-context.xsl
$<
229 $(SMBDOTCONFDOC
)/parameters.service.xml
: $(SMBDOTCONFDOC
)/parameters.
all.xml
$(SMBDOTCONFDOC
)/generate-context.xsl
230 $(XSLTPROC
) --xinclude
--param smb.context
"'S'" --output
$(SMBDOTCONFDOC
)/parameters.service.xml
$(SMBDOTCONFDOC
)/generate-context.xsl
$<
232 $(MANDIR
)/%: $(DOCBOOKDIR
)/%.xml xslt
/man.xsl
234 $(XSLTPROC
) --output
$@ xslt
/man.xsl
$<
236 # Pearson compatible XML
238 $(PEARSONDIR
)/%.xml
: $(DOCBOOKDIR
)/%.xml xslt
/pearson.xsl
240 $(XSLTPROC
) --xinclude
--output
$@ xslt
/pearson.xsl
$<
242 $(PEARSONDIR
)/%.report.html
: $(PEARSONDIR
)/%.xml
244 $(XMLLINT
) --valid
--noout
--htmlout
$< 2> $@
246 # Validation verification
248 $(VALIDATEDIR
)/%.report.html
: $(DOCBOOKDIR
)/%.xml
250 $(XMLLINT
) --valid
--noout
--htmlout
$< 2> $@
252 verify
: $(VALIDATEDIR
)/Samba-HOWTO-Collection.report.html
$(VALIDATEDIR
)/Samba-Developers-Guide.report.html
$(VALIDATEDIR
)/Samba-Guide.report.html
254 # Find undocumented parameters
256 undocumented
: $(SMBDOTCONFDOC
)/parameters.
all.xml scripts
/find_missing_doc.pl scripts
/find_missing_manpages.pl
257 @
$(PERL
) scripts
/find_missing_doc.pl
$(SRCDIR
)
258 @
$(PERL
) scripts
/find_missing_manpages.pl
$(SRCDIR
)
260 # Examples and the like
262 files
: $(HOWTODIR
)/index.xml xslt
/extract-smbfiles.xsl
263 $(XSLTPROC
) xslt
/extract-smbfiles.xsl
$< > /dev
/null
265 samples
: $(DOCBOOKDIR
)/Samba-HOWTO-Collection.xml xslt
/extract-examples.xsl scripts
/indent-smb.conf.pl
266 mkdir
-p
$(EXAMPLESDIR
)
267 $(XSLTPROC
) --xinclude xslt
/extract-examples.xsl
$< > /dev
/null
2> examples
/README
268 for I in examples
/*.conf
; do
{ .
/scripts
/indent-smb.conf.pl
< $$I > $$I.tmp
; mv
$$I.tmp
$$I; } done
272 mkdir
-p
$(ARCHIVEDIR
)
273 cp
$(PDFDIR
)/Samba-HOWTO-Collection.pdf
$(ARCHIVEDIR
)/TOSHARG-
`date +%Y%m%d`.pdf
274 cp
$(PDFDIR
)/Samba-Guide.pdf
$(ARCHIVEDIR
)/S3bE-
`date +%Y%m%d`.pdf
277 xslt
/html.xsl
: xslt
/html-common.xsl settings.xsl
278 xslt
/html-chunk.xsl
: xslt
/html-common.xsl settings.xsl
279 xslt
/latex.xsl
: settings.xsl
280 xslt
/expand-sambadoc.xsl
: settings.xsl
281 xslt
/generate-attributions.xsl
: