X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=Makefile.am;h=777aff85e6a426e7031a3af95cc4cf3134741c65;hb=d1785122c71c550e6068e84a3a8f0a30a3a2bf8c;hp=fe440c0c0e37e1724c2eaf0d1b75f8431c880177;hpb=d4b387482850b094c908ee88f3538ee906afdc15;p=libsigrok.git diff --git a/Makefile.am b/Makefile.am index fe440c0c..777aff85 100644 --- a/Makefile.am +++ b/Makefile.am @@ -31,6 +31,7 @@ libsigrok_la_SOURCES = \ session.c \ session_file.c \ session_driver.c \ + drivers.c \ hwdriver.c \ trigger.c \ soft-trigger.c \ @@ -332,7 +333,10 @@ libsigrok_la_LIBADD = $(LIBOBJS) libsigrok_la_LDFLAGS = $(SR_LIB_LDFLAGS) library_includedir = $(includedir)/libsigrok -library_include_HEADERS = libsigrok.h proto.h version.h +library_include_HEADERS = \ + include/libsigrok/libsigrok.h \ + include/libsigrok/proto.h \ + include/libsigrok/version.h noinst_HEADERS = libsigrok-internal.h pkgconfigdir = $(libdir)/pkgconfig @@ -375,6 +379,109 @@ 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 = libsigrok.la $(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 + +PDIR = bindings/python + +python-build: $(PDIR)/timestamp + +$(PDIR)/timestamp: bindings/cxx/libsigrokxx.la $(PDIR)/sigrok/core/classes.i + cd $(PDIR) && python setup.py clean --all + cd $(PDIR) && python setup.py build + touch $(PDIR)/timestamp + +python-install: + cd $(PDIR) && python setup.py install --prefix $(prefix) + +python-clean: + cd $(PDIR) && python setup.py clean --all + rm -f $(PDIR)/timestamp + +BUILD_EXTRA += python-build +INSTALL_EXTRA += python-install +CLEAN_EXTRA += python-clean + +endif + +if BINDINGS_JAVA + +JDIR = bindings/java +JPKG = org/sigrok/core/classes +JINT = $(JDIR)/$(JPKG)/classes.i +JSRC = $(JDIR)/$(JPKG)/classes_wrap.cxx +JLIB = $(JDIR)/libsigrok_java_core_classes.so +JJAR = $(JDIR)/sigrok-core.jar + +java-build: $(JJAR) $(JLIB) + +$(JSRC): $(JINT) bindings/swig/classes.i + swig -c++ -java -package org.sigrok.core.classes \ + -Iinclude -Ibindings/cxx/include \ + -outdir $(JDIR)/$(JPKG) $(JINT) + +$(JJAR): $(JSRC) $(JDIR)/$(JPKG)/*.java + $(JAVAC) -sourcepath $(JDIR) $(JDIR)/$(JPKG)/*.java + jar cf $(JJAR) -C $(JDIR) $(JPKG) + +$(JLIB): $(JSRC) bindings/cxx/libsigrokxx.la + $(CXX) $(CXXFLAGS) -L.libs -Lbindings/cxx/.libs \ + -fno-strict-aliasing -fPIC -shared \ + $(JDIR)/$(JPKG)/classes_wrap.cxx -lsigrokxx \ + -o $(JLIB) + +java-install: + $(INSTALL) -d $(libdir)/jni + $(INSTALL) $(JLIB) -t $(libdir)/jni + $(INSTALL) -d $(datadir)/java + $(INSTALL) $(JJAR) -t $(datadir)/java + +java-clean: + rm -f $(JSRC) + rm -f $(JDIR)/$(JPKG)/*.class + rm -f $(JJAR) + rm -f $(JLIB) + +BUILD_EXTRA += java-build +INSTALL_EXTRA += java-install +CLEAN_EXTRA += java-clean + +endif + +all-local: $(BUILD_EXTRA) +install-exec-local: $(INSTALL_EXTRA) +clean-local: $(CLEAN_EXTRA) + MAINTAINERCLEANFILES = ChangeLog .PHONY: ChangeLog