1# vim:ft=automake 2# 3# included from Top Level Makefile.am 4# All paths should be given relative to the root 5# 6 7LIBTOOL_COMMAND= ${abs_top_builddir}/libtool --mode=execute 8VALGRIND_EXEC_COMMAND= $(LIBTOOL_COMMAND) valgrind --tool=memcheck --error-exitcode=1 --leak-check=yes --track-fds=yes --malloc-fill=A5 --free-fill=DE 9SGCHECK_EXEC_COMMAND= $(LIBTOOL_COMMAND) valgrind --tool=exp-sgcheck --error-exitcode=1 10VALGRIND_COMMAND= LOG_COMPILER="valgrind" $(VALGRIND_EXEC_COMMAND) 11HELGRIND_COMMAND= $(LIBTOOL_COMMAND) valgrind --tool=helgrind --read-var-info=yes --error-exitcode=1 --read-var-info=yes 12DRD_COMMAND= $(LIBTOOL_COMMAND) valgrind --tool=drd --free-is-write=yes --error-exitcode=1 13SGCHECK_COMMAND= $(LIBTOOL_COMMAND) valgrind --tool=exp-sgcheck --error-exitcode=1 14MASSIF_COMMAND= $(LIBTOOL_COMMAND) valgrind --tool=massif 15GDB_COMMAND= $(LIBTOOL_COMMAND) gdb -f -x libtest/run.gdb 16PTRCHECK_COMMAND= $(LIBTOOL_COMMAND) valgrind --tool=exp-ptrcheck --error-exitcode=1 17PAHOLE_COMMAND= $(LIBTOOL_COMMAND) --mode=execute pahole 18VALGRIND_SUPRESSION= $(LIBTOOL_COMMAND) valgrind --leak-check=full --show-reachable=yes --error-limit=no --gen-suppressions=all --log-file=minimalraw.log 19 20export LIBTOOL_COMMAND 21export VALGRIND_COMMAND 22export HELGRIND_COMMAND 23export DRD_COMMAND 24export SGCHECK_COMMAND 25export GDB_COMMAND 26 27valgrind: 28 @echo make check LOG_COMPILER="\"$(VALGRIND_EXEC_COMMAND)\"" 29 30sgcheck: 31 @echo make check LOG_COMPILER="\"$(SGCHECK_EXEC_COMMAND)\"" 32 33valgrind-supressions: 34 @echo make check LOG_COMPILER="\"$(VALGRIND_SUPRESSION)\"" 35 36gdb: 37 @echo make check LOG_COMPILER="\"$(GDB_COMMAND)\"" 38 39helgrind: 40 @echo make check LOG_COMPILER="\"$(HELGRIND_COMMAND)\"" 41 42drd: 43 @echo make check LOG_COMPILER="\"$(DRD_COMMAND)\"" 44 45EXTRA_DIST+= libtest/run.gdb 46EXTRA_DIST+= libtest/version.h 47 48BUILT_SOURCES+= libtest/version.h 49 50.PHONY: clean-libtest-check 51clean-libtest-check: 52 -rm -rf tmp_chroot 53 54noinst_HEADERS+= libtest/client.hpp 55noinst_HEADERS+= libtest/formatter.hpp 56noinst_HEADERS+= libtest/timer.hpp 57noinst_HEADERS+= libtest/alarm.h 58noinst_HEADERS+= libtest/binaries.h 59noinst_HEADERS+= libtest/cpu.hpp 60noinst_HEADERS+= libtest/blobslap_worker.h 61noinst_HEADERS+= libtest/callbacks.h 62noinst_HEADERS+= libtest/dns.hpp 63noinst_HEADERS+= libtest/cmdline.h 64noinst_HEADERS+= libtest/collection.h 65noinst_HEADERS+= libtest/common.h 66noinst_HEADERS+= libtest/comparison.hpp 67noinst_HEADERS+= libtest/core.h 68noinst_HEADERS+= libtest/dream.h 69noinst_HEADERS+= libtest/error.h 70noinst_HEADERS+= libtest/exception.hpp 71noinst_HEADERS+= libtest/exception/disconnected.hpp 72noinst_HEADERS+= libtest/exception/fatal.hpp 73noinst_HEADERS+= libtest/framework.h 74noinst_HEADERS+= libtest/gearmand.h 75noinst_HEADERS+= libtest/drizzled.h 76noinst_HEADERS+= libtest/get.h 77noinst_HEADERS+= libtest/has.hpp 78noinst_HEADERS+= libtest/http.hpp 79noinst_HEADERS+= libtest/is_pid.hpp 80noinst_HEADERS+= libtest/is_local.hpp 81noinst_HEADERS+= libtest/killpid.h 82noinst_HEADERS+= libtest/libtool.hpp 83noinst_HEADERS+= libtest/memcached.h 84noinst_HEADERS+= libtest/memcached.hpp 85noinst_HEADERS+= libtest/poll_error.hpp 86noinst_HEADERS+= libtest/port.h 87noinst_HEADERS+= libtest/result.hpp 88noinst_HEADERS+= libtest/result/base.hpp 89noinst_HEADERS+= libtest/result/fail.hpp 90noinst_HEADERS+= libtest/result/skip.hpp 91noinst_HEADERS+= libtest/result/success.hpp 92noinst_HEADERS+= libtest/runner.h 93noinst_HEADERS+= libtest/server.h 94noinst_HEADERS+= libtest/server_container.h 95noinst_HEADERS+= libtest/signal.h 96noinst_HEADERS+= libtest/socket.hpp 97noinst_HEADERS+= libtest/stream.h 98noinst_HEADERS+= libtest/strerror.h 99noinst_HEADERS+= libtest/string.hpp 100noinst_HEADERS+= libtest/test.h 101noinst_HEADERS+= libtest/test.hpp 102noinst_HEADERS+= libtest/thread.hpp 103noinst_HEADERS+= libtest/tmpfile.hpp 104noinst_HEADERS+= libtest/lite.h 105noinst_HEADERS+= libtest/valgrind.h 106noinst_HEADERS+= libtest/vchar.hpp 107noinst_HEADERS+= libtest/version.h 108noinst_HEADERS+= libtest/visibility.h 109noinst_HEADERS+= libtest/wait.h 110noinst_HEADERS+= libtest/yatl.h 111 112check_LTLIBRARIES+= libtest/libtest.la 113 114libtest_libtest_la_CXXFLAGS= 115EXTRA_libtest_libtest_la_DEPENDENCIES= 116libtest_libtest_la_LIBADD= 117libtest_libtest_la_SOURCES= 118 119libtest_libtest_la_SOURCES+= libtest/alarm.cc 120libtest_libtest_la_SOURCES+= libtest/binaries.cc 121libtest_libtest_la_SOURCES+= libtest/cmdline.cc 122libtest_libtest_la_SOURCES+= libtest/collection.cc 123libtest_libtest_la_SOURCES+= libtest/comparison.cc 124libtest_libtest_la_SOURCES+= libtest/core.cc 125libtest_libtest_la_SOURCES+= libtest/cpu.cc 126libtest_libtest_la_SOURCES+= libtest/dns.cc 127libtest_libtest_la_SOURCES+= libtest/dream.cc 128libtest_libtest_la_SOURCES+= libtest/drizzled.cc 129libtest_libtest_la_SOURCES+= libtest/exception.cc 130libtest_libtest_la_SOURCES+= libtest/exception/fatal.cc 131libtest_libtest_la_SOURCES+= libtest/formatter.cc 132libtest_libtest_la_SOURCES+= libtest/client.cc 133libtest_libtest_la_SOURCES+= libtest/framework.cc 134libtest_libtest_la_SOURCES+= libtest/has.cc 135libtest_libtest_la_SOURCES+= libtest/http.cc 136libtest_libtest_la_SOURCES+= libtest/is_local.cc 137libtest_libtest_la_SOURCES+= libtest/killpid.cc 138libtest_libtest_la_SOURCES+= libtest/libtool.cc 139libtest_libtest_la_SOURCES+= libtest/main.cc 140libtest_libtest_la_SOURCES+= libtest/port.cc 141libtest_libtest_la_SOURCES+= libtest/result.cc 142libtest_libtest_la_SOURCES+= libtest/runner.cc 143libtest_libtest_la_SOURCES+= libtest/server.cc 144libtest_libtest_la_SOURCES+= libtest/server_container.cc 145libtest_libtest_la_SOURCES+= libtest/signal.cc 146libtest_libtest_la_SOURCES+= libtest/socket.cc 147libtest_libtest_la_SOURCES+= libtest/strerror.cc 148libtest_libtest_la_SOURCES+= libtest/timer.cc 149libtest_libtest_la_SOURCES+= libtest/tmpfile.cc 150libtest_libtest_la_SOURCES+= libtest/vchar.cc 151 152libtest_libtest_la_CXXFLAGS+= -DBUILDING_LIBTEST 153libtest_libtest_la_CXXFLAGS+= @PTHREAD_CFLAGS@ 154libtest_libtest_la_CXXFLAGS+= -DLIBTEST_TEMP="\"tmp_chroot\"" 155libtest_libtest_la_CXXFLAGS+= $(CURL_CFLAGS) 156 157libtest_libtest_la_LIBADD+= @PTHREAD_LIBS@ 158libtest_libtest_la_LIBADD+= $(CURL_LIBS) 159libtest_libtest_la_LIBADD+= @RT_LIB@ 160 161EXTRA_libtest_libtest_la_DEPENDENCIES+= libtest_tmp_dir 162EXTRA_libtest_libtest_la_DEPENDENCIES+= libtest/abort 163EXTRA_libtest_libtest_la_DEPENDENCIES+= libtest/wait 164 165# Declare unittest so that we can append to it 166libtest_unittest_CXXFLAGS= 167libtest_unittest_LDADD= 168libtest_libtest_la_LDFLAGS= 169 170# We are either building in tree, or with 171libtest_libtest_la_SOURCES+= libtest/memcached.cc 172 173if HAVE_LIBDRIZZLE 174libtest_libtest_la_LDFLAGS+= @LIBDRIZZLE_LDFLAGS@ 175libtest_libtest_la_LIBADD+= @LIBDRIZZLE_LIB@ 176endif 177 178libtest_libtest_la_SOURCES+= libtest/gearmand.cc 179 180if BUILDING_GEARMAN 181libtest_libtest_la_SOURCES+= libtest/blobslap_worker.cc 182endif 183 184TMP_DIR := tmp_chroot/etc tmp_chroot/var/log tmp_chroot/var/tmp tmp_chroot/var/run tmp_chroot/var/drizzle 185 186.PHONY: libtest_tmp_dir 187libtest_tmp_dir: | $(TMP_DIR) 188 189$(TMP_DIR): 190 @$(mkdir_p) $(TMP_DIR) 191 192libtest_unittest_LDADD+= libtest/libtest.la 193libtest_unittest_SOURCES= libtest/unittest.cc 194check_PROGRAMS+= libtest/unittest 195noinst_PROGRAMS+= libtest/unittest 196test-unittest: libtest/unittest 197 @libtest/unittest 198 199valgrind-unittest: libtest/unittest 200 @$(VALGRIND_COMMAND) libtest/unittest 201 202gdb-unittest: libtest/unittest 203 @$(GDB_COMMAND) libtest/unittest 204 205helgrind-unittest: libtest/unittest 206 @$(HELGRIND_COMMAND) libtest/unittest 207 208drd-unittest: libtest/unittest 209 @$(DRD_COMMAND) libtest/unittest 210 211sgcheck-unittest: libtest/unittest 212 echo $(SGCHECK_COMMAND) 213 @$(SGCHECK_COMMAND) libtest/unittest 214 215libtest_skiptest_LDADD= libtest/libtest.la 216libtest_skiptest_SOURCES= libtest/skiptest.cc 217check_PROGRAMS+= libtest/skiptest 218noinst_PROGRAMS+= libtest/skiptest 219 220test-skiptest: libtest/skiptest 221 @libtest/skiptest 222 223valgrind-skiptest: libtest/skiptest 224 @$(VALGRIND_COMMAND) libtest/skiptest 225 226helgrind-skiptest: libtest/skiptest 227 @$(HELGRIND_COMMAND) libtest/skiptest 228 229drd-skiptest: libtest/skiptest 230 @$(DRD_COMMAND) libtest/skiptest 231 232libtest_wait_SOURCES= 233libtest_wait_SOURCES+= libtest/wait.cc 234libtest_wait_SOURCES+= libtest/dream.cc 235noinst_PROGRAMS+= libtest/wait 236 237libtest_core_count_SOURCES= 238libtest_core_count_SOURCES+= libtest/cpu.cc 239libtest_core_count_SOURCES+= libtest/core_count.cc 240noinst_PROGRAMS+= libtest/core-count 241 242libtest_abort_SOURCES= libtest/abort.cc 243noinst_PROGRAMS+= libtest/abort 244 245libtest_backtrace_SOURCES= 246libtest_backtrace_LDADD= 247libtest_backtrace_SOURCES+= libtest/backtrace_test.cc 248libtest_backtrace_SOURCES+= libmemcached/backtrace.cc 249libtest_backtrace_LDADD+= @lt_cv_dlopen_libs@ 250noinst_PROGRAMS+= libtest/backtrace 251test-backtrace: libtest/backtrace 252 @libtest/backtrace 253 254gdb-backtrace: libtest/backtrace 255 @$(GDB_COMMAND) libtest/backtrace 256 257