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