]> sigrok.org Git - libsigrok.git/blobdiff - Makefile.am
Reimplement high-level Python bindings on top of SWIG/C++ bindings.
[libsigrok.git] / Makefile.am
index 322be597dbc3cabc2627a3f0f7acdf77cf5e7d9d..e535b517badf10ed377691ed99e3bafe9f77255d 100644 (file)
@@ -379,6 +379,58 @@ tests_check_main_LDADD = $(top_builddir)/libsigrok.la @check_LIBS@
 
 endif
 
+if BINDINGS_CXX
+
+lib_LTLIBRARIES += bindings/cxx/libsigrokxx.la
+
+bindings_cxx_libsigrokxx_la_SOURCES = bindings/cxx/classes.cpp
+
+bindings_cxx_libsigrokxx_la_LIBADD = -lsigrok $(glibmm_LIBS)
+
+bindings_cxx_libsigrokxx_la_LDFLAGS = $(SR_LIB_LDFLAGS)
+
+library_include_HEADERS += \
+       bindings/cxx/include/libsigrok/libsigrok.hpp \
+       bindings/cxx/include/libsigrok/enums.hpp
+
+pkgconfig_DATA += bindings/cxx/libsigrokxx.pc
+
+bindings/cxx/classes.lo: bindings/cxx/enums.cpp
+
+bindings/cxx/enums.cpp: bindings/cxx/enums.py bindings/cxx/libsigrok.xml \
+               bindings/cxx/ConfigKey_methods.cpp bindings/cxx/QuantityFlag_methods.cpp
+       python $<
+
+bindings/cxx/libsigrok.xml: include/libsigrok/libsigrok.h
+       gccxml $(CFLAGS) -DGLIB_DISABLE_DEPRECATION_WARNINGS $< -fxml=$@
+
+endif
+
+BUILD_EXTRA =
+INSTALL_EXTRA =
+CLEAN_EXTRA =
+
+if BINDINGS_PYTHON
+
+python-build: bindings/cxx/libsigrokxx.la
+       cd bindings/python && python setup.py build
+
+python-install:
+       cd bindings/python && python setup.py install
+
+python-clean:
+       cd bindings/python && python setup.py clean --all
+
+BUILD_EXTRA += python-build
+INSTALL_EXTRA += python-install
+CLEAN_EXTRA += python-clean
+
+endif
+
+all-local: $(BUILD_EXTRA)
+install-exec-local: $(INSTALL_EXTRA)
+clean-extra: $(CLEAN_EXTRA)
+
 MAINTAINERCLEANFILES = ChangeLog
 
 .PHONY: ChangeLog