# This file is distributed as part of the MariaDB Corporation MaxScale. It is free # software: you can redistribute it and/or modify it under the terms of the # GNU General Public License as published by the Free Software Foundation, # version 2. # # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more # details. # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., 51 # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # # Copyright MariaDB Corporation Ab 2013 # # Revision History # Date Who Description # 13/06/13 Mark Riddoch Initial routing module development # 27/06/13 Vilho Raatikka Added logmanager-related libs and # headers so that liblog_manager.so can # be linked in. # 27/06/13 Mark Riddoch Addition of read write splitter include ../../../build_gateway.inc LOGPATH := $(ROOT_PATH)/log_manager UTILSPATH := $(ROOT_PATH)/utils CC=cc CFLAGS=-c -fPIC -I/usr/include -I../include -I../../include -I$(LOGPATH) \ -I$(UTILSPATH) -I$(MYSQL_HEADERS) -Wall -g include ../../../makefile.inc LDFLAGS=-shared -L$(LOGPATH) -Wl,-rpath,$(DEST)/lib \ -Wl,-rpath,$(LOGPATH) -Wl,-rpath,$(UTILSPATH) TESTSRCS=testroute.c TESTOBJ=$(TESTSRCS:.c=.o) READCONSRCS=readconnroute.c READCONOBJ=$(READCONSRCS:.c=.o) DEBUGCLISRCS=debugcli.c debugcmd.c DEBUGCLIOBJ=$(DEBUGCLISRCS:.c=.o) CLISRCS=cli.c debugcmd.c CLIOBJ=$(CLISRCS:.c=.o) SRCS=$(TESTSRCS) $(READCONSRCS) $(DEBUGCLISRCS) cli.c OBJ=$(SRCS:.c=.o) LIBS=$(UTILSPATH)/skygw_utils.o -lssl -llog_manager MODULES= libdebugcli.so libreadconnroute.so libtestroute.so libcli.so libbinlogrouter.so all: $(MODULES) (cd readwritesplit; make) libtestroute.so: $(TESTOBJ) $(CC) $(LDFLAGS) $(TESTOBJ) $(LIBS) -o $@ libreadconnroute.so: $(READCONOBJ) $(CC) $(LDFLAGS) $(READCONOBJ) $(LIBS) -o $@ libdebugcli.so: $(DEBUGCLIOBJ) $(CC) $(LDFLAGS) $(DEBUGCLIOBJ) $(LIBS) -o $@ libcli.so: $(CLIOBJ) $(CC) $(LDFLAGS) $(CLIOBJ) $(LIBS) -o $@ libreadwritesplit.so: (cd readwritesplit; touch depend.mk ; make; cp $@ ..) libbinlogrouter.so: (cd binlog; touch depend.mk ; make; cp $@ ..) .c.o: $(CC) $(CFLAGS) $< -o $@ clean: $(DEL) $(OBJ) $(MODULES) (cd readwritesplit; touch depend.mk; make clean) (cd binlog; touch depend.mk; make clean) tags: ctags $(SRCS) $(HDRS) (cd readwritesplit; make tags) depend: @$(DEL) depend.mk cc -M $(CFLAGS) $(SRCS) > depend.mk (cd readwritesplit; touch depend.mk ; make depend) (cd binlog; touch depend.mk ; make depend) install: $(MODULES) install -D $(MODULES) $(DEST)/modules (cd readwritesplit; make DEST=$(DEST) install) (cd binlog; make DEST=$(DEST) install) cleantests: $(MAKE) -C test cleantests buildtests: $(MAKE) -C test DEBUG=Y buildtests runtests: $(MAKE) -C test runtests testall: $(MAKE) -C test testall include depend.mk