mirror of
https://github.com/MariaDB/server.git
synced 2025-01-23 15:24:16 +01:00
aac1625dfe
git-svn-id: file:///svn/toku/tokudb@23061 c7de825b-a66e-492c-adef-691d508d4ae1
102 lines
2.9 KiB
Makefile
102 lines
2.9 KiB
Makefile
# -*- Mode: Makefile -*-
|
|
CPPFLAGS = -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
|
|
CPPFLAGS += -I../../toku_include -I.. -I.
|
|
OPTFLAGS = -O0
|
|
CFLAGS = -W -Wall -Werror -g $(OPTFLAGS) -std=c99
|
|
ifeq ($(GCCVERSION),4.4.2)
|
|
CFLAGS += -Wno-deprecated
|
|
else ifeq ($(GCCVERSION),4.4.1)
|
|
CFLAGS += -Wno-deprecated
|
|
endif
|
|
ifneq ($(GCOV),)
|
|
CFLAGS += -fprofile-arcs -ftest-coverage -DGCOV
|
|
endif
|
|
LDFLAGS = ../libtokuportability.a -lpthread
|
|
SRCS=$(sort $(filter-out dir.%.c,$(wildcard *.c)))
|
|
TARGETS = $(patsubst %.c,%,$(SRCS))
|
|
RUNTARGETS = $(patsubst %,%.tdbrun,$(TARGETS))
|
|
VGRIND = valgrind
|
|
|
|
ifeq ($(CC),icc)
|
|
CFLAGS += -diag-disable 981
|
|
endif
|
|
|
|
HERE=linux/tests
|
|
ifeq ($(SUMMARIZE),1)
|
|
SUMMARIZE_CMD = ;if test $$? = 0; then printf "%-60sPASS\n" $(HERE)/$@; else printf "%-60sFAIL\n" $(HERE)/$@ ; test 0 = 1; fi
|
|
SUMMARIZE_SHOULD_FAIL= ;if test $$? = 0; then printf "%-60sXFAIL\n" $(HERE)/$@; else printf "%-60sXPASS\n" $(HERE)/$@ ; test 0 = 1; fi
|
|
else
|
|
SUMMARIZE_CMD =
|
|
endif
|
|
INVERTER=;test $$? -ne 0
|
|
|
|
all: $(TARGETS)
|
|
|
|
%: %.c
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< $(LDFLAGS) -lrt
|
|
|
|
.PHONY: check build
|
|
build: $(TARGETS)
|
|
check: $(TARGETS) $(RUNTARGETS);
|
|
|
|
test-rwlock: OPTFLAGS=-O3
|
|
test-rwlock: ../toku_pthread.h
|
|
|
|
# pwrite4g needs an argument to tell it which directory to write temporary files
|
|
test-pwrite4g.tdbrun: TEST_EXTRA_ARGS=.
|
|
%.tdbrun: %
|
|
ifeq ($(VGRIND),)
|
|
./$< $(TEST_EXTRA_ARGS) $(SUMMARIZE_CMD)
|
|
else
|
|
$(VGRIND) --error-exitcode=1 --quiet --leak-check=full --show-reachable=yes --log-file=$<.check.valgrind ./$< $(TEST_EXTRA_ARGS) >$<.check.output 2>&1; \
|
|
if [ $$? = 0 ] ; then \
|
|
lines=`cat $<.check.valgrind | wc -l`; \
|
|
if [ $$lines -ne 0 ] ; then cat $<.check.valgrind; test 0 = 1; fi \
|
|
else \
|
|
cat $<.check.valgrind; test 0 = 1; \
|
|
fi \
|
|
$(SUMMARIZE_CMD)
|
|
endif
|
|
|
|
# check to see if that logic makes an error when there is a leak.
|
|
try-leak-lost.tdbrun: try-leak-lost
|
|
ifeq ($(VGRIND),)
|
|
./$< $(SUMMARIZE_SHOULD_FAIL)
|
|
else
|
|
$(VGRIND) --error-exitcode=1 --quiet --leak-check=full --show-reachable=yes --log-file=$<.check.valgrind ./$< >$<.check.output 2>&1; \
|
|
if [ $$? = 0 ] ; then \
|
|
lines=`cat $<.check.valgrind | wc -l`; \
|
|
if [ $$lines -ne 0 ] ; then cat $<.check.valgrind; test 0 = 1; fi \
|
|
else \
|
|
test 0 = 1; \
|
|
fi \
|
|
$(INVERTER) \
|
|
$(SUMMARIZE_SHOULD_FAIL)
|
|
endif
|
|
|
|
try-leak-reachable.tdbrun: try-leak-reachable
|
|
ifeq ($(VGRIND),)
|
|
./$< $(SUMMARIZE_SHOULD_FAIL)
|
|
else
|
|
$(VGRIND) --error-exitcode=1 --quiet --leak-check=full --show-reachable=yes --log-file=$<.check.valgrind ./$< >$<.check.output 2>&1; \
|
|
if [ $$? = 0 ] ; then \
|
|
lines=`cat $<.check.valgrind | wc -l`; \
|
|
if [ $$lines -ne 0 ] ; then cat $<.check.valgrind; test 0 = 1; fi \
|
|
else \
|
|
test 0 = 1; \
|
|
fi \
|
|
$(INVERTER) \
|
|
$(SUMMARIZE_SHOULD_FAIL)
|
|
endif
|
|
|
|
try-assert0.tdbrun: try-assert0
|
|
./$< 2> /dev/null $(INVERTER) $(SUMMARIZE_SHOULD_FAIL)
|
|
|
|
clean:
|
|
rm -rf $(TARGETS) *.check.output *.check.valgrind pwrite4g.data testdir dir.*.c
|
|
|
|
try-assert0.tdbrun:
|
|
|
|
|
|
foo:
|
|
echo $(TARGETS)
|