~vcs-imports/dbus/master

2238.2.7 by Simon McVittie
Install the Doxygen documentation to $(htmldir)
1
apidir = @htmldir@/api
2
2900 by Simon McVittie
Use GNU make features to reduce repetition
3
man_pages = \
2173.1.6 by Will Thompson
Move manpages to doc/
4
	dbus-cleanup-sockets.1 \
2688 by Simon McVittie
Use Docbook XML as the source for all man pages
5
	dbus-daemon.1 \
2173.1.6 by Will Thompson
Move manpages to doc/
6
	dbus-launch.1 \
7
	dbus-monitor.1 \
2750 by Simon McVittie
Add dbus-run-session
8
	dbus-run-session.1 \
2173.1.6 by Will Thompson
Move manpages to doc/
9
	dbus-send.1 \
2900 by Simon McVittie
Use GNU make features to reduce repetition
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)
2688 by Simon McVittie
Use Docbook XML as the source for all man pages
17
endif
2173.1.6 by Will Thompson
Move manpages to doc/
18
2900 by Simon McVittie
Use GNU make features to reduce repetition
19
MAN_HTML_FILES = $(patsubst %.1,%.1.html,$(man_pages))
2173.1.8 by Will Thompson
Integrate building HTML-ified manpages with the build system
20
2173.1.9 by Will Thompson
Move uploading docs into build system.
21
DTDS = \
22
	busconfig.dtd \
23
	introspect.dtd
24
2299.1.156 by Chris Mayo
Install diagrams in htmldir
25
dist_doc_DATA = system-activation.txt
2299.1.109 by Simon McVittie
Install diagram.*, system-activation.txt to the $(docdir)
26
2299.1.163 by Simon McVittie
Fix maintainer-upload-docs target to work out-of-tree
27
# uploaded and distributed, but not installed
2299.1.109 by Simon McVittie
Install diagram.*, system-activation.txt to the $(docdir)
28
STATIC_DOCS = \
2173.1.9 by Will Thompson
Move uploading docs into build system.
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 \
2238.2.2 by Simon McVittie
Add doxygen_to_devhelp.xsl (from Fedora, via Debian)
39
	doxygen_to_devhelp.xsl \
2688 by Simon McVittie
Use Docbook XML as the source for all man pages
40
	$(STATIC_DOCS)
4 by Anders Carlsson
2002-11-21 Anders Carlsson <andersca@codefactory.se>
41
2299.1.107 by Simon McVittie
Install dbus.devhelp to $(htmldir), not $(apidir), and remove it in clean
42
html_DATA =
43
2299.1.163 by Simon McVittie
Fix maintainer-upload-docs target to work out-of-tree
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 = \
2299.1.156 by Chris Mayo
Install diagrams in htmldir
49
	diagram.png \
50
	diagram.svg \
2299.1.163 by Simon McVittie
Fix maintainer-upload-docs target to work out-of-tree
51
	$(NULL)
52
53
dist_html_DATA += $(STATIC_HTML)
54
2688 by Simon McVittie
Use Docbook XML as the source for all man pages
55
XMLTO_HTML =					\
805 by Havoc Pennington
the new tutorial/FAQ
56
	dbus-faq.html				\
465 by Havoc Pennington
2003-09-29 Havoc Pennington <hp@pobox.com>
57
	dbus-specification.html			\
58
	dbus-test-plan.html			\
2688 by Simon McVittie
Use Docbook XML as the source for all man pages
59
	dbus-tutorial.html			\
60
	$(MAN_HTML_FILES)			\
61
	$(NULL)
465 by Havoc Pennington
2003-09-29 Havoc Pennington <hp@pobox.com>
62
63
if DBUS_XML_DOCS_ENABLED
2688 by Simon McVittie
Use Docbook XML as the source for all man pages
64
html_DATA += $(XMLTO_HTML)
65
66
%.html: %.xml
67
	$(XMLTO) html-nochunks $<
68
69
%.1: %.1.xml
70
	$(XMLTO) man $<
