]> sigrok.org Git - libsigrok.git/blobdiff - Makefile.am
python: Give all enum values __doc__ strings.
[libsigrok.git] / Makefile.am
index 36b19c039d5815ae39235a95f7006dcad0354ed7..58115772fbdb5f31458d45268a8dfd6d37835903 100644 (file)
@@ -20,7 +20,7 @@
 
 ACLOCAL_AMFLAGS = -I m4
 AM_LIBTOOLFLAGS = --silent
-MAKEFLAGS = --no-print-directory
+GNUMAKEFLAGS = --no-print-directory
 
 FIRMWARE_DIR = $(datadir)/sigrok-firmware
 
@@ -28,8 +28,14 @@ local_includes = -Iinclude -I$(srcdir)/include -I$(srcdir)/src -I.
 if BINDINGS_CXX
 local_includes += -Ibindings/cxx/include -I$(srcdir)/bindings/cxx/include -Ibindings/cxx
 endif
+# Do not hard-code the firmware location on Windows.
+if WIN32
+global_defs =
+else
+global_defs = -DFIRMWARE_DIR='"$(FIRMWARE_DIR)"'
+endif
 # Ensure that local include directories are always searched first.
-AM_CPPFLAGS = $(local_includes) -D_POSIX_C_SOURCE=200112L -DFIRMWARE_DIR='"$(FIRMWARE_DIR)"'
+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.
@@ -51,6 +57,7 @@ libsigrok_la_SOURCES = \
        src/soft-trigger.c \
        src/analog.c \
        src/fallback.c \
+       src/resource.c \
        src/strutil.c \
        src/log.c \
        src/version.c \
@@ -262,6 +269,12 @@ libsigrok_la_SOURCES += \
        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/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/hardware/hameg-hmo/protocol.h \
@@ -274,6 +287,12 @@ libsigrok_la_SOURCES += \
        src/hardware/hantek-dso/dso.c \
        src/hardware/hantek-dso/api.c
 endif
+if HW_HUNG_CHANG_DSO_2100
+libsigrok_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/hardware/ikalogic-scanalogic2/protocol.h \
@@ -298,6 +317,12 @@ libsigrok_la_SOURCES += \
        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
+endif
 if HW_LASCAR_EL_USB
 libsigrok_la_SOURCES += \
        src/hardware/lascar-el-usb/protocol.h \
@@ -468,7 +493,6 @@ EXTRA_DIST = \
        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/java/org/sigrok/core/interfaces/SourceCallback.java \
        bindings/swig/classes.i \
        bindings/swig/doc.py \
        contrib/gnuplot_chronovu_la8.gpi \
@@ -499,7 +523,8 @@ tests_main_SOURCES = \
        tests/version.c \
        tests/driver_all.c \
        tests/device.c \
-       tests/trigger.c
+       tests/trigger.c \
+       tests/analog.c
 
 tests_main_LDADD = libsigrok.la $(SR_EXTRA_LIBS) $(TESTS_LIBS)
 
@@ -559,28 +584,38 @@ $(CPPXMLDOC): bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp \
 if BINDINGS_PYTHON
 
 PDIR = bindings/python
-PDOC = bindings/python/sigrok/core/doc.i
+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_quiet = --quiet
 setup_py = $(PYTHON) $(srcdir)/$(PDIR)/setup.py $(setup_vars) $(setup_quiet)
 
-$(PDOC): $(srcdir)/bindings/swig/doc.py $(CPPXMLDOC)
+$(PDOC_START): $(srcdir)/bindings/swig/doc.py $(CPPXMLDOC)
+       $(AM_V_at)test -d $(PDIR)/sigrok/core || $(MKDIR_P) $(PDIR)/sigrok/core
+       $(AM_V_GEN)$(PYTHON) $(srcdir)/bindings/swig/doc.py python $(CPPXMLDOC) start > $@
+
+$(PDOC_END): $(srcdir)/bindings/swig/doc.py $(CPPXMLDOC)
        $(AM_V_at)test -d $(PDIR)/sigrok/core || $(MKDIR_P) $(PDIR)/sigrok/core
