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