X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=blobdiff_plain;f=Makefile.am;h=5f1602f5aad927bd3d6629f860f9e18dc59ab8b9;hp=1f63ae5ba28162740b8f101f50286916b6ccd526;hb=b8b727e45f55a91171d52f93ac387784914ffbf1;hpb=31ac7735ea82342fcef3ea16ebdf81bcf812d27c diff --git a/Makefile.am b/Makefile.am index 1f63ae5b..5f1602f5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -20,11 +20,18 @@ ACLOCAL_AMFLAGS = -I autostuff -local_includes = -Iinclude -I$(srcdir)/include -I$(srcdir)/src +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 +# Ensure that local include directories are always searched first. AM_CPPFLAGS = $(local_includes) -DFIRMWARE_DIR='"$(FIRMWARE_DIR)"' +# The check CFLAGS are a superset of the libsigrok CFLAGS, and the +# python bindings CFLAGS are a superset of the C++ bindings CFLAGS. +AM_CFLAGS = $(CHECK_CFLAGS) +AM_CXXFLAGS = $(PYSIGROK_CFLAGS) + lib_LTLIBRARIES = libsigrok.la # Backend files @@ -412,16 +419,14 @@ libsigrok_la_SOURCES += \ src/hardware/zeroplus-logic-cube/api.c endif -libsigrok_la_LIBADD = $(LIBOBJS) - -libsigrok_la_LDFLAGS = $(SR_LIB_LDFLAGS) - -libsigrok_la_LDFLAGS += -no-undefined +libsigrok_la_LIBADD = $(LIBSIGROK_LIBS) +libsigrok_la_LDFLAGS = -version-info $(SR_LIB_VERSION) -no-undefined library_includedir = $(includedir)/libsigrok library_include_HEADERS = \ include/libsigrok/libsigrok.h \ - include/libsigrok/proto.h \ + include/libsigrok/proto.h +nodist_library_include_HEADERS = \ include/libsigrok/version.h noinst_HEADERS = src/libsigrok-internal.h @@ -482,9 +487,7 @@ tests_main_SOURCES = \ tests/device.c \ tests/trigger.c -tests_main_CFLAGS = @check_CFLAGS@ - -tests_main_LDADD = $(top_builddir)/libsigrok.la @check_LIBS@ +tests_main_LDADD = libsigrok.la $(CHECK_LIBS) endif @@ -498,15 +501,13 @@ lib_LTLIBRARIES += bindings/cxx/libsigrokcxx.la bindings_cxx_libsigrokcxx_la_SOURCES = bindings/cxx/classes.cpp -bindings_cxx_libsigrokcxx_la_LIBADD = libsigrok.la $(glibmm_LIBS) - -bindings_cxx_libsigrokcxx_la_LDFLAGS = $(SR_LIB_LDFLAGS) - -bindings_cxx_libsigrokcxx_la_LDFLAGS += -no-undefined +bindings_cxx_libsigrokcxx_la_LIBADD = libsigrok.la $(LIBSIGROKCXX_LIBS) +bindings_cxx_libsigrokcxx_la_LDFLAGS = -version-info $(SR_LIB_VERSION) -no-undefined bindings_cxx_libsigrokcxx_la_includedir = $(includedir)/libsigrokcxx bindings_cxx_libsigrokcxx_la_include_HEADERS = \ - bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp \ + bindings/cxx/include/libsigrokcxx/libsigrokcxx.hpp +nodist_bindings_cxx_libsigrokcxx_la_include_HEADERS = \ bindings/cxx/include/libsigrokcxx/enums.hpp pkgconfig_DATA += bindings/cxx/libsigrokcxx.pc @@ -514,8 +515,8 @@ pkgconfig_DATA += bindings/cxx/libsigrokcxx.pc doxy/xml/index.xml: include/libsigrok/libsigrok.h $(AM_V_GEN)cd $(srcdir) && BUILDDIR=$(abs_builddir)/ doxygen Doxyfile 2>/dev/null +bindings/swig/enums.i: bindings/cxx/enums.timestamp bindings/cxx/enums.cpp: bindings/cxx/enums.timestamp - bindings/cxx/include/libsigrokcxx/enums.hpp: bindings/cxx/enums.timestamp bindings/cxx/enums.timestamp: $(srcdir)/bindings/cxx/enums.py doxy/xml/index.xml \ @@ -524,7 +525,7 @@ bindings/cxx/enums.timestamp: $(srcdir)/bindings/cxx/enums.py doxy/xml/index.xml $(AM_V_at)touch $@ bindings/cxx/classes.lo: bindings/cxx/classes.cpp bindings/cxx/enums.cpp \ - $(library_include_HEADERS) + $(library_include_HEADERS) $(nodist_library_include_HEADERS) cxx-clean: rm -rf doxy/ @@ -559,7 +560,8 @@ python-quietclean: | grep -v "can.t clean it"; true $(PDIR)/timestamp: bindings/cxx/libsigrokcxx.la $(PDIR)/sigrok/core/classes.i \ - bindings/swig/classes.i $(PDOC) $(library_include_HEADERS) + bindings/swig/classes.i bindings/swig/enums.i $(PDOC) \ + $(library_include_HEADERS) $(nodist_library_include_HEADERS) $(AM_V_at)$(MAKE) python-quietclean $(AM_V_GEN)cd $(PDIR) && $(PYTHON) $(abs_srcdir)/$(PDIR)/setup.py --quiet build 3>&1 1>&2 2>&3 \ | grep -v "command line option.*Wstrict-prototypes"; true @@ -604,19 +606,20 @@ $(JDOC): bindings/swig/doc.py $(CPPXMLDOC) $(AM_V_at)test -d $(JCLS) || $(MKDIR_P) $(JCLS) $(AM_V_GEN)python $< java $(CPPXMLDOC) > $@ -$(JCXX): $(JSWG) $(JDOC) bindings/swig/classes.i $(library_include_HEADERS) +$(JCXX): $(JSWG) $(JDOC) bindings/swig/classes.i bindings/swig/enums.i \ + $(library_include_HEADERS) $(nodist_library_include_HEADERS) $(AM_V_at)make java-clean $(AM_V_GEN)swig -c++ -java -package org.sigrok.core.classes \ - $(local_includes) -I$(JCLS) -I. -I$(srcdir) -outdir $(JCLS) -o $@ $< + -Ibindings -I$(JCLS) $(local_includes) -I$(srcdir) $(JNI_CPPFLAGS) -outdir $(JCLS) -o $@ $< $(JJAR): $(JCXX) - $(AM_V_GEN)$(JAVAC) -sourcepath $(JDIR) -d $(JDIR) $(JSRC) + $(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) - $(AM_V_GEN)$(CXXCOMPILE) -L.libs -Lbindings/cxx/.libs \ +$(JLIB): $(JCXX) bindings/cxx/libsigrokcxx.la $(library_include_HEADERS) $(nodist_library_include_HEADERS) + $(AM_V_GEN)$(CXXCOMPILE) $(JNI_CPPFLAGS) -L.libs -Lbindings/cxx/.libs \ -fno-strict-aliasing -fPIC -shared $(JCLS)/classes_wrap.cxx \ - -lsigrokcxx -o $(JLIB) + -lsigrokcxx $(LIBSIGROKCXX_LIBS) -o $(JLIB) java-install: $(INSTALL) -d $(DESTDIR)$(libdir)/jni