1 # the api, doc, include subdirs don't need their own Makefile.am
2 SUBDIRS = _dbus_bindings _dbus_glib_bindings dbus examples test
5 EXTRA_DIST = API_CHANGES.txt dbus-python.pc.in HACKING.txt \
6 AUTHORS COPYING NEWS ChangeLog TODO \
8 # miss out the gconf examples for now - they don't work
10 pkgconfigdir = $(libdir)/pkgconfig
11 pkgconfig_DATA = dbus-python.pc
13 include_HEADERS = include/dbus-python.h
15 python_PYTHON = dbus_bindings.py
19 cross-test-compile: all
21 @$(MAKE) -C test cross-test-server
23 @$(MAKE) -C test cross-test-client
25 # === Documentation ===
27 ChangeLog: always-rebuild
28 @if test -d $(top_srcdir)/.git; then \
29 if git-log --stat > ChangeLog; then \
32 git-log > Changelog || exit 1; \
36 TXT_RSTDOCS = doc/tutorial.txt API_CHANGES.txt HACKING.txt
37 RSTDOCS = README NEWS TODO
38 dist_doc_DATA = $(TXT_RSTDOCS) $(RSTDOCS)
41 HTML_TXT_RSTDOCS = doc/tutorial.html API_CHANGES.html HACKING.html
42 HTML_RSTDOCS = README.html NEWS.html TODO.html
43 nodist_doc_DATA = $(HTML_TXT_RSTDOCS) $(HTML_RSTDOCS)
45 CLEANFILES += $(nodist_doc_DATA)
47 RST2HTMLFLAGS = --generator --date --time --exit-status=2 \
48 --cloak-email-addresses --no-raw --no-file-insertion
50 $(HTML_TXT_RSTDOCS) : %.html: %.txt
51 $(RST2HTML) $(RST2HTMLFLAGS) $< $@
52 $(HTML_RSTDOCS) : %.html: %
53 $(RST2HTML) $(RST2HTMLFLAGS) $< $@
62 dbus/.doc-needs-rebuild-stamp:
64 _dbus_bindings/_dbus_bindings.la:
65 $(MAKE) -C _dbus_bindings
66 _dbus_glib_bindings/_dbus_glib_bindings.la:
67 $(MAKE) -C _dbus_glib_bindings
70 APIDOC_PYTHONPATH = $(PWD)/$(top_srcdir):$(PWD)/_dbus_bindings/.libs:$(PWD)/_dbus_glib_bindings/.libs
72 api api/index.html: $(python_PYTHON) dbus/.doc-needs-rebuild-stamp \
73 _dbus_bindings/_dbus_bindings.la \
74 _dbus_glib_bindings/_dbus_glib_bindings.la
77 PYTHONPATH=$(APIDOC_PYTHONPATH) $(EPYDOC) -o api --html \
78 --docformat restructuredtext -v \
79 `find dbus -name '*.py' \
80 | sed -e 's#/__init__\.py##g' \
81 -e 's/\.py\>//g' -e 's#/#.#'g` \
82 || { rm -rf api; exit 1; }
85 .PHONY: cross-test-compile cross-test-server cross-test-client always-rebuild