2014-03-22 17:22:29 +00:00
ACLOCAL_AMFLAGS = -I m4
2015-03-02 21:35:31 +00:00
EXTRA_DIST = uthash klib README.md
2014-03-22 17:22:29 +00:00
pkgconfigdir = $( libdir) /pkgconfig
pkgconfig_DATA = libucl.pc
2014-11-29 00:33:10 +00:00
i f L U A _ S U B
LUA_SUBDIR = lua
e n d i f
2016-04-17 21:25:53 +00:00
COVERAGE_INFO_FILE = $( top_builddir) /coverage.info
COVERAGE_REPORT_DIR = $( top_builddir) /coverage
.PHONY = coverage-requirement-check clean-coverage-report
coverage-requirement-check :
@if test ! -e $( GCOV) ; then \
echo " Cannot find $( GCOV) . Please install gcov. " ; \
exit 1; \
fi
coverage : coverage -requirement -check clean -coverage coverage -build coverage -check coverage -report
@echo "Please execute 'make clean' before 'make' or 'make check' to remove instrumented object files(compiled with -O0 etc.). Note that 'make clean' also remove coverage data."
coverage-build : coverage -requirement -check
@if test ` find $( top_builddir) -name "*.gcno" | wc -l` -eq 0; then \
echo "Start to remove old non-instrumented object files..." ; \
$( MAKE) $( AM_MAKEFLAGS) clean; \
echo "Successfully removed old non-instrumented object files." ; \
fi
@echo "Start to build libraries with coverage options..."
$( MAKE) $( AM_MAKEFLAGS) \
CFLAGS = " $( CFLAGS) $( COVERAGE_CFLAGS) $( COVERAGE_OPTFLAGS) " \
CXXFLAGS = " $( CXXFLAGS) $( COVERAGE_CXXFLAGS) $( COVERAGE_OPTFLAGS) " \
LDFLAGS = " $( LDFLAGS) $( COVERAGE_LDFLAGS) " \
LIBS = " $( LIBS) $( COVERAGE_LIBS) "
@echo "Successfully built libraries with coverage options."
coverage-check : coverage -requirement -check
@echo "Start to run tests with instrumented libraries..."
$( MAKE) $( AM_MAKEFLAGS) check \
CFLAGS = " $( CFLAGS) $( COVERAGE_CFLAGS) $( COVERAGE_OPTFLAGS) " \
CXXFLAGS = " $( CXXFLAGS) $( COVERAGE_CXXFLAGS) $( COVERAGE_OPTFLAGS) " \
LDFLAGS = " $( LDFLAGS) $( COVERAGE_LDFLAGS) " \
LIBS = " $( LIBS) $( COVERAGE_LIBS) "
@echo "Successfully run tests with instrumented libraries."
coverage-lcov : coverage -check coverage -requirement -check
$( LCOV) --capture \
--directory " $( top_builddir) / " \
--output-file $( COVERAGE_INFO_FILE) \
--gcov-tool $( GCOV) \
--compat-libtool --checksum
$( LCOV) --extract $( COVERAGE_INFO_FILE) ` pwd ` /src/ucl_\* \
--output-file $( COVERAGE_INFO_FILE)
coverage-report : coverage -lcov
@echo "Start to create coverage reports..."
$( GENHTML) --prefix " $( top_srcdir) " \
--output-directory $( COVERAGE_REPORT_DIR) \
--title $( PACKAGE_NAME) \
--legend --show-details \
$( GENHTML_OPTIONS) \
$( COVERAGE_INFO_FILE)
@echo " Successfully created coverage reports into $( COVERAGE_REPORT_DIR) directory. "
clean-coverage-report :
-rm -rf $( COVERAGE_INFO_FILE)
-rm -rf $( COVERAGE_REPORT_DIR)
clean-coverage : clean -coverage -report
-$( LCOV) --gcov-tool $( GCOV) --zerocounters --directory $( top_builddir)
@if xargs --version 2>/dev/null; then \
find $( top_builddir) -name "*.gcno" | xargs --no-run-if-empty rm; \
else \
find $( top_builddir) -name "*.gcno" | xargs rm; \
fi
clean-local : clean -coverage
SUBDIRS = src tests utils doc $( LUA_SUBDIR)