]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/subversion/Makefile.in
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / subversion / Makefile.in
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_SASL_LIBS = @SVN_SASL_LIBS@
52 SVN_SERF_LIBS = @SVN_SERF_LIBS@
53 SVN_SQLITE_LIBS = @SVN_SQLITE_LIBS@
54 SVN_XML_LIBS = @SVN_XML_LIBS@
55 SVN_ZLIB_LIBS = @SVN_ZLIB_LIBS@
56
57 LIBS = @LIBS@
58
59 prefix = @prefix@
60 exec_prefix = @exec_prefix@
61 libdir = @libdir@
62 fsmod_libdir = @libdir@
63 ramod_libdir = @libdir@
64 bdb_libdir = @libdir@
65 gnome_keyring_libdir = @libdir@
66 gpg_agent_libdir = @libdir@
67 kwallet_libdir = @libdir@
68 serf_libdir = @libdir@
69 bindir = @bindir@
70 includedir = @includedir@
71 mandir = @mandir@
72 srcdir = @srcdir@
73 canonicalized_srcdir = @canonicalized_srcdir@
74 datadir = @datadir@
75 datarootdir = @datarootdir@
76 localedir = @localedir@
77
78 # where to install libsvn_swig_*
79 swig_py_libdir = @libdir@
80 swig_pl_libdir = @libdir@
81 swig_rb_libdir = @libdir@
82
83 ### these possibly need further discussion
84 swig_pydir = @libdir@/svn-python/libsvn
85 swig_pydir_extra = @libdir@/svn-python/svn
86 swig_pldir = @libdir@/svn-perl
87 swig_rbdir = $(SWIG_RB_SITE_ARCH_DIR)/svn/ext
88 toolsdir = @bindir@/svn-tools
89
90 javahl_javadir = @libdir@/svn-javahl
91 javahl_javahdir = @libdir@/svn-javahl/include
92 javahl_libdir = @libdir@
93 javahl_test_rootdir=$(abs_builddir)/subversion/bindings/javahl/test-work
94 javahl_test_srcdir=$(abs_srcdir)/subversion/bindings/javahl
95
96 gnome_auth_dir = $(abs_builddir)/subversion/libsvn_auth_gnome_keyring/.libs
97 kwallet_auth_dir = $(abs_builddir)/subversion/libsvn_auth_kwallet/.libs
98 auth_plugin_dirs = $(gnome_auth_dir):$(kwallet_auth_dir)
99
100 MSGFMT = @MSGFMT@
101 MSGFMTFLAGS = @MSGFMTFLAGS@
102 MSGMERGE = @MSGMERGE@
103 XGETTEXT = @XGETTEXT@
104 TRANG = @TRANG@
105
106 PACKAGE_NAME=@PACKAGE_NAME@
107 PACKAGE_VERSION=@PACKAGE_VERSION@
108
109 CC = @CC@
110 CXX = @CXX@
111 CPP = @CPP@
112 EXEEXT = @EXEEXT@
113
114 SHELL = @SHELL@
115 LIBTOOL = @SVN_LIBTOOL@
116 LTFLAGS = --tag=CC --silent
117 LTCXXFLAGS = --tag=CXX --silent
118 LT_CFLAGS = @LT_CFLAGS@
119 LT_LDFLAGS = @LT_LDFLAGS@
120 LT_SO_VERSION = @SVN_LT_SOVERSION@
121 LT_NO_UNDEFINED = @LT_NO_UNDEFINED@
122 LT_CXX_LIBADD = @LT_CXX_LIBADD@
123
124 INCLUDES = -I$(top_srcdir)/subversion/include -I$(top_builddir)/subversion \
125            @SVN_APR_INCLUDES@ @SVN_APRUTIL_INCLUDES@ @SVN_APR_MEMCACHE_INCLUDES@ \
126            @SVN_DB_INCLUDES@ @SVN_GNOME_KEYRING_INCLUDES@ \
127            @SVN_KWALLET_INCLUDES@ @SVN_MAGIC_INCLUDES@ \
128            @SVN_SASL_INCLUDES@ @SVN_SERF_INCLUDES@ @SVN_SQLITE_INCLUDES@ \
129            @SVN_XML_INCLUDES@ @SVN_ZLIB_INCLUDES@
130
131 APACHE_INCLUDES = @APACHE_INCLUDES@
132 APACHE_LIBEXECDIR = $(DESTDIR)@APACHE_LIBEXECDIR@
133 APACHE_LDFLAGS = @APACHE_LDFLAGS@
134
135 SWIG = @SWIG@
136 SWIG_PY_INCLUDES = @SWIG_PY_INCLUDES@ -I$(SWIG_SRC_DIR)/python/libsvn_swig_py
137 SWIG_PY_COMPILE = @SWIG_PY_COMPILE@
138 SWIG_PY_LINK = @SWIG_PY_LINK@
139 SWIG_PY_LIBS = @SWIG_PY_LIBS@
140 SWIG_PL_INCLUDES = @SWIG_PL_INCLUDES@
141 SWIG_RB_INCLUDES = @SWIG_RB_INCLUDES@ -I$(SWIG_SRC_DIR)/ruby/libsvn_swig_ruby
142 SWIG_RB_COMPILE = @SWIG_RB_COMPILE@
143 SWIG_RB_LINK = @SWIG_RB_LINK@
144 SWIG_RB_LIBS = @SWIG_RB_LIBS@
145 SWIG_RB_SITE_LIB_DIR = @SWIG_RB_SITE_LIB_DIR@
146 SWIG_RB_SITE_ARCH_DIR = @SWIG_RB_SITE_ARCH_DIR@
147 SWIG_RB_TEST_VERBOSE = @SWIG_RB_TEST_VERBOSE@
148 SWIG_RB_RI_DATADIR = $(DESTDIR)$(datadir)/ri/$(RUBY_MAJOR).$(RUBY_MINOR)/site
149
150 CTYPESGEN = @CTYPESGEN@
151 CTYPES_PYTHON_SRC_DIR = $(abs_srcdir)/subversion/bindings/ctypes-python
152
153 JAVAHL_JAR=subversion/bindings/javahl/svn-javahl.jar
154 JAVAHL_INCLUDES= @JNI_INCLUDES@ -I$(abs_builddir)/subversion/bindings/javahl/include
155
156 CXXHL_INCLUDES = -I$(abs_srcdir)/subversion/bindings/cxxhl/include
157
158 SVN_APR_CONFIG = @SVN_APR_CONFIG@
159 SVN_APR_INCLUDES = @SVN_APR_INCLUDES@
160 SVN_APRUTIL_CONFIG = @SVN_APRUTIL_CONFIG@
161 SVN_APRUTIL_INCLUDES = @SVN_APRUTIL_INCLUDES@
162
163 MKDIR = @MKDIR@
164
165 DOXYGEN = @DOXYGEN@
166
167 # The EXTRA_ parameters can be used to pass extra flags at 'make' time.
168 CFLAGS = @CFLAGS@ $(EXTRA_CFLAGS)
169 CMODEFLAGS = @CMODEFLAGS@
170 CMAINTAINERFLAGS = @CMAINTAINERFLAGS@
171 CXXFLAGS = @CXXFLAGS@ $(EXTRA_CXXFLAGS)
172 CXXMODEFLAGS = @CXXMODEFLAGS@
173 CXXMAINTAINERFLAGS = @CXXMAINTAINERFLAGS@
174 ### A few of the CFLAGS (e.g. -Wmissing-prototypes, -Wstrict-prototypes,
175 ### -Wmissing-declarations) are not valid for C++, and should be somehow
176 ### suppressed (but they may come from httpd or APR).
177 CPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS)
178 LDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS)
179 SWIG_LDFLAGS = @SWIG_LDFLAGS@ $(EXTRA_SWIG_LDFLAGS)
180 SWIG_CPPFLAGS = @SWIG_CPPFLAGS@ $(EXTRA_CPPFLAGS)
181
182 COMPILE = $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CMAINTAINERFLAGS) $(CFLAGS) $(INCLUDES)
183 COMPILE_CXX = $(CXX) $(CXXMODEFLAGS) $(CPPFLAGS) $(CXXMAINTAINERFLAGS) $(CXXFLAGS) $(INCLUDES)
184 LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) $(LT_CFLAGS)
185 LT_COMPILE_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS)
186
187 # Execute a command that loads libraries from the build dir
188 LT_EXECUTE = $(LIBTOOL) $(LTFLAGS) --mode=execute `for f in $(abs_builddir)/subversion/*/*.la; do echo -dlopen $$f; done`
189
190 # special compilation for files destined for mod_dav_svn
191 COMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CFLAGS) $(CMAINTAINERFLAGS) $(LT_CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c
192
193 # special compilation for files destined for libsvn_swig_* (e.g. swigutil_*.c)
194 COMPILE_SWIG_PY = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(CPPFLAGS) $(LT_CFLAGS) -DSWIGPYTHON $(SWIG_PY_INCLUDES) $(INCLUDES) -o $@ -c
195 COMPILE_SWIG_PL = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(LT_CFLAGS) $(SWIG_PL_INCLUDES) $(INCLUDES) -o $@ -c
196 COMPILE_SWIG_RB = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(CPPFLAGS) $(LT_CFLAGS) $(SWIG_RB_INCLUDES) $(INCLUDES) -o $@ -c
197
198 # special compilation for files destined for javahl (i.e. C++)
199 COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) $(JAVAHL_INCLUDES) -o $@ -c
200 COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS)
201 COMPILE_JAVAHL_JAVAH = $(JAVAH)
202
203 # export an env variable so that the tests can run without being installed
204 TEST_SHLIB_VAR_JAVAHL=\
205   if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \
206     for d in $(abs_builddir)/subversion/libsvn_*; do \
207       if [ -n "$$DYLD_LIBRARY_PATH" ]; then \
208         @SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \
209       else \
210         @SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \
211       fi; \
212     done; \
213     export @SVN_APR_SHLIB_PATH_VAR@; \
214   fi;
215
216 # special compilation for files destined for cxxhl
217 COMPILE_CXXHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) $(CXXHL_INCLUDES) -o $@ -c
218
219 LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
220 LINK_LIB = $(LINK) $(LT_SO_VERSION)
221 LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
222 LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)
223
224 # special link rule for mod_dav_svn
225 LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS)
226
227 # Special LDFLAGS for some libraries
228 libsvn_auth_gnome_keyring_LDFLAGS = @libsvn_auth_gnome_keyring_LDFLAGS@
229 libsvn_auth_kwallet_LDFLAGS = @libsvn_auth_kwallet_LDFLAGS@
230 libsvn_client_LDFLAGS = @libsvn_client_LDFLAGS@
231 libsvn_delta_LDFLAGS = @libsvn_delta_LDFLAGS@
232 libsvn_diff_LDFLAGS = @libsvn_diff_LDFLAGS@
233 libsvn_fs_LDFLAGS = @libsvn_fs_LDFLAGS@
234 libsvn_fs_base_LDFLAGS = @libsvn_fs_base_LDFLAGS@
235 libsvn_fs_fs_LDFLAGS = @libsvn_fs_fs_LDFLAGS@
236 libsvn_fs_util_LDFLAGS = @libsvn_fs_util_LDFLAGS@
237 libsvn_ra_LDFLAGS = @libsvn_ra_LDFLAGS@
238 libsvn_ra_local_LDFLAGS = @libsvn_ra_local_LDFLAGS@
239 libsvn_ra_serf_LDFLAGS = @libsvn_ra_serf_LDFLAGS@
240 libsvn_ra_svn_LDFLAGS = @libsvn_ra_svn_LDFLAGS@
241 libsvn_repos_LDFLAGS = @libsvn_repos_LDFLAGS@
242 libsvn_subr_LDFLAGS = @libsvn_subr_LDFLAGS@
243 libsvn_wc_LDFLAGS = @libsvn_wc_LDFLAGS@
244
245 # Compilation of SWIG-generated C source code
246 COMPILE_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(LT_CFLAGS) $(CPPFLAGS) $(SWIG_PY_INCLUDES) -prefer-pic -c -o $@
247 COMPILE_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(LT_CFLAGS) $(CPPFLAGS) $(SWIG_RB_INCLUDES) -prefer-pic -c -o $@
248
249 # these commands link the wrapper objects into an extension library/module
250 LINK_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_PY_LINK) $(SWIG_LDFLAGS) -rpath $(swig_pydir) -avoid-version -module
251 LINK_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_RB_LINK) $(SWIG_LDFLAGS) -rpath $(swig_rbdir) -avoid-version -module
252
253 LINK_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) $(LT_CXX_LIBADD) -rpath $(libdir)
254
255 INSTALL = @INSTALL@
256 INSTALL_LIB = $(LIBTOOL) --mode=install $(INSTALL)
257 INSTALL_FSMOD_LIB = $(INSTALL_LIB)
258 INSTALL_RAMOD_LIB = $(INSTALL_LIB)
259 INSTALL_APR_MEMCACHE_LIB = $(INSTALL_LIB)
260 INSTALL_BDB_LIB = $(INSTALL_LIB)
261 INSTALL_GPG_AGENT_LIB = $(INSTALL_LIB)
262 INSTALL_GNOME_KEYRING_LIB = $(INSTALL_LIB)
263 INSTALL_KWALLET_LIB = $(INSTALL_LIB)
264 INSTALL_SERF_LIB = $(INSTALL_LIB)
265 INSTALL_BIN = $(LIBTOOL) --mode=install $(INSTALL)
266 INSTALL_CONTRIB = $(LIBTOOL) --mode=install $(INSTALL)
267 INSTALL_TOOLS = $(LIBTOOL) --mode=install $(INSTALL)
268 INSTALL_INCLUDE = $(INSTALL) -m 644
269 INSTALL_MOD_SHARED = @APXS@ -i -S LIBEXECDIR="$(APACHE_LIBEXECDIR)" @MOD_ACTIVATION@
270 INSTALL_DATA = $(INSTALL) -m 644
271 INSTALL_LOCALE = $(INSTALL_DATA)
272 INSTALL_APACHE_MODS = @INSTALL_APACHE_MODS@
273
274 ### this isn't correct yet
275 INSTALL_SWIG_PY = $(INSTALL_LIB)
276 INSTALL_SWIG_PY_LIB = $(INSTALL_LIB)
277 INSTALL_SWIG_PL_LIB = $(INSTALL_LIB)
278 INSTALL_SWIG_RB = $(INSTALL_LIB)
279 INSTALL_SWIG_RB_LIB = $(INSTALL_LIB)
280
281 INSTALL_JAVAHL_LIB = $(INSTALL_LIB)
282
283 # additional installation rules for the SWIG wrappers
284 INSTALL_EXTRA_SWIG_PY=\
285   $(MKDIR) $(DESTDIR)$(swig_pydir); \
286   $(MKDIR) $(DESTDIR)$(swig_pydir_extra); \
287   for i in $(abs_srcdir)/subversion/bindings/swig/python/svn/*.py; do \
288     $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir_extra); \
289   done; \
290   for i in $(abs_srcdir)/subversion/bindings/swig/python/*.py; do \
291     $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir); \
292   done; \
293   if test "$(abs_srcdir)" != "$(abs_builddir)"; then \
294     for i in $(abs_builddir)/subversion/bindings/swig/python/*.py; do \
295       $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir); \
296     done; \
297   fi; \
298   $(PYTHON) -c 'import compileall; \
299     compileall.compile_dir("$(DESTDIR)$(swig_pydir)", 1, "$(swig_pydir)"); \
300     compileall.compile_dir("$(DESTDIR)$(swig_pydir_extra)", 1, \
301     "$(swig_pydir_extra)");'
302
303 # export an env variable so that the tests can run without being installed
304 TEST_SHLIB_VAR_SWIG_PY=\
305   if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \
306     for d in $(SWIG_PY_DIR)/libsvn_swig_py $(SWIG_PY_DIR)/../../../libsvn_*; do \
307       if [ -n "$$DYLD_LIBRARY_PATH" ]; then \
308         @SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \
309       else \
310         @SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \
311       fi; \
312     done; \
313     export @SVN_APR_SHLIB_PATH_VAR@; \
314   fi;
315
316 # The path to generated and complementary source files for the SWIG
317 # bindings.
318 SWIG_PL_DIR = $(abs_builddir)/subversion/bindings/swig/perl
319 SWIG_PY_DIR = $(abs_builddir)/subversion/bindings/swig/python
320 SWIG_RB_DIR = $(abs_builddir)/subversion/bindings/swig/ruby
321
322 # The path to the source files for the SWIG bindings
323 SWIG_PL_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/perl
324 SWIG_PY_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/python
325 SWIG_RB_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/ruby
326
327 ### Automate JAR creation using Makefile generator's javahl-java.jar
328 ### property.  Enhance generator to support JAR installation.
329 JAVAHL_MANIFEST_IN = $(abs_srcdir)/subversion/bindings/javahl/Manifest.in
330 JAVAHL_MANIFEST = subversion/bindings/javahl/Manifest
331 INSTALL_EXTRA_JAVAHL_JAVA=\
332         sed s/%bundleVersion/$(PACKAGE_VERSION)/ $(JAVAHL_MANIFEST_IN) > $(JAVAHL_MANIFEST); \
333         $(JAR) cfm $(JAVAHL_JAR) $(JAVAHL_MANIFEST) -C subversion/bindings/javahl/classes org; \
334         $(INSTALL_DATA) $(JAVAHL_JAR) $(DESTDIR)$(javahl_javadir);
335
336 INSTALL_EXTRA_JAVAHL_LIB=@INSTALL_EXTRA_JAVAHL_LIB@
337
338 INSTALL_EXTRA_SWIG_RB=\
339   @echo $(MKDIR) $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \
340   $(MKDIR) $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \
341   for i in $(abs_srcdir)/subversion/bindings/swig/ruby/svn/*.rb; do \
342     echo $(INSTALL_DATA) "$$i" $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \
343     $(INSTALL_DATA) "$$i" $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \
344   done
345
346 # export an env variable so that the tests can run without being installed
347 TEST_SHLIB_VAR_SWIG_RB=\
348   if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \
349     for d in $(SWIG_RB_DIR)/libsvn_swig_ruby $(SWIG_RB_DIR)/../../../libsvn_*; do \
350       if [ -n "$$DYLD_LIBRARY_PATH" ]; then \
351         @SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \
352       else \
353         @SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \
354       fi; \
355     done; \
356     export @SVN_APR_SHLIB_PATH_VAR@; \
357   fi;
358
359 APXS = @APXS@
360
361 PYTHON = @PYTHON@
362 PERL = @PERL@
363
364 JDK = @JDK@
365 JAVA = @JAVA@
366 JAVAC = @JAVAC@
367 JAVADOC = @JAVADOC@
368 JAVAC_FLAGS = @JAVAC_FLAGS@
369 JAVAH = @JAVAH@
370 JAR = @JAR@
371
372 JAVA_CLASSPATH=$(abs_srcdir)/subversion/bindings/javahl/src:@JAVA_CLASSPATH@
373 javahl_java_CLASSPATH=$(JAVA_CLASSPATH)
374 javahl_compat_CLASSPATH=$(JAVA_CLASSPATH)
375 javahl_tests_CLASSPATH=$(JAVA_CLASSPATH)
376 javahl_compat_tests_CLASSPATH=$(JAVA_CLASSPATH)
377
378 RUBY = @RUBY@
379 RUBY_MAJOR = @RUBY_MAJOR@
380 RUBY_MINOR = @RUBY_MINOR@
381 RDOC = @RDOC@
382
383 ECHO_C = @ECHO_C@
384 ECHO_N = @ECHO_N@
385
386 TESTS = $(TEST_PROGRAMS) @BDB_TEST_PROGRAMS@
387
388 all: mkdir-init local-all
389 clean: local-clean
390 distclean: local-distclean
391 extraclean: local-extraclean
392 install: local-install revision-install
393
394 @INCLUDE_OUTPUTS@
395
396 local-all: @BUILD_RULES@ @TRANSFORM_LIBTOOL_SCRIPTS@
397
398 transform-libtool-scripts: @BUILD_RULES@
399         @$(SHELL) $(top_srcdir)/build/transform_libtool_scripts.sh
400
401 locale-gnu-pot:
402         cd $(abs_srcdir) && XGETTEXT="$(XGETTEXT)" MSGMERGE="$(MSGMERGE)" \
403           $(SHELL) tools/po/po-update.sh pot
404
405 # "make locale-gnu-po-update" updates all translations.
406 # "make locale-gnu-po-update PO=ll" updates only the ll.po file.
407 locale-gnu-po-update:
408         cd $(abs_srcdir) && XGETTEXT="$(XGETTEXT)" MSGMERGE="$(MSGMERGE)" \
409           $(SHELL) tools/po/po-update.sh $(PO)
410
411 # clean everything but the bulky test output, returning the system back
412 # to before 'make' was run.
413 fast-clean: doc-clean
414         @list='$(BUILD_DIRS)'; for i in $$list; do                   \
415           if [ -d $$i ]; then                                        \
416             (cd $$i && rm -f *.o *.lo *.la *.la-a *.spo *.mo &&      \
417              rm -rf .libs);                                          \
418           fi                                                         \
419         done
420         echo $(CLEAN_FILES) | xargs rm -f --
421         find $(CTYPES_PYTHON_SRC_DIR) $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) \
422                 $(abs_srcdir)/build $(top_srcdir)/subversion/tests/cmdline/svntest \
423                 -name "*.pyc" -exec rm {} ';'
424
425 # clean everything, returning to before './configure' was run.
426 SVN_CONFIG_SCRIPT_FILES = @SVN_CONFIG_SCRIPT_FILES@
427 local-distclean: local-clean
428         rm -fr config.cache config.log config.nice config.status \
429           libtool mkmf.log subversion/svn_private_config.h \
430           subversion/bindings/javahl/classes \
431           subversion/bindings/javahl/include \
432         $(SVN_CONFIG_SCRIPT_FILES)
433         rm -f Makefile
434
435 # clean everything out, returning to before './autogen.sh' was run.
436 local-extraclean: extraclean-bindings local-distclean
437         rm -f $(top_srcdir)/build-outputs.mk \
438               $(top_srcdir)/subversion/svn_private_config.h.in \
439               $(top_srcdir)/configure \
440               $(top_srcdir)/gen-make.opts \
441               $(top_srcdir)/build/config.guess \
442               $(top_srcdir)/build/config.sub \
443               $(top_srcdir)/build/libtool.m4 \
444               $(top_srcdir)/build/ltoptions.m4 \
445               $(top_srcdir)/build/ltsugar.m4 \
446               $(top_srcdir)/build/ltversion.m4 \
447               $(top_srcdir)/build/lt~obsolete.m4 \
448               $(top_srcdir)/build/ltmain.sh \
449               $(top_srcdir)/build/transform_libtool_scripts.sh \
450               $(EXTRACLEAN_FILES)
451
452
453 # clean everything, including test output.
454 local-clean: check-clean clean-bindings fast-clean
455
456 local-install: @INSTALL_RULES@
457
458 revision-install:
459         test -d $(DESTDIR)$(includedir)/subversion-1 || \
460           $(MKDIR) $(DESTDIR)$(includedir)/subversion-1
461         (subversion/svnversion/svnversion $(top_srcdir) 2> /dev/null ||  \
462          svnversion $(top_srcdir) 2> /dev/null ||                        \
463          echo "unknown";                                                 \
464         ) > $(DESTDIR)$(includedir)/subversion-1/svn-revision.txt
465
466 install-static: @INSTALL_STATIC_RULES@
467
468 # JavaHL target aliases
469 javahl: mkdir-init javahl-java javahl-javah javahl-callback-javah javahl-types-javah javahl-lib @JAVAHL_TESTS_TARGET@ javahl-compat
470 install-javahl: javahl install-javahl-java install-javahl-javah install-javahl-lib
471 javahl-compat: javahl-compat-java @JAVAHL_COMPAT_TESTS_TARGET@
472
473 clean-javahl:
474         rm -rf $(javahl_java_PATH) $(javahl_javah_PATH) @JAVAHL_OBJDIR@
475         rm -fr $(javahl_test_rootdir)
476         rm -f $(libsvnjavahl_PATH)/*.la $(JAVAHL_JAR)
477         rm -f $(libsvnjavahl_PATH)/*.lo
478         rm -f $(libsvnjavahl_PATH)/*.o
479
480 check-tigris-javahl: javahl-compat
481         @FIX_JAVAHL_LIB@
482         $(TEST_SHLIB_VAR_JAVAHL) \
483         $(JAVA) "-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.tests=$(JAVAHL_TESTS)" org.tigris.subversion.javahl.RunTests
484
485 check-apache-javahl: javahl
486         @FIX_JAVAHL_LIB@
487         $(TEST_SHLIB_VAR_JAVAHL) \
488         $(JAVA) "-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.tests=$(JAVAHL_TESTS)" org.apache.subversion.javahl.RunTests
489
490 check-javahl: check-apache-javahl
491
492 check-all-javahl: check-apache-javahl check-tigris-javahl
493
494 # "make check CLEANUP=true" will clean up directories for successful tests.
495 # "make check TESTS=subversion/tests/cmdline/basic_tests.py"
496 #  will perform only basic tests (likewise for other tests).
497 check: bin @TRANSFORM_LIBTOOL_SCRIPTS@ $(TEST_DEPS) @BDB_TEST_DEPS@
498         @if test "$(PYTHON)" != "none"; then                                 \
499           flags="--verbose";                                                 \
500           if test "$(CLEANUP)" != ""; then                                   \
501             flags="--cleanup $$flags";                                       \
502           fi;                                                                \
503           if test "$(BASE_URL)" != ""; then                                  \
504             flags="--url $(BASE_URL) $$flags";                               \
505           fi;                                                                \
506           if test "$(FS_TYPE)" != ""; then                                   \
507             flags="--fs-type $(FS_TYPE) $$flags";                            \
508           fi;                                                                \
509           if test "$(HTTP_LIBRARY)" != ""; then                              \
510             flags="--http-library $(HTTP_LIBRARY) $$flags";                  \
511           fi;                                                                \
512           if test "$(SERVER_MINOR_VERSION)" != ""; then                      \
513             flags="--server-minor-version $(SERVER_MINOR_VERSION) $$flags";  \
514           fi;                                                                \
515           if test "$(ENABLE_SASL)" != ""; then                               \
516             flags="--enable-sasl $$flags";                                   \
517           fi;                                                                \
518           if test "$(FSFS_SHARDING)" != ""; then                             \
519             flags="--fsfs-sharding $(FSFS_SHARDING) $$flags";                \
520           fi;                                                                \
521           if test "$(FSFS_PACKING)" != ""; then                              \
522             flags="--fsfs-packing $$flags";                                  \
523           fi;                                                                \
524           if test "$(PARALLEL)" != ""; then                                  \
525             flags="--parallel $$flags";                                      \
526           fi;                                                                \
527           if test "$(LOG_TO_STDOUT)" != ""; then                             \
528             flags="--log-to-stdout $$flags";                                 \
529           fi;                                                                \
530           if test "$(MILESTONE_FILTER)" != ""; then                          \
531             flags="--list --milestone-filter=$(MILESTONE_FILTER)             \
532                    --mode-filter=$(MODE_FILTER) --log-to-stdout $$flags";    \
533           fi;                                                                \
534           if test "$(SET_LOG_LEVEL)" != ""; then                             \
535             flags="--set-log-level $(SET_LOG_LEVEL) $$flags";                \
536           fi;                                                                \
537           if test "$(SSL_CERT)" != ""; then                                  \
538             flags="--ssl-cert $(SSL_CERT) $$flags";                          \
539           fi;                                                                \
540           if test "$(HTTP_PROXY)" != ""; then                                \
541             flags="--http-proxy $(HTTP_PROXY) $$flags";                      \
542           fi;                                                                \
543           LD_LIBRARY_PATH='$(auth_plugin_dirs):$(LD_LIBRARY_PATH)'           \
544           $(PYTHON) $(top_srcdir)/build/run_tests.py                         \
545                     --config-file $(top_srcdir)/subversion/tests/tests.conf  \
546                     $$flags                                                  \
547                     '$(abs_srcdir)' '$(abs_builddir)' $(TESTS);              \
548         else                                                                 \
549           echo "make check: Python 2.5 or greater is required,";             \
550           echo "            but was not detected during configure";          \
551           exit 1;                                                            \
552         fi;
553
554 # First, set up Apache as documented in
555 # subversion/tests/cmdline/README.
556 davcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod
557         @$(MAKE) check BASE_URL=http://localhost
558
559 # Automatically configure and run Apache httpd on a random port, and then
560 # run make check.
561 davautocheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod
562         @# Takes MODULE_PATH, USE_HTTPV1 and SVN_PATH_AUTHZ in the environment.
563         @APXS=$(APXS) $(top_srcdir)/subversion/tests/cmdline/davautocheck.sh
564
565 # First, run:
566 #   subversion/svnserve/svnserve -d -r `pwd`/subversion/tests/cmdline
567 svncheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@
568         @$(MAKE) check BASE_URL=svn://127.0.0.1
569
570 # 'make svnserveautocheck' runs svnserve for you and kills it.
571 svnserveautocheck: svnserve bin $(TEST_DEPS) @BDB_TEST_DEPS@
572         @env PYTHON=$(PYTHON) THREADED=$(THREADED) \
573           $(top_srcdir)/subversion/tests/cmdline/svnserveautocheck.sh
574
575 # First, run:
576 #   subversion/svnserve/svnserve --listen-host "::1" -d -r `pwd`/subversion/tests/cmdline
577
578 svncheck6: bin $(TEST_DEPS) @BDB_TEST_DEPS@
579         @$(MAKE) check BASE_URL=svn://\[::1\]
580
581 # First make sure you can ssh to localhost and that "svnserve" is in
582 # the path of the resulting shell.
583 svnsshcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@
584         @$(MAKE) check \
585           BASE_URL=svn+ssh://localhost`pwd`/subversion/tests/cmdline
586
587 bdbcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@
588         @$(MAKE) check FS_TYPE=bdb
589
590 # Create an execution coverage report from the data collected during
591 # all execution since the last reset.
592 gcov:
593         lcov --capture -d . -b . -o gcov-lcov.dat > gcov-lcov.log
594         genhtml gcov-lcov.dat -o gcov-report > gcov-genhtml.log
595
596 # Reset all execution coverage counters to zero.
597 gcov-reset:
598         lcov --zerocounters -d .
599
600 # Remove the execution coverage data and the report.
601 gcov-clean:
602         rm -f gcov-lcov.dat gcov-lcov.log gcov-genhtml.log
603         rm -rf gcov-report
604         find . -name "*.gcda" -o -name "*.gcno" -print0 | xargs -0 rm -f --
605
606 check-clean: gcov-clean
607         if [ -d subversion/tests/cmdline/svn-test-work ]; then \
608           find subversion/tests/cmdline/svn-test-work -mindepth 1 -maxdepth 1 \
609                -print0 | xargs -0 rm -rf --;   \
610         fi
611         rm -rf subversion/tests/libsvn_fs/test-repo-*          \
612                subversion/tests/libsvn_fs_base/test-repo-*     \
613                subversion/tests/libsvn_fs_fs/test-repo-*       \
614                subversion/tests/libsvn_ra_local/test-repo-*    \
615                subversion/tests/libsvn_repos/test-repo-*       \
616                subversion/tests/libsvn_subr/z                  \
617                subversion/tests/libsvn_wc/fake-wc              \
618                subversion/tests/libsvn_client/test-patch*      \
619                subversion/tests/libsvn_client/test-*/          \
620                subversion/tests/libsvn_diff/B2                 \
621                subversion/tests/libsvn_diff/T1                 \
622                subversion/tests/libsvn_diff/T2                 \
623                subversion/tests/libsvn_diff/T3                 \
624                subversion/tests/svnserveautocheck.pid          \
625                tests.log fails.log
626
627 mkdir-init:
628         @list='$(BUILD_DIRS) $(SCHEMA_DIR) doc';         \
629         for i in $$list; do                              \
630             if [ ! -d $$i ]; then                        \
631                 $(MKDIR) $$i ;                           \
632             fi;                                          \
633         done
634
635 # DOCUMENTATION RULES
636
637 # Every single document in every format.
638 doc: doc-api doc-javahl
639
640 # Generate API documentation for the C libraries.
641 ### This could also generate POD for swig-perl, etc.
642 doc-api: mkdir-init
643         ( cd $(top_srcdir) && \
644           sed "s,\(OUTPUT_DIRECTORY *= *\),\1$(abs_builddir)/," \
645           doc/doxygen.conf | $(DOXYGEN) - )
646
647 # Generate API documentation for the JavaHL package.
648 doc-javahl:
649         $(JAVADOC) -d $(abs_builddir)/doc/javadoc \
650           -sourcepath $(top_srcdir)/subversion/bindings/javahl/src \
651           -link http://java.sun.com/javase/6/docs/api/ \
652           org.tigris.subversion.javahl \
653       org.apache.subversion.javahl \
654       org.apache.subversion.javahl.callback \
655       org.apache.subversion.javahl.types
656
657 doc-clean:
658         rm -rf $(top_srcdir)/doc/doxygen
659         rm -rf $(top_srcdir)/doc/javadoc
660
661 # Converting from the .rnc XML shcemas to various other schema formats.
662 SCHEMAS_DTD = $(SCHEMA_DIR)/blame.dtd $(SCHEMA_DIR)/info.dtd \
663               $(SCHEMA_DIR)/list.dtd $(SCHEMA_DIR)/log.dtd \
664               $(SCHEMA_DIR)/status.dtd $(SCHEMA_DIR)/props.dtd
665
666 SCHEMAS_RNG = $(SCHEMA_DIR)/blame.rng $(SCHEMA_DIR)/info.rng \
667               $(SCHEMA_DIR)/list.rng $(SCHEMA_DIR)/log.rng \
668               $(SCHEMA_DIR)/status.rng $(SCHEMA_DIR)/props.rng
669
670 SCHEMAS_XSD = $(SCHEMA_DIR)/blame.xsd $(SCHEMA_DIR)/info.xsd \
671               $(SCHEMA_DIR)/list.xsd $(SCHEMA_DIR)/log.xsd \
672               $(SCHEMA_DIR)/status.xsd $(SCHEMA_DIR)/props.xsd
673
674 schema: schema-rng schema-dtd schema-xsd
675
676 schema-rng: $(SCHEMAS_RNG)
677 schema-dtd: $(SCHEMAS_DTD)
678 schema-xsd: $(SCHEMAS_XSD)
679
680 $(SCHEMAS_RNG) $(SCHEMAS_DTD) $(SCHEMAS_XSD): $(SCHEMA_DIR)/common.rnc
681
682 schema-clean:
683         (cd $(SCHEMA_DIR) && rm -f *.rng *.dtd *.xsd)
684
685 #
686 # Implicit rules for creating outputs from input files
687 #
688 .SUFFIXES:
689 .SUFFIXES: .c .cpp .lo .o .la-a .la \
690            .po .spo .mo .rnc .rng .dtd .xsd .sql .h
691
692 .sql.h:
693         $(PYTHON) $(top_srcdir)/build/transform_sql.py $< $(top_srcdir)/$@
694
695 .c.o:
696         $(COMPILE) -o $@ -c $<
697
698 .cpp.o:
699         $(COMPILE_CXX) -o $@ -c $<
700
701 .c.lo:
702         $(LT_COMPILE) -o $@ -c $<
703
704 .cpp.lo:
705         $(LT_COMPILE_CXX) -o $@ -c $<
706
707 .la.la-a:
708         sed "/library_names/s/'.*'/''/" $< > $@
709
710
711 # Strip the Content-Type: header from the po file if we don't have a
712 # gettext that supports bind_textdomain_codeset, so it doesn't try
713 # to convert our UTF-8 .po files to the locale encoding.
714 @NO_GETTEXT_CODESET@.po.spo:
715 @NO_GETTEXT_CODESET@    sed \
716 @NO_GETTEXT_CODESET@    '/^"Content-Type: text\/plain; charset=UTF-8\\n"$$/d' \
717 @NO_GETTEXT_CODESET@    $< > $@
718
719 @NO_GETTEXT_CODESET@.spo.mo:
720 @NO_GETTEXT_CODESET@    $(MSGFMT) $(MSGFMTFLAGS) -o $@ $<
721
722 # For systems with bind_textdomain_codeset, just leave the Content-Type:
723 # header alone.
724 @GETTEXT_CODESET@.po.mo:
725 @GETTEXT_CODESET@       $(MSGFMT) $(MSGFMTFLAGS) -o $@ $<
726
727 .rnc.rng:
728         @TRANG@ $< $@
729
730 .rnc.dtd:
731         @TRANG@ $< $@
732
733 .rnc.xsd:
734         @TRANG@ $< $@
735
736 install-docs: install-man
737
738 manroot = $(mandir)/man
739 install-man:
740         @list='$(MANPAGES)';                                               \
741         for i in $$list; do                                                \
742           if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i;               \
743           else file=$$i; fi;                                               \
744           ext=`echo $$i | sed -e 's/^.*\\.//'`;                            \
745           $(MKDIR) $(DESTDIR)$(manroot)$$ext;                              \
746           inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`;                   \
747           inst=`echo $$inst | sed -e 's/^.*\///'`;                         \
748           inst=`echo $$inst`.$$ext;                                        \
749           echo "$(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst";  \
750           $(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst;         \
751         done
752
753 install-swig-py: install-swig-py-lib
754 install-swig-rb: install-swig-rb-lib
755
756 clean-bindings: clean-swig clean-ctypes-python clean-javahl
757
758 extraclean-bindings: clean-swig extraclean-swig-headers \
759                         extraclean-swig-py extraclean-swig-rb \
760                         extraclean-swig-pl \
761                         clean-ctypes-python clean-javahl \
762
763 clean-swig: clean-swig-headers clean-swig-py clean-swig-rb clean-swig-pl
764         @rm -f .swig_checked
765
766 EXTRACLEAN_SWIG_HEADERS=rm -f $(SWIG_SRC_DIR)/proxy/*.swg
767
768 clean-swig-headers:
769         if test -z "$(RELEASE_MODE)"; then \
770           $(EXTRACLEAN_SWIG_HEADERS); \
771         fi
772
773 extraclean-swig-headers: clean-swig-headers
774         $(EXTRACLEAN_SWIG_HEADERS)
775
776 $(SWIG_PL_DIR)/native/Makefile.PL: $(SWIG_SRC_DIR)/perl/native/Makefile.PL.in
777         ./config.status subversion/bindings/swig/perl/native/Makefile.PL
778
779 $(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL
780         cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL
781
782 # There is a "readlink -f" command on some systems for the same purpose,
783 # but it's not as portable (e.g. Mac OS X doesn't have it).  These should
784 # only be used where Python/Perl are known to be available.
785 READLINK_PY=$(PYTHON) -c 'import sys,os; print(os.path.realpath(sys.argv[1]))'
786 READLINK_PL=$(PERL) -e 'use Cwd; print Cwd::realpath(shift)'
787
788 swig-pl_DEPS = autogen-swig-pl libsvn_swig_perl \
789   $(SWIG_PL_DIR)/native/Makefile
790 swig-pl: $(swig-pl_DEPS)
791         if test "`$(READLINK_PL) $(SWIG_PL_DIR)`" != "`$(READLINK_PL) $(SWIG_PL_SRC_DIR)`"; then \
792           ln -sf $(SWIG_PL_SRC_DIR)/native/*.c $(SWIG_PL_DIR)/native; \
793         fi
794         cd $(SWIG_PL_DIR)/native; $(MAKE) OPTIMIZE="" OTHERLDFLAGS="$(SWIG_LDFLAGS)"
795
796 check-swig-pl: swig-pl swig-pl-lib
797         cd $(SWIG_PL_DIR)/native; $(MAKE) test
798
799 install-swig-pl: swig-pl install-swig-pl-lib
800         cd $(SWIG_PL_DIR)/native; $(MAKE) install
801
802 EXTRACLEAN_SWIG_PL=rm -f $(SWIG_PL_SRC_DIR)/native/svn_*.c \
803                          $(SWIG_PL_SRC_DIR)/native/core.c
804
805 # Running Makefile.PL at this point *fails* (cannot find ..../.libs) so if the
806 # Makefile does not exist, DO NOT try to make it. But, if it doesn't exist,
807 # then the directory is probably clean anyway.
808 clean-swig-pl:
809         if test -z "$(RELEASE_MODE)"; then \
810           $(EXTRACLEAN_SWIG_PL); \
811         fi
812         for d in $(SWIG_PL_DIR)/libsvn_swig_perl; \
813         do \
814           cd $$d; \
815           rm -rf *.lo *.la *.o .libs; \
816         done
817         if [ -f "$(SWIG_PL_DIR)/native/Makefile" ]; then \
818           cd $(SWIG_PL_DIR)/native; $(MAKE) clean; \
819         fi
820
821 extraclean-swig-pl: clean-swig-pl
822         $(EXTRACLEAN_SWIG_PL)
823
824 $(SWIG_PY_DIR)/libsvn:
825         mkdir $(SWIG_PY_DIR)/libsvn
826
827 copy-swig-py: autogen-swig-py $(SWIG_PY_DIR)/libsvn
828         @for f in $(SWIG_PY_SRC_DIR)/*.py $(SWIG_PY_DIR)/*.py; do \
829           ! [ -f "$$f" ] || cp -pf $$f $(SWIG_PY_DIR)/libsvn; \
830         done
831         @touch $(SWIG_PY_DIR)/libsvn/__init__.py
832
833 swig-py: autogen-swig-py copy-swig-py
834
835 check-swig-py: swig-py
836         $(TEST_SHLIB_VAR_SWIG_PY) \
837         cd $(SWIG_PY_DIR); \
838           $(PYTHON) $(SWIG_PY_SRC_DIR)/tests/run_all.py
839
840 EXTRACLEAN_SWIG_PY=rm -rf $(SWIG_PY_SRC_DIR)/svn_*.c $(SWIG_PY_SRC_DIR)/core.c \
841                           $(SWIG_PY_SRC_DIR)/[a-z]*.py
842 clean-swig-py:
843         rm -rf $(SWIG_PY_DIR)/libsvn
844         if test -z "$(RELEASE_MODE)"; then \
845           $(EXTRACLEAN_SWIG_PY); \
846         fi
847         for d in $(SWIG_PY_DIR) $(SWIG_PY_DIR)/libsvn_swig_py; \
848         do \
849           cd $$d && rm -rf *.lo *.la *.o *.pyc .libs; \
850         done
851         find $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) -name "*.pyc" -exec rm {} ';'
852
853 extraclean-swig-py: clean-swig-py
854         $(EXTRACLEAN_SWIG_PY)
855
856 swig-rb: autogen-swig-rb
857
858 check-swig-rb: swig-rb svnserve
859         $(TEST_SHLIB_VAR_SWIG_RB) \
860         cd $(SWIG_RB_DIR); \
861           if [ "$(RUBY_MAJOR)" -eq 1 -a "$(RUBY_MINOR)" -lt 9 ] ; then \
862             $(RUBY) -I $(SWIG_RB_SRC_DIR) \
863               $(SWIG_RB_SRC_DIR)/test/run-test.rb \
864               --verbose=$(SWIG_RB_TEST_VERBOSE); \
865           else \
866             $(RUBY) -I $(SWIG_RB_SRC_DIR) \
867               $(SWIG_RB_SRC_DIR)/test/run-test.rb; \
868           fi
869
870 EXTRACLEAN_SWIG_RB=rm -f $(SWIG_RB_SRC_DIR)/svn_*.c $(SWIG_RB_SRC_DIR)/core.c
871
872 clean-swig-rb:
873         rm -rf $(SWIG_RB_DIR)/test/repos $(SWIG_RB_DIR)/test/wc
874         if test -z "$(RELEASE_MODE)"; then \
875           $(EXTRACLEAN_SWIG_RB); \
876         fi
877         for d in $(SWIG_RB_DIR) $(SWIG_RB_DIR)/libsvn_swig_ruby; \
878         do \
879           cd $$d; \
880           rm -rf *.lo *.la *.o .libs; \
881         done
882
883 extraclean-swig-rb: clean-swig-rb
884         $(EXTRACLEAN_SWIG_RB)
885
886 install-swig-rb-doc:
887         $(RDOC) --all --ri --op "$(SWIG_RB_RI_DATADIR)" "$(SWIG_RB_SRC_DIR)/svn"
888
889 # ctypes-python make targets
890 ctypes-python: local-all
891         $(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)"
892
893 install-ctypes-python: ctypes-python
894         cd $(CTYPES_PYTHON_SRC_DIR); \
895           $(PYTHON) setup.py install --prefix="$(DESTDIR)$(prefix)"
896
897 check-ctypes-python: ctypes-python
898         cd $(CTYPES_PYTHON_SRC_DIR); \
899           $(LT_EXECUTE) $(PYTHON) test/run_all.py
900
901 # If any of those files exists, run ctypes' 'setup.py clean'.  We don't run
902 # it otherwise because it spams stdout+stderr; see r1479326.
903 clean-ctypes-python:
904         cd $(CTYPES_PYTHON_SRC_DIR);            \
905           for b in build csvn/core/functions.py svn_all.py svn_all2.py ; do \
906             if [ -e "$$b" ] ; then              \
907               $(PYTHON) setup.py clean --all;   \
908               break;                            \
909             fi;                                 \
910           done
911
912 # manually describe a dependency, which we won't otherwise detect
913 subversion/libsvn_wc/wc-queries.h: $(abs_srcdir)/subversion/libsvn_wc/wc-metadata.sql
914 subversion/libsvn_wc/wc-queries.h: $(abs_srcdir)/subversion/libsvn_wc/wc-checks.sql
915
916 # Compatibility symlink.
917 # This runs after the target of the same name in build-outputs.mk.
918 INSTALL_EXTRA_TOOLS=\
919   $(MKDIR) $(DESTDIR)$(bindir); \
920   test -n "$$SVN_SVNMUCC_IS_SVNSYITF" && \
921   ln -sf svnmucc$(EXEEXT) $(DESTDIR)$(bindir)/svnsyitf$(EXEEXT); \
922   if test "$(DESTDIR)$(bindir)" != "$(DESTDIR)$(toolsdir)"; then \
923     ln -sf $(bindir)/svnmucc$(EXEEXT) $(DESTDIR)$(toolsdir)/svnmucc$(EXEEXT); \
924   fi