1 |
# |
2 |
# Makefile.in: template Makefile for Subversion |
3 |
# |
4 |
# ==================================================================== |
5 |
# Licensed to the Apache Software Foundation (ASF) under one |
6 |
# or more contributor license agreements. See the NOTICE file |
7 |
# distributed with this work for additional information |
8 |
# regarding copyright ownership. The ASF licenses this file |
9 |
# to you under the Apache License, Version 2.0 (the |
10 |
# "License"); you may not use this file except in compliance |
11 |
# with the License. You may obtain a copy of the License at |
12 |
# |
13 |
# http://www.apache.org/licenses/LICENSE-2.0 |
14 |
# |
15 |
# Unless required by applicable law or agreed to in writing, |
16 |
# software distributed under the License is distributed on an |
17 |
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
18 |
# KIND, either express or implied. See the License for the |
19 |
# specific language governing permissions and limitations |
20 |
# under the License. |
21 |
# ==================================================================== |
22 |
# |
23 |
|
24 |
top_builddir = . |
25 |
top_srcdir = @top_srcdir@ |
26 |
abs_builddir = @abs_builddir@ |
27 |
abs_srcdir = @abs_srcdir@ |
28 |
VPATH = @top_srcdir@ |
29 |
|
30 |
SVN_RA_LIB_DEPS = @SVN_RA_LIB_DEPS@ |
31 |
SVN_RA_LIB_INSTALL_DEPS = @SVN_RA_LIB_INSTALL_DEPS@ |
32 |
SVN_RA_LIB_LINK = @SVN_RA_LIB_LINK@ |
33 |
|
34 |
SVN_FS_LIB_DEPS = @SVN_FS_LIB_DEPS@ |
35 |
SVN_FS_LIB_INSTALL_DEPS = @SVN_FS_LIB_INSTALL_DEPS@ |
36 |
SVN_FS_LIB_LINK = @SVN_FS_LIB_LINK@ |
37 |
|
38 |
SWIG_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig |
39 |
SWIG_BUILD_DIR = $(abs_builddir)/subversion/bindings/swig |
40 |
|
41 |
SCHEMA_DIR = subversion/svn/schema |
42 |
|
43 |
SVN_APR_LIBS = @SVN_APR_LIBS@ |
44 |
SVN_APRUTIL_LIBS = @SVN_APRUTIL_LIBS@ |
45 |
SVN_APR_MEMCACHE_LIBS = @SVN_APR_MEMCACHE_LIBS@ |
46 |
SVN_DB_LIBS = @SVN_DB_LIBS@ |
47 |
SVN_GPG_AGENT_LIBS = @SVN_GPG_AGENT_LIBS@ |
48 |
SVN_GNOME_KEYRING_LIBS = @SVN_GNOME_KEYRING_LIBS@ |
49 |
SVN_KWALLET_LIBS = @SVN_KWALLET_LIBS@ |
50 |
SVN_MAGIC_LIBS = @SVN_MAGIC_LIBS@ |
51 |
SVN_INTL_LIBS = @SVN_INTL_LIBS@ |
52 |
SVN_SASL_LIBS = @SVN_SASL_LIBS@ |
53 |
SVN_SERF_LIBS = @SVN_SERF_LIBS@ |
54 |
SVN_SQLITE_LIBS = @SVN_SQLITE_LIBS@ |
55 |
SVN_XML_LIBS = @SVN_XML_LIBS@ |
56 |
SVN_ZLIB_LIBS = @SVN_ZLIB_LIBS@ |
57 |
SVN_LZ4_LIBS = @SVN_LZ4_LIBS@ |
58 |
SVN_UTF8PROC_LIBS = @SVN_UTF8PROC_LIBS@ |
59 |
SVN_MACOS_PLIST_LIBS = @SVN_MACOS_PLIST_LIBS@ |
60 |
SVN_MACOS_KEYCHAIN_LIBS = @SVN_MACOS_KEYCHAIN_LIBS@ |
61 |
|
62 |
LIBS = @LIBS@ |
63 |
|
64 |
prefix = @prefix@ |
65 |
exec_prefix = @exec_prefix@ |
66 |
libdir = @libdir@ |
67 |
fsmod_libdir = @libdir@ |
68 |
ramod_libdir = @libdir@ |
69 |
bdb_libdir = @libdir@ |
70 |
gnome_keyring_libdir = @libdir@ |
71 |
gpg_agent_libdir = @libdir@ |
72 |
kwallet_libdir = @libdir@ |
73 |
serf_libdir = @libdir@ |
74 |
bindir = @bindir@ |
75 |
includedir = @includedir@ |
76 |
mandir = @mandir@ |
77 |
srcdir = @srcdir@ |
78 |
canonicalized_srcdir = @canonicalized_srcdir@ |
79 |
datadir = @datadir@ |
80 |
datarootdir = @datarootdir@ |
81 |
localedir = @localedir@ |
82 |
|
83 |
# where to install SVN++ |
84 |
svnxx_libdir = @libdir@ |
85 |
|
86 |
# where to install libsvn_swig_* |
87 |
swig_py_libdir = @libdir@ |
88 |
swig_pl_libdir = @libdir@ |
89 |
swig_rb_libdir = @libdir@ |
90 |
|
91 |
### these possibly need further discussion |
92 |
swig_pydir = @libdir@/svn-python/libsvn |
93 |
swig_pydir_extra = @libdir@/svn-python/svn |
94 |
swig_pldir = @libdir@/svn-perl |
95 |
swig_rbdir = $(SWIG_RB_SITE_ARCH_DIR)/svn/ext |
96 |
toolsdir = @bindir@/svn-tools |
97 |
|
98 |
# where to install pkg-config files |
99 |
pkgconfig_dir = $(datadir)/pkgconfig |
100 |
|
101 |
javahl_javadir = @libdir@/svn-javahl |
102 |
javahl_javahdir = @libdir@/svn-javahl/include |
103 |
javahl_libdir = @libdir@ |
104 |
javahl_test_rootdir=$(abs_builddir)/subversion/bindings/javahl/test-work |
105 |
javahl_test_srcdir=$(abs_srcdir)/subversion/bindings/javahl |
106 |
|
107 |
gnome_auth_dir = $(abs_builddir)/subversion/libsvn_auth_gnome_keyring/.libs |
108 |
kwallet_auth_dir = $(abs_builddir)/subversion/libsvn_auth_kwallet/.libs |
109 |
auth_plugin_dirs = $(gnome_auth_dir):$(kwallet_auth_dir) |
110 |
|
111 |
MSGFMT = @MSGFMT@ |
112 |
MSGFMTFLAGS = @MSGFMTFLAGS@ |
113 |
MSGMERGE = @MSGMERGE@ |
114 |
XGETTEXT = @XGETTEXT@ |
115 |
TRANG = @TRANG@ |
116 |
|
117 |
PACKAGE_NAME=@PACKAGE_NAME@ |
118 |
PACKAGE_VERSION=@PACKAGE_VERSION@ |
119 |
|
120 |
CC = @CC@ |
121 |
CXX = @CXX@ |
122 |
CPP = @CPP@ |
123 |
EXEEXT = @EXEEXT@ |
124 |
|
125 |
SHELL = @SHELL@ |
126 |
LIBTOOL = @SVN_LIBTOOL@ |
127 |
LTFLAGS = --tag=CC --silent |
128 |
LTCXXFLAGS = --tag=CXX --silent |
129 |
LT_CFLAGS = @LT_CFLAGS@ |
130 |
LT_LDFLAGS = @LT_LDFLAGS@ |
131 |
LT_SO_VERSION = @SVN_LT_SOVERSION@ |
132 |
LT_NO_UNDEFINED = @LT_NO_UNDEFINED@ |
133 |
LT_CXX_LIBADD = @LT_CXX_LIBADD@ |
134 |
|
135 |
INCLUDES = -I$(top_srcdir)/subversion/include -I$(top_builddir)/subversion \ |
136 |
@SVN_APR_INCLUDES@ @SVN_APRUTIL_INCLUDES@ @SVN_APR_MEMCACHE_INCLUDES@ \ |
137 |
@SVN_DB_INCLUDES@ @SVN_GNOME_KEYRING_INCLUDES@ \ |
138 |
@SVN_KWALLET_INCLUDES@ @SVN_MAGIC_INCLUDES@ \ |
139 |
@SVN_SASL_INCLUDES@ @SVN_SERF_INCLUDES@ @SVN_SQLITE_INCLUDES@ \ |
140 |
@SVN_XML_INCLUDES@ @SVN_ZLIB_INCLUDES@ @SVN_LZ4_INCLUDES@ \ |
141 |
@SVN_UTF8PROC_INCLUDES@ |
142 |
|
143 |
APACHE_INCLUDES = @APACHE_INCLUDES@ |
144 |
APACHE_LIBEXECDIR = $(DESTDIR)@APACHE_LIBEXECDIR@ |
145 |
APACHE_LDFLAGS = @APACHE_LDFLAGS@ |
146 |
|
147 |
BOOST_TEST_CPPFLAGS = @BOOST_CPPFLAGS@ -DBOOST_TEST_DYN_LINK -DBOOST_TEST_NO_MAIN |
148 |
BOOST_TEST_LDFLAGS = @BOOST_LDFLAGS@ @BOOST_UNIT_TEST_FRAMEWORK_LIB@ |
149 |
|
150 |
SWIG = @SWIG@ |
151 |
SWIG_PY_INCLUDES = @SWIG_PY_INCLUDES@ @SVN_PY3C_INCLUDES@ -I$(SWIG_SRC_DIR)/python/libsvn_swig_py |
152 |
SWIG_PY_COMPILE = @SWIG_PY_COMPILE@ |
153 |
SWIG_PY_LINK = @SWIG_PY_LINK@ |
154 |
SWIG_PY_LIBS = @SWIG_PY_LIBS@ |
155 |
SWIG_PY_ERRMSG = @SWIG_PY_ERRMSG@ |
156 |
SWIG_PL_INCLUDES = @SWIG_PL_INCLUDES@ |
157 |
SWIG_PL_ERRMSG = @SWIG_PL_ERRMSG@ |
158 |
SWIG_RB_INCLUDES = @SWIG_RB_INCLUDES@ -I$(SWIG_SRC_DIR)/ruby/libsvn_swig_ruby |
159 |
SWIG_RB_COMPILE = @SWIG_RB_COMPILE@ |
160 |
SWIG_RB_LINK = @SWIG_RB_LINK@ |
161 |
SWIG_RB_LIBS = @SWIG_RB_LIBS@ |
162 |
SWIG_RB_SITE_LIB_DIR = @SWIG_RB_SITE_LIB_DIR@ |
163 |
SWIG_RB_SITE_ARCH_DIR = @SWIG_RB_SITE_ARCH_DIR@ |
164 |
SWIG_RB_TEST_VERBOSE = @SWIG_RB_TEST_VERBOSE@ |
165 |
SWIG_RB_RI_DATADIR = $(DESTDIR)$(datadir)/ri/$(RUBY_MAJOR).$(RUBY_MINOR)/site |
166 |
SWIG_RB_ERRMSG = @SWIG_RB_ERRMSG@ |
167 |
|
168 |
CTYPESGEN = @CTYPESGEN@ |
169 |
CTYPES_PYTHON_SRC_DIR = $(abs_srcdir)/subversion/bindings/ctypes-python |
170 |
|
171 |
JAVAHL_JAR=subversion/bindings/javahl/svn-javahl.jar |
172 |
JAVAHL_INCLUDES= @JNI_INCLUDES@ -I$(abs_builddir)/subversion/bindings/javahl/include |
173 |
|
174 |
SVN_BUILD_SVNXX = @SVN_BUILD_SVNXX@ |
175 |
SVN_BUILD_SVNXX_TESTS = @SVN_BUILD_SVNXX_TESTS@ |
176 |
SVNXX_INCLUDES = -I$(abs_srcdir)/subversion/bindings/cxx/include |
177 |
|
178 |
SVN_APR_CONFIG = @SVN_APR_CONFIG@ |
179 |
SVN_APR_INCLUDES = @SVN_APR_INCLUDES@ |
180 |
SVN_APRUTIL_CONFIG = @SVN_APRUTIL_CONFIG@ |
181 |
SVN_APRUTIL_INCLUDES = @SVN_APRUTIL_INCLUDES@ |
182 |
|
183 |
MKDIR = @MKDIR@ |
184 |
|
185 |
DOXYGEN = @DOXYGEN@ |
186 |
|
187 |
# The EXTRA_ parameters can be used to pass extra flags at 'make' time. |
188 |
CFLAGS = @CFLAGS@ @CUSERFLAGS@ $(EXTRA_CFLAGS) |
189 |
CMODEFLAGS = @CMODEFLAGS@ |
190 |
CNOWARNFLAGS = @CNOWARNFLAGS@ |
191 |
CMAINTAINERFLAGS = @CMAINTAINERFLAGS@ |
192 |
CXXFLAGS = @CXXFLAGS@ @CXXUSERFLAGS@ $(EXTRA_CXXFLAGS) |
193 |
CXXMODEFLAGS = @CXXMODEFLAGS@ |
194 |
CXXNOWARNFLAGS = @CXXNOWARNFLAGS@ |
195 |
CXXMAINTAINERFLAGS = @CXXMAINTAINERFLAGS@ |
196 |
### A few of the CFLAGS (e.g. -Wmissing-prototypes, -Wstrict-prototypes, |
197 |
### -Wmissing-declarations) are not valid for C++, and should be somehow |
198 |
### suppressed (but they may come from httpd or APR). |
199 |
CPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS) |
200 |
LDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS) |
201 |
SWIG_LDFLAGS = @SWIG_LDFLAGS@ $(EXTRA_SWIG_LDFLAGS) |
202 |
SWIG_FEATURES = @SWIG_FEATURES@ |
203 |
SWIG_PY_FEATURES = @SWIG_PY_FEATURES@ |
204 |
SWIG_PL_FEATURES = @SWIG_PL_FEATURES@ |
205 |
SWIG_RB_FEATURES = @SWIG_RB_FEATURES@ |
206 |
SWIG_PY_OPTS = @SWIG_PY_OPTS@ |
207 |
|
208 |
COMPILE = $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CMAINTAINERFLAGS) $(CFLAGS) $(INCLUDES) |
209 |
COMPILE_NOWARN = $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CNOWARNFLAGS) $(CFLAGS) $(INCLUDES) |
210 |
COMPILE_CXX = $(CXX) $(CXXMODEFLAGS) $(CPPFLAGS) $(CXXMAINTAINERFLAGS) $(CXXFLAGS) $(INCLUDES) |
211 |
COMPILE_CXX_NOWARN = $(CXX) $(CXXMODEFLAGS) $(CPPFLAGS) $(CXXNOWARNFLAGS) $(CXXFLAGS) $(INCLUDES) |
212 |
LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) $(LT_CFLAGS) |
213 |
LT_COMPILE_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) |
214 |
LT_COMPILE_CXX_NOWARN = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX_NOWARN) $(LT_CFLAGS) |
215 |
# Execute a command that loads libraries from the build dir |
216 |
LT_EXECUTE = $(LIBTOOL) $(LTFLAGS) --mode=execute `for f in $(abs_builddir)/subversion/*/*.la; do echo -dlopen $$f; done` |
217 |
|
218 |
# special compilation for files destined for mod_dav_svn |
219 |
COMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CFLAGS) $(CMAINTAINERFLAGS) $(LT_CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c -shared |
220 |
COMPILE_SHARED_ONLY_LIB = $(LT_COMPILE) -o $@ -c -shared |
221 |
COMPILE_SHARED_ONLY_CXX_LIB = $(LT_COMPILE_CXX) -o $@ -c -shared |
222 |
|
223 |
# special compilation for files destined for libsvn_swig_* (e.g. swigutil_*.c) |
224 |
COMPILE_SWIG_PY = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(CPPFLAGS) $(LT_CFLAGS) -DSWIGPYTHON $(SWIG_PY_INCLUDES) $(INCLUDES) -o $@ -c |
225 |
COMPILE_SWIG_PL = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(LT_CFLAGS) $(SWIG_PL_INCLUDES) $(INCLUDES) -o $@ -c |
226 |
COMPILE_SWIG_RB = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(CPPFLAGS) $(LT_CFLAGS) $(SWIG_RB_INCLUDES) $(INCLUDES) -o $@ -c |
227 |
|
228 |
# special compilation for files destined for javahl (i.e. C++) |
229 |
COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) $(JAVAHL_INCLUDES) -o $@ -c |
230 |
COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS) |
231 |
COMPILE_JAVAHL_COMPAT_JAVAC = $(JAVAC) $(JAVAC_COMPAT_FLAGS) |
232 |
|
233 |
# On Mac OS X, export an env variable so that the tests can run without |
234 |
# being installed. OS X needs the DYLD_LIBRARY_PATH env variable set in |
235 |
# order to find the libraries to link against, because we can't effectively |
236 |
# use rpath due to way rpath is implemented in the Mach executable format. |
237 |
TEST_SHLIB_VAR_JAVAHL=\ |
238 |
if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \ |
239 |
for d in $(abs_builddir)/subversion/libsvn_*; do \ |
240 |
if [ -n "$$DYLD_LIBRARY_PATH" ]; then \ |
241 |
@SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \ |
242 |
else \ |
243 |
@SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \ |
244 |
fi; \ |
245 |
done; \ |
246 |
export @SVN_APR_SHLIB_PATH_VAR@; \ |
247 |
fi; |
248 |
TEST_SHLIB_VAR_SWIG_PY=\ |
249 |
if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \ |
250 |
for d in $(SWIG_PY_DIR)/libsvn_swig_py $(SWIG_PY_DIR)/../../../libsvn_*; do \ |
251 |
if [ -n "$$DYLD_LIBRARY_PATH" ]; then \ |
252 |
@SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \ |
253 |
else \ |
254 |
@SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \ |
255 |
fi; \ |
256 |
done; \ |
257 |
export @SVN_APR_SHLIB_PATH_VAR@; \ |
258 |
fi; |
259 |
TEST_SHLIB_VAR_SWIG_RB=\ |
260 |
if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \ |
261 |
for d in $(SWIG_RB_DIR)/libsvn_swig_ruby $(SWIG_RB_DIR)/../../../libsvn_*; do \ |
262 |
if [ -n "$$DYLD_LIBRARY_PATH" ]; then \ |
263 |
@SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \ |
264 |
else \ |
265 |
@SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \ |
266 |
fi; \ |
267 |
done; \ |
268 |
export @SVN_APR_SHLIB_PATH_VAR@; \ |
269 |
fi; |
270 |
|
271 |
# special compilation for files destined for SVN++ |
272 |
COMPILE_SVNXX = $(LT_COMPILE_CXX) $(SVNXX_INCLUDES) -o $@ -c |
273 |
COMPILE_SVNXX_TEST = $(LT_COMPILE_CXX) $(SVNXX_INCLUDES) $(BOOST_TEST_CPPFLAGS) -o $@ -c |
274 |
|
275 |
LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir) |
276 |
LINK_LIB = $(LINK) $(LT_SO_VERSION) |
277 |
LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir) |
278 |
LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION) |
279 |
LINK_SVNXX_TEST = $(LINK_CXX) $(BOOST_TEST_LDFLAGS) |
280 |
|
281 |
# special link rule for mod_dav_svn |
282 |
LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS) -shared |
283 |
|
284 |
# Special LDFLAGS for some libraries |
285 |
libsvn_client_LDFLAGS = @libsvn_client_LDFLAGS@ |
286 |
libsvn_delta_LDFLAGS = @libsvn_delta_LDFLAGS@ |
287 |
libsvn_diff_LDFLAGS = @libsvn_diff_LDFLAGS@ |
288 |
libsvn_fs_LDFLAGS = @libsvn_fs_LDFLAGS@ |
289 |
libsvn_fs_base_LDFLAGS = @libsvn_fs_base_LDFLAGS@ |
290 |
libsvn_fs_fs_LDFLAGS = @libsvn_fs_fs_LDFLAGS@ |
291 |
libsvn_fs_util_LDFLAGS = @libsvn_fs_util_LDFLAGS@ |
292 |
libsvn_ra_LDFLAGS = @libsvn_ra_LDFLAGS@ |
293 |
libsvn_ra_local_LDFLAGS = @libsvn_ra_local_LDFLAGS@ |
294 |
libsvn_ra_serf_LDFLAGS = @libsvn_ra_serf_LDFLAGS@ |
295 |
libsvn_ra_svn_LDFLAGS = @libsvn_ra_svn_LDFLAGS@ |
296 |
libsvn_repos_LDFLAGS = @libsvn_repos_LDFLAGS@ |
297 |
libsvn_subr_LDFLAGS = @libsvn_subr_LDFLAGS@ |
298 |
libsvn_wc_LDFLAGS = @libsvn_wc_LDFLAGS@ |
299 |
shared_only_LDFLAGS = @shared_only_LDFLAGS@ |
300 |
|
301 |
LINK_SHARED_ONLY_LIB = $(LINK_LIB) $(shared_only_LDFLAGS) -shared |
302 |
LINK_SHARED_ONLY_CXX_LIB = $(LINK_CXX_LIB) $(shared_only_LDFLAGS) -shared |
303 |
|
304 |
# Compilation of SWIG-generated C source code |
305 |
COMPILE_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(LT_CFLAGS) $(CPPFLAGS) $(SWIG_PY_INCLUDES) -prefer-pic -c -o $@ |
306 |
COMPILE_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(LT_CFLAGS) $(CPPFLAGS) $(SWIG_RB_INCLUDES) -prefer-pic -c -o $@ |
307 |
|
308 |
# these commands link the wrapper objects into an extension library/module |
309 |
LINK_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_PY_LINK) $(SWIG_LDFLAGS) -rpath $(swig_pydir) -avoid-version -module |
310 |
LINK_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_RB_LINK) $(SWIG_LDFLAGS) -rpath $(swig_rbdir) -avoid-version -module |
311 |
|
312 |
LINK_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) $(LT_CXX_LIBADD) -rpath $(libdir) |
313 |
|
314 |
INSTALL = @INSTALL@ |
315 |
INSTALL_LIB = $(LIBTOOL) --mode=install $(INSTALL) |
316 |
INSTALL_FSMOD_LIB = $(INSTALL_LIB) |
317 |
INSTALL_RAMOD_LIB = $(INSTALL_LIB) |
318 |
INSTALL_APR_MEMCACHE_LIB = $(INSTALL_LIB) |
319 |
INSTALL_BDB_LIB = $(INSTALL_LIB) |
320 |
INSTALL_GPG_AGENT_LIB = $(INSTALL_LIB) |
321 |
INSTALL_GNOME_KEYRING_LIB = $(INSTALL_LIB) |
322 |
INSTALL_KWALLET_LIB = $(INSTALL_LIB) |
323 |
INSTALL_SERF_LIB = $(INSTALL_LIB) |
324 |
INSTALL_BIN = $(LIBTOOL) --mode=install $(INSTALL) |
325 |
INSTALL_CONTRIB = $(LIBTOOL) --mode=install $(INSTALL) |
326 |
INSTALL_TOOLS = $(LIBTOOL) --mode=install $(INSTALL) |
327 |
INSTALL_INCLUDE = $(INSTALL) -m 644 |
328 |
INSTALL_MOD_SHARED = @APXS@ -i -S LIBEXECDIR="$(APACHE_LIBEXECDIR)" @MOD_ACTIVATION@ |
329 |
INSTALL_DATA = $(INSTALL) -m 644 |
330 |
INSTALL_LOCALE = $(INSTALL_DATA) |
331 |
INSTALL_APACHE_MODS = @INSTALL_APACHE_MODS@ |
332 |
|
333 |
INSTALL_SVNXX_LIB = $(INSTALL_LIB) |
334 |
|
335 |
### this isn't correct yet |
336 |
INSTALL_SWIG_PY = $(INSTALL_LIB) |
337 |
INSTALL_SWIG_PY_LIB = $(INSTALL_LIB) |
338 |
INSTALL_SWIG_PL_LIB = $(INSTALL_LIB) |
339 |
INSTALL_SWIG_RB = $(INSTALL_LIB) |
340 |
INSTALL_SWIG_RB_LIB = $(INSTALL_LIB) |
341 |
|
342 |
INSTALL_JAVAHL_LIB = $(INSTALL_LIB) |
343 |
|
344 |
# additional installation rules for the SWIG wrappers |
345 |
INSTALL_EXTRA_SWIG_PY=\ |
346 |
$(MKDIR) $(DESTDIR)$(swig_pydir); \ |
347 |
$(MKDIR) $(DESTDIR)$(swig_pydir_extra); \ |
348 |
for i in $(abs_srcdir)/subversion/bindings/swig/python/svn/*.py; do \ |
349 |
$(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir_extra); \ |
350 |
done; \ |
351 |
for i in $(abs_srcdir)/subversion/bindings/swig/python/*.py; do \ |
352 |
$(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir); \ |
353 |
done; \ |
354 |
if test "$(abs_srcdir)" != "$(abs_builddir)"; then \ |
355 |
for i in $(abs_builddir)/subversion/bindings/swig/python/*.py; do \ |
356 |
$(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir); \ |
357 |
done; \ |
358 |
fi; \ |
359 |
$(SWIG_PY_PYTHON) -c 'import compileall; \ |
360 |
compileall.compile_dir("$(DESTDIR)$(swig_pydir)", 1, "$(swig_pydir)"); \ |
361 |
compileall.compile_dir("$(DESTDIR)$(swig_pydir_extra)", 1, \ |
362 |
"$(swig_pydir_extra)");' |
363 |
|
364 |
# The path to generated and complementary source files for the SWIG |
365 |
# bindings. |
366 |
SWIG_PL_DIR = $(abs_builddir)/subversion/bindings/swig/perl |
367 |
SWIG_PY_DIR = $(abs_builddir)/subversion/bindings/swig/python |
368 |
SWIG_RB_DIR = $(abs_builddir)/subversion/bindings/swig/ruby |
369 |
|
370 |
# The path to the source files for the SWIG bindings |
371 |
SWIG_PL_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/perl |
372 |
SWIG_PY_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/python |
373 |
SWIG_RB_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/ruby |
374 |
|
375 |
### Automate JAR creation using Makefile generator's javahl-java.jar |
376 |
### property. Enhance generator to support JAR installation. |
377 |
JAVAHL_MANIFEST_IN = $(abs_srcdir)/subversion/bindings/javahl/Manifest.in |
378 |
JAVAHL_MANIFEST = subversion/bindings/javahl/Manifest |
379 |
INSTALL_EXTRA_JAVAHL_JAVA=\ |
380 |
sed s/%bundleVersion/$(PACKAGE_VERSION)/ $(JAVAHL_MANIFEST_IN) > $(JAVAHL_MANIFEST); \ |
381 |
$(JAR) cfm $(JAVAHL_JAR) $(JAVAHL_MANIFEST) -C subversion/bindings/javahl/classes org; \ |
382 |
$(INSTALL_DATA) $(JAVAHL_JAR) $(DESTDIR)$(javahl_javadir); |
383 |
|
384 |
INSTALL_EXTRA_JAVAHL_LIB=@INSTALL_EXTRA_JAVAHL_LIB@ |
385 |
|
386 |
INSTALL_EXTRA_SWIG_RB=\ |
387 |
@echo $(MKDIR) $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \ |
388 |
$(MKDIR) $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \ |
389 |
for i in $(abs_srcdir)/subversion/bindings/swig/ruby/svn/*.rb; do \ |
390 |
echo $(INSTALL_DATA) "$$i" $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \ |
391 |
$(INSTALL_DATA) "$$i" $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \ |
392 |
done |
393 |
|
394 |
APXS = @APXS@ |
395 |
HTTPD_VERSION = @HTTPD_VERSION@ |
396 |
HTTPD_WHITELIST = @HTTPD_WHITELIST@ |
397 |
|
398 |
PYTHON = @PYTHON@ |
399 |
SWIG_PY_PYTHON = @SWIG_PY_PYTHON@ |
400 |
SWIG_PL_PERL = @SWIG_PL_PERL@ |
401 |
|
402 |
JDK = @JDK@ |
403 |
JAVA = @JAVA@ |
404 |
JAVAC = @JAVAC@ |
405 |
JAVADOC = @JAVADOC@ |
406 |
JAVAC_FLAGS = @JAVAC_FLAGS@ |
407 |
JAVAC_COMPAT_FLAGS = @JAVAC_COMPAT_FLAGS@ |
408 |
JAR = @JAR@ |
409 |
|
410 |
JAVA_CLASSPATH=$(abs_srcdir)/subversion/bindings/javahl/src:@JAVA_CLASSPATH@ |
411 |
javahl_java_CLASSPATH=$(JAVA_CLASSPATH) |
412 |
javahl_compat_CLASSPATH=$(JAVA_CLASSPATH) |
413 |
javahl_tests_CLASSPATH=$(JAVA_CLASSPATH) |
414 |
javahl_compat_tests_CLASSPATH=$(JAVA_CLASSPATH) |
415 |
|
416 |
SWIG_RB_RUBY = @SWIG_RB_RUBY@ |
417 |
RUBY_MAJOR = @RUBY_MAJOR@ |
418 |
RUBY_MINOR = @RUBY_MINOR@ |
419 |
RDOC = @RDOC@ |
420 |
|
421 |
ECHO_C = @ECHO_C@ |
422 |
ECHO_N = @ECHO_N@ |
423 |
|
424 |
TESTS = $(TEST_PROGRAMS) @BDB_TEST_PROGRAMS@ |
425 |
|
426 |
all: mkdir-init local-all |
427 |
clean: local-clean |
428 |
distclean: local-distclean |
429 |
extraclean: local-extraclean |
430 |
install: local-install revision-install |
431 |
|
432 |
@INCLUDE_OUTPUTS@ |
433 |
|
434 |
local-all: @BUILD_RULES@ @TRANSFORM_LIBTOOL_SCRIPTS@ |
435 |
|
436 |
transform-libtool-scripts: @BUILD_RULES@ |
437 |
@$(SHELL) $(top_srcdir)/build/transform_libtool_scripts.sh |
438 |
|
439 |
locale-gnu-pot: |
440 |
cd $(abs_srcdir) && XGETTEXT="$(XGETTEXT)" MSGMERGE="$(MSGMERGE)" \ |
441 |
$(SHELL) tools/po/po-update.sh pot |
442 |
|
443 |
# "make locale-gnu-po-update" updates all translations. |
444 |
# "make locale-gnu-po-update PO=ll" updates only the ll.po file. |
445 |
locale-gnu-po-update: |
446 |
cd $(abs_srcdir) && XGETTEXT="$(XGETTEXT)" MSGMERGE="$(MSGMERGE)" \ |
447 |
$(SHELL) tools/po/po-update.sh $(PO) |
448 |
|
449 |
# clean everything but the bulky test output, returning the system back |
450 |
# to before 'make' was run. |
451 |
fast-clean: doc-clean |
452 |
@list='$(BUILD_DIRS)'; for i in $$list; do \ |
453 |
if [ -d $$i ]; then \ |
454 |
(cd $$i && rm -f *.o *.lo *.la *.la-a *.spo *.mo && \ |
455 |
rm -rf .libs); \ |
456 |
fi \ |
457 |
done |
458 |
echo $(CLEAN_FILES) | xargs rm -f -- |
459 |
find $(CTYPES_PYTHON_SRC_DIR) $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) \ |
460 |
$(abs_srcdir)/build $(top_srcdir)/subversion/tests/cmdline/svntest \ |
461 |
-name "*.pyc" -exec rm {} ';' |
462 |
|
463 |
# clean everything, returning to before './configure' was run. |
464 |
SVN_CONFIG_SCRIPT_FILES = @SVN_CONFIG_SCRIPT_FILES@ |
465 |
local-distclean: local-clean |
466 |
rm -fr config.cache config.log config.nice config.status \ |
467 |
libtool mkmf.log subversion/svn_private_config.h \ |
468 |
subversion/bindings/javahl/classes \ |
469 |
subversion/bindings/javahl/include \ |
470 |
subversion/libsvn_*/*.pc \ |
471 |
$(SVN_CONFIG_SCRIPT_FILES) |
472 |
rm -f Makefile |
473 |
|
474 |
# clean everything out, returning to before './autogen.sh' was run. |
475 |
local-extraclean: extraclean-bindings local-distclean |
476 |
rm -f $(top_srcdir)/build-outputs.mk \ |
477 |
$(top_srcdir)/subversion/svn_private_config.h.in \ |
478 |
$(top_srcdir)/configure \ |
479 |
$(top_srcdir)/gen-make.opts \ |
480 |
$(top_srcdir)/build/config.guess \ |
481 |
$(top_srcdir)/build/config.sub \ |
482 |
$(top_srcdir)/build/libtool.m4 \ |
483 |
$(top_srcdir)/build/ltoptions.m4 \ |
484 |
$(top_srcdir)/build/ltsugar.m4 \ |
485 |
$(top_srcdir)/build/ltversion.m4 \ |
486 |
$(top_srcdir)/build/lt~obsolete.m4 \ |
487 |
$(top_srcdir)/build/ltmain.sh \ |
488 |
$(top_srcdir)/build/transform_libtool_scripts.sh \ |
489 |
$(EXTRACLEAN_FILES) |
490 |
|
491 |
|
492 |
# clean everything, including test output. |
493 |
local-clean: check-clean clean-bindings fast-clean |
494 |
|
495 |
local-install: @INSTALL_RULES@ |
496 |
|
497 |
revision-install: |
498 |
test -d $(DESTDIR)$(includedir)/subversion-1 || \ |
499 |
$(MKDIR) $(DESTDIR)$(includedir)/subversion-1 |
500 |
(subversion/svnversion/svnversion $(top_srcdir) 2> /dev/null || \ |
501 |
svnversion $(top_srcdir) 2> /dev/null || \ |
502 |
echo "unknown"; \ |
503 |
) > $(DESTDIR)$(includedir)/subversion-1/svn-revision.txt |
504 |
|
505 |
install-static: @INSTALL_STATIC_RULES@ |
506 |
|
507 |
# JavaHL target aliases |
508 |
javahl: mkdir-init javahl-java javahl-callback-java javahl-remote-java javahl-types-java javahl-util-java javahl-lib @JAVAHL_TESTS_TARGET@ javahl-compat |
509 |
install-javahl: javahl install-javahl-java install-javahl-lib |
510 |
javahl-compat: javahl-compat-java @JAVAHL_COMPAT_TESTS_TARGET@ |
511 |
|
512 |
clean-javahl: |
513 |
if [ -d $(javahl_test_rootdir) ]; then \ |
514 |
rm -rf $(javahl_test_rootdir)/*; \ |
515 |
fi |
516 |
rm -rf $(javahl_java_PATH) $(javahl_javah_PATH) @JAVAHL_OBJDIR@ |
517 |
rm -f $(libsvnjavahl_PATH)/*.la $(JAVAHL_JAR) |
518 |
rm -f $(libsvnjavahl_PATH)/*.lo |
519 |
rm -f $(libsvnjavahl_PATH)/*.o |
520 |
|
521 |
check-tigris-javahl: javahl-compat |
522 |
@FIX_JAVAHL_LIB@ |
523 |
$(TEST_SHLIB_VAR_JAVAHL) \ |
524 |
$(JAVA) -Xcheck:jni "-Dtest.rootdir=$(javahl_test_rootdir)" "-Dtest.srcdir=$(javahl_test_srcdir)" "-Dtest.rooturl=$(BASE_URL)" "-Dtest.fstype=$(FS_TYPE)" "-Djava.library.path=@JAVAHL_OBJDIR@:$(libdir)" -classpath "$(javahl_compat_tests_PATH):$(javahl_tests_CLASSPATH)" "-Dtest.cleanup=$(JAVAHL_CLEANUP)" "-Dtest.tests=$(JAVAHL_TESTS)" org.tigris.subversion.javahl.RunTests |
525 |
|
526 |
check-apache-javahl: javahl |
527 |
@FIX_JAVAHL_LIB@ |
528 |
$(TEST_SHLIB_VAR_JAVAHL) \ |
529 |
$(JAVA) -Xcheck:jni "-Dtest.rootdir=$(javahl_test_rootdir)" "-Dtest.srcdir=$(javahl_test_srcdir)" "-Dtest.rooturl=$(BASE_URL)" "-Dtest.fstype=$(FS_TYPE)" "-Djava.library.path=@JAVAHL_OBJDIR@:$(libdir)" -classpath "$(javahl_tests_PATH):$(javahl_tests_CLASSPATH)" "-Dtest.cleanup=$(JAVAHL_CLEANUP)" "-Dtest.tests=$(JAVAHL_TESTS)" org.apache.subversion.javahl.RunTests |
530 |
|
531 |
check-deprecated-authn-javahl: javahl |
532 |
@FIX_JAVAHL_LIB@ |
533 |
$(TEST_SHLIB_VAR_JAVAHL) \ |
534 |
$(JAVA) -Xcheck:jni "-Dtest.rootdir=$(javahl_test_rootdir)" "-Dtest.srcdir=$(javahl_test_srcdir)" "-Dtest.rooturl=$(BASE_URL)" "-Dtest.fstype=$(FS_TYPE)" "-Djava.library.path=@JAVAHL_OBJDIR@:$(libdir)" -classpath "$(javahl_tests_PATH):$(javahl_tests_CLASSPATH)" "-Dtest.cleanup=$(JAVAHL_CLEANUP)" "-Dtest.tests=$(JAVAHL_TESTS)" "-Dtest.authn.deprecated=true" org.apache.subversion.javahl.RunTests |
535 |
|
536 |
check-javahl: check-apache-javahl |
537 |
|
538 |
check-all-javahl: check-apache-javahl check-tigris-javahl check-deprecated-authn-javahl |
539 |
|
540 |
check-svnxx: svnxx-tests |
541 |
$(abs_builddir)/$(svnxx_tests_PATH)/svnxx-tests$(EXEEXT) |
542 |
|
543 |
# "make check CLEANUP=true" will clean up directories for successful tests. |
544 |
# "make check TESTS=subversion/tests/cmdline/basic_tests.py" |
545 |
# will perform only basic tests (likewise for other tests). |
546 |
check: bin @TRANSFORM_LIBTOOL_SCRIPTS@ $(TEST_DEPS) @BDB_TEST_DEPS@ |
547 |
@if test "$(PYTHON)" != "none"; then \ |
548 |
if test "$(CLEANUP)" != ""; then \ |
549 |
flags="--cleanup $$flags"; \ |
550 |
fi; \ |
551 |
if test "$(BASE_URL)" != ""; then \ |
552 |
flags="--url $(BASE_URL) $$flags"; \ |
553 |
fi; \ |
554 |
if test "$(SKIP_C_TESTS)" != ""; then \ |
555 |
flags="--skip-c-tests $$flags"; \ |
556 |
fi; \ |
557 |
if test "$(DUMP_LOAD_CROSS_CHECK)" != ""; then \ |
558 |
flags="--dump-load-cross-check $$flags"; \ |
559 |
fi; \ |
560 |
if test "$(FS_TYPE)" != ""; then \ |
561 |
flags="--fs-type $(FS_TYPE) $$flags"; \ |
562 |
fi; \ |
563 |
if test "$(HTTP_LIBRARY)" != ""; then \ |
564 |
flags="--http-library $(HTTP_LIBRARY) $$flags"; \ |
565 |
fi; \ |
566 |
if test "$(HTTPD_VERSION)" != ""; then \ |
567 |
flags="--httpd-version $(HTTPD_VERSION) $$flags"; \ |
568 |
fi; \ |
569 |
if test "$(HTTPD_WHITELIST)" != ""; then \ |
570 |
flags="--httpd-whitelist $(HTTPD_WHITELIST) $$flags"; \ |
571 |
fi; \ |
572 |
if test "$(SERVER_MINOR_VERSION)" != ""; then \ |
573 |
flags="--server-minor-version $(SERVER_MINOR_VERSION) $$flags"; \ |
574 |
fi; \ |
575 |
if test "$(ENABLE_SASL)" != ""; then \ |
576 |
flags="--enable-sasl $$flags"; \ |
577 |
fi; \ |
578 |
if test "$(FSFS_SHARDING)" != ""; then \ |
579 |
flags="--fsfs-sharding $(FSFS_SHARDING) $$flags"; \ |
580 |
fi; \ |
581 |
if test "$(FSFS_PACKING)" != ""; then \ |
582 |
flags="--fsfs-packing $$flags"; \ |
583 |
fi; \ |
584 |
if test "$(PARALLEL)" != ""; then \ |
585 |
flags="--parallel $(PARALLEL) $$flags"; \ |
586 |
fi; \ |
587 |
if test "$(GLOBAL_SCHEDULER)" != ""; then \ |
588 |
flags="--global-scheduler $$flags"; \ |
589 |
fi; \ |
590 |
if test "$(LOG_TO_STDOUT)" != ""; then \ |
591 |
flags="--log-to-stdout $$flags"; \ |
592 |
fi; \ |
593 |
if test "$(MILESTONE_FILTER)" != ""; then \ |
594 |
flags="--list --milestone-filter=$(MILESTONE_FILTER) \ |
595 |
--mode-filter=$(MODE_FILTER) --log-to-stdout $$flags"; \ |
596 |
fi; \ |
597 |
if test "$(SET_LOG_LEVEL)" != ""; then \ |
598 |
flags="--set-log-level $(SET_LOG_LEVEL) $$flags"; \ |
599 |
fi; \ |
600 |
if test "$(SSL_CERT)" != ""; then \ |
601 |
flags="--ssl-cert $(SSL_CERT) $$flags"; \ |
602 |
fi; \ |
603 |
if test "$(HTTP_PROXY)" != ""; then \ |
604 |
flags="--http-proxy $(HTTP_PROXY) $$flags"; \ |
605 |
fi; \ |
606 |
if test "$(EXCLUSIVE_WC_LOCKS)" != ""; then \ |
607 |
flags="--exclusive-wc-locks $$flags"; \ |
608 |
fi; \ |
609 |
if test "$(MEMCACHED_SERVER)" != ""; then \ |
610 |
flags="--memcached-server $(MEMCACHED_SERVER) $$flags"; \ |
611 |
fi; \ |
612 |
if test "$(FSFS_COMPRESSION)" != ""; then \ |
613 |
flags="--fsfs-compression $(FSFS_COMPRESSION) $$flags"; \ |
614 |
fi; \ |
615 |
if test "$(FSFS_DIR_DELTIFICATION)" != ""; then \ |
616 |
flags="--fsfs-dir-deltification $(FSFS_DIR_DELTIFICATION) $$flags";\ |
617 |
fi; \ |
618 |
if test "$(ALLOW_REMOTE_HTTP_CONNECTION)" != ""; then \ |
619 |
flags="--allow-remote-http-connection $$flags"; \ |
620 |
fi; \ |
621 |
if test "$(SVN_BIN_DIR)" != ""; then \ |
622 |
flags="--bin $(SVN_BIN_DIR) $$flags"; \ |
623 |
fi; \ |
624 |
LD_LIBRARY_PATH='$(auth_plugin_dirs):$(LD_LIBRARY_PATH)' \ |
625 |
$(PYTHON) $(top_srcdir)/build/run_tests.py \ |
626 |
--config-file $(top_srcdir)/subversion/tests/tests.conf \ |
627 |
$$flags \ |
628 |
'$(abs_srcdir)' '$(abs_builddir)' $(TESTS); \ |
629 |
else \ |
630 |
echo "make check: Python 2.7 or greater is required,"; \ |
631 |
echo " but was not detected during configure"; \ |
632 |
exit 1; \ |
633 |
fi; |
634 |
|
635 |
# First, set up Apache as documented in |
636 |
# subversion/tests/cmdline/README. |
637 |
davcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod |
638 |
@$(MAKE) check BASE_URL=http://localhost |
639 |
|
640 |
# Automatically configure and run Apache httpd on a random port, and then |
641 |
# run make check. |
642 |
davautocheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod |
643 |
@# Takes MODULE_PATH, USE_HTTPV1 and SVN_PATH_AUTHZ in the environment. |
644 |
@APXS=$(APXS) MAKE=$(MAKE) $(SHELL) $(top_srcdir)/subversion/tests/cmdline/davautocheck.sh |
645 |
|
646 |
# First, run: |
647 |
# subversion/svnserve/svnserve -d -r `pwd`/subversion/tests/cmdline |
648 |
svncheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ |
649 |
@$(MAKE) check BASE_URL=svn://127.0.0.1 |
650 |
|
651 |
# 'make svnserveautocheck' runs svnserve for you and kills it. |
652 |
svnserveautocheck: svnserve bin $(TEST_DEPS) @BDB_TEST_DEPS@ |
653 |
@env PYTHON=$(PYTHON) THREADED=$(THREADED) MAKE=$(MAKE) \ |
654 |
$(SHELL) $(top_srcdir)/subversion/tests/cmdline/svnserveautocheck.sh |
655 |
|
656 |
# First, run: |
657 |
# subversion/svnserve/svnserve --listen-host "::1" -d -r `pwd`/subversion/tests/cmdline |
658 |
|
659 |
svncheck6: bin $(TEST_DEPS) @BDB_TEST_DEPS@ |
660 |
@$(MAKE) check BASE_URL=svn://\[::1\] |
661 |
|
662 |
# First make sure you can ssh to localhost and that "svnserve" is in |
663 |
# the path of the resulting shell. |
664 |
svnsshcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ |
665 |
@$(MAKE) check \ |
666 |
BASE_URL=svn+ssh://localhost`pwd`/subversion/tests/cmdline |
667 |
|
668 |
bdbcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ |
669 |
@$(MAKE) check FS_TYPE=bdb |
670 |
|
671 |
# Produce the clang compilation database as the compile_commands.json file |
672 |
# in the srcdir. This is used by tools such as the YouCompleteMe vim plugin |
673 |
# to know the compile flags for various source files so that analysis such |
674 |
# as syntax checking, static analysis or symbol completion can be done |
675 |
# outside the build system. To do this it uses the tool called bear: |
676 |
# https://github.com/rizsotto/Bear |
677 |
compile-commands: |
678 |
@bear -o $(abs_srcdir)/compile_commands.json -- $(MAKE) all |
679 |
|
680 |
# Create an execution coverage report from the data collected during |
681 |
# all execution since the last reset. |
682 |
gcov: |
683 |
lcov --capture -d . -b . -o gcov-lcov.dat > gcov-lcov.log |
684 |
genhtml gcov-lcov.dat -o gcov-report > gcov-genhtml.log |
685 |
|
686 |
# Reset all execution coverage counters to zero. |
687 |
gcov-reset: |
688 |
lcov --zerocounters -d . |
689 |
|
690 |
# Remove the execution coverage data and the report. |
691 |
gcov-clean: |
692 |
rm -f gcov-lcov.dat gcov-lcov.log gcov-genhtml.log |
693 |
rm -rf gcov-report |
694 |
find . \( -name "*.gcda" -o -name "*.gcno" \) -exec rm -f -- {} \; |
695 |
|
696 |
check-clean: gcov-clean |
697 |
if [ -d subversion/tests/cmdline/svn-test-work ]; then \ |
698 |
rm -rf subversion/tests/cmdline/svn-test-work/*; \ |
699 |
fi |
700 |
rm -rf subversion/tests/libsvn_fs/test-repo-* \ |
701 |
subversion/tests/libsvn_fs_base/test-repo-* \ |
702 |
subversion/tests/libsvn_fs_fs/test-repo-* \ |
703 |
subversion/tests/libsvn_fs_x/test-repo-* \ |
704 |
subversion/tests/libsvn_ra_local/test-repo-* \ |
705 |
subversion/tests/libsvn_repos/test-repo-* \ |
706 |
subversion/tests/libsvn_subr/z \ |
707 |
subversion/tests/libsvn_wc/fake-wc \ |
708 |
subversion/tests/libsvn_client/test-patch* \ |
709 |
subversion/tests/libsvn_client/test-*/ \ |
710 |
subversion/tests/libsvn_diff/B2 \ |
711 |
subversion/tests/libsvn_diff/T1 \ |
712 |
subversion/tests/libsvn_diff/T2 \ |
713 |
subversion/tests/libsvn_diff/T3 \ |
714 |
subversion/tests/cmdline/httpd-* \ |
715 |
subversion/tests/cmdline/svnserve-* \ |
716 |
tests.log fails.log |
717 |
|
718 |
mkdir-init: |
719 |
@list='$(BUILD_DIRS) $(SCHEMA_DIR) doc'; \ |
720 |
for i in $$list; do \ |
721 |
if [ ! -d $$i ]; then \ |
722 |
$(MKDIR) $$i ; \ |
723 |
fi; \ |
724 |
done |
725 |
|
726 |
# DOCUMENTATION RULES |
727 |
|
728 |
# Every single document in every format. |
729 |
doc: doc-api doc-javahl |
730 |
|
731 |
# Generate API documentation for the C libraries. |
732 |
### This could also generate POD for swig-perl, etc. |
733 |
doc-api: mkdir-init |
734 |
( cd $(top_srcdir) && \ |
735 |
sed "s,\(OUTPUT_DIRECTORY *= *\),\1$(abs_builddir)/," \ |
736 |
doc/doxygen.conf | $(DOXYGEN) - ) |
737 |
|
738 |
# Generate API documentation for the JavaHL package. |
739 |
doc-javahl: |
740 |
$(JAVADOC) -d $(abs_builddir)/doc/javadoc \ |
741 |
-sourcepath $(top_srcdir)/subversion/bindings/javahl/src \ |
742 |
-link http://java.sun.com/javase/6/docs/api/ \ |
743 |
org.tigris.subversion.javahl \ |
744 |
org.apache.subversion.javahl \ |
745 |
org.apache.subversion.javahl.callback \ |
746 |
org.apache.subversion.javahl.remote \ |
747 |
org.apache.subversion.javahl.types \ |
748 |
org.apache.subversion.javahl.util |
749 |
|
750 |
doc-clean: |
751 |
rm -rf $(abs_builddir)/doc/doxygen |
752 |
rm -rf $(abs_builddir)/doc/javadoc |
753 |
|
754 |
# Converting from the .rnc XML schemas to various other schema formats. |
755 |
SCHEMAS_DTD = $(SCHEMA_DIR)/blame.dtd \ |
756 |
$(SCHEMA_DIR)/diff.dtd \ |
757 |
$(SCHEMA_DIR)/info.dtd \ |
758 |
$(SCHEMA_DIR)/list.dtd \ |
759 |
$(SCHEMA_DIR)/log.dtd \ |
760 |
$(SCHEMA_DIR)/props.dtd \ |
761 |
$(SCHEMA_DIR)/status.dtd |
762 |
|
763 |
SCHEMAS_RNG = $(SCHEMA_DIR)/blame.rng \ |
764 |
$(SCHEMA_DIR)/diff.rng \ |
765 |
$(SCHEMA_DIR)/info.rng \ |
766 |
$(SCHEMA_DIR)/list.rng \ |
767 |
$(SCHEMA_DIR)/log.rng \ |
768 |
$(SCHEMA_DIR)/props.rng \ |
769 |
$(SCHEMA_DIR)/status.rng |
770 |
|
771 |
SCHEMAS_XSD = $(SCHEMA_DIR)/blame.xsd \ |
772 |
$(SCHEMA_DIR)/diff.xsd \ |
773 |
$(SCHEMA_DIR)/info.xsd \ |
774 |
$(SCHEMA_DIR)/list.xsd \ |
775 |
$(SCHEMA_DIR)/log.xsd \ |
776 |
$(SCHEMA_DIR)/props.xsd \ |
777 |
$(SCHEMA_DIR)/status.xsd |
778 |
|
779 |
schema: mkdir-init schema-rng schema-dtd schema-xsd |
780 |
|
781 |
schema-rng: $(SCHEMAS_RNG) |
782 |
schema-dtd: $(SCHEMAS_DTD) |
783 |
schema-xsd: $(SCHEMAS_XSD) |
784 |
|
785 |
$(SCHEMAS_RNG) $(SCHEMAS_DTD) $(SCHEMAS_XSD): $(SCHEMA_DIR)/common.rnc |
786 |
|
787 |
schema-clean: |
788 |
(cd $(SCHEMA_DIR) && rm -f *.rng *.dtd *.xsd) |
789 |
|
790 |
# |
791 |
# Implicit rules for creating outputs from input files |
792 |
# |
793 |
.SUFFIXES: |
794 |
.SUFFIXES: .c .cpp .lo .o .la-a .la \ |
795 |
.po .spo .mo .rnc .rng .dtd .xsd .sql .h |
796 |
|
797 |
.sql.h: |
798 |
$(PYTHON) $(top_srcdir)/build/transform_sql.py $< $(top_srcdir)/$@ |
799 |
|
800 |
.c.o: |
801 |
$(COMPILE) -o $@ -c $< |
802 |
|
803 |
.cpp.o: |
804 |
$(COMPILE_CXX) -o $@ -c $< |
805 |
|
806 |
.c.lo: |
807 |
$(LT_COMPILE) -o $@ -c $< |
808 |
|
809 |
.cpp.lo: |
810 |
$(LT_COMPILE_CXX) -o $@ -c $< |
811 |
|
812 |
.la.la-a: |
813 |
sed "/library_names/s/'.*'/''/" $< > $@ |
814 |
|
815 |
|
816 |
# Strip the Content-Type: header from the po file if we don't have a |
817 |
# gettext that supports bind_textdomain_codeset, so it doesn't try |
818 |
# to convert our UTF-8 .po files to the locale encoding. |
819 |
@NO_GETTEXT_CODESET@.po.spo: |
820 |
@NO_GETTEXT_CODESET@ sed \ |
821 |
@NO_GETTEXT_CODESET@ '/^"Content-Type: text\/plain; charset=UTF-8\\n"$$/d' \ |
822 |
@NO_GETTEXT_CODESET@ $< > $@ |
823 |
|
824 |
@NO_GETTEXT_CODESET@.spo.mo: |
825 |
@NO_GETTEXT_CODESET@ $(MSGFMT) $(MSGFMTFLAGS) -o $@ $< |
826 |
|
827 |
# For systems with bind_textdomain_codeset, just leave the Content-Type: |
828 |
# header alone. |
829 |
@GETTEXT_CODESET@.po.mo: |
830 |
@GETTEXT_CODESET@ $(MSGFMT) $(MSGFMTFLAGS) -o $@ $< |
831 |
|
832 |
.rnc.rng: |
833 |
@TRANG@ $< $@ |
834 |
|
835 |
.rnc.dtd: |
836 |
@TRANG@ $< $@ |
837 |
|
838 |
.rnc.xsd: |
839 |
@TRANG@ $< $@ |
840 |
|
841 |
install-docs: install-man |
842 |
|
843 |
manroot = $(mandir)/man |
844 |
install-man: |
845 |
@list='$(MANPAGES)'; \ |
846 |
for i in $$list; do \ |
847 |
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ |
848 |
else file=$$i; fi; \ |
849 |
ext=`echo $$i | sed -e 's/^.*\\.//'`; \ |
850 |
$(MKDIR) $(DESTDIR)$(manroot)$$ext; \ |
851 |
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ |
852 |
inst=`echo $$inst | sed -e 's/^.*\///'`; \ |
853 |
inst=`echo $$inst`.$$ext; \ |
854 |
echo "$(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst"; \ |
855 |
$(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst; \ |
856 |
done |
857 |
|
858 |
install-swig-py: install-swig-py-lib |
859 |
install-swig-rb: install-swig-rb-lib |
860 |
|
861 |
clean-bindings: clean-swig clean-ctypes-python clean-javahl |
862 |
|
863 |
extraclean-bindings: clean-swig extraclean-swig-headers \ |
864 |
extraclean-swig-py extraclean-swig-rb \ |
865 |
extraclean-swig-pl \ |
866 |
clean-ctypes-python clean-javahl \ |
867 |
|
868 |
clean-swig: clean-swig-headers clean-swig-py clean-swig-rb clean-swig-pl |
869 |
@rm -f .swig_checked |
870 |
|
871 |
EXTRACLEAN_SWIG_HEADERS=rm -f $(SWIG_SRC_DIR)/proxy/*.swg |
872 |
|
873 |
clean-swig-headers: |
874 |
if test -z "$(RELEASE_MODE)"; then \ |
875 |
$(EXTRACLEAN_SWIG_HEADERS); \ |
876 |
fi |
877 |
|
878 |
extraclean-swig-headers: clean-swig-headers |
879 |
$(EXTRACLEAN_SWIG_HEADERS) |
880 |
|
881 |
$(SWIG_PL_DIR)/native/Makefile.PL: $(SWIG_SRC_DIR)/perl/native/Makefile.PL.in |
882 |
./config.status subversion/bindings/swig/perl/native/Makefile.PL |
883 |
|
884 |
$(SWIG_PL_DIR)/native/Makefile: libsvn_swig_perl $(SWIG_PL_DIR)/native/Makefile.PL |
885 |
cd $(SWIG_PL_DIR)/native; $(SWIG_PL_PERL) Makefile.PL PREFIX=$(prefix) |
886 |
|
887 |
# There is a "readlink -f" command on some systems for the same purpose, |
888 |
# but it's not as portable (e.g. Mac OS X doesn't have it). These should |
889 |
# only be used where Python/Perl are known to be available. |
890 |
READLINK_PY=$(PYTHON) -c 'import sys,os; print(os.path.realpath(sys.argv[1]))' |
891 |
READLINK_PL=$(SWIG_PL_PERL) -e 'use Cwd; print Cwd::realpath(shift)' |
892 |
|
893 |
swig-pl: autogen-swig-pl $(SWIG_PL_DIR)/native/Makefile |
894 |
if test "`$(READLINK_PL) $(SWIG_PL_DIR)`" != "`$(READLINK_PL) $(SWIG_PL_SRC_DIR)`"; then \ |
895 |
for f in $(SWIG_PL_SRC_DIR)/native/*.c ; do \ |
896 |
if [ -e "$$f" ] ; then \ |
897 |
ln -sf "$$f" $(SWIG_PL_DIR)/native; \ |
898 |
fi; \ |
899 |
done; \ |
900 |
fi |
901 |
cd $(SWIG_PL_DIR)/native; $(MAKE) OPTIMIZE="" OTHERLDFLAGS="$(SWIG_LDFLAGS)" |
902 |
|
903 |
check-swig-pl: swig-pl swig-pl-lib |
904 |
cd $(SWIG_PL_DIR)/native; $(MAKE) test |
905 |
|
906 |
install-swig-pl: swig-pl install-swig-pl-lib |
907 |
cd $(SWIG_PL_DIR)/native; $(MAKE) install |
908 |
|
909 |
EXTRACLEAN_SWIG_PL=rm -f $(SWIG_PL_SRC_DIR)/native/svn_*.c \ |
910 |
$(SWIG_PL_SRC_DIR)/native/core.c |
911 |
|
912 |
# Running Makefile.PL at this point *fails* (cannot find ..../.libs) so if the |
913 |
# Makefile does not exist, DO NOT try to make it. But, if it doesn't exist, |
914 |
# then the directory is probably clean anyway. |
915 |
clean-swig-pl: |
916 |
rm -f .swig_pl_checked |
917 |
if test -z "$(RELEASE_MODE)"; then \ |
918 |
$(EXTRACLEAN_SWIG_PL); \ |
919 |
fi |
920 |
for d in $(SWIG_PL_DIR)/libsvn_swig_perl; \ |
921 |
do \ |
922 |
cd $$d; \ |
923 |
rm -rf *.lo *.la *.o .libs; \ |
924 |
done |
925 |
if [ -f "$(SWIG_PL_DIR)/native/Makefile" ]; then \ |
926 |
cd $(SWIG_PL_DIR)/native; $(MAKE) clean; \ |
927 |
fi |
928 |
|
929 |
extraclean-swig-pl: clean-swig-pl |
930 |
$(EXTRACLEAN_SWIG_PL) |
931 |
|
932 |
$(SWIG_PY_DIR)/libsvn: |
933 |
mkdir $(SWIG_PY_DIR)/libsvn |
934 |
|
935 |
copy-swig-py: autogen-swig-py $(SWIG_PY_DIR)/libsvn |
936 |
@for f in $(SWIG_PY_SRC_DIR)/*.py $(SWIG_PY_DIR)/*.py; do \ |
937 |
! [ -f "$$f" ] || cp -pf $$f $(SWIG_PY_DIR)/libsvn; \ |
938 |
done |
939 |
@cd $(SWIG_PY_DIR)/libsvn;ln -sf ../.libs/*.so . |
940 |
@touch $(SWIG_PY_DIR)/libsvn/__init__.py |
941 |
|
942 |
swig-py: autogen-swig-py copy-swig-py |
943 |
|
944 |
check-swig-py: swig-py |
945 |
$(TEST_SHLIB_VAR_SWIG_PY) \ |
946 |
cd $(SWIG_PY_DIR); \ |
947 |
$(SWIG_PY_PYTHON) $(SWIG_PY_SRC_DIR)/tests/run_all.py |
948 |
|
949 |
EXTRACLEAN_SWIG_PY=rm -rf $(SWIG_PY_DIR)/svn_*.c $(SWIG_PY_DIR)/core.c \ |
950 |
$(SWIG_PY_DIR)/[a-z]*.py |
951 |
clean-swig-py: |
952 |
rm -f .swig_py_checked |
953 |
rm -rf $(SWIG_PY_DIR)/libsvn |
954 |
if test -z "$(RELEASE_MODE)"; then \ |
955 |
$(EXTRACLEAN_SWIG_PY); \ |
956 |
fi |
957 |
for d in $(SWIG_PY_DIR) $(SWIG_PY_DIR)/libsvn_swig_py; \ |
958 |
do \ |
959 |
cd $$d && rm -rf *.lo *.la *.o *.pyc .libs; \ |
960 |
done |
961 |
find $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) -name "*.pyc" -exec rm {} ';' |
962 |
|
963 |
extraclean-swig-py: clean-swig-py |
964 |
$(EXTRACLEAN_SWIG_PY) |
965 |
|
966 |
swig-rb: autogen-swig-rb |
967 |
|
968 |
check-swig-rb: swig-rb svnserve |
969 |
$(TEST_SHLIB_VAR_SWIG_RB) \ |
970 |
cd $(SWIG_RB_DIR); \ |
971 |
check_rb() { \ |
972 |
$(SWIG_RB_RUBY) -I $(SWIG_RB_SRC_DIR) $(SWIG_RB_SRC_DIR)/test/run-test.rb "$$@"; \ |
973 |
}; \ |
974 |
if check_rb --help 2>&1 | grep -q -- --collector; then \ |
975 |
check_rb --collector=dir --verbose=$(SWIG_RB_TEST_VERBOSE); \ |
976 |
elif [ "$(RUBY_MAJOR)" -eq 1 -a "$(RUBY_MINOR)" -lt 9 ] ; then \ |
977 |
check_rb --verbose=$(SWIG_RB_TEST_VERBOSE); \ |
978 |
else \ |
979 |
check_rb; \ |
980 |
fi |
981 |
|
982 |
EXTRACLEAN_SWIG_RB=rm -f $(SWIG_RB_SRC_DIR)/svn_*.c $(SWIG_RB_SRC_DIR)/core.c |
983 |
|
984 |
clean-swig-rb: |
985 |
rm -f .swig_rb_checked |
986 |
rm -rf $(SWIG_RB_DIR)/test/repos $(SWIG_RB_DIR)/test/wc |
987 |
if test -z "$(RELEASE_MODE)"; then \ |
988 |
$(EXTRACLEAN_SWIG_RB); \ |
989 |
fi |
990 |
for d in $(SWIG_RB_DIR) $(SWIG_RB_DIR)/libsvn_swig_ruby; \ |
991 |
do \ |
992 |
cd $$d; \ |
993 |
rm -rf *.lo *.la *.o .libs; \ |
994 |
done |
995 |
|
996 |
extraclean-swig-rb: clean-swig-rb |
997 |
$(EXTRACLEAN_SWIG_RB) |
998 |
|
999 |
install-swig-rb-doc: |
1000 |
$(RDOC) --all --ri --op "$(SWIG_RB_RI_DATADIR)" "$(SWIG_RB_SRC_DIR)/svn" |
1001 |
|
1002 |
# ctypes-python make targets |
1003 |
ctypes-python: local-all |
1004 |
$(SHELL) $(abs_srcdir)/build/run_ctypesgen.sh "$(LT_EXECUTE)" "$(CPPFLAGS)" "$(EXTRA_CTYPES_LDFLAGS)" "$(PYTHON)" "$(CTYPESGEN)" "$(abs_srcdir)" "$(abs_builddir)" "$(libdir)" "$(SVN_APR_CONFIG)" "$(SVN_APRUTIL_CONFIG)" "$(CPP)" |
1005 |
|
1006 |
install-ctypes-python: ctypes-python |
1007 |
cd $(CTYPES_PYTHON_SRC_DIR); \ |
1008 |
$(PYTHON) setup.py install --prefix="$(DESTDIR)$(prefix)" |
1009 |
|
1010 |
check-ctypes-python: ctypes-python |
1011 |
cd $(CTYPES_PYTHON_SRC_DIR); \ |
1012 |
$(LT_EXECUTE) $(PYTHON) test/run_all.py |
1013 |
|
1014 |
# If any of those files exists, run ctypes' 'setup.py clean'. We don't run |
1015 |
# it otherwise because it spams stdout+stderr; see r1479326. |
1016 |
clean-ctypes-python: |
1017 |
cd $(CTYPES_PYTHON_SRC_DIR); \ |
1018 |
for b in build csvn/core/functions.py svn_all.py svn_all2.py ; do \ |
1019 |
if [ -e "$$b" ] ; then \ |
1020 |
$(PYTHON) setup.py clean --all; \ |
1021 |
break; \ |
1022 |
fi; \ |
1023 |
done |
1024 |
|
1025 |
# manually describe a dependency, which we won't otherwise detect |
1026 |
subversion/libsvn_wc/wc-queries.h: $(abs_srcdir)/subversion/libsvn_wc/wc-metadata.sql |
1027 |
subversion/libsvn_wc/wc-queries.h: $(abs_srcdir)/subversion/libsvn_wc/wc-checks.sql |
1028 |
|
1029 |
# Compatibility symlink. |
1030 |
# This runs after the target of the same name in build-outputs.mk. |
1031 |
INSTALL_EXTRA_TOOLS=\ |
1032 |
$(MKDIR) $(DESTDIR)$(bindir); \ |
1033 |
test -n "$$SVN_SVNMUCC_IS_SVNSYITF" && \ |
1034 |
ln -sf svnmucc$(EXEEXT) $(DESTDIR)$(bindir)/svnsyitf$(EXEEXT); \ |
1035 |
if test "$(DESTDIR)$(bindir)" != "$(DESTDIR)$(toolsdir)"; then \ |
1036 |
ln -sf $(bindir)/svnmucc$(EXEEXT) $(DESTDIR)$(toolsdir)/svnmucc$(EXEEXT); \ |
1037 |
ln -sf $(bindir)/svnbench$(EXEEXT) $(DESTDIR)$(toolsdir)/svn-bench$(EXEEXT); \ |
1038 |
fi; \ |
1039 |
printf '\043\041/bin/sh\n%s\n' \ |
1040 |
'exec $(bindir)/svnfsfs stats $${2:+"-M"} $${2:+"$$2"} "$$1"' \ |
1041 |
> $(DESTDIR)$(toolsdir)/fsfs-stats$(EXEEXT) && \ |
1042 |
chmod +x $(DESTDIR)$(toolsdir)/fsfs-stats$(EXEEXT) |
1043 |
# \043\041 is a "#!". It's written this way because gmake and bmake disagree on |
1044 |
# how to include a literal '#' in a command, and because '!' is special to some |
1045 |
# shells. |