X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=blobdiff_plain;f=Makefile.am;h=cedd8250512f1bd27b3e3c726e64116275cc6226;hp=1079ce8a8d9ca5a418d71c33dc4217b8241e67df;hb=47bbc4b531eb8e491115b0dbcb686d23c78235fb;hpb=8e0f9bf782cb9e84a244bbd1b91db96a3f4f56e6 diff --git a/Makefile.am b/Makefile.am index 1079ce8a..cedd8250 100644 --- a/Makefile.am +++ b/Makefile.am @@ -22,6 +22,9 @@ ACLOCAL_AMFLAGS = -I m4 AM_LIBTOOLFLAGS = --silent GNUMAKEFLAGS = --no-print-directory +# distutils/setuptools cause trouble on distcheck. Disable for now. +DISTCHECK_CONFIGURE_FLAGS = --disable-python + FIRMWARE_DIR = $(datadir)/sigrok-firmware local_includes = -Iinclude -I$(srcdir)/include -I$(srcdir)/src -I. @@ -40,18 +43,18 @@ AM_CPPFLAGS = $(local_includes) $(global_defs) # The tests CFLAGS are a superset of the libsigrok CFLAGS, and the # python bindings CFLAGS are a superset of the C++ bindings CFLAGS. AM_CFLAGS = $(SR_EXTRA_CFLAGS) $(SR_WFLAGS) $(TESTS_CFLAGS) -AM_CXXFLAGS = $(SR_WXXFLAGS) $(PYSIGROK_CFLAGS) +AM_CXXFLAGS = $(SR_WXXFLAGS) $(LIBSIGROKCXX_CFLAGS) lib_LTLIBRARIES = libsigrok.la # Backend files libsigrok_la_SOURCES = \ src/backend.c \ + src/conversion.c \ src/device.c \ src/session.c \ src/session_file.c \ src/session_driver.c \ - src/drivers.c \ src/hwdriver.c \ src/trigger.c \ src/soft-trigger.c \ @@ -62,7 +65,8 @@ libsigrok_la_SOURCES = \ src/log.c \ src/version.c \ src/error.c \ - src/std.c + src/std.c \ + src/sw_limits.c # Input modules libsigrok_la_SOURCES += \ @@ -70,6 +74,8 @@ libsigrok_la_SOURCES += \ src/input/binary.c \ src/input/chronovu_la8.c \ src/input/csv.c \ + src/input/raw_analog.c \ + src/input/trace32_ad.c \ src/input/vcd.c \ src/input/wav.c @@ -83,7 +89,6 @@ libsigrok_la_SOURCES += \ src/output/csv.c \ src/output/chronovu_la8.c \ src/output/wav.c \ - src/output/gnuplot.c \ src/output/hex.c \ src/output/ols.c \ src/output/srzip.c \ @@ -98,6 +103,7 @@ libsigrok_la_SOURCES += \ # SCPI support libsigrok_la_SOURCES += \ + src/scpi.h \ src/scpi/scpi.c \ src/scpi/helpers.c \ src/scpi/scpi_tcp.c @@ -143,11 +149,13 @@ libsigrok_la_SOURCES += \ src/dmm/fs9922.c \ src/dmm/m2110.c \ src/dmm/metex14.c \ + src/dmm/asycii.c \ src/dmm/rs9lcd.c \ src/dmm/bm25x.c \ src/dmm/ut71x.c \ src/dmm/ut372.c \ - src/dmm/vc870.c + src/dmm/vc870.c \ + src/dmm/dtm0660.c # Hardware (LCR chip parsers) if NEED_SERIAL @@ -160,31 +168,56 @@ libsigrok_la_SOURCES += \ src/scale/kern.c # Hardware drivers +noinst_LTLIBRARIES = src/libdrivers.la \ + src/libdrivers_head.la src/libdrivers_tail.la + +src/libdrivers.o: src/libdrivers.la \ + src/libdrivers_head.la src/libdrivers_tail.la + $(AM_V_CCLD)$(LINK) src/libdrivers_head.la src/libdrivers.la \ + src/libdrivers_tail.la +src/libdrivers.lo: src/libdrivers.o + $(AM_V_GEN)echo "# Generated by libtool" > $@ + $(AM_V_at)echo "pic_object='libdrivers.o'" >> $@ + $(AM_V_at)echo "non_pic_object='libdrivers.o'" >> $@ + +src_libdrivers_head_la_SOURCES = src/driver_list_start.c + +src_libdrivers_tail_la_SOURCES = src/driver_list_stop.c + +src_libdrivers_la_SOURCES = src/drivers.c + if HW_AGILENT_DMM -libsigrok_la_SOURCES += \ - src/hardware/agilent-dmm/api.c \ - src/hardware/agilent-dmm/agilent-dmm.h \ - src/hardware/agilent-dmm/sched.c +src_libdrivers_la_SOURCES += \ + src/hardware/agilent-dmm/protocol.h \ + src/hardware/agilent-dmm/protocol.c \ + src/hardware/agilent-dmm/api.c endif if HW_APPA_55II -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/appa-55ii/protocol.h \ src/hardware/appa-55ii/protocol.c \ src/hardware/appa-55ii/api.c endif +if HW_ARACHNID_LABS_RE_LOAD_PRO +src_libdrivers_la_SOURCES += \ + src/hardware/arachnid-labs-re-load-pro/protocol.h \ + src/hardware/arachnid-labs-re-load-pro/protocol.c \ + src/hardware/arachnid-labs-re-load-pro/api.c +endif if HW_ASIX_SIGMA -libsigrok_la_SOURCES += \ - src/hardware/asix-sigma/asix-sigma.h \ - src/hardware/asix-sigma/asix-sigma.c +src_libdrivers_la_SOURCES += \ + src/hardware/asix-sigma/protocol.h \ + src/hardware/asix-sigma/protocol.c \ + src/hardware/asix-sigma/api.c endif if HW_ATTEN_PPS3XXX -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/atten-pps3xxx/protocol.h \ src/hardware/atten-pps3xxx/protocol.c \ src/hardware/atten-pps3xxx/api.c endif if HW_BAYLIBRE_ACME -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/baylibre-acme/protocol.h \ src/hardware/baylibre-acme/protocol.c \ src/hardware/baylibre-acme/api.c \ @@ -192,256 +225,314 @@ libsigrok_la_SOURCES += \ src/hardware/baylibre-acme/gpio.c endif if HW_BEAGLELOGIC -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/beaglelogic/beaglelogic.h \ src/hardware/beaglelogic/protocol.h \ src/hardware/beaglelogic/protocol.c \ - src/hardware/beaglelogic/api.c + src/hardware/beaglelogic/api.c \ + src/hardware/beaglelogic/beaglelogic_native.c \ + src/hardware/beaglelogic/beaglelogic_tcp.c endif if HW_BRYMEN_BM86X -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/brymen-bm86x/protocol.h \ src/hardware/brymen-bm86x/protocol.c \ src/hardware/brymen-bm86x/api.c endif if HW_BRYMEN_DMM -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/brymen-dmm/parser.c \ src/hardware/brymen-dmm/protocol.h \ src/hardware/brymen-dmm/protocol.c \ src/hardware/brymen-dmm/api.c endif if HW_CEM_DT_885X -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/cem-dt-885x/protocol.h \ src/hardware/cem-dt-885x/protocol.c \ src/hardware/cem-dt-885x/api.c endif if HW_CENTER_3XX -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/center-3xx/protocol.h \ src/hardware/center-3xx/protocol.c \ src/hardware/center-3xx/api.c endif if HW_CHRONOVU_LA -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/chronovu-la/protocol.h \ src/hardware/chronovu-la/protocol.c \ src/hardware/chronovu-la/api.c endif if HW_COLEAD_SLM -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/colead-slm/protocol.h \ src/hardware/colead-slm/protocol.c \ src/hardware/colead-slm/api.c endif if HW_CONRAD_DIGI_35_CPU -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/conrad-digi-35-cpu/protocol.h \ src/hardware/conrad-digi-35-cpu/protocol.c \ src/hardware/conrad-digi-35-cpu/api.c endif if HW_DEMO -libsigrok_la_SOURCES += \ - src/hardware/demo/demo.c +src_libdrivers_la_SOURCES += \ + src/hardware/demo/protocol.h \ + src/hardware/demo/protocol.c \ + src/hardware/demo/api.c endif -if HW_DEREE_DE5000 -libsigrok_la_SOURCES += \ - src/hardware/deree-de5000/api.c +if HW_DREAMSOURCELAB_DSLOGIC +src_libdrivers_la_SOURCES += \ + src/hardware/dreamsourcelab-dslogic/protocol.h \ + src/hardware/dreamsourcelab-dslogic/protocol.c \ + src/hardware/dreamsourcelab-dslogic/api.c endif if HW_FLUKE_DMM -libsigrok_la_SOURCES += \ - src/hardware/fluke-dmm/fluke-dmm.h \ - src/hardware/fluke-dmm/fluke.c \ +src_libdrivers_la_SOURCES += \ + src/hardware/fluke-dmm/protocol.h \ + src/hardware/fluke-dmm/protocol.c \ src/hardware/fluke-dmm/api.c endif +if HW_FTDI_LA +src_libdrivers_la_SOURCES += \ + src/hardware/ftdi-la/protocol.h \ + src/hardware/ftdi-la/protocol.c \ + src/hardware/ftdi-la/api.c +endif if HW_FX2LAFW -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/fx2lafw/protocol.h \ src/hardware/fx2lafw/protocol.c \ - src/hardware/fx2lafw/api.c \ - src/hardware/fx2lafw/dslogic.c \ - src/hardware/fx2lafw/dslogic.h + src/hardware/fx2lafw/api.c endif if HW_GMC_MH_1X_2X -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/gmc-mh-1x-2x/protocol.h \ src/hardware/gmc-mh-1x-2x/protocol.c \ src/hardware/gmc-mh-1x-2x/api.c endif if HW_GWINSTEK_GDS_800 -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/gwinstek-gds-800/protocol.h \ src/hardware/gwinstek-gds-800/protocol.c \ src/hardware/gwinstek-gds-800/api.c endif if HW_HAMEG_HMO -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/hameg-hmo/protocol.h \ src/hardware/hameg-hmo/protocol.c \ src/hardware/hameg-hmo/api.c endif +if HW_HANTEK_6XXX +src_libdrivers_la_SOURCES += \ + src/hardware/hantek-6xxx/protocol.h \ + src/hardware/hantek-6xxx/protocol.c \ + src/hardware/hantek-6xxx/api.c +endif if HW_HANTEK_DSO -libsigrok_la_SOURCES += \ - src/hardware/hantek-dso/dso.h \ - src/hardware/hantek-dso/dso.c \ +src_libdrivers_la_SOURCES += \ + src/hardware/hantek-dso/protocol.h \ + src/hardware/hantek-dso/protocol.c \ src/hardware/hantek-dso/api.c endif +if HW_HP_3457A +src_libdrivers_la_SOURCES += \ + src/hardware/hp-3457a/protocol.h \ + src/hardware/hp-3457a/protocol.c \ + src/hardware/hp-3457a/api.c +endif if HW_HUNG_CHANG_DSO_2100 -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/hung-chang-dso-2100/protocol.h \ src/hardware/hung-chang-dso-2100/protocol.c \ src/hardware/hung-chang-dso-2100/api.c endif if HW_IKALOGIC_SCANALOGIC2 -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/ikalogic-scanalogic2/protocol.h \ src/hardware/ikalogic-scanalogic2/protocol.c \ src/hardware/ikalogic-scanalogic2/api.c endif if HW_IKALOGIC_SCANAPLUS -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/ikalogic-scanaplus/protocol.h \ src/hardware/ikalogic-scanaplus/protocol.c \ src/hardware/ikalogic-scanaplus/api.c endif if HW_KECHENG_KC_330B -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/kecheng-kc-330b/protocol.h \ src/hardware/kecheng-kc-330b/protocol.c \ src/hardware/kecheng-kc-330b/api.c endif if HW_KERN_SCALE -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/kern-scale/protocol.h \ src/hardware/kern-scale/protocol.c \ src/hardware/kern-scale/api.c endif -if HW_KORAD_KDXXXXP -libsigrok_la_SOURCES += \ - src/hardware/korad-kdxxxxp/protocol.h \ - src/hardware/korad-kdxxxxp/protocol.c \ - src/hardware/korad-kdxxxxp/api.c +if HW_KORAD_KAXXXXP +src_libdrivers_la_SOURCES += \ + src/hardware/korad-kaxxxxp/protocol.h \ + src/hardware/korad-kaxxxxp/protocol.c \ + src/hardware/korad-kaxxxxp/api.c endif if HW_LASCAR_EL_USB -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/lascar-el-usb/protocol.h \ src/hardware/lascar-el-usb/protocol.c \ src/hardware/lascar-el-usb/api.c endif +if HW_LECROY_LOGICSTUDIO +src_libdrivers_la_SOURCES += \ + src/hardware/lecroy-logicstudio/protocol.h \ + src/hardware/lecroy-logicstudio/protocol.c \ + src/hardware/lecroy-logicstudio/api.c +endif +if HW_LECROY_XSTREAM +src_libdrivers_la_SOURCES += \ + src/hardware/lecroy-xstream/protocol.h \ + src/hardware/lecroy-xstream/protocol.c \ + src/hardware/lecroy-xstream/api.c +endif if HW_MANSON_HCS_3XXX -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/manson-hcs-3xxx/protocol.h \ src/hardware/manson-hcs-3xxx/protocol.c \ src/hardware/manson-hcs-3xxx/api.c endif if HW_MAYNUO_M97 -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/maynuo-m97/protocol.h \ src/hardware/maynuo-m97/protocol.c \ src/hardware/maynuo-m97/api.c endif if HW_MIC_985XX -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/mic-985xx/protocol.h \ src/hardware/mic-985xx/protocol.c \ src/hardware/mic-985xx/api.c endif if HW_MOTECH_LPS_30X -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/motech-lps-30x/protocol.h \ src/hardware/motech-lps-30x/protocol.c \ src/hardware/motech-lps-30x/api.c endif if HW_NORMA_DMM -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/norma-dmm/protocol.h \ src/hardware/norma-dmm/protocol.c \ src/hardware/norma-dmm/api.c endif if HW_OPENBENCH_LOGIC_SNIFFER -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/openbench-logic-sniffer/protocol.h \ src/hardware/openbench-logic-sniffer/protocol.c \ src/hardware/openbench-logic-sniffer/api.c endif +if HW_PCE_322A +src_libdrivers_la_SOURCES += \ + src/hardware/pce-322a/protocol.h \ + src/hardware/pce-322a/protocol.c \ + src/hardware/pce-322a/api.c +endif if HW_PIPISTRELLO_OLS -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/pipistrello-ols/protocol.h \ src/hardware/pipistrello-ols/protocol.c \ src/hardware/pipistrello-ols/api.c endif if HW_RIGOL_DS -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/rigol-ds/protocol.h \ src/hardware/rigol-ds/protocol.c \ src/hardware/rigol-ds/api.c endif +if HW_ROHDE_SCHWARZ_SME_0X +src_libdrivers_la_SOURCES += \ + src/hardware/rohde-schwarz-sme-0x/protocol.h \ + src/hardware/rohde-schwarz-sme-0x/protocol.c \ + src/hardware/rohde-schwarz-sme-0x/api.c +endif if HW_SALEAE_LOGIC16 -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/saleae-logic16/protocol.h \ src/hardware/saleae-logic16/protocol.c \ src/hardware/saleae-logic16/api.c endif +if HW_SALEAE_LOGIC_PRO +src_libdrivers_la_SOURCES += \ + src/hardware/saleae-logic-pro/protocol.h \ + src/hardware/saleae-logic-pro/protocol.c \ + src/hardware/saleae-logic-pro/api.c +endif if HW_SCPI_PPS -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/scpi-pps/protocol.h \ src/hardware/scpi-pps/protocol.c \ src/hardware/scpi-pps/profiles.c \ src/hardware/scpi-pps/api.c endif if HW_SERIAL_DMM -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/serial-dmm/protocol.h \ src/hardware/serial-dmm/protocol.c \ src/hardware/serial-dmm/api.c endif +if HW_SERIAL_LCR +src_libdrivers_la_SOURCES += \ + src/hardware/serial-lcr/api.c +endif if HW_SYSCLK_LWLA -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/sysclk-lwla/lwla.h \ src/hardware/sysclk-lwla/lwla.c \ + src/hardware/sysclk-lwla/lwla1016.c \ + src/hardware/sysclk-lwla/lwla1034.c \ src/hardware/sysclk-lwla/protocol.h \ src/hardware/sysclk-lwla/protocol.c \ src/hardware/sysclk-lwla/api.c endif if HW_TELEINFO -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/teleinfo/protocol.h \ src/hardware/teleinfo/protocol.c \ src/hardware/teleinfo/api.c endif if HW_TESTO -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/testo/protocol.h \ src/hardware/testo/protocol.c \ src/hardware/testo/api.c endif if HW_TONDAJ_SL_814 -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/tondaj-sl-814/protocol.h \ src/hardware/tondaj-sl-814/protocol.c \ src/hardware/tondaj-sl-814/api.c endif if HW_UNI_T_DMM -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/uni-t-dmm/protocol.h \ src/hardware/uni-t-dmm/protocol.c \ src/hardware/uni-t-dmm/api.c endif if HW_UNI_T_UT32X -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/uni-t-ut32x/protocol.h \ src/hardware/uni-t-ut32x/protocol.c \ src/hardware/uni-t-ut32x/api.c endif if HW_VICTOR_DMM -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/victor-dmm/protocol.h \ src/hardware/victor-dmm/protocol.c \ src/hardware/victor-dmm/api.c endif if HW_YOKOGAWA_DLM -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/yokogawa-dlm/protocol.h \ src/hardware/yokogawa-dlm/protocol.c \ src/hardware/yokogawa-dlm/protocol_wrappers.h \ @@ -449,7 +540,7 @@ libsigrok_la_SOURCES += \ src/hardware/yokogawa-dlm/api.c endif if HW_ZEROPLUS_LOGIC_CUBE -libsigrok_la_SOURCES += \ +src_libdrivers_la_SOURCES += \ src/hardware/zeroplus-logic-cube/analyzer.c \ src/hardware/zeroplus-logic-cube/analyzer.h \ src/hardware/zeroplus-logic-cube/gl_usb.h \ @@ -459,7 +550,7 @@ libsigrok_la_SOURCES += \ src/hardware/zeroplus-logic-cube/api.c endif -libsigrok_la_LIBADD = $(SR_EXTRA_LIBS) $(LIBSIGROK_LIBS) +libsigrok_la_LIBADD = src/libdrivers.lo $(SR_EXTRA_LIBS) $(LIBSIGROK_LIBS) libsigrok_la_LDFLAGS = -version-info $(SR_LIB_VERSION) -no-undefined library_includedir = $(includedir)/libsigrok @@ -473,6 +564,15 @@ noinst_HEADERS = src/libsigrok-internal.h pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libsigrok.pc +mimeappdir = $(datadir)/mime/packages +mimeapp_DATA = contrib/vnd.sigrok.session.xml + +mimeicondir = $(datadir)/icons/hicolor/48x48/mimetypes +mimeicon_DATA = contrib/libsigrok.png + +mimeiconscalabledir = $(datadir)/icons/hicolor/scalable/mimetypes +mimeiconscalable_DATA = contrib/libsigrok.svg + EXTRA_DIST = \ Doxyfile \ HACKING \ @@ -489,18 +589,18 @@ EXTRA_DIST = \ bindings/python/sigrok/__init__.py \ bindings/python/sigrok/core/__init__.py \ bindings/python/sigrok/core/classes.i \ + bindings/ruby/classes.i \ bindings/java/Doxyfile \ bindings/java/org/sigrok/core/classes/classes.i \ bindings/java/org/sigrok/core/interfaces/DatafeedCallback.java \ bindings/java/org/sigrok/core/interfaces/LogCallback.java \ bindings/swig/classes.i \ bindings/swig/doc.py \ - contrib/gnuplot_chronovu_la8.gpi \ - contrib/gnuplot_rigol_ds1xx2.gpi \ - contrib/gnuplot_usbeesx.gpi \ - contrib/gnuplot_usbeedx8.gpi \ - contrib/gnuplot_usbeedx16.gpi \ - contrib/sigrok-logo-notext.png \ + bindings/swig/templates.i \ + contrib/libsigrok_112x112.png \ + contrib/libsigrok.png \ + contrib/libsigrok.svg \ + contrib/vnd.sigrok.session.xml \ contrib/z60_libsigrok.rules if HAVE_CHECK @@ -530,15 +630,21 @@ tests_main_LDADD = libsigrok.la $(SR_EXTRA_LIBS) $(TESTS_LIBS) BUILD_EXTRA = INSTALL_EXTRA = +UNINSTALL_EXTRA = CLEAN_EXTRA = +libsigrok-uninstall: + -rmdir $(DESTDIR)$(includedir)/libsigrok + +UNINSTALL_EXTRA += libsigrok-uninstall + if BINDINGS_CXX lib_LTLIBRARIES += bindings/cxx/libsigrokcxx.la bindings_cxx_libsigrokcxx_la_SOURCES = bindings/cxx/classes.cpp -bindings_cxx_libsigrokcxx_la_LIBADD = libsigrok.la $(SR_EXTRA_LIBS) $(LIBSIGROKCXX_LIBS) +bindings_cxx_libsigrokcxx_la_LIBADD = libsigrok.la $(SR_EXTRA_LIBS) $(LIBSIGROKCXX_LIBS) $(SR_EXTRA_CXX_LIBS) bindings_cxx_libsigrokcxx_la_LDFLAGS = -version-info $(SR_LIB_VERSION) -no-undefined bindings_cxx_libsigrokcxx_la_includedir = $(includedir)/libsigrokcxx @@ -567,12 +673,18 @@ bindings/cxx/classes.lo: bindings/cxx/classes.cpp bindings/cxx/enums.cpp \ cxx-clean: rm -rf doxy/ rm -rf bindings/cxx/doxy/ + rm -f bindings/swig/enums.i rm -f bindings/cxx/enums.cpp rm -f bindings/cxx/include/libsigrokcxx/enums.hpp rm -f bindings/cxx/enums.timestamp CLEAN_EXTRA += cxx-clean +cxx-uninstall: + -rmdir $(DESTDIR)$(includedir)/libsigrokcxx + +UNINSTALL_EXTRA += cxx-uninstall + endif CPPXMLDOC = bindings/cxx/doxy/xml/index.xml @@ -581,13 +693,16 @@ $(CPPXMLDOC): bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp \ bindings/cxx/enums.timestamp $(AM_V_GEN)cd $(srcdir)/bindings/cxx && BUILDDIR=$(abs_builddir)/bindings/cxx/ doxygen Doxyfile 2>/dev/null +# Macro definitions to be used by the SWIG parser. +swig_defs = -Dnoexcept= -Dprivate=protected -DG_GNUC_BEGIN_IGNORE_DEPRECATIONS= -DG_GNUC_END_IGNORE_DEPRECATIONS= + if BINDINGS_PYTHON PDIR = bindings/python PDOC_START = bindings/python/sigrok/core/doc_start.i PDOC_END = bindings/python/sigrok/core/doc_end.i -setup_vars = VERSION='$(PACKAGE_VERSION)' CC='$(CXX)' CFLAGS='$(AM_CXXFLAGS) $(CXXFLAGS)' LDADD='$(PYSIGROK_LIBS)' +setup_vars = VERSION='$(PACKAGE_VERSION)' CC='$(CXX)' CXX='$(CXX)' CFLAGS='$(CXXFLAGS) $(SR_WXXFLAGS) $(PYSIGROK_CFLAGS)' CXXFLAGS='$(CXXFLAGS) $(SR_WXXFLAGS) $(PYSIGROK_CFLAGS)' LDADD='$(PYSIGROK_LIBS)' setup_quiet = --quiet setup_py = $(PYTHON) $(srcdir)/$(PDIR)/setup.py $(setup_vars) $(setup_quiet) @@ -610,7 +725,7 @@ $(PDIR)/timestamp: $(PDIR)/sigrok/core/classes.i \ $(nodist_bindings_cxx_libsigrokcxx_la_include_HEADERS) \ @ORDER@ bindings/cxx/libsigrokcxx.la $(AM_V_at)$(setup_py) clean --all 2>/dev/null - $(AM_V_GEN)$(setup_py) build_ext --swig "$(SWIG)" build_py + $(AM_V_GEN)$(setup_py) build_ext --swig "$(SWIG)" --swig-opts '$(swig_defs)' build_py $(AM_V_at): >$@ python-install: @@ -632,6 +747,56 @@ CLEAN_EXTRA += python-clean endif +if BINDINGS_RUBY + +RDIR = bindings/ruby +RDOC = $(RDIR)/doc.i +RWRAP = $(RDIR)/classes_wrap.cpp +ROBJ = $(RWRAP:.cpp=.o) +REXT = $(RDIR)/sigrok.$(RUBY_DLEXT) + +$(RDOC): $(srcdir)/bindings/swig/doc.py $(CPPXMLDOC) + $(AM_V_at)test -d $(RDIR) || $(MKDIR_P) $(RDIR) + $(AM_V_GEN)$(PYTHON) $(srcdir)/bindings/swig/doc.py ruby $(CPPXMLDOC) > $@ + +$(RWRAP): $(srcdir)/$(RDIR)/classes.i $(RDOC) \ + bindings/swig/classes.i bindings/swig/templates.i \ + bindings/swig/enums.i + $(AM_V_GEN)$(SWIG) -ruby -c++ -Ibindings -Ibindings/cxx/include -I$(RDIR) $(local_includes) $(swig_defs) -o $@ $(srcdir)/$(RDIR)/classes.i + +$(ROBJ): $(RWRAP) \ + $(library_include_HEADERS) \ + $(nodist_library_include_HEADERS) \ + $(bindings_cxx_libsigrokcxx_la_include_HEADERS) \ + $(nodist_bindings_cxx_libsigrokcxx_la_include_HEADERS) + $(AM_V_CXX)$(CXX) $(RBSIGROK_CFLAGS) -I. -Iinclude -Ibindings/cxx/include $(local_includes) -fPIC -o $@ -c $(RWRAP) + +$(REXT): $(ROBJ) @ORDER@ bindings/cxx/libsigrokcxx.la + $(AM_V_CXXLD)$(CXX) -shared -o $@ $(ROBJ) -lsigrokcxx -Lbindings/cxx/.libs $(RBSIGROK_LIBS) + +ruby-build: $(REXT) + +ruby-install: $(REXT) + $(INSTALL) -d $(DESTDIR)$(prefix)/$(RBSIGROK_EXTDIR) + $(INSTALL) $(REXT) $(DESTDIR)$(prefix)/$(RBSIGROK_EXTDIR) + +ruby-uninstall: + rm -f $(DESTDIR)$(prefix)/$(RBSIGROK_EXTDIR)/sigrok.$(RUBY_DLEXT) + +ruby-clean: + -$(AM_V_at)rm -fr $(RDIR)/doc + -$(AM_V_at)rm -f $(REXT) $(ROBJ) $(RWRAP) $(RDOC) + +ruby-doc: $(RWRAP) + $(AM_V_at)yard doc -o $(RDIR)/doc $(RWRAP) + +BUILD_EXTRA += ruby-build +INSTALL_EXTRA += ruby-install +UNINSTALL_EXTRA += ruby-uninstall +CLEAN_EXTRA += ruby-clean + +endif + if BINDINGS_JAVA JDIR = bindings/java @@ -658,7 +823,7 @@ $(JCXX): $(srcdir)/$(JSWG) $(JDOC) bindings/swig/classes.i \ $(bindings_cxx_libsigrokcxx_la_include_HEADERS) \ $(nodist_bindings_cxx_libsigrokcxx_la_include_HEADERS) -$(AM_V_at)rm -f $(java_cleanfiles) - $(AM_V_GEN)$(SWIG) -c++ -Dnoexcept= -Dprivate=protected \ + $(AM_V_GEN)$(SWIG) -c++ $(swig_defs) \ -java -package org.sigrok.core.classes \ -Ibindings -I$(JCLS) $(local_includes) -I$(srcdir) $(JNI_CPPFLAGS) \ -outdir $(JCLS) -o $@ $(srcdir)/$(JSWG) @@ -672,9 +837,9 @@ $(JLIB): $(JCXX) \ $(bindings_cxx_libsigrokcxx_la_include_HEADERS) \ $(nodist_bindings_cxx_libsigrokcxx_la_include_HEADERS) \ @ORDER@ bindings/cxx/libsigrokcxx.la - $(AM_V_GEN)$(CXXCOMPILE) $(JNI_CPPFLAGS) -L.libs -Lbindings/cxx/.libs \ + $(AM_V_GEN)$(CXXCOMPILE) $(JNI_CPPFLAGS) $(LDFLAGS) -L.libs -Lbindings/cxx/.libs \ -fno-strict-aliasing -fPIC -shared $(JCLS)/classes_wrap.cxx \ - -lsigrokcxx $(LIBSIGROKCXX_LIBS) -o $(JLIB) + -lsigrokcxx $(LIBSIGROKCXX_LIBS) $(SR_EXTRA_CXX_LIBS) -o $(JLIB) java-install: $(INSTALL) -d $(DESTDIR)$(libdir)/jni @@ -682,8 +847,12 @@ java-install: $(INSTALL) -d $(DESTDIR)$(datadir)/java $(INSTALL) $(JJAR) $(DESTDIR)$(datadir)/java +java-uninstall: + -rm -f $(DESTDIR)$(datadir)/java/sigrok-core.jar + -rm -f $(DESTDIR)$(libdir)/jni/libsigrok_java_core_classes.so + java-clean: - -$(AM_V_at)rm -f $(java_cleanfiles) + -$(AM_V_at)rm -f $(java_cleanfiles) $(JDOC) -$(AM_V_at)rm -fr $(JDIR)/doxy java-doc: @@ -691,19 +860,26 @@ java-doc: BUILD_EXTRA += java-build INSTALL_EXTRA += java-install +UNINSTALL_EXTRA += java-uninstall CLEAN_EXTRA += java-clean endif all-local: $(BUILD_EXTRA) install-exec-local: $(INSTALL_EXTRA) +uninstall-hook: $(UNINSTALL_EXTRA) clean-local: $(CLEAN_EXTRA) -MAINTAINERCLEANFILES = ChangeLog +.PHONY: dist-changelog -.PHONY: ChangeLog -ChangeLog: - git --git-dir '$(top_srcdir)/.git' log >$@ || touch $@ +dist-hook: dist-changelog -dist-hook: ChangeLog +dist-changelog: + $(AM_V_at)if test ! -d '$(top_srcdir)/.git'; then \ + cp -f '$(top_srcdir)/ChangeLog' "$(top_distdir)/ChangeLog"; \ + elif git -C '$(top_srcdir)' log >.ChangeLog.tmp; then \ + mv -f .ChangeLog.tmp "$(top_distdir)/ChangeLog"; \ + else \ + rm -f .ChangeLog.tmp; exit 1; \ + fi