dbus-marshal-validate: Check brackets in signature nest correctly
[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-test-tool.1 \
11         dbus-update-activation-environment.1 \
12         dbus-uuidgen.1 \
13         $(NULL)
14
15 MAN_XML_FILES = $(patsubst %.1,%.1.xml,$(man_pages))
16
17 if DBUS_XML_DOCS_ENABLED
18 man1_MANS = $(man_pages)
19 endif
20
21 MAN_HTML_FILES = $(patsubst %.1,%.1.html,$(man_pages))
22
23 dtddir = $(datadir)/xml/dbus-1
24 dist_dtd_DATA = \
25         busconfig.dtd \
26         introspect.dtd
27
28 dist_doc_DATA = system-activation.txt
29
30 # uploaded and distributed, but not installed
31 STATIC_DOCS = \
32         dbus-faq.xml \
33         dbus-specification.xml \
34         dbus-test-plan.xml \
35         dbus-tutorial.xml \
36         dbus-api-design.duck \
37         dcop-howto.txt \
38         introspect.xsl
39
40 EXTRA_DIST = \
41         file-boilerplate.c \
42         doxygen_to_devhelp.xsl \
43         $(STATIC_DOCS)
44
45 html_DATA =
46
47 dist_html_DATA =
48
49 # diagram.png/diagram.svg aren't really HTML, but must go in the same
50 # directory as the HTML to avoid broken links
51 STATIC_HTML = \
52         diagram.png \
53         diagram.svg \
54         $(NULL)
55
56 # Static HTML helper files generated by yelp-build.
57 YELP_STATIC_HTML = \
58         yelp.js \
59         C.css \
60         highlight.pack.js \
61         jquery.js \
62         jquery.syntax.js \
63         jquery.syntax.brush.html.js \
64         jquery.syntax.core.js \
65         jquery.syntax.layout.yelp.js \
66         $(NULL)
67
68 dist_html_DATA += $(STATIC_HTML)
69
70 # Content HTML files generated by yelp-build.
71 YELP_HTML = \
72         dbus-api-design.html \
73         $(NULL)
74
75 XMLTO_HTML =                                    \
76         dbus-faq.html                           \
77         dbus-specification.html                 \
78         dbus-test-plan.html                     \
79         dbus-tutorial.html                      \
80         $(MAN_HTML_FILES)                       \
81         $(NULL)
82
83 if DBUS_XML_DOCS_ENABLED
84 html_DATA += $(XMLTO_HTML)
85
86 %.html: %.xml
87         $(XMLTO) html-nochunks $<
88
89 %.1: %.1.xml
90         $(XMLTO) man $<
91 endif
92
93 if DBUS_DOXYGEN_DOCS_ENABLED
94 all-local:: doxygen.stamp
95
96 doxygen.stamp: $(wildcard $(top_srcdir)/dbus/*.[ch])
97         $(AM_V_GEN)cd $(top_builddir) && doxygen Doxyfile
98         @touch $@
99
100 if DBUS_HAVE_XSLTPROC
101 html_DATA += dbus.devhelp2
102
103 dbus.devhelp2: $(srcdir)/doxygen_to_devhelp.xsl doxygen.stamp
104         $(XSLTPROC) -o $@ $< api/xml/index.xml
105 endif
106
107 if DBUS_DUCKTYPE_DOCS_ENABLED
108 html_DATA += $(YELP_HTML)
109
110 %.page: %.duck
111         $(DUCKTYPE) -o $@ $<
112 %.html: %.page
113         $(YELP_BUILD) html $<
114 $(YELP_STATIC_HTML): $(YELP_HTML)
115 endif
116
117 # this assumes CREATE_SUBDIRS isn't set to YES in Doxyfile
118 # (which it isn't currently)
119 install-data-local:: doxygen.stamp
120         $(MKDIR_P) $(DESTDIR)$(apidir)
121         $(INSTALL_DATA) api/html/* $(DESTDIR)$(apidir)
122 if DBUS_DUCKTYPE_DOCS_ENABLED
123         $(AM_V_at)for x in $(YELP_STATIC_HTML); do \
124                 if test -e "$$x"; then \
125                         $(INSTALL_DATA) "$$x" $(DESTDIR)$(htmldir); \
126                 fi; \
127         done
128 endif
129
130 uninstall-local::
131         rm -f $(DESTDIR)$(apidir)/*.html
132         rm -f $(DESTDIR)$(apidir)/*.png
133         rm -f $(DESTDIR)$(apidir)/*.css
134         rm -f $(DESTDIR)$(apidir)/*.js
135         rm -f $(DESTDIR)$(htmldir)/*.css
136         rm -f $(DESTDIR)$(htmldir)/*.js
137         rm -f $(DESTDIR)$(htmldir)/*.html
138         rm -f $(DESTDIR)$(docdir)/*.txt
139         rm -f $(DESTDIR)$(htmldir)/*.png
140         rm -f $(DESTDIR)$(htmldir)/*.svg
141         rmdir --ignore-fail-on-non-empty $(DESTDIR)$(apidir) || \
142                 rmdir $(DESTDIR)$(apidir)
143 endif
144
145 if DBUS_CAN_UPLOAD_DOCS
146 BONUS_FILES = \
147         $(top_srcdir)/README \
148         $(top_srcdir)/CONTRIBUTING.md \
149         $(top_srcdir)/AUTHORS \
150         $(top_srcdir)/NEWS \
151         $(top_srcdir)/ChangeLog
152
153 dbus-docs: $(STATIC_DOCS) $(dist_dtd_DATA) $(MAN_XML_FILES) $(dist_doc_DATA) $(dist_html_DATA) $(MAN_HTML_FILES) $(BONUS_FILES) doxygen.stamp $(XMLTO_HTML) $(YELP_HTML)
154         $(AM_V_at)rm -rf $@ $@.tmp
155         $(AM_V_GEN)$(MKDIR_P) $@.tmp/api
156         $(AM_V_at)cd $(srcdir) && cp $(STATIC_DOCS) @abs_builddir@/$@.tmp
157         $(AM_V_at)cd $(srcdir) && cp $(dist_dtd_DATA) @abs_builddir@/$@.tmp
158         $(AM_V_at)cd $(srcdir) && cp $(dist_doc_DATA) @abs_builddir@/$@.tmp
159         $(AM_V_at)cd $(srcdir) && cp $(STATIC_HTML) @abs_builddir@/$@.tmp
160         $(AM_V_at)cp $(XMLTO_HTML) @abs_builddir@/$@.tmp
161         $(AM_V_at)cp $(YELP_HTML) @abs_builddir@/$@.tmp
162         $(AM_V_at)for x in $(YELP_STATIC_HTML); do \
163                 if test -e "$$x"; then \
164                         cp "$$x" @abs_builddir@/$@.tmp; \
165                 fi; \
166         done
167         $(AM_V_at)cp $(MAN_HTML_FILES) @abs_builddir@/$@.tmp
168         $(AM_V_at)cp $(MAN_XML_FILES) @abs_builddir@/$@.tmp
169         $(AM_V_at)cp $(BONUS_FILES) @abs_builddir@/$@.tmp
170         $(AM_V_at)cp -r api/html @abs_builddir@/$@.tmp/api
171         $(AM_V_at)mv $@.tmp $@
172
173 dbus-docs.tar.gz: dbus-docs
174         $(AM_V_GEN)tar czf $@ $<
175
176 DOC_SERVER = dbus.freedesktop.org
177 DOC_WWW_DIR = /srv/dbus.freedesktop.org/www
178
179 SPECIFICATION_SERVER = specifications.freedesktop.org
180 SPECIFICATION_PATH = /srv/specifications.freedesktop.org/www/dbus/1.0
181
182 maintainer-upload-docs: dbus-docs.tar.gz dbus-docs
183         scp dbus-docs.tar.gz $(DOC_SERVER):$(DOC_WWW_DIR)/
184         rsync -rpvzP --chmod=Dg+s,ug+rwX,o=rX \
185                 dbus-docs/ $(DOC_SERVER):$(DOC_WWW_DIR)/doc/
186         cd $(srcdir) && scp -p $(dist_dtd_DATA) $(SPECIFICATION_SERVER):$(SPECIFICATION_PATH)/
187 else
188 maintainer-upload-docs:
189         @echo "Can't upload documentation! Re-run configure with"
190         @echo "  --enable-doxygen-docs --enable-xml-docs --enable-ducktype-docs"
191         @false
192 endif
193
194 CLEANFILES = \
195         $(man1_MANS) \
196         $(MAN_XML_FILES) \
197         $(XMLTO_HTML) \
198         $(YELP_HTML) \
199         $(YELP_STATIC_HTML) \
200         $(NULL)
201
202 clean-local:
203         rm -f $(html_DATA)
204         rm -rf api
205         rm -rf dbus-docs dbus-docs.tmp
206         rm -f *.1.html
207         rm -f doxygen.stamp