diff -Naur maxscale-0.7.0/log_manager/makefile maxscale-0.7.0.oden/log_manager/makefile --- maxscale-0.7.0/log_manager/makefile 2014-06-04 12:30:15.000000000 +0200 +++ maxscale-0.7.0.oden/log_manager/makefile 2014-06-16 10:18:45.170626016 +0200 @@ -4,44 +4,42 @@ CC = gcc CPP = g++ +LT_CURRENT=0 +LT_REVISION=0 +LT_AGE=0 + SRCS := log_manager.cc UTILS_PATH := $(ROOT_PATH)/utils CUR_DIR := $(shell pwd) -makeall: clean all +OBJS= log_manager.o $(ROOT_PATH)/utils/skygw_utils.o +LTOBJS:= $(OBJS:.o=.lo) -clean: - $(MAKE) -C $(UTILS_PATH) clean - - $(DEL) *.o - - $(DEL) *.so - - $(DEL) *.so.1.0.1 - - $(DEL) *~ - - $(DEL) depend +makeall: clean all all: utils lib - utils: $(MAKE) -C $(UTILS_PATH) clean all -lib: libcomp liblink +lib: liblog_manager.la -libcomp: - $(CPP) -c $(CFLAGS) \ - $(MYSQL_HEADERS) \ - -I$(UTILS_PATH) -I./ \ - -fPIC ./log_manager.cc -o log_manager.o $(LDLIBS) - -liblink: - $(CPP) -shared \ - -Wl,-soname,liblog_manager.so \ - -o liblog_manager.so.1.0.1 log_manager.o \ - $(LDLIBS) $(CPP_LDLIBS) - $(DEL) ./liblog_manager.so - $(LINK) ./liblog_manager.so.1.0.1 ./liblog_manager.so - -install: liblink - install liblog_manager.so.1.0.1 liblog_manager.so $(DEST)/lib +%.o: %.cc + $(CPP) -c $(CFLAGS) $(MYSQL_HEADERS) -I$(UTILS_PATH) -I./ \ + $(LDLIBS) $< -o $@ + +%.lo: %.cc + $(LIBTOOL) --mode=compile --tag=CXX $(CPP) -c $(CFLAGS) \ + $(MYSQL_HEADERS) -I$(UTILS_PATH) -I./ $(LDLIBS) $< -o $@ + +liblog_manager.la: $(LTOBJS) + $(LIBTOOL) --mode=link --tag=CXX $(CPP) $(CFLAGS) $(LDFLAGS) -rpath $(libdir) \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -o \ + liblog_manager.la $(LTOBJS) $(LDLIBS) $(CPP_LDLIBS) + +install: liblog_manager.la + $(INSTALL) -d $(DESTDIR)$(libdir) + $(LIBTOOL) --mode=install $(INSTALL) liblog_manager.la $(DESTDIR)$(libdir) depend: @rm -f depend @@ -62,6 +60,12 @@ testall: $(MAKE) -C test testall - +clean: + $(MAKE) -C $(UTILS_PATH) clean + - $(DEL) *.*o + - $(DEL) *~ + - $(DEL) depend + rm -f *.o *core *.lo *.a *.la + rm -rf .libs include depend diff -Naur maxscale-0.7.0/Makefile maxscale-0.7.0.oden/Makefile --- maxscale-0.7.0/Makefile 2014-06-04 12:30:15.000000000 +0200 +++ maxscale-0.7.0.oden/Makefile 2014-06-16 10:18:45.170626016 +0200 @@ -20,8 +20,6 @@ include build_gateway.inc -DEST=$(HOME)/usr/local/skysql - # # A special build of MaxScale is done for tests. # HAVE_SRV carries information whether test MaxScale server @@ -51,9 +49,9 @@ (cd server; make depend) install: - (cd server; make DEST=$(DEST) install) - (cd log_manager; make DEST=$(DEST) install) - (cd query_classifier; make DEST=$(DEST) install) + (cd server; make DESTDIR=$(DESTDIR) install) + (cd log_manager; make DESTDIR=$(DESTDIR) install) + (cd query_classifier; make DESTDIR=$(DESTDIR) install) cleantests: $(MAKE) -C test cleantests diff -Naur maxscale-0.7.0/makefile.inc maxscale-0.7.0.oden/makefile.inc --- maxscale-0.7.0/makefile.inc 2014-06-04 12:30:15.000000000 +0200 +++ maxscale-0.7.0.oden/makefile.inc 2014-06-16 10:18:45.170626016 +0200 @@ -24,11 +24,23 @@ # -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fPIC -CFLAGS := $(CFLAGS) -Wall +CFLAGS := $(CFLAGS) -Wall -fPIC LDLIBS := $(LDLIBS) -pthread LDMYSQL := -lmysqld CPP_LDLIBS := -lstdc++ +sysconfdir = /etc +bindir = /usr/bin +libdir = /usr/lib +datadir = /usr/share +includedir = /usr/include +mandir = /usr/share/man + +DESTDIR=$(HOME)/usr/local/skysql + +LIBTOOL = libtool +INSTALL = install -c + # # Compiler flags, httpd arguments and debugger options # @@ -40,4 +52,4 @@ ifdef PROF CFLAGS := $(CFLAGS) -DSS_PROF -endif \ Ingen nyrad vid filslut +endif diff -Naur maxscale-0.7.0/query_classifier/makefile maxscale-0.7.0.oden/query_classifier/makefile --- maxscale-0.7.0/query_classifier/makefile 2014-06-04 12:30:15.000000000 +0200 +++ maxscale-0.7.0.oden/query_classifier/makefile 2014-06-16 10:18:45.171626016 +0200 @@ -4,20 +4,19 @@ CC = gcc CPP = g++ +LT_CURRENT=0 +LT_REVISION=0 +LT_AGE=0 + SRCS := query_classifier.cc UTILS_PATH := $(ROOT_PATH)/utils QUERY_CLASSIFIER_PATH := $(ROOT_PATH)/query_classifier LOG_MANAGER_PATH := $(ROOT_PATH)/log_manager -makeall: clean all +OBJS= query_classifier.o $(ROOT_PATH)/utils/skygw_utils.o $(ROOT_PATH)/log_manager/log_manager.o +LTOBJS:= $(OBJS:.o=.lo) -clean: - $(MAKE) -C $(UTILS_PATH) clean - - $(DEL) query_classifier.o - - $(DEL) libquery_classifier.so - - $(DEL) libquery_classifier.so.1.0.1 - - $(DEL) *~ - - $(DEL) depend +makeall: clean all all: utils lib @@ -33,33 +32,27 @@ testall: $(MAKE) -C test testall - utils: $(MAKE) -C $(UTILS_PATH) clean all -lib: libcomp liblink - -libcomp: - $(CPP) -c $(CFLAGS) \ - $(MYSQL_HEADERS) \ - -I$(LOG_MANAGER_PATH) \ - -I./ \ - -fPIC ./query_classifier.cc -o query_classifier.o - -liblink: - $(CPP) -shared \ - -L$(EMBEDDED_LIB) \ - -Wl,-soname,libquery_classifier.so \ - -Wl,-rpath,$(DEST)/lib \ - -Wl,-rpath,$(EMBEDDED_LIB) \ - -o libquery_classifier.so.1.0.1 ./query_classifier.o \ - $(LDLIBS) $(LDMYSQL) $(CPP_LDLIBS) - $(DEL) ./libquery_classifier.so - $(LINK) ./libquery_classifier.so.1.0.1 ./libquery_classifier.so +lib: libquery_classifier.la - -install: liblink - install ./libquery_classifier.so.1.0.1 ./libquery_classifier.so $(DEST)/lib +%.o: %.cc + $(CPP) -c $(CFLAGS) $(MYSQL_HEADERS) -I$(LOG_MANAGER_PATH) -I./ \ + $(LDLIBS) $< -o $@ + +%.lo: %.cc + $(LIBTOOL) --mode=compile --tag=CXX $(CPP) -c $(CFLAGS) \ + $(MYSQL_HEADERS) -I$(LOG_MANAGER_PATH) -I./ $(LDLIBS) $< -o $@ + +libquery_classifier.la: $(LTOBJS) + $(LIBTOOL) --mode=link --tag=CXX $(CPP) $(CFLAGS) $(LDFLAGS) -rpath $(libdir) \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -o \ + libquery_classifier.la $(LTOBJS) -L$(EMBEDDED_LIB) $(LDLIBS) $(LDMYSQL) $(CPP_LDLIBS) + +install: libquery_classifier.la + $(INSTALL) -d $(DESTDIR)$(libdir)/maxscale/modules + $(LIBTOOL) --mode=install $(INSTALL) libquery_classifier.la $(DESTDIR)$(libdir)/maxscale/modules depend: @rm -f depend @@ -69,4 +62,13 @@ -I./ \ $(SRCS) > depend +clean: + $(MAKE) -C $(UTILS_PATH) clean + - $(DEL) query_classifier.o + - $(DEL) libquery_classifier.so* + - $(DEL) *~ + - $(DEL) depend + rm -f *.o *core *.lo *.a *.la + rm -rf .libs + include depend diff -Naur maxscale-0.7.0/server/core/Makefile maxscale-0.7.0.oden/server/core/Makefile --- maxscale-0.7.0/server/core/Makefile 2014-06-05 15:43:46.000000000 +0200 +++ maxscale-0.7.0.oden/server/core/Makefile 2014-06-16 10:18:45.171626016 +0200 @@ -49,10 +49,7 @@ include ../../makefile.inc -LDFLAGS=-rdynamic -L$(LOGPATH) \ - -Wl,-rpath,$(DEST)/lib \ - -Wl,-rpath,$(LOGPATH) -Wl,-rpath,$(UTILSPATH) \ - -Wl,-rpath,$(EMBEDDED_LIB) +LDFLAGS=-rdynamic -L$(LOGPATH) SRCS= atomic.c buffer.c spinlock.c gateway.c \ gw_utils.c utils.c dcb.c load_utils.c session.c service.c server.c \ @@ -74,7 +71,7 @@ LIBS=-L../inih/extra -linih -lssl -lstdc++ \ -L$(EMBEDDED_LIB) \ - -lz -lm -lcrypt -lcrypto -ldl -laio -lrt -pthread -llog_manager \ + -lz -lm -lcrypt -lcrypto -ldl -laio -lrt -pthread -L$(ROOT_PATH)/log_manager/.libs -llog_manager \ -lmysqld all: maxscale maxkeys maxpasswd @@ -119,9 +116,13 @@ cc -M $(CFLAGS) $(SRCS) > depend.mk install: maxscale maxkeys maxpasswd - @mkdir -p $(DEST)/bin - install -D maxscale maxkeys maxpasswd $(DEST)/bin - install -D $(EMBEDDED_LIB)/$(LIB) $(DEST)/lib - install -D $(ERRMSG)/errmsg.sys $(DEST)/MaxScale/mysql + $(INSTALL) -d $(DESTDIR)$(bindir) + $(LIBTOOL) --mode=install $(INSTALL) -m 755 maxscale $(DESTDIR)$(bindir) + $(LIBTOOL) --mode=install $(INSTALL) -m 755 maxkeys $(DESTDIR)$(bindir) + $(LIBTOOL) --mode=install $(INSTALL) -m 755 maxpasswd $(DESTDIR)$(bindir) + #$(INSTALL) -d $(DESTDIR)$(libdir) + #$(INSTALL) -D $(EMBEDDED_LIB)/$(LIB) $(DESTDIR)$(libdir) + #$(INSTALL) -d $(DESTDIR)/MaxScale/mysql + #$(INSTALL) $(ERRMSG)/errmsg.sys $(DESTDIR)/MaxScale/mysql include depend.mk diff -Naur maxscale-0.7.0/server/core/Makefile.orig maxscale-0.7.0.oden/server/core/Makefile.orig --- maxscale-0.7.0/server/core/Makefile.orig 1970-01-01 01:00:00.000000000 +0100 +++ maxscale-0.7.0.oden/server/core/Makefile.orig 2014-06-05 15:43:46.000000000 +0200 @@ -0,0 +1,127 @@ +# This file is distributed as part of the SkySQL Gateway. 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 SkySQL Ab 2013 +# +# Revision History +# Date Who Description +# 13/06/13 Mark Riddoch Addition of -rdynamic to allow libraries +# to resolve symbols in the main executable +# 17/06/13 Mark Riddoch Addition of dependency generation +# 24/06/13 Massimiliano Pinto Addition of libmysqlclient and its +# includes do this for launching the +# gateway: export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH:/packages/mariadb-5.5.25/libmysql +# 27/06/13 Vilho Raatikka Added logmanager-related libs and +# headers so that liblog_manager.so can +# be linked in. +# 28/06/13 Vilho Raatikka Added query classifier-related libs and +# commented out mysql client headers and +# lib to avoid conflicts. MARIADB_SRC_PATH +# is set in build_gateway.inc. Examples +# are behind SS_DEBUG macros. +# 29/06/13 Vilho Raatikka Reverted Query classifier changes because +# gateway needs mysql client lib, not qc. +# 24/07/13 Mark Ridoch Addition of encryption routines +# 30/05/14 Mark Ridoch Filter API added + +include ../../build_gateway.inc + +LOGPATH := $(ROOT_PATH)/log_manager +UTILSPATH := $(ROOT_PATH)/utils + +CC=cc + +CFLAGS=-c -I/usr/include -I../include -I../modules/include -I../inih \ + $(MYSQL_HEADERS) \ + -I$(LOGPATH) -I$(UTILSPATH) \ + -Wall -g + +include ../../makefile.inc + +LDFLAGS=-rdynamic -L$(LOGPATH) \ + -Wl,-rpath,$(DEST)/lib \ + -Wl,-rpath,$(LOGPATH) -Wl,-rpath,$(UTILSPATH) \ + -Wl,-rpath,$(EMBEDDED_LIB) + +SRCS= atomic.c buffer.c spinlock.c gateway.c \ + gw_utils.c utils.c dcb.c load_utils.c session.c service.c server.c \ + poll.c config.c users.c hashtable.c dbusers.c thread.c gwbitmask.c \ + monitor.c adminusers.c secrets.c filter.c modutil.c + +HDRS= ../include/atomic.h ../include/buffer.h ../include/dcb.h \ + ../include/gw.h ../modules/include/mysql_client_server_protocol.h \ + ../include/session.h ../include/spinlock.h ../include/thread.h \ + ../include/modules.h ../include/poll.h ../include/config.h \ + ../include/users.h ../include/hashtable.h ../include/gwbitmask.h \ + ../include/adminusers.h ../include/version.h ../include/maxscale.h \ + ../include/filter.h modutil.h + +OBJ=$(SRCS:.c=.o) + +KOBJS=maxkeys.o secrets.o utils.o +POBJS=maxpasswd.o secrets.o utils.o + +LIBS=-L../inih/extra -linih -lssl -lstdc++ \ + -L$(EMBEDDED_LIB) \ + -lz -lm -lcrypt -lcrypto -ldl -laio -lrt -pthread -llog_manager \ + -lmysqld + +all: maxscale maxkeys maxpasswd + +cleantests: + $(MAKE) -C test cleantests + +buildtests: + $(MAKE) -C test buildtests + +runtests: + $(MAKE) -C test runtests + +testall: + $(MAKE) -C test testall + +maxscale: $(OBJ) + $(CC) $(LDFLAGS) $(OBJ) $(UTILSPATH)/skygw_utils.o $(LIBS) -o $@ + +maxkeys: $(KOBJS) + $(CC) $(LDFLAGS) $(KOBJS) $(UTILSPATH)/skygw_utils.o $(LIBS) -o $@ + +maxpasswd: $(POBJS) + $(CC) $(LDFLAGS) $(POBJS) $(UTILSPATH)/skygw_utils.o $(LIBS) -o $@ + +.c.o: + $(CC) $(CFLAGS) $< -o $@ + + +../include/version.h: ../../VERSION + echo '#define MAXSCALE_VERSION "'`cat ../../VERSION`'"' > ../include/version.h + +clean: + rm -f $(OBJ) maxscale + - rm *.so + +tags: + ctags $(SRCS) $(HDRS) + +depend: ../include/version.h + @rm -f depend.mk + cc -M $(CFLAGS) $(SRCS) > depend.mk + +install: maxscale maxkeys maxpasswd + @mkdir -p $(DEST)/bin + install -D maxscale maxkeys maxpasswd $(DEST)/bin + install -D $(EMBEDDED_LIB)/$(LIB) $(DEST)/lib + install -D $(ERRMSG)/errmsg.sys $(DEST)/MaxScale/mysql + +include depend.mk diff -Naur maxscale-0.7.0/server/Makefile maxscale-0.7.0.oden/server/Makefile --- maxscale-0.7.0/server/Makefile 2014-06-05 15:43:46.000000000 +0200 +++ maxscale-0.7.0.oden/server/Makefile 2014-06-16 10:20:10.351621939 +0200 @@ -24,7 +24,9 @@ # 08/07/13 Mark Riddoch Addition of monitor modules # 16/07/13 Mark Riddoch Renamed things to match the new naming -DEST=$(HOME)/usr/local/skysql +include ../makefile.inc + +DESTDIR=$(HOME)/usr/local/skysql all: (cd inih/extra ; make -f Makefile.static) @@ -60,18 +62,15 @@ (cd modules/filter; touch depend.mk ; make depend) install: - @mkdir -p $(DEST) - @mkdir -p $(DEST)/MaxScale - @mkdir -p $(DEST)/MaxScale/modules - @mkdir -p $(DEST)/MaxScale/log - @mkdir -p $(DEST)/MaxScale/etc - @mkdir -p $(DEST)/MaxScale/mysql - @mkdir -p $(DEST)/lib - @mkdir -p $(DEST)/Documentation - install -b MaxScale_template.cnf $(DEST)/MaxScale/etc - install ../Documentation/*.pdf $(DEST)/Documentation - (cd core; make DEST=$(DEST) install) - (cd modules/routing; make DEST=$(DEST) install) - (cd modules/protocol; make DEST=$(DEST) install) - (cd modules/monitor; make DEST=$(DEST) install) - (cd modules/filter; make DEST=$(DEST) install) + @mkdir -p $(DESTDIR) + @mkdir -p $(DESTDIR)$(libdir)/maxscale/modules + @mkdir -p $(DESTDIR)/var/log + @mkdir -p $(DESTDIR)$(sysconfdir) + @mkdir -p $(DESTDIR)$(datadir)/doc/maxscale + install -b MaxScale_template.cnf $(DESTDIR)$(sysconfdir) + install ../Documentation/*.pdf $(DESTDIR)$(datadir)/doc/maxscale + (cd core; make DESTDIR=$(DESTDIR) install) + (cd modules/routing; make DESTDIR=$(DESTDIR) install) + (cd modules/protocol; make DESTDIR=$(DESTDIR) install) + (cd modules/monitor; make DESTDIR=$(DESTDIR) install) + (cd modules/filter; make DESTDIR=$(DESTDIR) install) diff -Naur maxscale-0.7.0/server/modules/filter/Makefile maxscale-0.7.0.oden/server/modules/filter/Makefile --- maxscale-0.7.0/server/modules/filter/Makefile 2014-06-05 15:43:46.000000000 +0200 +++ maxscale-0.7.0.oden/server/modules/filter/Makefile 2014-06-16 10:29:23.677595460 +0200 @@ -29,8 +29,7 @@ include ../../../makefile.inc -LDFLAGS=-shared -L$(LOGPATH) -Wl,-rpath,$(DEST)/lib \ - -Wl,-rpath,$(LOGPATH) -Wl,-rpath,$(UTILSPATH) +LDFLAGS=-shared -L$(LOGPATH) TESTSRCS=testfilter.c TESTOBJ=$(TESTSRCS:.c=.o) @@ -40,26 +39,36 @@ REGEXOBJ=$(REGEXSRCS:.c=.o) SRCS=$(TESTSRCS) $(QLASRCS) $(REGEXSRCS) OBJ=$(SRCS:.c=.o) -LIBS=$(UTILSPATH)/skygw_utils.o -lssl -llog_manager -MODULES= libtestfilter.so libqlafilter.so libregexfilter.so - +LIBS=$(UTILSPATH)/skygw_utils.o -lssl $(LOGPATH)/liblog_manager.la +MODULES= libtestfilter.la libqlafilter.la libregexfilter.la all: $(MODULES) -libtestfilter.so: $(TESTOBJ) - $(CC) $(LDFLAGS) $(TESTOBJ) $(LIBS) -o $@ - -libqlafilter.so: $(QLAOBJ) - $(CC) $(LDFLAGS) $(QLAOBJ) $(LIBS) -o $@ +libtestfilter.la: $(TESTOBJ) + $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)/maxscale/modules \ + -avoid-version -module -o \ + libtestfilter.la $(TESTOBJ) $(LIBS) + +libqlafilter.la: $(QLAOBJ) + $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)/maxscale/modules \ + -avoid-version -module -o \ + libqlafilter.la $(QLAOBJ) $(LIBS) + +libregexfilter.la: $(REGEXOBJ) + $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)/maxscale/modules \ + -avoid-version -module -o \ + libregexfilter.la $(REGEXOBJ) $(LIBS) -libregexfilter.so: $(REGEXOBJ) - $(CC) $(LDFLAGS) $(REGEXOBJ) $(LIBS) -o $@ - -.c.o: +%.o: %.c $(CC) $(CFLAGS) $< -o $@ +%.lo: %.c + $(LIBTOOL) --mode=compile --tag=CC $(CC) -c $(CFLAGS) $< -o $@ + clean: rm -f $(OBJ) $(MODULES) + rm -f *.o *core *.lo *.a *.la + rm -rf .libs tags: ctags $(SRCS) $(HDRS) @@ -70,6 +79,10 @@ install: $(MODULES) install -D $(MODULES) $(DEST)/MaxScale/modules + $(INSTALL) -d $(DESTDIR)$(libdir)/maxscale/modules + $(LIBTOOL) --mode=install $(INSTALL) libtestfilter.la $(DESTDIR)$(libdir)/maxscale/modules + $(LIBTOOL) --mode=install $(INSTALL) libqlafilter.la $(DESTDIR)$(libdir)/maxscale/modules + $(LIBTOOL) --mode=install $(INSTALL) libregexfilter.la $(DESTDIR)$(libdir)/maxscale/modules cleantests: $(MAKE) -C test cleantests diff -Naur maxscale-0.7.0/server/modules/monitor/Makefile maxscale-0.7.0.oden/server/modules/monitor/Makefile --- maxscale-0.7.0/server/modules/monitor/Makefile 2014-06-04 12:30:15.000000000 +0200 +++ maxscale-0.7.0.oden/server/modules/monitor/Makefile 2014-06-16 10:18:45.172626016 +0200 @@ -19,6 +19,7 @@ # 08/07/13 Mark Riddoch Initial implementation include ../../../build_gateway.inc +include ../../../makefile.inc LOGPATH := $(ROOT_PATH)/log_manager UTILSPATH := $(ROOT_PATH)/utils @@ -26,11 +27,7 @@ CFLAGS=-c -fPIC -I. -I/usr/include -I../include -I../../include -I$(LOGPATH) \ -I$(UTILSPATH) $(MYSQL_HEADERS) -Wall -g -LDFLAGS=-shared -L$(LOGPATH) -Wl,-rpath,$(DEST)/lib \ - -Wl,-rpath,$(LOGPATH) -Wl,-rpath,$(UTILSPATH) \ - -Wl,-rpath,$(EMBEDDED_LIB) - - +LDFLAGS=-shared -L$(LOGPATH) MYSQLSRCS=mysql_mon.c MYSQLOBJ=$(MYSQLSRCS:.c=.o) @@ -38,24 +35,33 @@ GALERAOBJ=$(GALERASRCS:.c=.o) SRCS=$(MYSQLSRCS) OBJ=$(SRCS:.c=.o) -LIBS=$(UTILSPATH)/skygw_utils.o -llog_manager \ - -L$(EMBEDDED_LIB) -lmysqld -MODULES=libmysqlmon.so libgaleramon.so +LIBS=$(UTILSPATH)/skygw_utils.o -L$(EMBEDDED_LIB) -lmysqld \ + $(LOGPATH)/liblog_manager.la +MODULES=libmysqlmon.la libgaleramon.la all: $(MODULES) -libmysqlmon.so: $(MYSQLOBJ) - $(CC) $(LDFLAGS) $(MYSQLOBJ) $(LIBS) -o $@ +libmysqlmon.la: $(MYSQLOBJ) + $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)/maxscale/modules \ + -avoid-version -module -o \ + libmysqlmon.la $(MYSQLOBJ) $(LIBS) + +libgaleramon.la: $(GALERAOBJ) + $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)/maxscale/modules \ + -avoid-version -module -o \ + libgaleramon.la $(GALERAOBJ) $(LIBS) -libgaleramon.so: $(GALERAOBJ) - $(CC) $(LDFLAGS) $(GALERAOBJ) $(LIBS) -o $@ - -.c.o: +%.o: %.c $(CC) $(CFLAGS) $< -o $@ +%.lo: %.c + $(LIBTOOL) --mode=compile --tag=CC $(CC) -c $(CFLAGS) $< -o $@ + clean: rm -f $(OBJ) $(MODULES) + rm -f *.o *core *.lo *.a *.la + rm -rf .libs tags: ctags $(SRCS) $(HDRS) @@ -65,6 +71,8 @@ cc -M $(CFLAGS) $(SRCS) > depend.mk install: $(MODULES) - install -D $(MODULES) $(DEST)/MaxScale/modules + $(INSTALL) -d $(DESTDIR)$(libdir)/maxscale/modules + $(LIBTOOL) --mode=install $(INSTALL) libmysqlmon.la $(DESTDIR)$(libdir)/maxscale/modules + $(LIBTOOL) --mode=install $(INSTALL) libgaleramon.la $(DESTDIR)$(libdir)/maxscale/modules include depend.mk diff -Naur maxscale-0.7.0/server/modules/protocol/Makefile maxscale-0.7.0.oden/server/modules/protocol/Makefile --- maxscale-0.7.0/server/modules/protocol/Makefile 2014-06-04 12:30:15.000000000 +0200 +++ maxscale-0.7.0.oden/server/modules/protocol/Makefile 2014-06-16 10:18:45.172626016 +0200 @@ -34,8 +34,7 @@ include ../../../makefile.inc -LDFLAGS=-shared -L$(LOGPATH) -Wl,-rpath,$(DEST)/lib \ - -Wl,-rpath,$(LOGPATH) -Wl,-rpath,$(UTILSPATH) +LDFLAGS=-shared -L$(LOGPATH) MYSQLCLIENTSRCS=mysql_client.c mysql_common.c MYSQLCLIENTOBJ=$(MYSQLCLIENTSRCS:.c=.o) @@ -48,33 +47,50 @@ SRCS=$(MYSQLCLIENTSRCS) $(MYSQLBACKENDSRCS) $(TELNETDSRCS) $(HTTPDSRCS) OBJ=$(SRCS:.c=.o) LIBS=$(UTILSPATH)/skygw_utils.o -MODULES=libMySQLClient.so libMySQLBackend.so libtelnetd.so libHTTPD.so +MODULES=libMySQLClient.la libMySQLBackend.la libtelnetd.la libHTTPD.la all: $(MODULES) -libMySQLClient.so: $(MYSQLCLIENTOBJ) - $(CC) $(LDFLAGS) $(MYSQLCLIENTOBJ) $(LIBS) -o $@ +libMySQLClient.la: $(MYSQLCLIENTOBJ) + $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)/maxscale/modules \ + -avoid-version -module -o \ + libMySQLClient.la $(MYSQLCLIENTOBJ) $(LIBS) + +libMySQLBackend.la: $(MYSQLBACKENDOBJ) + $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)/maxscale/modules \ + -avoid-version -module -o \ + libMySQLBackend.la $(MYSQLBACKENDOBJ) $(LIBS) + +libtelnetd.la: $(TELNETDOBJ) + $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)/maxscale/modules \ + -avoid-version -module -o \ + libtelnetd.la $(TELNETDOBJ) $(LIBS) -lcrypt + +libHTTPD.la: $(HTTPDOBJ) + $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)/maxscale/modules \ + -avoid-version -module -o \ + libHTTPD.la $(HTTPDOBJ) $(LIBS) -libMySQLBackend.so: $(MYSQLBACKENDOBJ) - $(CC) $(LDFLAGS) $(MYSQLBACKENDOBJ) $(LIBS) -o $@ - -libtelnetd.so: $(TELNETDOBJ) - $(CC) $(LDFLAGS) $(TELNETDOBJ) $(LIBS) -lcrypt -o $@ - -libHTTPD.so: $(HTTPDOBJ) - $(CC) $(LDFLAGS) $(HTTPDOBJ) $(LIBS) -o $@ - -.c.o: +%.o: %.c $(CC) $(CFLAGS) $< -o $@ +%.lo: %.c + $(LIBTOOL) --mode=compile --tag=CC $(CC) -c $(CFLAGS) $< -o $@ + clean: rm -f $(OBJ) $(MODULES) + rm -f *.o *core *.lo *.a *.la + rm -rf .libs tags: ctags $(SRCS) $(HDRS) install: $(MODULES) - install -D $(MODULES) $(DEST)/MaxScale/modules + $(INSTALL) -d $(DESTDIR)$(libdir)/maxscale/modules + $(LIBTOOL) --mode=install $(INSTALL) libMySQLClient.la $(DESTDIR)$(libdir)/maxscale/modules + $(LIBTOOL) --mode=install $(INSTALL) libMySQLBackend.la $(DESTDIR)$(libdir)/maxscale/modules + $(LIBTOOL) --mode=install $(INSTALL) libtelnetd.la $(DESTDIR)$(libdir)/maxscale/modules + $(LIBTOOL) --mode=install $(INSTALL) libHTTPD.la $(DESTDIR)$(libdir)/maxscale/modules depend: rm -f depend.mk diff -Naur maxscale-0.7.0/server/modules/routing/Makefile maxscale-0.7.0.oden/server/modules/routing/Makefile --- maxscale-0.7.0/server/modules/routing/Makefile 2014-06-04 12:30:15.000000000 +0200 +++ maxscale-0.7.0.oden/server/modules/routing/Makefile 2014-06-16 10:18:45.172626016 +0200 @@ -33,8 +33,7 @@ include ../../../makefile.inc -LDFLAGS=-shared -L$(LOGPATH) -Wl,-rpath,$(DEST)/lib \ - -Wl,-rpath,$(LOGPATH) -Wl,-rpath,$(UTILSPATH) +LDFLAGS=-shared -L$(LOGPATH) TESTSRCS=testroute.c TESTOBJ=$(TESTSRCS:.c=.o) @@ -44,30 +43,35 @@ DEBUGCLIOBJ=$(DEBUGCLISRCS:.c=.o) SRCS=$(TESTSRCS) $(READCONSRCS) $(DEBUGCLISRCS) OBJ=$(SRCS:.c=.o) -LIBS=$(UTILSPATH)/skygw_utils.o -lssl -llog_manager -MODULES= libdebugcli.so libreadconnroute.so libtestroute.so +LIBS=$(UTILSPATH)/skygw_utils.o -lssl $(ROOT_PATH)/log_manager/liblog_manager.la +MODULES= libdebugcli.la libreadconnroute.la libtestroute.la all: $(MODULES) -libtestroute.so: $(TESTOBJ) - $(CC) $(LDFLAGS) $(TESTOBJ) $(LIBS) -o $@ - -libreadconnroute.so: $(READCONOBJ) - $(CC) $(LDFLAGS) $(READCONOBJ) $(LIBS) -o $@ - -libdebugcli.so: $(DEBUGCLIOBJ) - $(CC) $(LDFLAGS) $(DEBUGCLIOBJ) $(LIBS) -o $@ +libtestroute.la: $(TESTOBJ) + $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)/maxscale/modules \ + -avoid-version -module -o \ + libtestroute.la $(TESTOBJ) $(LIBS) + +libreadconnroute.la: $(READCONOBJ) + $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)/maxscale/modules \ + -avoid-version -module -o \ + libreadconnroute.la $(READCONOBJ) $(LIBS) + +libdebugcli.la: $(DEBUGCLIOBJ) + $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)/maxscale/modules \ + -avoid-version -module -o \ + libdebugcli.la $(DEBUGCLIOBJ) $(LIBS) libreadwritesplit.so: # (cd readwritesplit; touch depend.mk ; make; cp $@ ..) -.c.o: - $(CC) $(CFLAGS) $< -o $@ +%.o: %.c + $(CC) -c $(CFLAGS) $< -o $@ -clean: - rm -f $(OBJ) $(MODULES) - (cd readwritesplit; touch depend.mk; make clean) +%.lo: %.c + $(LIBTOOL) --mode=compile --tag=CC $(CC) -c $(CFLAGS) $< -o $@ tags: ctags $(SRCS) $(HDRS) @@ -79,8 +83,17 @@ (cd readwritesplit; touch depend.mk ; make depend) install: $(MODULES) - install -D $(MODULES) $(DEST)/MaxScale/modules - (cd readwritesplit; make DEST=$(DEST) install) + $(INSTALL) -d $(DESTDIR)$(libdir)/maxscale/modules + $(LIBTOOL) --mode=install $(INSTALL) libtestroute.la $(DESTDIR)$(libdir)/maxscale/modules + $(LIBTOOL) --mode=install $(INSTALL) libreadconnroute.la $(DESTDIR)$(libdir)/maxscale/modules + $(LIBTOOL) --mode=install $(INSTALL) libdebugcli.la $(DESTDIR)$(libdir)/maxscale/modules + (cd readwritesplit; make DESTDIR=$(DESTDIR) install) + +clean: + rm -f $(OBJ) $(MODULES) + (cd readwritesplit; touch depend.mk; make clean) + rm -f *.o *core *.lo *.a *.la + rm -rf .libs cleantests: $(MAKE) -C readwritesplit/test cleantests diff -Naur maxscale-0.7.0/server/modules/routing/readwritesplit/Makefile maxscale-0.7.0.oden/server/modules/routing/readwritesplit/Makefile --- maxscale-0.7.0/server/modules/routing/readwritesplit/Makefile 2014-06-04 12:30:15.000000000 +0200 +++ maxscale-0.7.0.oden/server/modules/routing/readwritesplit/Makefile 2014-06-16 10:18:45.173626016 +0200 @@ -31,26 +31,26 @@ include ../../../../makefile.inc -LDFLAGS=-shared -L$(LOGPATH) -L$(QCLASSPATH) -L$(EMBEDDED_LIB) \ - -Wl,-rpath,$(DEST)/lib \ - -Wl,-rpath,$(LOGPATH) -Wl,-rpath,$(UTILSPATH) -Wl,-rpath,$(QCLASSPATH) \ - -Wl,-rpath,$(EMBEDDED_LIB) +LDFLAGS=-shared -L$(LOGPATH) -L$(QCLASSPATH) -L$(EMBEDDED_LIB) SRCS=readwritesplit.c OBJ=$(SRCS:.c=.o) -LIBS=-lssl -pthread -llog_manager -lquery_classifier -lmysqld -MODULES=libreadwritesplit.so +LIBS=-lssl -pthread -lmysqld $(ROOT_PATH)/query_classifier/libquery_classifier.la \ + $(ROOT_PATH)/log_manager/liblog_manager.la +MODULES=libreadwritesplit.la all: $(MODULES) -libreadwritesplit.so: $(OBJ) - $(CC) $(LDFLAGS) $(OBJ) $(UTILSPATH)/skygw_utils.o $(LIBS) -o $@ +libreadwritesplit.la: $(OBJ) + $(LIBTOOL) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)/maxscale/modules \ + -avoid-version -module -o \ + libreadwritesplit.la $(OBJ) $(UTILSPATH)/skygw_utils.o $(LIBS) -.c.o: - $(CC) $(CFLAGS) $< -o $@ +%.o: %.c + $(CC) -c $(CFLAGS) $< -o $@ -clean: - rm -f $(OBJ) $(MODULES) +%.lo: %.c + $(LIBTOOL) --mode=compile --tag=CC $(CC) -c $(CFLAGS) $< -o $@ tags: ctags $(SRCS) $(HDRS) @@ -60,8 +60,14 @@ cc -M $(CFLAGS) $(SRCS) > depend.mk install: $(MODULES) - install -D $(MODULES) $(DEST)/MaxScale/modules - + $(INSTALL) -d $(DESTDIR)$(libdir)/maxscale/modules + $(LIBTOOL) --mode=install $(INSTALL) libreadwritesplit.la $(DESTDIR)$(libdir)/maxscale/modules + +clean: + rm -f $(OBJ) $(MODULES) + rm -f *.o *core *.lo *.a *.la + rm -rf .libs + cleantests: $(MAKE) -C test cleantest @@ -74,5 +80,4 @@ runtests: $(MAKE) -C runtests - include depend.mk diff -Naur maxscale-0.7.0/utils/makefile maxscale-0.7.0.oden/utils/makefile --- maxscale-0.7.0/utils/makefile 2014-06-04 12:30:15.000000000 +0200 +++ maxscale-0.7.0.oden/utils/makefile 2014-06-16 10:18:45.173626016 +0200 @@ -4,17 +4,23 @@ CC = gcc CPP = g++ -makeall: clean all +makeall: all clean: - $(DEL) *.o - $(DEL) *.so - $(DEL) *.a - $(DEL) *~ + rm -f *.o *core *.lo *.a *.la + rm -rf .libs -all: - $(CPP) -c $(CFLAGS) \ - -fPIC skygw_utils.cc -o skygw_utils.o +all: skygw_utils.o + +%.o: %.cc + $(CPP) -c $(CFLAGS) $< -o $@ + +%.lo: %.cc + $(LIBTOOL) --mode=compile --tag=CXX $(CPP) -c $(CFLAGS) $< -o $@ cleantests: $(MAKE) -C test cleantests @@ -27,3 +33,4 @@ testall: $(MAKE) -C test testall +