dbus/doc/Makefile.am
Philip Withnall 371e7109f8 doc: Install introspection and busconfig DTDs
Install them to $(datadir)/xml/dbus-1, which seems to be the standard
location for installed DTDs. This means that developers can use them to
validate their introspection XML, and sysadmins can use them to validate
their bus configuration files.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=89011
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2016-10-05 10:08:10 +01:00

195 lines
4.7 KiB
Makefile

apidir = @htmldir@/api
man_pages = \
dbus-cleanup-sockets.1 \
dbus-daemon.1 \
dbus-launch.1 \
dbus-monitor.1 \
dbus-run-session.1 \
dbus-send.1 \
dbus-test-tool.1 \
dbus-update-activation-environment.1 \
dbus-uuidgen.1 \
$(NULL)
MAN_XML_FILES = $(patsubst %.1,%.1.xml,$(man_pages))
if DBUS_XML_DOCS_ENABLED
man1_MANS = $(man_pages)
endif
MAN_HTML_FILES = $(patsubst %.1,%.1.html,$(man_pages))
dtddir = $(datadir)/xml/dbus-1
dist_dtd_DATA = \
busconfig.dtd \
introspect.dtd
dist_doc_DATA = system-activation.txt
# uploaded and distributed, but not installed
STATIC_DOCS = \
dbus-faq.xml \
dbus-specification.xml \
dbus-test-plan.xml \
dbus-tutorial.xml \
dbus-api-design.duck \
dcop-howto.txt \
introspect.xsl
EXTRA_DIST = \
file-boilerplate.c \
doxygen_to_devhelp.xsl \
$(STATIC_DOCS)
html_DATA =
dist_html_DATA =
# diagram.png/diagram.svg aren't really HTML, but must go in the same
# directory as the HTML to avoid broken links
STATIC_HTML = \
diagram.png \
diagram.svg \
$(NULL)
# Static HTML helper files generated by yelp-build.
YELP_STATIC_HTML = \
yelp.js \
C.css \
jquery.js \
jquery.syntax.js \
jquery.syntax.brush.html.js \
jquery.syntax.core.js \
jquery.syntax.layout.yelp.js \
$(NULL)
dist_html_DATA += $(STATIC_HTML)
# Content HTML files generated by yelp-build.
YELP_HTML = \
dbus-api-design.html \
$(NULL)
XMLTO_HTML = \
dbus-faq.html \
dbus-specification.html \
dbus-test-plan.html \
dbus-tutorial.html \
$(MAN_HTML_FILES) \
$(NULL)
if DBUS_XML_DOCS_ENABLED
html_DATA += $(XMLTO_HTML)
%.html: %.xml
$(XMLTO) html-nochunks $<
%.1: %.1.xml
$(XMLTO) man $<
endif
if DBUS_DOXYGEN_DOCS_ENABLED
all-local:: doxygen.stamp
doxygen.stamp: $(wildcard $(top_srcdir)/dbus/*.[ch])
$(AM_V_GEN)cd $(top_builddir) && doxygen Doxyfile
@touch $@
if DBUS_HAVE_XSLTPROC
html_DATA += dbus.devhelp
dbus.devhelp: $(srcdir)/doxygen_to_devhelp.xsl doxygen.stamp
$(XSLTPROC) -o $@ $< api/xml/index.xml
endif
if DBUS_DUCKTYPE_DOCS_ENABLED
html_DATA += $(YELP_HTML) $(YELP_STATIC_HTML)
%.page: %.duck
$(DUCKTYPE) -o $@ $<
%.html: %.page
$(YELP_BUILD) html $<
$(YELP_STATIC_HTML): $(YELP_HTML)
endif
# this assumes CREATE_SUBDIRS isn't set to YES in Doxyfile
# (which it isn't currently)
install-data-local:: doxygen.stamp
$(MKDIR_P) $(DESTDIR)$(apidir)
$(INSTALL_DATA) api/html/* $(DESTDIR)$(apidir)
uninstall-local::
rm -f $(DESTDIR)$(apidir)/*.html
rm -f $(DESTDIR)$(apidir)/*.png
rm -f $(DESTDIR)$(apidir)/*.css
rm -f $(DESTDIR)$(apidir)/*.js
rm -f $(DESTDIR)$(htmldir)/*.html
rm -f $(DESTDIR)$(docdir)/*.txt
rm -f $(DESTDIR)$(htmldir)/*.png
rm -f $(DESTDIR)$(htmldir)/*.svg
rmdir --ignore-fail-on-non-empty $(DESTDIR)$(apidir) || \
rmdir $(DESTDIR)$(apidir)
endif
if DBUS_CAN_UPLOAD_DOCS
BONUS_FILES = \
$(top_srcdir)/README \
$(top_srcdir)/HACKING \
$(top_srcdir)/AUTHORS \
$(top_srcdir)/NEWS \
$(top_srcdir)/COPYING \
$(top_srcdir)/ChangeLog
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) $(YELP_STATIC_HTML)
$(AM_V_at)rm -rf $@ $@.tmp
$(AM_V_GEN)$(MKDIR_P) $@.tmp/api
$(AM_V_at)cd $(srcdir) && cp $(STATIC_DOCS) @abs_builddir@/$@.tmp
$(AM_V_at)cd $(srcdir) && cp $(dist_dtd_DATA) @abs_builddir@/$@.tmp
$(AM_V_at)cd $(srcdir) && cp $(dist_doc_DATA) @abs_builddir@/$@.tmp
$(AM_V_at)cd $(srcdir) && cp $(STATIC_HTML) @abs_builddir@/$@.tmp
$(AM_V_at)cp $(XMLTO_HTML) @abs_builddir@/$@.tmp
$(AM_V_at)cp $(YELP_HTML) @abs_builddir@/$@.tmp
$(AM_V_at)cp $(YELP_STATIC_HTML) @abs_builddir@/$@.tmp
$(AM_V_at)cp $(MAN_HTML_FILES) @abs_builddir@/$@.tmp
$(AM_V_at)cp $(MAN_XML_FILES) @abs_builddir@/$@.tmp
$(AM_V_at)cp $(BONUS_FILES) @abs_builddir@/$@.tmp
$(AM_V_at)cp -r api/html @abs_builddir@/$@.tmp/api
$(AM_V_at)mv $@.tmp $@
dbus-docs.tar.gz: dbus-docs
$(AM_V_GEN)tar czf $@ $<
DOC_SERVER = dbus.freedesktop.org
DOC_WWW_DIR = /srv/dbus.freedesktop.org/www
SPECIFICATION_SERVER = specifications.freedesktop.org
SPECIFICATION_PATH = /srv/specifications.freedesktop.org/www/dbus/1.0
maintainer-upload-docs: dbus-docs.tar.gz dbus-docs
scp dbus-docs.tar.gz $(DOC_SERVER):$(DOC_WWW_DIR)/
rsync -rpvzP --chmod=Dg+s,ug+rwX,o=rX \
dbus-docs/ $(DOC_SERVER):$(DOC_WWW_DIR)/doc/
cd $(srcdir) && scp -p $(dist_dtd_DATA) $(SPECIFICATION_SERVER):$(SPECIFICATION_PATH)/
else
maintainer-upload-docs:
@echo "Can't upload documentation! Re-run configure with"
@echo " --enable-doxygen-docs --enable-xml-docs --enable-ducktype-docs"
@echo "and ensure that man2html is installed."
@false
endif
CLEANFILES = \
$(man1_MANS) \
$(MAN_XML_FILES) \
$(XMLTO_HTML) \
$(YELP_HTML) \
$(YELP_STATIC_HTML) \
$(NULL)
clean-local:
rm -f $(html_DATA)
rm -rf api
rm -rf dbus-docs dbus-docs.tmp
rm -f *.1.html
rm -f doxygen.stamp