-       $(AM_V_GEN)$(PYTHON) $(srcdir)/bindings/swig/doc.py python $(CPPXMLDOC) > $@
+       $(AM_V_GEN)$(PYTHON) $(srcdir)/bindings/swig/doc.py python $(CPPXMLDOC) end > $@
 
 python-build: $(PDIR)/timestamp
 
-$(PDIR)/timestamp: bindings/cxx/libsigrokcxx.la $(PDIR)/sigrok/core/classes.i \
-               bindings/swig/classes.i bindings/swig/enums.i $(PDOC) \
-               $(library_include_HEADERS) $(nodist_library_include_HEADERS)
+$(PDIR)/timestamp: $(PDIR)/sigrok/core/classes.i \
+               bindings/swig/classes.i bindings/swig/enums.i $(PDOC_START) \
+               $(PDOC_END) $(library_include_HEADERS) \
+               $(nodist_library_include_HEADERS) \
+               $(bindings_cxx_libsigrokcxx_la_include_HEADERS) \
+               $(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_at): >$@
 
 python-install:
        $(AM_V_at)$(MKDIR_P) "$(DESTDIR)$(prefix)" "$(DESTDIR)$(exec_prefix)"
-       $(setup_py) install --root "$(DESTDIR)/" --prefix "$(prefix)" --exec-prefix "$(exec_prefix)"
+       destdir='$(DESTDIR)'; $(setup_py) install $${destdir:+"--root=$$destdir"} \
+               --prefix "$(prefix)" --exec-prefix "$(exec_prefix)"
 
 python-clean:
        -$(AM_V_at)rm -f $(PDIR)/timestamp
@@ -618,9 +653,11 @@ $(JDOC): $(srcdir)/bindings/swig/doc.py $(CPPXMLDOC)
        $(AM_V_GEN)$(PYTHON) $(srcdir)/bindings/swig/doc.py java $(CPPXMLDOC) > $@
 
 $(JCXX): $(srcdir)/$(JSWG) $(JDOC) bindings/swig/classes.i bindings/swig/enums.i \
-               $(library_include_HEADERS) $(nodist_library_include_HEADERS)
+               $(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++ -java -package org.sigrok.core.classes \
+       $(AM_V_GEN)$(SWIG) -c++ -Dnoexcept= -Dprivate=protected \
+               -java -package org.sigrok.core.classes \
                -Ibindings -I$(JCLS) $(local_includes) -I$(srcdir) $(JNI_CPPFLAGS) \
                -outdir $(JCLS) -o $@ $(srcdir)/$(JSWG)
 
@@ -628,7 +665,11 @@ $(JJAR): $(JCXX)
        $(AM_V_GEN)$(JAVAC) -d $(JDIR) $(JSRC)
        $(AM_V_at)jar cf $(JJAR) -C $(JDIR) $(JPKG)
 
-$(JLIB): $(JCXX) bindings/cxx/libsigrokcxx.la $(library_include_HEADERS) $(nodist_library_include_HEADERS)
+$(JLIB): $(JCXX) \
+               $(library_include_HEADERS) $(nodist_library_include_HEADERS) \
+               $(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 \
                -fno-strict-aliasing -fPIC -shared $(JCLS)/classes_wrap.cxx \
                -lsigrokcxx $(LIBSIGROKCXX_LIBS) -o $(JLIB)
@@ -660,7 +701,7 @@ MAINTAINERCLEANFILES = ChangeLog
 
 .PHONY: ChangeLog
 ChangeLog:
-       git --git-dir $(top_srcdir)/.git log > ChangeLog || touch ChangeLog
+       git --git-dir '$(top_srcdir)/.git' log >$@ || touch $@
 
 dist-hook: ChangeLog