X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=bindings%2Fpython%2FMakefile.am;h=9e44127613768c10019cca592005d12781816827;hp=b25ce929bf4d59649a1f84f699c74d27eec1ec3b;hb=11343a4081fe9d8dac4c589c5f559f5c79ec52ba;hpb=550461940505dbeae425d1b87d145549800a5341 diff --git a/bindings/python/Makefile.am b/bindings/python/Makefile.am index b25ce929..9e441276 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 = $(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="$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(GLIB_CFLAGS) $(AM_CFLAGS)" \ + CPPFLAGS="$(AM_CPPFLAGS) $(CPPFLAGS)" \ + LDFLAGS="$(AM_LDFLAGS) $(LDFLAGS)" + +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