Add Babeltrace 2 Python bindings
[babeltrace.git] / bindings / python / bt2 / Makefile.am
1 # native module name (without `.i` extension)
2 NATIVE_MODULE = native_bt
3
4 # interface dependencies (without `native_bt` prefix and `.i` extension)
5 NATIVE_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)
25 EXTRA_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
45 EXTRA_MODULES_PY = $(addprefix $(srcdir)/,$(addsuffix .py,$(EXTRA_MODULES)))
46 NATIVE_MODULE_I = $(srcdir)/$(NATIVE_MODULE).i
47 NATIVE_MODULE_PY = $(NATIVE_MODULE).py
48 NATIVE_MODULE_C = $(NATIVE_MODULE)_wrap.c
49 NATIVE_MODULE_DEPS_I = $(addprefix $(srcdir)/native_bt,$(addsuffix .i,$(NATIVE_MODULE_DEPS)))
50
51 # installed Python package
52 nodist_bt2package_PYTHON = __init__.py $(EXTRA_MODULES_PY) $(NATIVE_MODULE_PY)
53
54 # native libraries to build
55 nativelibs_LTLIBRARIES = _native_bt.la
56
57 # installation directory for the `bt2` package
58 bt2packagedir = $(pythondir)/bt2
59 nativelibsdir = $(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
75 all-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
83 clean-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
91 EXTRA_DIST = __init__.py.in $(EXTRA_MODULES_PY) $(NATIVE_MODULE_I) $(NATIVE_MODULE_DEPS_I)
92
93 # clean: generated C and Python files (by SWIG)
94 CLEANFILES = $(NATIVE_MODULE_PY) $(NATIVE_MODULE_C)
This page took 0.032763 seconds and 5 git commands to generate.