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