summaryrefslogtreecommitdiff
path: root/Makefile.am
blob: cb8f09023d64eecc3c461c1613eb4ee5c478b52a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
# 
# This program 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; either version 2 of the License, or
# (at your option) any later version.
# 
# 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

# Process this file with automake to create Makefile.in

AUTOMAKE_OPTIONS =	foreign

# These are built from source in the Docs directory
EXTRA_DIST =		INSTALL-SOURCE README COPYING EXCEPTIONS-CLIENT
SUBDIRS =		. include @docs_dirs@ @zlib_dir@ @yassl_dir@ \
			@readline_topdir@ sql-common \
			@thread_dirs@ pstack \
			@sql_union_dirs@ scripts @man_dirs@ tests \
			netware @libmysqld_dirs@ \
			@bench_dirs@ support-files @tools_dirs@

DIST_SUBDIRS =		. include @docs_dirs@ zlib \
			@readline_topdir@ sql-common \
			@thread_dirs@ pstack \
                        strings mysys dbug extra regex storage \
                        vio sql libmysql_r libmysql client scripts \
			@man_dirs@ tests SSL\
			BUILD netware os2 @libmysqld_dirs@\
			@bench_dirs@ support-files server-tools tools

# Relink after clean
linked_sources = linked_client_sources linked_server_sources \
		 linked_libmysql_sources linked_libmysql_r_sources \
		 linked_libmysqld_sources  linked_libmysqldex_sources \
		 linked_include_sources @linked_netware_sources@

CLEANFILES = $(linked_sources)

# This is just so that the linking is done early.
all-local: $(linked_sources)

linked_include_sources:
	cd include; $(MAKE) link_sources
	echo timestamp > linked_include_sources

linked_client_sources:  @linked_client_targets@
	cd client; $(MAKE) link_sources
	echo timestamp > linked_client_sources

linked_libmysql_sources:
	cd libmysql; $(MAKE) link_sources
	echo timestamp > linked_libmysql_sources

linked_libmysql_r_sources: linked_libmysql_sources
	cd libmysql_r; $(MAKE) link_sources
	echo timestamp > linked_libmysql_r_sources

linked_libmysqld_sources:
	cd libmysqld; $(MAKE) link_sources
	echo timestamp > linked_libmysqld_sources

linked_libmysqldex_sources:
	cd libmysqld/examples; $(MAKE) link_sources
	echo timestamp > linked_libmysqldex_sources

linked_netware_sources:
	cd @netware_dir@; $(MAKE) link_sources
	echo timestamp > linked_netware_sources

#avoid recursive make calls in sql directory
linked_server_sources:
	cd sql; rm -f mini_client_errors.c;\
		@LN_CP_F@ ../libmysql/errmsg.c mini_client_errors.c;\
		rm -f pack.c;@LN_CP_F@ ../sql-common/pack.c pack.c;\
		rm -f client.c;@LN_CP_F@ ../sql-common/client.c client.c;\
		rm -f my_time.c;@LN_CP_F@ ../sql-common/my_time.c my_time.c
	echo timestamp > linked_server_sources

# Create permission databases
init-db:		all
	$(top_builddir)/scripts/mysql_install_db

bin-dist:		all
	$(top_builddir)/scripts/make_binary_distribution @MAKE_BINARY_DISTRIBUTION_OPTIONS@

# Remove BK's "SCCS" subdirectories from source distribution
dist-hook:
	rm -rf `find $(distdir) -type d -name SCCS`

tags:
	support-files/build-tags
.PHONY:		init-db bin-dist

# Test installation. Ports are configurable from the environment.

MYSQL_TEST_MANAGER_PORT =	9305
MYSQL_TEST_MASTER_PORT =	9306
MYSQL_TEST_SLAVE_PORT =		9308
MYSQL_TEST_NDB_PORT =		9350
MYSQL_TEST_RUN_ARGS =		--manager-port=$(MYSQL_TEST_MANAGER_PORT) \
				--master_port=$(MYSQL_TEST_MASTER_PORT) \
				--slave_port=$(MYSQL_TEST_SLAVE_PORT) \
				--ndbcluster_port=$(MYSQL_TEST_NDB_PORT)

test:
	cd mysql-test ; \
	./mysql-test-run $(MYSQL_TEST_RUN_ARGS) && \
	./mysql-test-run $(MYSQL_TEST_RUN_ARGS) --ps-protocol

test-force:
	cd mysql-test ; \
	./mysql-test-run $(MYSQL_TEST_RUN_ARGS) --force ; \
	./mysql-test-run $(MYSQL_TEST_RUN_ARGS) --ps-protocol --force

test-pl:
	cd mysql-test ; \
	./mysql-test-run.pl $(MYSQL_TEST_RUN_ARGS) && \
	./mysql-test-run.pl $(MYSQL_TEST_RUN_ARGS) --ps-protocol

test-force-pl:
	cd mysql-test ; \
	./mysql-test-run.pl $(MYSQL_TEST_RUN_ARGS) --force ; \
	./mysql-test-run.pl $(MYSQL_TEST_RUN_ARGS) --ps-protocol --force

# Don't update the files from bitkeeper
%::SCCS/s.%