mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
091bcacc79
(make relies GNU extentions). The patch was partially backport from 6.0. Original comment: bug#30708: make relies GNU extensions. Now that we no longer use BitKeeper we can safely remove the SCCS handling with no loss of functionality.
115 lines
4.3 KiB
Makefile
115 lines
4.3 KiB
Makefile
# Copyright (C) 2000-2004 MySQL AB, 2008-2009 Sun Microsystems, Inc.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of version 2 GNU General Public License as
|
|
# published by the Free Software Foundation.
|
|
#
|
|
# There are special exceptions to the terms and conditions of the GPL as it
|
|
# is applied to this software. View the full text of the exception in file
|
|
# EXCEPTIONS-CLIENT in the directory of this software distribution.
|
|
#
|
|
# This library 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
|
|
# Library General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Library General Public
|
|
# License along with this library; if not, write to the Free
|
|
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
|
# MA 02111-1307, USA
|
|
#
|
|
# This file is public domain and comes with NO WARRANTY of any kind
|
|
|
|
target = libmysqlclient.la
|
|
target_defs = -DMYSQL_CLIENT_NO_THREADS -DDONT_USE_RAID \
|
|
-DDISABLE_MYSQL_THREAD_H @LIB_EXTRA_CCFLAGS@
|
|
|
|
LIBS = @CLIENT_LIBS@
|
|
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \
|
|
$(openssl_includes) @ZLIB_INCLUDES@
|
|
|
|
include $(srcdir)/Makefile.shared
|
|
|
|
libmysqlclient_la_SOURCES = $(target_sources)
|
|
libmysqlclient_la_LIBADD = $(target_libadd) $(yassl_las)
|
|
libmysqlclient_la_LDFLAGS = $(target_ldflags)
|
|
EXTRA_DIST = Makefile.shared libmysql.def dll.c CMakeLists.txt
|
|
noinst_HEADERS = client_settings.h
|
|
|
|
link_sources:
|
|
set -x; \
|
|
ss=`echo $(mystringsobjects) | sed "s;\.lo;.c;g"`; \
|
|
ds=`echo $(dbugobjects) | sed "s;\.lo;.c;g"`; \
|
|
ms=`echo $(mysysobjects) | sed "s;\.lo;.c;g"`; \
|
|
vs=`echo $(vio_objects) | sed "s;\.lo;.c;g"`; \
|
|
scs=`echo $(sql_cmn_objects) | sed "s;\.lo;.c;g"`; \
|
|
for f in $$ss; do \
|
|
rm -f $$f; \
|
|
@LN_CP_F@ $(top_srcdir)/strings/$$f $$f; \
|
|
done; \
|
|
for f in $$vs $(vioheaders); do \
|
|
rm -f $$f; \
|
|
@LN_CP_F@ $(top_srcdir)/vio/$$f $$f; \
|
|
done; \
|
|
for f in $$scs; do \
|
|
rm -f $$f; \
|
|
@LN_CP_F@ $(top_srcdir)/sql-common/$$f $$f; \
|
|
done; \
|
|
for f in $(mystringsextra); do \
|
|
rm -f $$f; \
|
|
@LN_CP_F@ $(top_srcdir)/strings/$$f $$f; \
|
|
done; \
|
|
for f in $$ds; do \
|
|
rm -f $$f; \
|
|
@LN_CP_F@ $(top_srcdir)/dbug/$$f $$f; \
|
|
done; \
|
|
for f in $$ms $(mysysheaders); do \
|
|
rm -f $$f; \
|
|
@LN_CP_F@ $(top_srcdir)/mysys/$$f $$f; \
|
|
done; \
|
|
rm -f net.c; \
|
|
@LN_CP_F@ $(top_srcdir)/sql/net_serv.cc net.c ; \
|
|
rm -f password.c; \
|
|
@LN_CP_F@ $(top_srcdir)/sql/password.c password.c
|
|
echo timestamp > link_sources
|
|
|
|
# This part requires GNUmake
|
|
#
|
|
# This makes a distribution file with only the files needed to compile
|
|
# a minimal MySQL client library
|
|
#
|
|
# For a really minimal distribution (without debugging code) we could
|
|
# keep only the stubs for safemalloc.c and debug.c
|
|
#
|
|
# A list of needed headers collected from the deps information 000213
|
|
nh = my_global.h config-win32.h dbug.h errmsg.h \
|
|
m_ctype.h m_string.h password.h \
|
|
my_alarm.h my_config.h my_dir.h my_list.h my_net.h my_sys.h \
|
|
mysql.h mysql_com.h mysql_version.h mysqld_error.h \
|
|
mysys_err.h my_pthread.h thr_alarm.h violite.h hash.h \
|
|
sql_common.h ../libmysql/client_settings.h
|
|
# Get a list of the needed objects
|
|
lobjs = $(mysysobjects1) $(dbugobjects) $(mystringsobjects) $(sqlobjects)
|
|
|
|
do-lib-dist:
|
|
dir=libmysql-$(MYSQL_NO_DASH_VERSION); \
|
|
srcs1=`echo $(lobjs) | sed "s;\.lo;.c;g"`; \
|
|
srcs2=$(target_sources); \
|
|
srcs="$$srcs1 $$srcs2"; \
|
|
objs1=`echo $(lobjs) | sed "s;\.lo;.o;g"`; \
|
|
objs2=`echo $(target_sources) | sed "s;\.c;.o;g"`; \
|
|
objs="$$objs1 $$objs2"; \
|
|
rm -rf $$dir; \
|
|
mkdir $$dir; \
|
|
$(INSTALL_DATA) $$srcs $(mysysheaders) $$dir; \
|
|
for i in $(nh); do $(INSTALL_DATA) ../include/$$i $$dir; done; \
|
|
echo "# A very minimal Makefile to compile" > $$dir/Makefile; \
|
|
echo "# the minimized libmysql library" >> $$dir/Makefile; \
|
|
echo "# This file is autogenerated from Makefile.am" >> $$dir/Makefile; \
|
|
echo 'CFLAGS= -I. -DMYSQL_CLIENT_NO_THREADS' >>$$dir/Makefile; \
|
|
echo "obj=$$objs" >>$$dir/Makefile; \
|
|
echo 'all: libmysql.a' >>$$dir/Makefile; \
|
|
echo 'libmysql.a: $$(obj)' >>$$dir/Makefile; \
|
|
echo ' $$(AR) r $$@ $$?' >>$$dir/Makefile; \
|
|
gtar cvzf $$dir.tar.gz $$dir; \
|
|
cd $$dir; gmake
|