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