Commit 4eab774298d7f4b67e8c0d4f9be590f2788a76ef
Merge branch 'integration' into devel
Showing
2 changed files
with
88 additions
and
0 deletions
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 | ... | ... |