Install the Doxygen documentation to $(htmldir)
[platform/upstream/dbus.git] / doc / Makefile.am
1 apidir = @htmldir@/api
2
3 man_MANS = \
4         dbus-cleanup-sockets.1 \
5         dbus-daemon.1 \
6         dbus-launch.1 \
7         dbus-monitor.1 \
8         dbus-send.1 \
9         dbus-uuidgen.1
10
11 MAN_IN_FILES = dbus-daemon.1.in
12
13 MAN_HTML_FILES = \
14         dbus-cleanup-sockets.1.html \
15         dbus-daemon.1.html \
16         dbus-launch.1.html \
17         dbus-monitor.1.html \
18         dbus-send.1.html \
19         dbus-uuidgen.1.html
20
21 DTDS = \
22         busconfig.dtd \
23         introspect.dtd
24
25 STATIC_DOCS = \
26         diagram.png \
27         diagram.svg \
28         dbus-faq.xml \
29         dbus-specification.xml \
30         dbus-test-plan.xml \
31         dbus-tutorial.xml \
32         dcop-howto.txt \
33         introspect.xsl \
34         system-activation.txt \
35         $(DTDS)
36
37 EXTRA_DIST = \
38         file-boilerplate.c \
39         doxygen_to_devhelp.xsl \
40         $(STATIC_DOCS) \
41         $(MAN_IN_FILES) $(man_MANS)
42
43 HTML_FILES=                                     \
44         dbus-faq.html                           \
45         dbus-specification.html                 \
46         dbus-test-plan.html                     \
47         dbus-tutorial.html
48
49 if DBUS_XML_DOCS_ENABLED
50 all-local:: $(HTML_FILES)
51
52 EXTRA_DIST += $(HTML_FILES)
53
54 dbus-specification.html: dbus-specification.xml
55         $(XMLTO) html-nochunks $<
56
57 dbus-test-plan.html: dbus-test-plan.xml
58         $(XMLTO) html-nochunks $<
59
60 dbus-tutorial.html: dbus-tutorial.xml
61         $(XMLTO) html-nochunks $<
62
63 dbus-faq.html: dbus-faq.xml
64         $(XMLTO) html-nochunks $<
65
66 endif
67
68 if DBUS_DOXYGEN_DOCS_ENABLED
69 all-local:: doxygen.stamp
70
71 doxygen.stamp: $(wildcard $(top_srcdir)/dbus/*.[ch])
72         $(AM_V_GEN)cd $(top_builddir) && doxygen Doxyfile
73         @touch $@
74
75 # this assumes CREATE_SUBDIRS isn't set to YES in Doxyfile
76 # (which it isn't currently)
77 install-data-local:: doxygen.stamp
78         $(MKDIR_P) $(DESTDIR)$(apidir)
79         $(INSTALL_DATA) api/html/* $(DESTDIR)$(apidir)
80 endif
81
82 if DBUS_HAVE_MAN2HTML
83 all-local:: $(MAN_HTML_FILES)
84
85 %.1.html: %.1
86         $(AM_V_GEN)( $(MAN2HTML) $< > $@.tmp && mv $@.tmp $@ )
87 endif
88
89 if DBUS_CAN_UPLOAD_DOCS
90 BONUS_FILES = \
91         $(top_srcdir)/README \
92         $(top_srcdir)/HACKING \
93         $(top_srcdir)/AUTHORS \
94         $(top_srcdir)/NEWS \
95         $(top_srcdir)/COPYING \
96         $(top_srcdir)/ChangeLog
97
98 dbus-docs: $(STATIC_DOCS) $(HTML_FILES) $(MAN_HTML_FILES) $(BONUS_FILES) doxygen.stamp
99         $(AM_V_at)rm -rf $@
100         $(AM_V_GEN)$(MKDIR_P) $@/api
101         $(AM_V_at)cp $(STATIC_DOCS) $@
102         $(AM_V_at)cp $(HTML_FILES) $@
103         $(AM_V_at)cp $(MAN_HTML_FILES) $@
104         $(AM_V_at)cp $(BONUS_FILES) $@
105         $(AM_V_at)cp -r api/html $@/api
106
107 dbus-docs.tar.gz: dbus-docs
108         $(AM_V_GEN)tar czf $@ $<
109
110 DOC_SERVER = dbus.freedesktop.org
111 DOC_WWW_DIR = /srv/dbus.freedesktop.org/www
112
113 SPECIFICATION_SERVER = specifications.freedesktop.org
114 SPECIFICATION_PATH = /srv/specifications.freedesktop.org/www/dbus/1.0
115
116 maintainer-upload-docs: dbus-docs.tar.gz dbus-docs
117         scp dbus-docs.tar.gz $(DOC_SERVER):$(DOC_WWW_DIR)
118         rsync -rvzP --chmod=Dg+s,ug+rwX,o=rX \
119                 dbus-docs/ $(DOC_SERVER):$(DOC_WWW_DIR)/doc/
120         scp -p $(DTDS) $(SPECIFICATION_SERVER):$(SPECIFICATION_PATH)
121 else
122 maintainer-upload-docs:
123         @echo "Can't upload documentation! Re-run configure with"
124         @echo "  --enable-doxygen-docs --enable-xml-docs"
125         @echo "and ensure that man2html is installed."
126         @false
127 endif
128
129 clean-local:
130         rm -rf api
131         rm -rf dbus-docs
132         rm -f *.1.html
133
134 maintainer-clean-local:
135         rm -f $(HTML_FILES)