Commit 4eab774298d7f4b67e8c0d4f9be590f2788a76ef

Authored by Jürgen Knödlseder
2 parents 4d82febf 1fec9fe0

Merge branch 'integration' into devel

Makefile.am
... ... @@ -29,6 +29,81 @@ install-data-local: $(HTML_INSTALL_DATA_TARGETS)
29 29  
30 30 uninstall-local: $(HTML_UNINSTALL_DATA_TARGETS)
31 31  
  32 +#
  33 +# Additional rules
  34 +#
  35 +
  36 +# Add static-analysis rule:
  37 +static-analysis: cppcheck sloccount cppncss
  38 +
  39 +# Add dynamic-analysis rule:
  40 +dynamic-analysis: coverage valgrind
  41 +
  42 +# Add cppcheck rule
  43 +cppcheck:
  44 + @if type cppcheck >/dev/null 2>&1; then \
  45 + cppcheck -v --enable=all --xml \
  46 + src 2> cppcheck-result.xml; \
  47 + else \
  48 + echo "cppcheck not found in PATH."; \
  49 + fi
  50 +
  51 +# Add sloccount rule
  52 +sloccount:
  53 + @if type sloccount >/dev/null 2>&1; then \
  54 + sloccount --duplicates --wide --details \
  55 + src test > sloccount.sc; \
  56 + else \
  57 + echo "sloccount not found in PATH."; \
  58 + fi
  59 +
  60 +# Add cppncss rule
  61 +cppncss:
  62 + @if type cppncss >/dev/null 2>&1; then \
  63 + cppncss -r -v -x -k -f=cppncss-raw-report.xml \
  64 + src inst/*/src; \
  65 + else \
  66 + echo "cppncss not found in PATH."; \
  67 + fi
  68 +
  69 +# Add coverage rule
  70 +coverage:
  71 + @if type gcovr >/dev/null 2>&1; then \
  72 + gcovr -r . -x -o gcovr-reports-data.xml; \
  73 + else \
  74 + echo "gcovr script not found in PATH."; \
  75 + fi
  76 +
  77 +# Add Valgrind rule
  78 +valgrind:
  79 + @if type valgrind >/dev/null 2>&1; then \
  80 + $(MAKE) -C test valgrind; \
  81 + else \
  82 + echo "valgrind not found in PATH."; \
  83 + fi
  84 +
  85 +# Add Sphinx rule
  86 +sphinx:
  87 + @if type sphinx-build >/dev/null 2>&1; then \
  88 + sphinx-build -b html doc/source doc/html; \
  89 + else \
  90 + echo "sphinx-build not found in PATH."; \
  91 + fi
  92 +
  93 +# Install Sphinx files
  94 +sphinx-install:
  95 + @if test -f $(srcdir)/doc/html/index.html ; then \
  96 + $(mkinstalldirs) $(DESTDIR)$(docdir)/html && \
  97 + for file in $(srcdir)/doc/html/*.* ; do \
  98 + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/html" ; \
  99 + $(INSTALL_DATA) "$$file" $(DESTDIR)$(docdir)/html ; \
  100 + done ; \
  101 + cp -r $(srcdir)/doc/html/_sources $(DESTDIR)$(docdir)/html/ ; \
  102 + cp -r $(srcdir)/doc/html/_static $(DESTDIR)$(docdir)/html/ ; \
  103 + fi
  104 +
  105 +# Add documentation rule:
  106 +#doc: doxygen sphinx
32 107  
33 108 # Non-Automake subdirectories to distribute
34 109 DISTDIRS = doc/html doc/html/images
... ...
test/Makefile.am
... ... @@ -19,3 +19,16 @@ TESTS_ENVIRONMENT = @RUNSHARED@=$(top_builddir)/src/.libs$(TEST_ENV_DIR):$(LIBDI
19 19 TESTS = test_ctools.sh \
20 20 $(TEST_CSCRIPTS) \
21 21 $(TEST_PYTHON_SCRIPT)
  22 +
  23 +# Add Valgrind rule
  24 +valgrind:
  25 + @if type valgrind >/dev/null 2>&1; then \
  26 + for prog in $(check_PROGRAMS) ; do \
  27 + valgrind --leak-check=full \
  28 + --xml=yes --xml-file=tmp.xml ./$$prog; \
  29 + sed '/<\/valgrindoutput>/d' tmp.xml > valgrind_$$prog.xml; \
  30 + echo '</valgrindoutput>' >> valgrind_$$prog.xml; \
  31 + done ; \
  32 + else \
  33 + echo "valgrind not found in PATH."; \
  34 + fi
... ...