X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=blobdiff_plain;f=Makefile.am;h=85f880e33b22c974bfd98dce5b027d118993f628;hp=5f1602f5aad927bd3d6629f860f9e18dc59ab8b9;hb=c4a1015a2951b85098e50915c953593025df5726;hpb=1f61c22ff5e0d1d169894ad606831b44fde19468 diff --git a/Makefile.am b/Makefile.am index 5f1602f5..85f880e3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -18,19 +18,32 @@ ## along with this program. If not, see . ## -ACLOCAL_AMFLAGS = -I autostuff +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. if BINDINGS_CXX -local_includes += -Ibindings/cxx/include -I${srcdir}/bindings/cxx/include -Ibindings/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) -DFIRMWARE_DIR='"$(FIRMWARE_DIR)"' +AM_CPPFLAGS = $(local_includes) $(global_defs) -# The check CFLAGS are a superset of the libsigrok CFLAGS, and the +# 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 = $(CHECK_CFLAGS) -AM_CXXFLAGS = $(PYSIGROK_CFLAGS) +AM_CFLAGS = $(SR_EXTRA_CFLAGS) $(SR_WFLAGS) $(TESTS_CFLAGS) +AM_CXXFLAGS = $(SR_WXXFLAGS) $(LIBSIGROKCXX_CFLAGS) lib_LTLIBRARIES = libsigrok.la @@ -47,11 +60,13 @@ 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 \ src/error.c \ - src/std.c + src/std.c \ + src/sw_limits.c # Input modules libsigrok_la_SOURCES += \ @@ -59,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 @@ -87,7 +104,9 @@ libsigrok_la_SOURCES += \ # SCPI support libsigrok_la_SOURCES += \ + src/scpi.h \ src/scpi/scpi.c \ + src/scpi/helpers.c \ src/scpi/scpi_tcp.c if NEED_RPC libsigrok_la_SOURCES += \ @@ -135,7 +154,8 @@ libsigrok_la_SOURCES += \ 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 @@ -143,6 +163,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 += \ @@ -156,10 +180,17 @@ libsigrok_la_SOURCES += \ src/hardware/appa-55ii/protocol.c \ src/hardware/appa-55ii/api.c endif +if HW_ARACHNID_LABS_RE_LOAD_PRO +libsigrok_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/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 += \ @@ -239,6 +270,12 @@ libsigrok_la_SOURCES += \ src/hardware/fluke-dmm/fluke.c \ src/hardware/fluke-dmm/api.c endif +if HW_FTDI_LA +libsigrok_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/hardware/fx2lafw/protocol.h \ @@ -253,18 +290,42 @@ 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 \ src/hardware/hameg-hmo/protocol.c \ src/hardware/hameg-hmo/api.c endif +if HW_HANTEK_6XXX +libsigrok_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/hardware/hantek-dso/api.c endif +if HW_HP_3457A +libsigrok_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/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 \ @@ -283,12 +344,30 @@ 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_KORAD_KAXXXXP +libsigrok_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/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 +libsigrok_la_SOURCES += \ + src/hardware/lecroy-logicstudio/protocol.h \ + src/hardware/lecroy-logicstudio/protocol.c \ + src/hardware/lecroy-logicstudio/api.c +endif if HW_MANSON_HCS_3XXX libsigrok_la_SOURCES += \ src/hardware/manson-hcs-3xxx/protocol.h \ @@ -360,6 +439,8 @@ if HW_SYSCLK_LWLA libsigrok_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 @@ -419,7 +500,7 @@ libsigrok_la_SOURCES += \ src/hardware/zeroplus-logic-cube/api.c endif -libsigrok_la_LIBADD = $(LIBSIGROK_LIBS) +libsigrok_la_LIBADD = $(SR_EXTRA_LIBS) $(LIBSIGROK_LIBS) libsigrok_la_LDFLAGS = -version-info $(SR_LIB_VERSION) -no-undefined library_includedir = $(includedir)/libsigrok @@ -449,13 +530,14 @@ 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/java/org/sigrok/core/interfaces/SourceCallback.java \ bindings/swig/classes.i \ bindings/swig/doc.py \ + bindings/swig/templates.i \ contrib/gnuplot_chronovu_la8.gpi \ contrib/gnuplot_rigol_ds1xx2.gpi \ contrib/gnuplot_usbeesx.gpi \ @@ -465,10 +547,9 @@ EXTRA_DIST = \ contrib/z60_libsigrok.rules if HAVE_CHECK - TESTS = tests/main - check_PROGRAMS = ${TESTS} +endif tests_main_SOURCES = \ include/libsigrok/libsigrok.h \ @@ -485,14 +566,14 @@ tests_main_SOURCES = \ tests/version.c \ tests/driver_all.c \ tests/device.c \ - tests/trigger.c - -tests_main_LDADD = libsigrok.la $(CHECK_LIBS) + tests/trigger.c \ + tests/analog.c -endif +tests_main_LDADD = libsigrok.la $(SR_EXTRA_LIBS) $(TESTS_LIBS) BUILD_EXTRA = INSTALL_EXTRA = +UNINSTALL_EXTRA = CLEAN_EXTRA = if BINDINGS_CXX @@ -501,7 +582,7 @@ lib_LTLIBRARIES += bindings/cxx/libsigrokcxx.la bindings_cxx_libsigrokcxx_la_SOURCES = bindings/cxx/classes.cpp -bindings_cxx_libsigrokcxx_la_LIBADD = libsigrok.la $(LIBSIGROKCXX_LIBS) +bindings_cxx_libsigrokcxx_la_LIBADD = libsigrok.la $(SR_EXTRA_LIBS) $(LIBSIGROKCXX_LIBS) bindings_cxx_libsigrokcxx_la_LDFLAGS = -version-info $(SR_LIB_VERSION) -no-undefined bindings_cxx_libsigrokcxx_la_includedir = $(includedir)/libsigrokcxx @@ -530,6 +611,7 @@ 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 @@ -544,42 +626,53 @@ $(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 = bindings/python/sigrok/core/doc.i +PDOC_START = bindings/python/sigrok/core/doc_start.i +PDOC_END = bindings/python/sigrok/core/doc_end.i -$(PDOC): bindings/swig/doc.py $(CPPXMLDOC) - $(AM_V_at)test -d $(PDIR)/sigrok/core || $(MKDIR_P) $(PDIR)/sigrok/core - $(AM_V_GEN)$(PYTHON) $< python $(CPPXMLDOC) > $@ +setup_vars = VERSION='$(PACKAGE_VERSION)' CC='$(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) -python-build: $(PDIR)/timestamp - -python-quietclean: - $(AM_V_at)cd $(PDIR) && $(PYTHON) $(abs_srcdir)/$(PDIR)/setup.py --quiet clean --all 3>&1 1>&2 2>&3 \ - | grep -v "can.t clean it"; true +$(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 > $@ -$(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) - $(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 - $(AM_V_at)touch $(PDIR)/timestamp +$(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) end > $@ -$(DESTDIR)$(prefix): - $(MKDIR_P) $@ +python-build: $(PDIR)/timestamp -python-install: $(DESTDIR)$(prefix) - cd $(PDIR) && $(PYTHON) $(abs_srcdir)/$(PDIR)/setup.py --quiet install --prefix $(prefix) `test "$(DESTDIR)" && echo --root=$(DESTDIR)` +$(PDIR)/timestamp: $(PDIR)/sigrok/core/classes.i \ + bindings/swig/classes.i bindings/swig/templates.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)" --swig-opts '$(swig_defs)' build_py + $(AM_V_at): >$@ + +python-install: + $(AM_V_at)$(MKDIR_P) "$(DESTDIR)$(prefix)" "$(DESTDIR)$(exec_prefix)" + destdir='$(DESTDIR)'; $(setup_py) install $${destdir:+"--root=$$destdir"} \ + --prefix "$(prefix)" --exec-prefix "$(exec_prefix)" python-clean: - $(AM_V_at)$(MAKE) python-quietclean - $(AM_V_at)rm -f $(PDIR)/timestamp - $(AM_V_at)rm -rf $(PDIR)/doxy/ + -$(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 + $(AM_V_at)cd $(srcdir)/$(PDIR) && BUILDDIR="$(abs_builddir)/$(PDIR)/" doxygen Doxyfile 2>/dev/null BUILD_EXTRA += python-build INSTALL_EXTRA += python-install @@ -587,6 +680,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): $(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 $@ $< + +$(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 $< + +$(REXT): $(ROBJ) @ORDER@ bindings/cxx/libsigrokcxx.la + $(AM_V_CXXLD)$(CXX) -shared -std=c++11 -o $@ $< -lsigrokcxx -Lbindings/cxx/.libs $(RBSIGROK_LIBS) + +ruby-build: $(REXT) + +ruby-install: $(REXT) + $(INSTALL) -d $(DESTDIR)$(prefix)/$(RBSIGROK_EXTDIR) + $(INSTALL) $< $(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 $< + +BUILD_EXTRA += ruby-build +INSTALL_EXTRA += ruby-install +UNINSTALL_EXTRA += ruby-uninstall +CLEAN_EXTRA += ruby-clean + +endif + if BINDINGS_JAVA JDIR = bindings/java @@ -600,60 +743,76 @@ JCXX = $(JCLS)/classes_wrap.cxx JLIB = $(JDIR)/libsigrok_java_core_classes.so JJAR = $(JDIR)/sigrok-core.jar +java_cleanfiles = $(JCXX) $(JCLS)/*.java $(JCLS)/*.class $(JINT)/*.class $(JJAR) $(JLIB) + java-build: $(JJAR) $(JLIB) -$(JDOC): bindings/swig/doc.py $(CPPXMLDOC) +$(JDOC): $(srcdir)/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 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 \ - -Ibindings -I$(JCLS) $(local_includes) -I$(srcdir) $(JNI_CPPFLAGS) -outdir $(JCLS) -o $@ $< + $(AM_V_GEN)$(PYTHON) $(srcdir)/bindings/swig/doc.py java $(CPPXMLDOC) > $@ + +$(JCXX): $(srcdir)/$(JSWG) $(JDOC) bindings/swig/classes.i \ + bindings/swig/templates.i bindings/swig/enums.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++ $(swig_defs) \ + -java -package org.sigrok.core.classes \ + -Ibindings -I$(JCLS) $(local_includes) -I$(srcdir) $(JNI_CPPFLAGS) \ + -outdir $(JCLS) -o $@ $(srcdir)/$(JSWG) $(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) java-install: $(INSTALL) -d $(DESTDIR)$(libdir)/jni - $(INSTALL) $(JLIB) -t $(DESTDIR)$(libdir)/jni + $(INSTALL) $(JLIB) $(DESTDIR)$(libdir)/jni $(INSTALL) -d $(DESTDIR)$(datadir)/java - $(INSTALL) $(JJAR) -t $(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 $(JCXX) - $(AM_V_at)rm -f $(JCLS)/*.java - $(AM_V_at)rm -f $(JCLS)/*.class - $(AM_V_at)rm -f $(JINT)/*.class - $(AM_V_at)rm -f $(JJAR) - $(AM_V_at)rm -f $(JLIB) - $(AM_V_at)rm -rf $(JDIR)/doxy/ + -$(AM_V_at)rm -f $(java_cleanfiles) $(JDOC) + -$(AM_V_at)rm -fr $(JDIR)/doxy java-doc: - $(AM_V_at)cd $(srcdir)/$(JDIR) && BUILDDIR=$(abs_builddir)/$(JDIR)/ doxygen Doxyfile 2>/dev/null + $(AM_V_at)cd $(srcdir)/$(JDIR) && BUILDDIR="$(abs_builddir)/$(JDIR)/" doxygen Doxyfile 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-local: $(UNINSTALL_EXTRA) clean-local: $(CLEAN_EXTRA) -MAINTAINERCLEANFILES = ChangeLog +.PHONY: dist-changelog -.PHONY: ChangeLog -ChangeLog: - git --git-dir $(top_srcdir)/.git log > ChangeLog || touch ChangeLog +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