mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 22:12:30 +01:00
333b3e1440
git-svn-id: file:///svn/mysql/tokudb-engine/src@14233 c7de825b-a66e-492c-adef-691d508d4ae1
84 lines
2.4 KiB
Text
84 lines
2.4 KiB
Text
# the tunables
|
|
MYSQL_SRC = $(HOME)/mysql-5.1.23-rc
|
|
MYSQL_LIBDIR = $(HOME)/mysql-5.1.23-rc-build/lib/mysql
|
|
TOKUDB = /usr/local/tokudb-4.4
|
|
TOKUDB_VERSION = "Tokudb"
|
|
CXX = cc
|
|
DEBUG = 1
|
|
GCOV = 0
|
|
SINGLESO = 1
|
|
SYSTEM = $(shell uname -s | tr [A-Z] [a-z])
|
|
LIBTOKUDB=tokudb
|
|
|
|
# sources to target
|
|
SRCS = $(wildcard *.cc)
|
|
OBJS = $(patsubst %.cc,%.o,$(SRCS))
|
|
TARGET = ha_tokudb.so
|
|
|
|
ifeq ($(GCOV),1)
|
|
GCOV_FLAGS = -ftest-coverage -fprofile-arcs
|
|
endif
|
|
|
|
ifeq ($(DEBUG),0)
|
|
OPTFLAGS = -O3
|
|
MYSQL_FLAGS =
|
|
CXXFLAGS =
|
|
else
|
|
OPTFLAGS = -O0
|
|
MYSQL_FLAGS = -DHAVE_CONFIG_H -DDBUG_ON -DSAFE_MUTEX -DEXTRA_DEBUG -DSAFEMALLOC -DPEDANTIC_SAFEMALLOC -DSAFE_MUTEX
|
|
CXXFLAGS = -Wall -Werror
|
|
endif
|
|
|
|
MYSQL_FLAGS += -DMYSQL_DYNAMIC_PLUGIN
|
|
MYSQL_CXXFLAGS = -fno-implicit-templates -fno-exceptions -fno-rtti
|
|
|
|
CPPFLAGS = -I. -I$(MYSQL_SRC)/sql -I$(MYSQL_SRC)/include -I$(MYSQL_SRC)/regex -I$(TOKUDB)/include -I$(TOKUDB)/toku_include -I$(TOKUDB)/src
|
|
CPPFLAGS += -I$(TOKUDB)/$(SYSTEM)
|
|
CPPFLAGS += $(MYSQL_FLAGS)
|
|
CPPFLAGS += -DTOKUDB_VERSION=\"$(TOKUDB_VERSION)\"
|
|
CXXFLAGS += -g $(OPTFLAGS) $(GCOV_FLAGS) $(MYSQL_CXXFLAGS)
|
|
CXXFLAGS += -fPIC
|
|
LDFLAGS = -fPIC -shared -Wl,-soname -Wl,libtokudb_engine.so
|
|
ifeq ($(SINGLESO),1)
|
|
LIBS = $(TOKUDB)/src/ydb_lib.o $(TOKUDB)/lib/lib$(LIBTOKUDB).a $(TOKUDB)/lib/libtokuportability.a
|
|
else
|
|
LIBS = -L$(TOKUDB)/lib -l$(LIBTOKUDB) -ltokuportability
|
|
endif
|
|
LIBS += -lpthread -lz -lm -lc
|
|
|
|
|
|
# LIBDIR = /usr/lib
|
|
# GCCLIBDIR = /usr/lib/gcc/i386-redhat-linux/4.1.1
|
|
# BEGINLIBS = $(LIBDIR)/crti.o $(GCCLIBDIR)/crtbeginS.o
|
|
# ENDLIBS = $(GCCLIBDIR)/crtendS.o $(LIBDIR)/crtn.o
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET): $(OBJS)
|
|
$(CXX) $(LDFLAGS) $(GCOV_FLAGS) $(MYSQL_CXXFLAGS) $(BEGINLIBS) $^ $(LIBS) $(ENDLIBS) -o $@
|
|
|
|
clean:
|
|
rm -rf $(TARGET) $(OBJS) *.gcno *.gcda *.gcov
|
|
|
|
install: $(TARGET)
|
|
cp $(TARGET) $(MYSQL_LIBDIR)/libtokudb_engine.so
|
|
|
|
tags: TAGS cscope.out;
|
|
|
|
TAGS: $(TOKUDB)/*/*.[ch] $(TOKUDB)/*/*/*.[ch] $(TOKUDB)/*/*/*/*.[ch] *.cc *.h
|
|
rm -f `find $(TOKUDB)/ -type f -name TAGS` #Delete all other tag files
|
|
etags $(TOKUDB)/*/*.[ch] $(TOKUDB)/*/*/*.[ch] $(TOKUDB)/*/*/*/*.[ch] *.cc *.h
|
|
|
|
cscope.files: $(TOKUDB)/*/*.[ch] $(TOKUDB)/*/*/*.[ch] $(TOKUDB)/*/*/*/*.[ch] *.cc *.h
|
|
(echo $(TOKUDB)/*/*.[ch] $(TOKUDB)/*/*/*.[ch] $(TOKUDB)/*/*/*/*.[ch] *.cc *.h | tr " " "\n") > $@
|
|
|
|
ifneq ($(CYGWIN),)
|
|
CSCOPE=mlcscope
|
|
else
|
|
CSCOPE=cscope
|
|
endif
|
|
|
|
cscope.out: cscope.files $(TOKUDB)/*/*.[ch] $(TOKUDB)/*/*/*.[ch] $(TOKUDB)/*/*/*/*.[ch] *.cc *.h
|
|
$(CSCOPE) -qb
|
|
|
|
|