This commit was manufactured by cvs2svn to create branch 'SAMBA_3_0'.(This used to...
[kai/samba.git] / docs / docbook / Makefile.in
1 #################################################################
2 # Makefile.in for Samba Documentation
3 # Authors:      James Moore <jmoore@php.net>
4 #                       Gerald Carter <jerry@samba.org>
5 #                       Jelmer Vernooij <jelmer@samba.org>
6 #
7 # Please see http://www.samba.org/samba/cvs.html
8 # for information on getting the latest  
9 # source and documentation source files.  
10 #
11
12 # Autoconf Variables
13
14 MANPAGES_NAMES=findsmb.1 smbclient.1 \
15         smbspool.8 lmhosts.5 \
16         smbcontrol.1 smbstatus.1 \
17         smbd.8 net.8 smbtar.1 nmbd.8 \
18         smbmnt.8 smbumount.8 nmblookup.1 \
19         smbmount.8 swat.8 rpcclient.1 \
20         smbpasswd.5 testparm.1 samba.7 \
21         smbpasswd.8 testprns.1 \
22         smb.conf.5 wbinfo.1 pdbedit.8 \
23         smbcacls.1 smbsh.1 winbindd.8 \
24         tdbbackup.8 vfstest.1 \
25         profiles.1 smbtree.1 ntlm_auth.1 \
26         editreg.1 smbcquotas.1
27
28 ## This part contains only rules. You shouldn't need to change it 
29 ## if you are adding docs
30
31 XSLTPROC = @XSLTPROC@
32 PDFLATEX = @PDFLATEX@
33 LATEX = @LATEX@
34 DVIPS = @DVIPS@
35 HTMLDOC = @HTMLDOC@
36 SRCDIR = @srcdir@
37 MANDIR=../manpages
38 HTMLDIR=../htmldocs
39 MANPROJDOC = manpages
40 PROJDOC = projdoc
41 DEVDOC = devdoc
42 XMLTO = @XMLTO@
43 SMBDOTCONFDOC = smbdotconf
44 PSDIR = ..
45 PDFDIR = ..
46 DVIDIR = ..
47 TXTDIR = ../textdocs
48 FAQPROJDOC = faq
49 FAQDIR = ../faq
50
51 MANPAGES=$(patsubst %,$(MANDIR)/%,$(MANPAGES_NAMES))
52 MANPAGES_HTML=$(patsubst %,$(HTMLDIR)/%.html,$(MANPAGES_NAMES))
53
54 all: 
55         @echo "Supported make targets:"
56         @echo "manpages - Build manpages"
57         @echo "pdf - Build PDF version of HOWTO Collection and Developers Guide"
58         @echo "tex - Build Latex version of HOWTO Collection and Developers Guide"
59         @echo "dvi - Build Device Independant Files of HOWTO Collection and Developers Guide"
60         @echo "ps - Build PostScript version of HOWTO Collection and Developers Guide"
61         @echo "txt - Build plain text version of HOWTO Collection and Developers Guide"
62         @echo -n "html-single - Build single file HTML version of HOWTO Collection"
63         @echo " and developers guide"
64         @echo "html - Build HTML version of HOWTO Collection and Developers Guide"
65         @echo "htmlman - Build html version of manpages"
66         @echo "htmlfaq - Build html version of the FAQ"
67         @echo "everything - Build all of the above"
68
69 everything: manpages pdf html-single html htmlman htmlfaq txt ps
70
71 # Global rules
72
73 manpages: $(MANDIR) $(MANPAGES)
74 tex: samba-doc.tex dev-doc.tex
75 pdf: $(PDFDIR) $(PDFDIR)/Samba-HOWTO-Collection.pdf $(PDFDIR)/Samba-Developers-Guide.pdf
76 dvi: $(DVIDIR) $(DVIDIR)/Samba-HOWTO-Collection.dvi $(DVIDIR)/Samba-Developers-Guide.dvi
77 ps: $(PSDIR) $(PSDIR)/Samba-HOWTO-Collection.ps $(PSDIR)/Samba-Developers-Guide.ps
78 hpdf: $(PDFDIR) $(PDFDIR)/Samba-HOWTO-Collection.pdf
79 txt: $(TXTDIR) $(TXTDIR)/Samba-HOWTO-Collection.txt $(TXTDIR)/Samba-Developers-Guide.txt
80 htmlman: $(HTMLDIR) $(MANPAGES_HTML) CSS
81 htmlfaq: $(HTMLDIR) CSS
82         @$(XSLTPROC) --stringparam base.dir "$(FAQDIR)/" --stringparam root.filename samba-faq xslt/html-chunk.xsl $(FAQPROJDOC)/sambafaq.xml
83 html-single: $(HTMLDIR) CSS $(HTMLDIR)/Samba-HOWTO-Collection.html  $(HTMLDIR)/Samba-Developers-Guide.html
84 html: $(HTMLDIR) CSS
85         @$(XSLTPROC) xslt/html-chunk.xsl $(PROJDOC)/samba-doc.xml
86
87 # Text files
88 $(TXTDIR):
89         mkdir $(TXTDIR)
90
91 $(TXTDIR)/Samba-HOWTO-Collection.txt: $(PROJDOC)/samba-doc.xml
92         @echo "Converting samba-doc to plain text..."
93         @$(XMLTO) txt -o $(TXTDIR) $<
94         @mv $(TXTDIR)/samba-doc.txt $(TXTDIR)/Samba-HOWTO-Collection.txt
95
96 $(TXTDIR)/Samba-Developers-Guide.txt: $(DEVDOC)/dev-doc.xml
97         @echo "Converting dev-doc to plain text..."
98         @$(XMLTO) txt -o $(TXTDIR) $<
99         @mv $(TXTDIR)/dev-doc.txt $(TXTDIR)/Samba-Developers-Guide.txt
100
101 # Tex files
102 samba-doc.tex: $(PROJDOC)/samba-doc.xml
103         @echo "Converting samba-doc to LaTeX..."
104         @$(XSLTPROC) --output $@ xslt/latex.xsl $<
105         
106 dev-doc.tex: $(DEVDOC)/dev-doc.xml
107         @echo "Converting dev-doc to LaTeX..."
108         @$(XSLTPROC) --output $@ xslt/latex.xsl $<
109
110 # Adobe PDF files
111 $(PDFDIR)/Samba-HOWTO-Collection.pdf: samba-doc.tex
112         @echo "Building LaTeX sources via $(PDFLATEX)..."
113         @$(PDFLATEX) $< | grep 'Rerun to get cross-references right' && \
114         $(PDFLATEX) $< | grep 'Rerun to get cross-references right' && \
115         $(PDFLATEX) $< || echo
116         @echo "done"
117         @mv samba-doc.pdf $@
118
119 $(PDFDIR)/Samba-Developers-Guide.pdf: dev-doc.tex
120         @echo "Building LaTeX sources via $(PDFLATEX)..."
121         @$(PDFLATEX) $< | grep 'Rerun to get cross-references right' && \
122         $(PDFLATEX) $< | grep 'Rerun to get cross-references right' && \
123         $(PDFLATEX) $< || echo 
124         @echo "done"
125         @mv dev-doc.pdf $@
126
127 # DVI files
128 $(DVIDIR)/Samba-HOWTO-Collection.dvi: samba-doc.tex
129         @echo "Building LaTeX sources via $(LATEX)..."
130         @$(LATEX) $< 2>&1 | grep 'Rerun to get cross-references right' && \
131         $(LATEX) $< 2>&1 | grep 'Rerun to get cross-references right' && \
132         $(LATEX) $< 2>&1 || echo
133         @echo "done"
134         @mv samba-doc.dvi $@
135
136 $(DVIDIR)/Samba-Developers-Guide.dvi: dev-doc.tex
137         @echo "Building LaTeX sources via $(LATEX)..."
138         @$(LATEX) $< 2>&1 | grep 'Rerun to get cross-references right' && \
139         $(LATEX) $< 2>&1 | grep 'Rerun to get cross-references right' && \
140         $(LATEX) $< 2>&1 || echo 
141         @echo "done"
142         @mv dev-doc.dvi $@
143
144 # PostScript files
145 $(PSDIR)/Samba-HOWTO-Collection.ps: $(DVIDIR)/Samba-HOWTO-Collection.dvi
146         $(DVIPS) -o $@ $<
147
148 $(PSDIR)/Samba-Developers-Guide.ps: $(DVIDIR)/Samba-Developers-Guide.dvi
149         $(DVIPS) -o $@ $<
150
151 # Single large HTML files
152
153 $(HTMLDIR):
154         @mkdir $(HTMLDIR)
155
156 CSS: $(HTMLDIR) xslt/html/samba.css
157         @cp xslt/html/samba.css $(HTMLDIR)/
158
159 $(HTMLDIR)/Samba-HOWTO-Collection.html: $(PROJDOC)/samba-doc.xml
160         @$(XSLTPROC) --output $@ xslt/html.xsl $<
161
162 $(HTMLDIR)/Samba-Developers-Guide.html: $(DEVDOC)/dev-doc.xml
163         @$(XSLTPROC) --output $@ xslt/html.xsl $<
164
165
166 $(HTMLDIR)/%.html: $(MANPROJDOC)/%.xml
167         @$(XSLTPROC) --output $@ xslt/html.xsl $<
168
169 # Manpages
170 $(SMBDOTCONFDOC)/parameters.all.xml: $(SMBDOTCONFDOC)/generate-file-list.sh
171         @cd $(SMBDOTCONFDOC) && \
172         /bin/sh generate-file-list.sh >parameters.all.xml && \
173         cd ..
174
175 $(SMBDOTCONFDOC)/parameters.global.xml: $(SMBDOTCONFDOC)/parameters.all.xml $(SMBDOTCONFDOC)/generate-context.xsl
176         @cd $(SMBDOTCONFDOC) && \
177         $(XSLTPROC) --xinclude \
178         --param smb.context "'G'" \
179         --output parameters.global.xml \
180         generate-context.xsl parameters.all.xml && \
181         cd ..
182
183 $(SMBDOTCONFDOC)/parameters.service.xml: $(SMBDOTCONFDOC)/parameters.all.xml $(SMBDOTCONFDOC)/generate-context.xsl
184         @cd $(SMBDOTCONFDOC) && \
185         $(XSLTPROC) --xinclude \
186         --param smb.context "'S'" \
187         --output parameters.service.xml \
188         generate-context.xsl parameters.all.xml && \
189         cd ..
190
191 $(MANPROJDOC)/smb.conf.5.xml: $(SMBDOTCONFDOC)/smb.conf.5.xml $(SMBDOTCONFDOC)/parameters.all.xml \
192                         $(SMBDOTCONFDOC)/parameters.global.xml $(SMBDOTCONFDOC)/parameters.service.xml \
193                         $(SMBDOTCONFDOC)/expand-smb.conf.xsl
194         @$(XSLTPROC) --xinclude --output $(MANPROJDOC)/smb.conf.5.xml $(SMBDOTCONFDOC)/expand-smb.conf.xsl $(SMBDOTCONFDOC)/smb.conf.5.xml
195
196 $(MANDIR): 
197         mkdir $(MANDIR)
198
199 $(MANDIR)/%: $(MANPROJDOC)/%.xml
200         @$(XSLTPROC) xslt/man.xsl $<
201
202 clean: 
203         @rm -f $(MANPAGES) $(MANPAGES_HTML) $(HTMLDIR)/*.html $(HTMLDIR)/*.css $(TXTDIR)/*.txt $(PSDIR)/*.ps $(PDFDIR)/*.pdf 
204         @rm -f $(MANPROJDOC)/smb.conf.5.xml $(SMBDOTCONFDOC)/parameters.*.xml
205         @rm -f samba-doc.* dev-doc.*
206