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