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