Allow me to make just the HOWTO. We can remove this later.
[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 HTMLDOC = @HTMLDOC@
34 SRCDIR = @srcdir@
35 MANDIR=../manpages
36 HTMLDIR=../htmldocs
37 MANPROJDOC = manpages
38 PROJDOC = projdoc
39 DEVDOC = devdoc
40 XMLTO = @XMLTO@
41 SMBDOTCONFDOC = smbdotconf
42 PSDIR = ..
43 PDFDIR = ..
44 TXTDIR = ../textdocs
45 FAQPROJDOC = faq
46 FAQDIR = ../faq
47
48 MANPAGES=$(patsubst %,$(MANDIR)/%,$(MANPAGES_NAMES))
49 MANPAGES_HTML=$(patsubst %,$(HTMLDIR)/%.html,$(MANPAGES_NAMES))
50
51 all: 
52         @echo "Supported make targets:"
53         @echo "manpages - Build manpages"
54         @echo "pdf - Build PDF version of HOWTO Collection and Developers Guide"
55         @echo "txt - Build plain text version of HOWTO Collection and Developers Guide"
56         @echo -n "html-single - Build single file HTML version of HOWTO Collection"
57         @echo " and developers guide"
58         @echo "html - Build HTML version of HOWTO Collection and Developers Guide"
59         @echo "htmlman - Build html version of manpages"
60         @echo "htmlfaq - Build html version of the FAQ"
61         @echo "everything - Build all of the above"
62
63 everything: manpages pdf html-single html htmlman htmlfaq txt
64
65 # Global rules
66
67 manpages: $(MANDIR) $(MANPAGES)
68 pdf: $(PDFDIR) $(PDFDIR)/Samba-HOWTO-Collection.pdf $(PDFDIR)/Samba-Developers-Guide.pdf
69 hpdf: $(PDFDIR) $(PDFDIR)/Samba-HOWTO-Collection.pdf
70 txt: $(TXTDIR) $(TXTDIR)/Samba-HOWTO-Collection.txt $(TXTDIR)/Samba-Developers-Guide.txt
71 htmlman: $(HTMLDIR) $(MANPAGES_HTML) CSS
72 htmlfaq: $(HTMLDIR) CSS
73         @$(XSLTPROC) --stringparam base.dir "$(FAQDIR)/" --stringparam root.filename samba-faq xslt/html-chunk.xsl $(FAQPROJDOC)/sambafaq.xml
74 html-single: $(HTMLDIR) CSS $(HTMLDIR)/Samba-HOWTO-Collection.html  $(HTMLDIR)/Samba-Developers-Guide.html
75 html: $(HTMLDIR) CSS
76         @$(XSLTPROC) xslt/html-chunk.xsl $(PROJDOC)/samba-doc.xml
77
78 # Text files
79 $(TXTDIR):
80         mkdir $(TXTDIR)
81
82 $(TXTDIR)/Samba-HOWTO-Collection.txt: $(PROJDOC)/samba-doc.xml
83         @echo "Converting samba-doc to plain text..."
84         @$(XMLTO) txt -o $(TXTDIR) $<
85         @mv $(TXTDIR)/samba-doc.txt $(TXTDIR)/Samba-HOWTO-Collection.txt
86
87 $(TXTDIR)/Samba-Developers-Guide.txt: $(DEVDOC)/dev-doc.xml
88         @echo "Converting dev-doc to plain text..."
89         @$(XMLTO) txt -o $(TXTDIR) $<
90         @mv $(TXTDIR)/dev-doc.txt $(TXTDIR)/Samba-Developers-Guide.txt
91
92 # Adobe PDF files
93 $(PDFDIR)/Samba-HOWTO-Collection.pdf: $(PROJDOC)/samba-doc.xml
94         @echo "Converting samba-doc to LaTeX..."
95         @$(XSLTPROC) --output samba-doc.tex xslt/latex.xsl $<
96         @echo "Building LaTeX sources via $(PDFLATEX)..."
97         @$(PDFLATEX) samba-doc.tex | grep 'Rerun to get cross-references right' && \
98         $(PDFLATEX) samba-doc.tex | grep 'Rerun to get cross-references right' && \
99         $(PDFLATEX) samba-doc.tex || echo
100         @echo "done"
101         @mv samba-doc.pdf $@
102
103 $(PDFDIR)/Samba-Developers-Guide.pdf: $(DEVDOC)/dev-doc.xml
104         @echo "Converting dev-doc to LaTeX..."
105         @$(XSLTPROC) --output dev-doc.tex xslt/latex.xsl $<
106         @echo "Building LaTeX sources via $(PDFLATEX)..."
107         @$(PDFLATEX) dev-doc.tex | grep 'Rerun to get cross-references right' && \
108         $(PDFLATEX) dev-doc.tex | grep 'Rerun to get cross-references right' && \
109         $(PDFLATEX) dev-doc.tex || echo 
110         @echo "done"
111         @mv dev-doc.pdf $@
112
113 # Single large HTML files
114
115 $(HTMLDIR):
116         @mkdir $(HTMLDIR)
117
118 CSS: $(HTMLDIR) xslt/html/samba.css
119         @cp xslt/html/samba.css $(HTMLDIR)/
120
121 $(HTMLDIR)/Samba-HOWTO-Collection.html: $(PROJDOC)/samba-doc.xml
122         @$(XSLTPROC) --output $@ xslt/html.xsl $<
123
124 $(HTMLDIR)/Samba-Developers-Guide.html: $(DEVDOC)/dev-doc.xml
125         @$(XSLTPROC) --output $@ xslt/html.xsl $<
126
127
128 $(HTMLDIR)/%.html: $(MANPROJDOC)/%.xml
129         @$(XSLTPROC) --output $@ xslt/html.xsl $<
130
131 # Manpages
132 $(SMBDOTCONFDOC)/parameters.all.xml: $(SMBDOTCONFDOC)/generate-file-list.sh
133         @cd $(SMBDOTCONFDOC) && \
134         /bin/sh generate-file-list.sh >parameters.all.xml && \
135         cd ..
136
137 $(SMBDOTCONFDOC)/parameters.global.xml: $(SMBDOTCONFDOC)/parameters.all.xml $(SMBDOTCONFDOC)/generate-context.xsl
138         @cd $(SMBDOTCONFDOC) && \
139         $(XSLTPROC) --xinclude \
140         --param smb.context "'G'" \
141         --output parameters.global.xml \
142         generate-context.xsl parameters.all.xml && \
143         cd ..
144
145 $(SMBDOTCONFDOC)/parameters.service.xml: $(SMBDOTCONFDOC)/parameters.all.xml $(SMBDOTCONFDOC)/generate-context.xsl
146         @cd $(SMBDOTCONFDOC) && \
147         $(XSLTPROC) --xinclude \
148         --param smb.context "'S'" \
149         --output parameters.service.xml \
150         generate-context.xsl parameters.all.xml && \
151         cd ..
152
153 $(MANPROJDOC)/smb.conf.5.xml: $(SMBDOTCONFDOC)/smb.conf.5.xml $(SMBDOTCONFDOC)/parameters.all.xml \
154                         $(SMBDOTCONFDOC)/parameters.global.xml $(SMBDOTCONFDOC)/parameters.service.xml \
155                         $(SMBDOTCONFDOC)/expand-smb.conf.xsl
156         @$(XSLTPROC) --xinclude --output $(MANPROJDOC)/smb.conf.5.xml $(SMBDOTCONFDOC)/expand-smb.conf.xsl $(SMBDOTCONFDOC)/smb.conf.5.xml
157
158 $(MANDIR): 
159         mkdir $(MANDIR)
160
161 $(MANDIR)/%: $(MANPROJDOC)/%.xml
162         @$(XSLTPROC) xslt/man.xsl $<
163
164 clean: 
165         @rm -f $(MANPAGES) $(MANPAGES_HTML) $(HTMLDIR)/*.html $(HTMLDIR)/*.css $(TXTDIR)/*.txt $(PSDIR)/*.ps $(PDFDIR)/*.pdf 
166         @rm -f $(MANPROJDOC)/smb.conf.5.xml $(SMBDOTCONFDOC)/parameters.*.xml
167         @rm -f samba-doc.* dev-doc.*
168