diff options
Diffstat (limited to 'Makefile.am')
-rw-r--r-- | Makefile.am | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..369012d --- /dev/null +++ b/Makefile.am @@ -0,0 +1,147 @@ +abs_top_srcdir = @abs_top_srcdir@ +abs_top_builddir = @abs_top_builddir@ + +ACLOCAL_AMFLAGS = -I m4 + +# the api, doc, include subdirs don't need their own Makefile.am +# the dbus subdir is handled with non-recursive make because of #12741 +SUBDIRS = _dbus_bindings _dbus_glib_bindings examples m4 test tools + +CLEANFILES = +EXTRA_DIST = \ + dbus-python.pc.in \ + AUTHORS \ + COPYING \ + ChangeLog +# miss out the gconf examples for now - they don't work + +# === dbus package === + +nobase_python_PYTHON = \ + dbus_bindings.py \ + dbus/bus.py \ + dbus/connection.py \ + dbus/dbus_bindings.py \ + dbus/_dbus.py \ + dbus/_version.py \ + dbus/decorators.py \ + dbus/exceptions.py \ + dbus/_expat_introspect_parser.py \ + dbus/glib.py \ + dbus/gobject_service.py \ + dbus/__init__.py \ + dbus/lowlevel.py \ + dbus/mainloop/__init__.py \ + dbus/mainloop/glib.py \ + dbus/proxies.py \ + dbus/server.py \ + dbus/service.py \ + dbus/types.py + +check_py_sources = $(nobase_python_PYTHON) +include $(top_srcdir)/tools/check-coding-style.mk + +# === Devel stuff === + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = dbus-python.pc + +dbusincludedir = $(includedir)/dbus-1.0/dbus +dbusinclude_HEADERS = include/dbus-python.h + +# === Tests === + +cross-test-compile: all +cross-test-server: + @$(MAKE) -C test cross-test-server +cross-test-client: + @$(MAKE) -C test cross-test-client + +# === Documentation === + +dist-hook: + chmod u+w $(distdir)/ChangeLog + if test -d $(top_srcdir)/.git; then \ + if git log --stat > $(distdir)/ChangeLog; then \ + : ; \ + else \ + git log > $(distdir)/ChangeLog; \ + fi; \ + fi + +TXT_RSTDOCS = doc/tutorial.txt doc/API_CHANGES.txt doc/HACKING.txt +RSTDOCS = README NEWS TODO +dist_doc_DATA = $(TXT_RSTDOCS) $(RSTDOCS) + +maintainer-upload: + rsync -tvpP --chmod=ugo=r $(DIST_ARCHIVES) $(DIST_ARCHIVES:%=%.asc) \ + dbus.freedesktop.org:/srv/dbus.freedesktop.org/www/releases/dbus-python/ + +maintainer-update-website: _maintainer-update-apidocs \ + _maintainer-update-htmldocs + +if ENABLE_DOCS +_maintainer-update-htmldocs: $(HTML_TXT_RSTDOCS) $(HTML_RSTDOCS) + rsync -rtvzPp --chmod=Dg+s,ug+rwX,o=rX doc \ + $(RSTDOCS) $(HTML_RSTDOCS) \ + dbus.freedesktop.org:/srv/dbus.freedesktop.org/www/doc/dbus-python/ + +HTML_TXT_RSTDOCS = doc/tutorial.html doc/API_CHANGES.html doc/HACKING.html +HTML_RSTDOCS = README.html NEWS.html TODO.html +nodist_doc_DATA = $(HTML_TXT_RSTDOCS) $(HTML_RSTDOCS) + +CLEANFILES += $(nodist_doc_DATA) + +$(HTML_TXT_RSTDOCS) : %.html: %.txt + $(INSTALL) -d doc + $(RST2HTML) $(RST2HTMLFLAGS) $< $@ +$(HTML_RSTDOCS) : %.html: % + $(RST2HTML) $(RST2HTMLFLAGS) $< $@ +else +_maintainer-update-htmldocs: + @echo "*** Not updating the HTML docs on the website - install rst2html" + @echo "*** from http://docutils.sourceforge.net/ and configure with " + @echo "*** --enable-html-docs" +endif + +if ENABLE_API_DOCS +all: api/index.html + +clean-local: + rm -rf api + +_dbus_bindings/_dbus_bindings.la: + $(MAKE) -C _dbus_bindings +_dbus_glib_bindings/_dbus_glib_bindings.la: + $(MAKE) -C _dbus_glib_bindings + +APIDOC_PYTHONPATH = $(abs_top_srcdir):$(abs_top_builddir)/_dbus_bindings/.libs:$(abs_top_builddir)/_dbus_glib_bindings/.libs + +api api/index.html: $(nobase_python_PYTHON) \ + _dbus_bindings/_dbus_bindings.la \ + _dbus_glib_bindings/_dbus_glib_bindings.la + rm -rf api + mkdir api + cd $(abs_top_srcdir) && \ + PYTHONPATH=$(APIDOC_PYTHONPATH) DBUS_PYTHON_NO_DEPRECATED=1 \ + $(PYTHON) -Wignore::DeprecationWarning \ + $(EPYDOC) -o $(abs_top_builddir)/api --html \ + --docformat restructuredtext -v \ + `find dbus -name '*.py' | grep -v dbus_bindings \ + | sed -e 's#/__init__\.py##g' \ + -e 's/\.py\>//g' -e 's#/#.#'g` \ + || { rm -rf api; exit 1; } + +_maintainer-update-apidocs: api + rsync -rtvzPp --chmod=Dg+s,ug+rwX,o=rX api/ \ + dbus.freedesktop.org:/srv/dbus.freedesktop.org/www/doc/dbus-python/api/ +else +_maintainer-update-apidocs: + @echo "*** Not updating the API docs on the website - install epydoc 3" + @echo "*** alpha (or newer) and configure with --enable-api-docs" +endif + +.PHONY: cross-test-compile cross-test-server cross-test-client \ + always-rebuild maintainer-update-website \ + _maintainer-update-apidocs _maintainer-update-htmldocs \ + maintainer-upload |