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