mirror of https://github.com/sysown/proxysql
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
4.7 KiB
118 lines
4.7 KiB
|
|
|
|
|
|
|
|
DEPS_PATH=../deps
|
|
|
|
|
|
MARIADB_PATH=$(DEPS_PATH)/mariadb-client-library/mariadb_client
|
|
MARIADB_IDIR=$(MARIADB_PATH)/include
|
|
|
|
#LIBEVENT_PATH=$(DEPS_PATH)/libevent/libevent
|
|
#LIBEVENT_IDIR=-I$(LIBEVENT_PATH)/include
|
|
|
|
|
|
JEMALLOC_PATH=$(DEPS_PATH)/jemalloc/jemalloc
|
|
JEMALLOC_IDIR=$(JEMALLOC_PATH)/include/jemalloc
|
|
|
|
#GLIB_PATH=$(DEPS_PATH)/glib/glib
|
|
#GLIB_IDIRS=-I$(GLIB_PATH) -I$(GLIB_PATH)/glib
|
|
|
|
|
|
LIBCONFIG_PATH=$(DEPS_PATH)/libconfig/libconfig-1.4.9
|
|
LIBCONFIG_IDIR=-I$(LIBCONFIG_PATH)/lib
|
|
|
|
|
|
INJECTION_PATH=$(DEPS_PATH)/libinjection
|
|
INJECTION_IDIR=$(INJECTION_PATH)
|
|
|
|
|
|
RE2_PATH=$(DEPS_PATH)/re2/re2
|
|
RE2_IDIR=$(RE2_PATH)
|
|
|
|
IDIR=../include
|
|
|
|
#IDIRS=-I$(IDIR) -I$(JEMALLOC_IDIR) -I$(MARIADB_IDIR) $(LIBEVENT_IDIR) $(GLIB_IDIRS) $(LIBCONFIG_IDIR)
|
|
IDIRS=-I$(IDIR) -I$(JEMALLOC_IDIR) -I$(MARIADB_IDIR) $(LIBCONFIG_IDIR) -I$(RE2_IDIR)
|
|
|
|
LDIRS=-L$(JEMALLOC_PATH)/lib -L$(RE2_PATH)/obj -L$(INJECTION_PATH)
|
|
|
|
LIBS=-rdynamic -Wl,-Bstatic -ljemalloc_pic -lre2 -Wl,-Bdynamic -ldl -lpthread -lm -lz -lrt $(EXTRALINK)
|
|
|
|
|
|
ODIR= obj
|
|
|
|
CC=gcc
|
|
CPP=g++
|
|
#CC=clang
|
|
|
|
CFLAGS=$(IDIRS) $(OPTZ) $(DEBUG) -Wall #-lcrypto
|
|
CPPFLAGS=-std=c++0x $(CFLAGS) $(LDIRS) $(LIBS)
|
|
|
|
#default: libproxysql.a
|
|
default: libproxysql.a DYN_LIB libproxysql.so
|
|
.PHONY: default
|
|
|
|
#_OBJ = mysql_protocol.o debug.o global_variables.o mysql_data_stream.o network.o proxysql_global.o
|
|
_OBJ = sqlite3.o c_tokenizer.o
|
|
OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ))
|
|
#_OBJ_CPP = Standard_Query_Cache.oo SpookyV2.oo Standard_MySQL_Thread.oo gen_utils.oo mysql_connection_pool.oo simple_kv.oo advanced_kv.oo sqlite3db.oo mysql_connection.oo global_variables.oo proxysql_mem.oo mysql_protocol.oo mysql_data_stream.oo mysql_session.oo mysql_backend.oo
|
|
#_OBJ_CPP = ProxySQL_GloVars.oo network.oo debug.oo proxysql_global.oo configfile.oo Standard_Query_Cache.oo SpookyV2.oo Standard_MySQL_Thread.oo Standard_MySQL_Authentication.oo gen_utils.oo mysql_connection_pool.oo simple_kv.oo advanced_kv.oo sqlite3db.oo mysql_connection.oo global_variables.oo proxysql_mem.oo MySQL_Protocol.oo mysql_data_stream.oo mysql_session.oo mysql_backend.oo
|
|
#_OBJ_CPP = ProxySQL_GloVars.oo network.oo debug.oo proxysql_global.oo configfile.oo Standard_Query_Cache.oo SpookyV2.oo Standard_MySQL_Authentication.oo gen_utils.oo mysql_connection_pool.oo simple_kv.oo advanced_kv.oo sqlite3db.oo mysql_connection.oo global_variables.oo proxysql_mem.oo MySQL_Protocol.oo mysql_data_stream.oo mysql_session.oo mysql_backend.oo
|
|
_OBJ_CPP = ProxySQL_GloVars.oo network.oo debug.oo configfile.oo Standard_Query_Cache.oo SpookyV2.oo Standard_MySQL_Authentication.oo gen_utils.oo mysql_connection_pool.oo simple_kv.oo advanced_kv.oo sqlite3db.oo mysql_connection.oo global_variables.oo proxysql_mem.oo MySQL_Protocol.oo mysql_data_stream.oo MySQL_Session.oo mysql_backend.oo MySQL_HostGroups_Manager.oo
|
|
OBJ_CPP = $(patsubst %,$(ODIR)/%,$(_OBJ_CPP))
|
|
|
|
#_SHARED_OBJ= Standard_Query_Cache.ko Standard_MySQL_Thread.ko
|
|
|
|
Standard_ProxySQL_Admin.so: Standard_ProxySQL_Admin.ko Standard_MySQL_Thread.ko libproxysql.a
|
|
$(CPP) -shared -fPIC -o $@ $(CPPFLAGS) Standard_ProxySQL_Admin.ko Standard_MySQL_Thread.ko libproxysql.a -lcrypto $(LIBS)
|
|
|
|
Standard_Query_Processor.so: Standard_Query_Processor.ko libproxysql.a
|
|
$(CPP) -shared -fPIC -o $@ $(CPPFLAGS) Standard_Query_Processor.ko libproxysql.a -lcrypto $(LIBS) -linjection
|
|
|
|
Standard_MySQL_Authentication.so: Standard_MySQL_Authentication.ko libproxysql.a
|
|
$(CPP) -shared -fPIC -o $@ $(CPPFLAGS) Standard_MySQL_Authentication.ko libproxysql.a -lcrypto $(LIBS)
|
|
|
|
Standard_Query_Cache.so: Standard_Query_Cache.ko libproxysql.a
|
|
$(CPP) -shared -fPIC -o $@ $(CPPFLAGS) Standard_Query_Cache.ko libproxysql.a -lcrypto $(LIBS)
|
|
# $(CC) -shared -fPIC -o $@ $(CPPFLAGS) $(ODIR)/Standard_Query_Cache.oo $(ODIR)/SpookyV2.oo $(ODIR)/gen_utils.oo
|
|
|
|
Standard_MySQL_Thread.so: Standard_MySQL_Thread.ko libproxysql.a
|
|
$(CPP) -shared -fPIC -o $@ $(CPPFLAGS) Standard_MySQL_Thread.ko libproxysql.a -lcrypto $(LIBS)
|
|
# $(CC) -shared -fPIC -o $@ $(CPPFLAGS) $(ODIR)/Standard_MySQL_Thread.oo $(ODIR)/mysql_session.oo
|
|
|
|
LOADABLE_LIB = Standard_ProxySQL_Admin.so Standard_Query_Processor.so Standard_MySQL_Authentication.so Standard_Query_Cache.so Standard_MySQL_Thread.so
|
|
|
|
DYN_LIB: $(LOADABLE_LIB)
|
|
.PHONY: DYN_LIB
|
|
|
|
%.ko: %.cpp
|
|
$(CPP) -fPIC -c -o $@ $< $(CPPFLAGS)
|
|
|
|
$(ODIR)/%.o: %.c
|
|
$(CC) -fPIC -c -o $@ $< $(CFLAGS)
|
|
|
|
$(ODIR)/%.oo: %.cpp
|
|
$(CPP) -fPIC -c -o $@ $< $(CPPFLAGS)
|
|
|
|
#mysql_data_stream.oo: mysql_data_stream.cpp
|
|
# g++ -c -o mysql_data_stream.oo mysql_data_stream.cpp $(CFLAGS) -Wall
|
|
|
|
|
|
libproxysql.a: $(ODIR) $(OBJ) $(OBJ_CPP)
|
|
ar rcs $@ $(OBJ) $(OBJ_CPP)
|
|
|
|
libproxysql.so: $(ODIR) $(OBJ) $(OBJ_CPP)
|
|
$(CPP) -shared -fPIC -o $@ $(OBJ) $(OBJ_CPP)
|
|
|
|
$(ODIR):
|
|
mkdir $(ODIR)
|
|
|
|
#all: $(EXECUTABLE)
|
|
|
|
|
|
|
|
clean:
|
|
rm -f *.pid $(ODIR)/*.oo $(ODIR)/*.o *.ko *.so *~ core libproxysql.a
|
|
|