527 by Havoc Pennington
2004-03-19 Havoc Pennington <hp@redhat.com>
71
endif
189 by Anders Carlsson
2003-02-17 Anders Carlsson <andersca@codefactory.se>
72
2173.1.5 by Will Thompson
Build Doxygen documentation for `make all`.
73
if DBUS_DOXYGEN_DOCS_ENABLED
2238.2.5 by Simon McVittie
Use a stamp file to represent the Doxygen output
74
all-local:: doxygen.stamp
75
76
doxygen.stamp: $(wildcard $(top_srcdir)/dbus/*.[ch])
2173.1.5 by Will Thompson
Build Doxygen documentation for `make all`.
77
	$(AM_V_GEN)cd $(top_builddir) && doxygen Doxyfile
2238.2.5 by Simon McVittie
Use a stamp file to represent the Doxygen output
78
	@touch $@
2238.2.7 by Simon McVittie
Install the Doxygen documentation to $(htmldir)
79
2238.2.8 by Simon McVittie
Build dbus.devhelp using doxygen_to_devhelp.xsl and install it
80
if DBUS_HAVE_XSLTPROC
2299.1.107 by Simon McVittie
Install dbus.devhelp to $(htmldir), not $(apidir), and remove it in clean
81
html_DATA += dbus.devhelp
2238.2.8 by Simon McVittie
Build dbus.devhelp using doxygen_to_devhelp.xsl and install it
82
83
dbus.devhelp: $(srcdir)/doxygen_to_devhelp.xsl doxygen.stamp
84
	$(XSLTPROC) -o $@ $< api/xml/index.xml
85
endif
86
2238.2.7 by Simon McVittie
Install the Doxygen documentation to $(htmldir)
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)
2286.1.14 by Simon McVittie
Implement uninstallation and cleanup for Doxygen docs, fixing distcheck
92
93
uninstall-local::
94
	rm -f $(DESTDIR)$(apidir)/*.html
95
	rm -f $(DESTDIR)$(apidir)/*.png
96
	rm -f $(DESTDIR)$(apidir)/*.css
2626 by Simon McVittie
Fix distcheck with newer Doxygen: remove *.js, too, during uninstall
97
	rm -f $(DESTDIR)$(apidir)/*.js
2299.1.111 by Simon McVittie
Uninstall the installed docs
98
	rm -f $(DESTDIR)$(htmldir)/*.html
99
	rm -f $(DESTDIR)$(docdir)/*.txt
2299.1.156 by Chris Mayo
Install diagrams in htmldir
100
	rm -f $(DESTDIR)$(htmldir)/*.png
101
	rm -f $(DESTDIR)$(htmldir)/*.svg
2286.1.14 by Simon McVittie
Implement uninstallation and cleanup for Doxygen docs, fixing distcheck
102
	rmdir --ignore-fail-on-non-empty $(DESTDIR)$(apidir) || \
103
		rmdir $(DESTDIR)$(apidir)
2173.1.5 by Will Thompson
Build Doxygen documentation for `make all`.
104
endif
105
2173.1.9 by Will Thompson
Move uploading docs into build system.
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
2688 by Simon McVittie
Use Docbook XML as the source for all man pages
115
dbus-docs: $(STATIC_DOCS) $(MAN_XML_FILES) $(dist_doc_DATA) $(dist_html_DATA) $(MAN_HTML_FILES) $(BONUS_FILES) doxygen.stamp $(XMLTO_HTML)
2299.1.163 by Simon McVittie
Fix maintainer-upload-docs target to work out-of-tree
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
2688 by Simon McVittie
Use Docbook XML as the source for all man pages
121
	$(AM_V_at)cp $(XMLTO_HTML) @abs_builddir@/$@.tmp
2299.1.163 by Simon McVittie
Fix maintainer-upload-docs target to work out-of-tree
122
	$(AM_V_at)cp $(MAN_HTML_FILES) @abs_builddir@/$@.tmp
2688 by Simon McVittie
Use Docbook XML as the source for all man pages
123
	$(AM_V_at)cp $(MAN_XML_FILES) @abs_builddir@/$@.tmp
2299.1.163 by Simon McVittie
Fix maintainer-upload-docs target to work out-of-tree
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 $@
2173.1.9 by Will Thompson
Move uploading docs into build system.
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
2299.1.163 by Simon McVittie
Fix maintainer-upload-docs target to work out-of-tree
138
	scp dbus-docs.tar.gz $(DOC_SERVER):$(DOC_WWW_DIR)/
2299.1.9 by Simon McVittie
When uploading docs, use rsync -p to set permissions
139
	rsync -rpvzP --chmod=Dg+s,ug+rwX,o=rX \
2173.1.9 by Will Thompson
Move uploading docs into build system.
140
		dbus-docs/ $(DOC_SERVER):$(DOC_WWW_DIR)/doc/
2299.1.163 by Simon McVittie
Fix maintainer-upload-docs target to work out-of-tree
141
	cd $(srcdir) && scp -p $(DTDS) $(SPECIFICATION_SERVER):$(SPECIFICATION_PATH)/
2173.1.9 by Will Thompson
Move uploading docs into build system.
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
2688 by Simon McVittie
Use Docbook XML as the source for all man pages
150
CLEANFILES = \
151
	$(man1_MANS) \
152
	$(MAN_XML_FILES) \
153
	$(XMLTO_HTML) \
154
	$(NULL)
155
2173.1.5 by Will Thompson
Build Doxygen documentation for `make all`.
156
clean-local:
2299.1.107 by Simon McVittie
Install dbus.devhelp to $(htmldir), not $(apidir), and remove it in clean
157
	rm -f $(html_DATA)
2173.1.5 by Will Thompson
Build Doxygen documentation for `make all`.
158
	rm -rf api
2299.1.163 by Simon McVittie
Fix maintainer-upload-docs target to work out-of-tree
159
	rm -rf dbus-docs dbus-docs.tmp
2173.1.8 by Will Thompson
Integrate building HTML-ified manpages with the build system
160
	rm -f *.1.html
2286.1.14 by Simon McVittie
Implement uninstallation and cleanup for Doxygen docs, fixing distcheck
161
	rm -f doxygen.stamp