/[Apache-SVN]/subversion/trunk/Makefile.in
ViewVC logotype

Contents of /subversion/trunk/Makefile.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1878379 - (show annotations) (download)
Tue Jun 2 03:08:35 2020 UTC (4 years, 1 month ago) by futatuki
File size: 43315 byte(s)
configure: Add new option to specify path to swig bindings targets

Before this commit, it was not possible to use distinct Python
installations for the build system and test suite on the one hand,
and for building language bindings against on the other hand.

So we introduce new variable "SWIG_PY_PYTHON" for a target of
the SWIG Python bindings and a configure option to specify it. 
Also, for the symmetry we introduce "SWIG_PL_PERL" and
"SWIG_RB_RUBY" for the Perl and Ruby SWIG bindings, and options
to specify them.

* configure.ac ():
  - Use variables "SWIG_PL_PERL", "SWIG_PY_PYTHON", "SWIG_RB_RUBY" for
    targets of the SWIG Perl, Python, Ruby bindings instead of "PERL",
    "PYTHON", "RUBY".
  - Introduce --with-swig-perl, --with-swig-python, --with-swig-ruby
    options for setting variables "SWIG_PL_PERL", "SWIG_PY_PYTHON",
    "SWIG_RB_RUBY".

* Makefile.in, build/ac-macros/swig.m4 ():
  Use variables "SWIG_PL_PERL", "SWIG_PY_PYTHON", "SWIG_RB_RUBY" for
  targets of the SWIG Perl, Python, Ruby bindings instead of "PERL",
  "PYTHON", "RUBY".

* subversion/bindings/swig/INSTALL
  (BUILDING SWIG BINDINGS FOR SVN ON UNIX step 2):
  - Describe how to specify the path to the target language interpreters
    with the new options, instead of using environment variables.
  - Fix the name of glue libraries.

Review by: danielsh

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

Properties

Name Value
svn:eol-style native

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26