Add Babeltrace 2 Python bindings
[babeltrace.git] / bindings / python / bt2 / Makefile.am
CommitLineData
81447b5b
PP
1# native module name (without `.i` extension)
2NATIVE_MODULE = native_bt
3
4# interface dependencies (without `native_bt` prefix and `.i` extension)
5NATIVE_MODULE_DEPS = \
6 clockclass \
7 eventclass \
8 event \
9 fields \
10 ft \
11 packet \
12 ref \
13 streamclass \
14 stream \
15 trace \
16 values \
17 ctfwriter \
18 componentclass \
19 component \
20 notification \
21 notifiter \
22 plugin
23
24# Python modules (without `.py` extension)
25EXTRA_MODULES = \
26 clock_class \
27 event_class \
28 event \
29 fields \
30 field_types \
31 object \
32 packet \
33 stream_class \
34 stream \
35 trace \
36 utils \
37 values \
38 ctf_writer \
39 component \
40 notification \
41 notification_iterator \
42 plugin
43
44# automatically generated file lists
45EXTRA_MODULES_PY = $(addprefix $(srcdir)/,$(addsuffix .py,$(EXTRA_MODULES)))
46NATIVE_MODULE_I = $(srcdir)/$(NATIVE_MODULE).i
47NATIVE_MODULE_PY = $(NATIVE_MODULE).py
48NATIVE_MODULE_C = $(NATIVE_MODULE)_wrap.c
49NATIVE_MODULE_DEPS_I = $(addprefix $(srcdir)/native_bt,$(addsuffix .i,$(NATIVE_MODULE_DEPS)))
50
51# installed Python package
52nodist_bt2package_PYTHON = __init__.py $(EXTRA_MODULES_PY) $(NATIVE_MODULE_PY)
53
54# native libraries to build
55nativelibs_LTLIBRARIES = _native_bt.la
56
57# installation directory for the `bt2` package
58bt2packagedir = $(pythondir)/bt2
59nativelibsdir = $(bt2packagedir)
60
61# SWIG to C wrapper (and Python file)
62$(NATIVE_MODULE_C): $(NATIVE_MODULE_I) $(NATIVE_MODULE_DEPS_I)
63 $(SWIG) -python -Wall -I$(srcdir) -I$(top_srcdir)/include -module $(NATIVE_MODULE) -outcurrentdir $(NATIVE_MODULE_I)
64
65# native_bt module
66_native_bt_la_SOURCES = native_bt_wrap.c
67_native_bt_la_LDFLAGS = -module
68_native_bt_la_CFLAGS = $(GLIB_CFLAGS) $(PYTHON_INCLUDE) -I$(top_srcdir)/include/ -I$(srcdir)
69_native_bt_la_LIBS = $(GLIB_LIBS)
70_native_bt_la_LIBADD = \
71 $(top_builddir)/lib/libbabeltrace.la \
72 $(top_builddir)/formats/ctf/libbabeltrace-ctf.la
73
74# extra module sources -> build directory
75all-local:
76 @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
77 for file in $(EXTRA_MODULES_PY); do \
78 cp -f $(srcdir)/$$file $(builddir); \
79 done; \
80 fi
81
82# clean extra module sources in build directory
83clean-local:
84 @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
85 for file in $(EXTRA_MODULES_PY); do \
86 rm -f $(srcdir)/$$file $(builddir); \
87 done; \
88 fi
89
90# distribute: extra Python modules and SWIG interface files
91EXTRA_DIST = __init__.py.in $(EXTRA_MODULES_PY) $(NATIVE_MODULE_I) $(NATIVE_MODULE_DEPS_I)
92
93# clean: generated C and Python files (by SWIG)
94CLEANFILES = $(NATIVE_MODULE_PY) $(NATIVE_MODULE_C)
This page took 0.028142 seconds and 4 git commands to generate.