Use Docbook XML as the source for all man pages
[platform/upstream/dbus.git] / doc / Makefile.am
1 apidir = @htmldir@/api
2
3 MAN_XML_FILES = \
4         dbus-daemon.1.xml \
5         $(NULL)
6
7 DIST_MAN_XML_FILES = \
8         dbus-cleanup-sockets.1.xml \
9         dbus-daemon.1.xml \
10         dbus-launch.1.xml \
11         dbus-monitor.1.xml \
12         dbus-send.1.xml \
13         dbus-uuidgen.1.xml \
14         $(NULL)
15
16 if DBUS_XML_DOCS_ENABLED
17 man1_MANS = \
18         dbus-cleanup-sockets.1 \
19         dbus-daemon.1 \
20         dbus-launch.1 \
21         dbus-monitor.1 \
22         dbus-send.1 \
23         dbus-uuidgen.1
24 endif
25
26 MAN_HTML_FILES = \
27         dbus-cleanup-sockets.1.html \
28         dbus-daemon.1.html \
29         dbus-launch.1.html \
30         dbus-monitor.1.html \
31         dbus-send.1.html \
32         dbus-uuidgen.1.html
33
34 DTDS = \
35         busconfig.dtd \
36         introspect.dtd
37
38 dist_doc_DATA = system-activation.txt
39
40 # uploaded and distributed, but not installed
41 STATIC_DOCS = \
42         $(DIST_MAN_XML_FILES) \
43         dbus-faq.xml \
44         dbus-specification.xml \
45         dbus-test-plan.xml \
46         dbus-tutorial.xml \
47         dcop-howto.txt \
48         introspect.xsl \
49         $(DTDS)
50
51 EXTRA_DIST = \
52         file-boilerplate.c \
53         doxygen_to_devhelp.xsl \
54         $(STATIC_DOCS)
55
56 html_DATA =
57
58 dist_html_DATA =
59
60 # diagram.png/diagram.svg aren't really HTML, but must go in the same
61 # directory as the HTML to avoid broken links
62 STATIC_HTML = \
63         diagram.png \
64         diagram.svg \
65         $(NULL)
66
67 dist_html_DATA += $(STATIC_HTML)
68
69 XMLTO_HTML =                                    \
70         dbus-faq.html                           \
71         dbus-specification.html                 \
72         dbus-test-plan.html                     \
73         dbus-tutorial.html                      \
74         $(MAN_HTML_FILES)                       \
75         $(NULL)
76
77 if DBUS_XML_DOCS_ENABLED
78 html_DATA += $(XMLTO_HTML)
79
80 %.html: %.xml
81         $(XMLTO) html-nochunks $<
82
83 %.1: %.1.xml
84         $(XMLTO) man $<
85 endif
86
87 if DBUS_DOXYGEN_DOCS_ENABLED
88 all-local:: doxygen.stamp
89
90 doxygen.stamp: $(wildcard $(top_srcdir)/dbus/*.[ch])
91         $(AM_V_GEN)cd $(top_builddir) && doxygen Doxyfile
92         @touch $@
93
94 if DBUS_HAVE_XSLTPROC
95 html_DATA += dbus.devhelp
96
97 dbus.devhelp: $(srcdir)/doxygen_to_devhelp.xsl doxygen.stamp
98         $(XSLTPROC) -o $@ $< api/xml/index.xml
99 endif
100
101 # this assumes CREATE_SUBDIRS isn't set to YES in Doxyfile
102 # (which it isn't currently)
103 install-data-local:: doxygen.stamp
104         $(MKDIR_P) $(DESTDIR)$(apidir)
105         $(INSTALL_DATA) api/html/* $(DESTDIR)$(apidir)
106
107 uninstall-local::
108         rm -f $(DESTDIR)$(apidir)/*.html
109         rm -f $(DESTDIR)$(apidir)/*.png
110         rm -f $(DESTDIR)$(apidir)/*.css
111         rm -f $(DESTDIR)$(apidir)/*.js
112         rm -f $(DESTDIR)$(htmldir)/*.html
113         rm -f $(DESTDIR)$(docdir)/*.txt
114         rm -f $(DESTDIR)$(htmldir)/*.png
115         rm -f $(DESTDIR)$(htmldir)/*.svg
116         rmdir --ignore-fail-on-non-empty $(DESTDIR)$(apidir) || \
117                 rmdir $(DESTDIR)$(apidir)
118 endif
119
120 if DBUS_CAN_UPLOAD_DOCS
121 BONUS_FILES = \
122         $(top_srcdir)/README \
123         $(top_srcdir)/HACKING \
124         $(top_srcdir)/AUTHORS \
125         $(top_srcdir)/NEWS \
126         $(top_srcdir)/COPYING \
127         $(top_srcdir)/ChangeLog
128
129 dbus-docs: $(STATIC_DOCS) $(MAN_XML_FILES) $(dist_doc_DATA) $(dist_html_DATA) $(MAN_HTML_FILES) $(BONUS_FILES) doxygen.stamp $(XMLTO_HTML)
130         $(AM_V_at)rm -rf $@ $@.tmp
131         $(AM_V_GEN)$(MKDIR_P) $@.tmp/api
132         $(AM_V_at)cd $(srcdir) && cp $(STATIC_DOCS) @abs_builddir@/$@.tmp
133         $(AM_V_at)cd $(srcdir) && cp $(dist_doc_DATA) @abs_builddir@/$@.tmp
134         $(AM_V_at)cd $(srcdir) && cp $(STATIC_HTML) @abs_builddir@/$@.tmp
135         $(AM_V_at)cp $(XMLTO_HTML) @abs_builddir@/$@.tmp
136         $(AM_V_at)cp $(MAN_HTML_FILES) @abs_builddir@/$@.tmp
137         $(AM_V_at)cp $(MAN_XML_FILES) @abs_builddir@/$@.tmp
138         $(AM_V_at)cp $(BONUS_FILES) @abs_builddir@/$@.tmp
139         $(AM_V_at)cp -r api/html @abs_builddir@/$@.tmp/api
140         $(AM_V_at)mv $@.tmp $@
141
142 dbus-docs.tar.gz: dbus-docs
143         $(AM_V_GEN)tar czf $@ $<
144
145 DOC_SERVER = dbus.freedesktop.org
146 DOC_WWW_DIR = /srv/dbus.freedesktop.org/www
147
148 SPECIFICATION_SERVER = specifications.freedesktop.org
149 SPECIFICATION_PATH = /srv/specifications.freedesktop.org/www/dbus/1.0
150
151 maintainer-upload-docs: dbus-docs.tar.gz dbus-docs
152         scp dbus-docs.tar.gz $(DOC_SERVER):$(DOC_WWW_DIR)/
153         rsync -rpvzP --chmod=Dg+s,ug+rwX,o=rX \
154                 dbus-docs/ $(DOC_SERVER):$(DOC_WWW_DIR)/doc/
155         cd $(srcdir) && scp -p $(DTDS) $(SPECIFICATION_SERVER):$(SPECIFICATION_PATH)/
156 else
157 maintainer-upload-docs:
158         @echo "Can't upload documentation! Re-run configure with"
159         @echo "  --enable-doxygen-docs --enable-xml-docs"
160         @echo "and ensure that man2html is installed."
161         @false
162 endif
163
164 CLEANFILES = \
165         $(man1_MANS) \
166         $(MAN_XML_FILES) \
167         $(XMLTO_HTML) \
168         $(NULL)
169
170 clean-local:
171         rm -f $(html_DATA)
172         rm -rf api
173         rm -rf dbus-docs dbus-docs.tmp
174         rm -f *.1.html
175         rm -f doxygen.stamp