X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=Makefile.am;h=72f97969b599c16dd7d086998f7522ae332c2f5f;hb=43cd4637285833706f8a404ca027bcf0ee75b9ae;hp=efab334dac877aa390f68d0b0c02f52f11b7bf68;hpb=c23c8659b8f8c4ca60bf59f6afd12bde7a0b2383;p=libsigrok.git diff --git a/Makefile.am b/Makefile.am index efab334d..72f97969 100644 --- a/Makefile.am +++ b/Makefile.am @@ -124,6 +124,12 @@ libsigrok_la_SOURCES += \ hardware/atten-pps3xxx/protocol.c \ hardware/atten-pps3xxx/api.c endif +if HW_BEAGLELOGIC +libsigrok_la_SOURCES += \ + hardware/beaglelogic/protocol.h \ + hardware/beaglelogic/protocol.c \ + hardware/beaglelogic/api.c +endif if HW_BRYMEN_BM86X libsigrok_la_SOURCES += \ hardware/brymen-bm86x/protocol.h \ @@ -361,7 +367,7 @@ TESTS = tests/check_main check_PROGRAMS = ${TESTS} tests_check_main_SOURCES = \ - libsigrok.h \ + include/libsigrok/libsigrok.h \ tests/lib.c \ tests/lib.h \ tests/check_main.c \ @@ -379,13 +385,17 @@ tests_check_main_LDADD = $(top_builddir)/libsigrok.la @check_LIBS@ endif +BUILD_EXTRA = +INSTALL_EXTRA = +CLEAN_EXTRA = + 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_LIBADD = libsigrok.la $(glibmm_LIBS) bindings_cxx_libsigrokxx_la_LDFLAGS = $(SR_LIB_LDFLAGS) @@ -395,17 +405,109 @@ library_include_HEADERS += \ pkgconfig_DATA += bindings/cxx/libsigrokxx.pc -bindings/cxx/classes.lo: bindings/cxx/enums.cpp +bindings/cxx/libsigrok.xml: include/libsigrok/libsigrok.h + $(AM_V_GEN)gccxml $(CFLAGS) -DGLIB_DISABLE_DEPRECATION_WARNINGS $< -fxml=$@ + +bindings/cxx/enums.cpp: bindings/cxx/enums.timestamp -bindings/cxx/enums.cpp: bindings/cxx/enums.py bindings/cxx/libsigrok.xml \ +bindings/cxx/include/libsigrok/enums.hpp: bindings/cxx/enums.timestamp + +bindings/cxx/enums.timestamp: bindings/cxx/enums.py bindings/cxx/libsigrok.xml \ bindings/cxx/ConfigKey_methods.cpp bindings/cxx/QuantityFlag_methods.cpp - python $< + $(AM_V_GEN)python $< + $(AM_V_at)touch $@ -bindings/cxx/libsigrok.xml: include/libsigrok/libsigrok.h - gccxml $(CFLAGS) -DGLIB_DISABLE_DEPRECATION_WARNINGS $< -fxml=$@ +bindings/cxx/classes.lo: bindings/cxx/classes.cpp bindings/cxx/enums.cpp \ + $(library_include_HEADERS) + +cxx-clean: + rm -f bindings/cxx/libsigrok.xml + rm -f bindings/cxx/enums.cpp + rm -f bindings/cxx/include/libsigrok/enums.hpp + rm -f bindings/cxx/enums.timestamp + +CLEAN_EXTRA += cxx-clean + +endif + +if BINDINGS_PYTHON + +PDIR = bindings/python + +python-build: $(PDIR)/timestamp + +python-quietclean: + $(AM_V_at)python $(PDIR)/setup.py --quiet clean --all 3>&1 1>&2 2>&3 \ + | grep -v "can.t clean it"; true + +$(PDIR)/timestamp: bindings/cxx/libsigrokxx.la $(PDIR)/sigrok/core/classes.i \ + $(library_include_HEADERS) + $(AM_V_at)$(MAKE) python-quietclean + $(AM_V_GEN)cd $(PDIR) && python setup.py --quiet build 3>&1 1>&2 2>&3 \ + | grep -v "command line option.*Wstrict-prototypes"; true + $(AM_V_at)touch $(PDIR)/timestamp + +python-install: + cd $(PDIR) && python setup.py --quiet install --prefix $(prefix) + +python-clean: + $(AM_V_at)$(MAKE) python-quietclean + $(AM_V_at)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 $(library_include_HEADERS) + $(AM_V_GEN)swig -c++ -java -package org.sigrok.core.classes \ + -Iinclude -Ibindings/cxx/include \ + -outdir $(JDIR)/$(JPKG) $(JINT) + +$(JJAR): $(JSRC) $(JDIR)/$(JPKG)/*.java + $(AM_V_GEN)$(JAVAC) -sourcepath $(JDIR) $(JDIR)/$(JPKG)/*.java + $(AM_V_at)jar cf $(JJAR) -C $(JDIR) $(JPKG) + +$(JLIB): $(JSRC) bindings/cxx/libsigrokxx.la $(library_include_HEADERS) + $(AM_V_GEN)$(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