X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bindings%2Fpython%2FMakefile.am;h=2ceab0370cb019832bed685421f14a7b86d6622f;hb=46a742ed9eeafe60dfc0fad2aa51a856fcdb1fa1;hp=536e07fdbaef4c640ae14aeb9bc32d98869b3b50;hpb=a6b5ad609020ee834a395c7f87cb632494d73457;p=babeltrace.git diff --git a/bindings/python/Makefile.am b/bindings/python/Makefile.am index 536e07fd..2ceab037 100644 --- a/bindings/python/Makefile.am +++ b/bindings/python/Makefile.am @@ -1,27 +1,58 @@ -babeltrace.i: babeltrace.i.in - sed "s/BABELTRACE_VERSION_STR/Babeltrace $(PACKAGE_VERSION)/g" babeltrace.i - -AM_CFLAGS = -I$(PYTHON_INCLUDE) -I$(top_srcdir)/include/ - -EXTRA_DIST = babeltrace.i -python_PYTHON = babeltrace.py -pyexec_LTLIBRARIES = _babeltrace.la - -MAINTAINERCLEANFILES = babeltrace_wrap.c babeltrace.py - -_babeltrace_la_SOURCES = babeltrace_wrap.c python-complements.c - -_babeltrace_la_LDFLAGS = -module - -_babeltrace_la_CFLAGS = $(GLIB_CFLAGS) $(AM_CFLAGS) - -_babeltrace_la_LIBS = $(GLIB_LIBS) - -_babeltrace_la_LIBADD = $(top_srcdir)/formats/ctf/libbabeltrace-ctf.la \ - $(top_srcdir)/formats/ctf-text/libbabeltrace-ctf-text.la - -# SWIG 'warning md variable unused' fixed after SWIG build: -babeltrace_wrap.c: babeltrace.i - $(SWIG) -python -Wall -I. -I$(top_srcdir)/include babeltrace.i - -CLEANFILES = babeltrace.i babeltrace.py babeltrace_wrap.c +if USE_PYTHON +SUBDIRS = babeltrace . + +INSTALLED_FILES=$(builddir)/installed_files.txt + +AM_CFLAGS = $(PACKAGE_CFLAGS) -I$(top_srcdir)/include -I$(srcdir)/babeltrace/ + +# Since the shared object used by the python bindings is not built with libtool +# we need to manually set the `rpath` during linkage +AM_LDFLAGS=-L$(top_builddir)/formats/ctf/.libs -L$(top_builddir)/lib/.libs +all-local: build-python-bindings.stamp + +$(builddir)/babeltrace/__init__.py: $(srcdir)/babeltrace/__init__.py.in + cd babeltrace && $(MAKE) __init__.py + +$(builddir)/babeltrace/babeltrace.i: $(srcdir)/babeltrace/babeltrace.i.in + cd babeltrace && $(MAKE) babeltrace.i + +BINDINGS_DEPS=setup.py \ + babeltrace/__init__.py \ + babeltrace/babeltrace.i \ + babeltrace/python-complements.c \ + babeltrace/python-complements.h + +BUILD_FLAGS=CC="$(CC)" \ + CFLAGS="$(GLIB_CFLAGS) $(AM_CFLAGS) $(CFLAGS)" \ + CPPFLAGS="$(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)" \ + LDFLAGS="$(AM_LDFLAGS) $(LDFLAGS) $(GLIB_LIBS) $(LIBS)" + +build-python-bindings.stamp: $(BINDINGS_DEPS) + $(BUILD_FLAGS) $(PYTHON) $(builddir)/setup.py build_ext + $(BUILD_FLAGS) $(PYTHON) $(builddir)/setup.py build + touch $@ + +install-exec-local: build-python-bindings.stamp + @opts="--prefix=$(prefix) --record $(INSTALLED_FILES) --verbose --no-compile $(DISTSETUPOPTS)"; \ + if [ "$(DESTDIR)" != "" ]; then \ + opts="$$opts --root=$(DESTDIR)"; \ + fi; \ + $(PYTHON) $(builddir)/setup.py install $$opts; + +clean-local: + rm -rf $(builddir)/build + +# Distutils' setup.py does not include an uninstall target, we thus need to do +# it manually. We save the path of the files that were installed during the install target +# and delete them during the uninstallation. +uninstall-local: + if [ "$(DESTDIR)" != "" ]; then \ + $(SED) -i "s|^|$(DESTDIR)/|g" $(INSTALLED_FILES); \ + fi + cat $(INSTALLED_FILES) | xargs rm -rf || true + $(GREP) "__init__.py" $(INSTALLED_FILES) | xargs dirname | xargs rm -rf || true + rm -f $(INSTALLED_FILES) + +CLEANFILES = babeltrace/babeltrace_wrap.c babeltrace/babeltrace.py build-python-bindings.stamp +DISTCLEANFILES = setup.py +endif