]> sigrok.org Git - libsigrok.git/blobdiff - Makefile.am
Build: Move _POSIX_C_SOURCE definition to config.h
[libsigrok.git] / Makefile.am
index d4f87518ac68fdc0970d293e925c57ebd14fa829..d94019ce9055dd11ad2e8e47526c632b08210771 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
 
@@ -29,7 +29,7 @@ if BINDINGS_CXX
 local_includes += -Ibindings/cxx/include -I$(srcdir)/bindings/cxx/include -Ibindings/cxx
 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) -DFIRMWARE_DIR='"$(FIRMWARE_DIR)"'
 
 # The tests CFLAGS are a superset of the libsigrok CFLAGS, and the
 # python bindings CFLAGS are a superset of the C++ bindings CFLAGS.
@@ -148,6 +148,10 @@ libsigrok_la_SOURCES += \
        src/lcr/es51919.c
 endif
 
+# Hardware (Scale protocol parsers)
+libsigrok_la_SOURCES += \
+       src/scale/kern.c
+
 # Hardware drivers
 if HW_AGILENT_DMM
 libsigrok_la_SOURCES += \
@@ -270,6 +274,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 \
@@ -288,6 +298,12 @@ libsigrok_la_SOURCES += \
        src/hardware/kecheng-kc-330b/protocol.c \
        src/hardware/kecheng-kc-330b/api.c
 endif
+if HW_KERN_SCALE
+libsigrok_la_SOURCES += \
+       src/hardware/kern-scale/protocol.h \
+       src/hardware/kern-scale/protocol.c \
+       src/hardware/kern-scale/api.c
+endif
 if HW_LASCAR_EL_USB
 libsigrok_la_SOURCES += \
        src/hardware/lascar-el-usb/protocol.h \
@@ -551,7 +567,9 @@ if BINDINGS_PYTHON
 PDIR = bindings/python
 PDOC = bindings/python/sigrok/core/doc.i
 
-setup_py = cd $(PDIR) && $(PYTHON) "$(abs_srcdir)/$(PDIR)/setup.py" --quiet
+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)
        $(AM_V_at)test -d $(PDIR)/sigrok/core || $(MKDIR_P) $(PDIR)/sigrok/core
@@ -559,21 +577,25 @@ $(PDOC): $(srcdir)/bindings/swig/doc.py $(CPPXMLDOC)
 
 python-build: $(PDIR)/timestamp
 
-$(PDIR)/timestamp: bindings/cxx/libsigrokcxx.la $(PDIR)/sigrok/core/classes.i \
+$(PDIR)/timestamp: $(PDIR)/sigrok/core/classes.i \
                bindings/swig/classes.i bindings/swig/enums.i $(PDOC) \
-               $(library_include_HEADERS) $(nodist_library_include_HEADERS)
+               $(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)$(setup_py) clean --all 2>/dev/null
        -$(AM_V_at)rm -f $(PDIR)/timestamp
        -$(AM_V_at)rm -fr $(PDIR)/doxy
+       -$(AM_V_at)$(setup_py) clean --all 2>/dev/null
 
 python-doc:
        $(AM_V_at)cd $(srcdir)/$(PDIR) && BUILDDIR="$(abs_builddir)/$(PDIR)/" doxygen Doxyfile 2>/dev/null
@@ -606,7 +628,8 @@ $(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 \
                -Ibindings -I$(JCLS) $(local_includes) -I$(srcdir) $(JNI_CPPFLAGS) \
@@ -616,7 +639,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)