1251881Speter#
2251881Speter# Makefile.in:  template Makefile for Subversion
3251881Speter#
4251881Speter# ====================================================================
5251881Speter#    Licensed to the Apache Software Foundation (ASF) under one
6251881Speter#    or more contributor license agreements.  See the NOTICE file
7251881Speter#    distributed with this work for additional information
8251881Speter#    regarding copyright ownership.  The ASF licenses this file
9251881Speter#    to you under the Apache License, Version 2.0 (the
10251881Speter#    "License"); you may not use this file except in compliance
11251881Speter#    with the License.  You may obtain a copy of the License at
12251881Speter#
13251881Speter#      http://www.apache.org/licenses/LICENSE-2.0
14251881Speter#
15251881Speter#    Unless required by applicable law or agreed to in writing,
16251881Speter#    software distributed under the License is distributed on an
17251881Speter#    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18251881Speter#    KIND, either express or implied.  See the License for the
19251881Speter#    specific language governing permissions and limitations
20251881Speter#    under the License.
21251881Speter# ====================================================================
22251881Speter#
23251881Speter
24251881Spetertop_builddir = .
25251881Spetertop_srcdir = @top_srcdir@
26251881Speterabs_builddir = @abs_builddir@
27251881Speterabs_srcdir = @abs_srcdir@
28251881SpeterVPATH = @top_srcdir@
29251881Speter
30251881SpeterSVN_RA_LIB_DEPS = @SVN_RA_LIB_DEPS@
31251881SpeterSVN_RA_LIB_INSTALL_DEPS = @SVN_RA_LIB_INSTALL_DEPS@
32251881SpeterSVN_RA_LIB_LINK = @SVN_RA_LIB_LINK@
33251881Speter
34251881SpeterSVN_FS_LIB_DEPS = @SVN_FS_LIB_DEPS@
35251881SpeterSVN_FS_LIB_INSTALL_DEPS = @SVN_FS_LIB_INSTALL_DEPS@
36251881SpeterSVN_FS_LIB_LINK = @SVN_FS_LIB_LINK@
37251881Speter
38251881SpeterSWIG_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig
39251881SpeterSWIG_BUILD_DIR = $(abs_builddir)/subversion/bindings/swig
40251881Speter
41251881SpeterSCHEMA_DIR = subversion/svn/schema
42251881Speter
43251881SpeterSVN_APR_LIBS = @SVN_APR_LIBS@
44251881SpeterSVN_APRUTIL_LIBS = @SVN_APRUTIL_LIBS@
45251881SpeterSVN_APR_MEMCACHE_LIBS = @SVN_APR_MEMCACHE_LIBS@
46251881SpeterSVN_DB_LIBS = @SVN_DB_LIBS@
47251881SpeterSVN_GPG_AGENT_LIBS = @SVN_GPG_AGENT_LIBS@
48251881SpeterSVN_GNOME_KEYRING_LIBS = @SVN_GNOME_KEYRING_LIBS@
49251881SpeterSVN_KWALLET_LIBS = @SVN_KWALLET_LIBS@
50251881SpeterSVN_MAGIC_LIBS = @SVN_MAGIC_LIBS@
51289180SpeterSVN_INTL_LIBS = @SVN_INTL_LIBS@
52251881SpeterSVN_SASL_LIBS = @SVN_SASL_LIBS@
53251881SpeterSVN_SERF_LIBS = @SVN_SERF_LIBS@
54251881SpeterSVN_SQLITE_LIBS = @SVN_SQLITE_LIBS@
55251881SpeterSVN_XML_LIBS = @SVN_XML_LIBS@
56251881SpeterSVN_ZLIB_LIBS = @SVN_ZLIB_LIBS@
57362181SdimSVN_LZ4_LIBS = @SVN_LZ4_LIBS@
58362181SdimSVN_UTF8PROC_LIBS = @SVN_UTF8PROC_LIBS@
59362181SdimSVN_MACOS_PLIST_LIBS = @SVN_MACOS_PLIST_LIBS@
60362181SdimSVN_MACOS_KEYCHAIN_LIBS = @SVN_MACOS_KEYCHAIN_LIBS@
61251881Speter
62251881SpeterLIBS = @LIBS@
63251881Speter
64251881Speterprefix = @prefix@
65251881Speterexec_prefix = @exec_prefix@
66251881Speterlibdir = @libdir@
67251881Speterfsmod_libdir = @libdir@
68251881Speterramod_libdir = @libdir@
69251881Speterbdb_libdir = @libdir@
70251881Spetergnome_keyring_libdir = @libdir@
71251881Spetergpg_agent_libdir = @libdir@
72251881Speterkwallet_libdir = @libdir@
73251881Speterserf_libdir = @libdir@
74251881Speterbindir = @bindir@
75251881Speterincludedir = @includedir@
76251881Spetermandir = @mandir@
77251881Spetersrcdir = @srcdir@
78251881Spetercanonicalized_srcdir = @canonicalized_srcdir@
79251881Speterdatadir = @datadir@
80251881Speterdatarootdir = @datarootdir@
81251881Speterlocaledir = @localedir@
82251881Speter
83362181Sdim# where to install SVN++
84362181Sdimsvnxx_libdir = @libdir@
85362181Sdim
86251881Speter# where to install libsvn_swig_*
87251881Speterswig_py_libdir = @libdir@
88251881Speterswig_pl_libdir = @libdir@
89251881Speterswig_rb_libdir = @libdir@
90251881Speter
91251881Speter### these possibly need further discussion
92251881Speterswig_pydir = @libdir@/svn-python/libsvn
93251881Speterswig_pydir_extra = @libdir@/svn-python/svn
94251881Speterswig_pldir = @libdir@/svn-perl
95251881Speterswig_rbdir = $(SWIG_RB_SITE_ARCH_DIR)/svn/ext
96251881Spetertoolsdir = @bindir@/svn-tools
97251881Speter
98289180Speter# where to install pkg-config files
99289180Speterpkgconfig_dir = $(datadir)/pkgconfig
100289180Speter
101251881Speterjavahl_javadir = @libdir@/svn-javahl
102251881Speterjavahl_javahdir = @libdir@/svn-javahl/include
103251881Speterjavahl_libdir = @libdir@
104251881Speterjavahl_test_rootdir=$(abs_builddir)/subversion/bindings/javahl/test-work
105251881Speterjavahl_test_srcdir=$(abs_srcdir)/subversion/bindings/javahl
106251881Speter
107251881Spetergnome_auth_dir = $(abs_builddir)/subversion/libsvn_auth_gnome_keyring/.libs
108251881Speterkwallet_auth_dir = $(abs_builddir)/subversion/libsvn_auth_kwallet/.libs
109251881Speterauth_plugin_dirs = $(gnome_auth_dir):$(kwallet_auth_dir)
110251881Speter
111251881SpeterMSGFMT = @MSGFMT@
112251881SpeterMSGFMTFLAGS = @MSGFMTFLAGS@
113251881SpeterMSGMERGE = @MSGMERGE@
114251881SpeterXGETTEXT = @XGETTEXT@
115251881SpeterTRANG = @TRANG@
116251881Speter
117251881SpeterPACKAGE_NAME=@PACKAGE_NAME@
118251881SpeterPACKAGE_VERSION=@PACKAGE_VERSION@
119251881Speter
120251881SpeterCC = @CC@
121251881SpeterCXX = @CXX@
122258569SpeterCPP = @CPP@
123251881SpeterEXEEXT = @EXEEXT@
124251881Speter
125251881SpeterSHELL = @SHELL@
126251881SpeterLIBTOOL = @SVN_LIBTOOL@
127251881SpeterLTFLAGS = --tag=CC --silent
128251881SpeterLTCXXFLAGS = --tag=CXX --silent
129251881SpeterLT_CFLAGS = @LT_CFLAGS@
130251881SpeterLT_LDFLAGS = @LT_LDFLAGS@
131251881SpeterLT_SO_VERSION = @SVN_LT_SOVERSION@
132251881SpeterLT_NO_UNDEFINED = @LT_NO_UNDEFINED@
133251881SpeterLT_CXX_LIBADD = @LT_CXX_LIBADD@
134251881Speter
135251881SpeterINCLUDES = -I$(top_srcdir)/subversion/include -I$(top_builddir)/subversion \
136251881Speter           @SVN_APR_INCLUDES@ @SVN_APRUTIL_INCLUDES@ @SVN_APR_MEMCACHE_INCLUDES@ \
137251881Speter           @SVN_DB_INCLUDES@ @SVN_GNOME_KEYRING_INCLUDES@ \
138251881Speter           @SVN_KWALLET_INCLUDES@ @SVN_MAGIC_INCLUDES@ \
139251881Speter           @SVN_SASL_INCLUDES@ @SVN_SERF_INCLUDES@ @SVN_SQLITE_INCLUDES@ \
140362181Sdim           @SVN_XML_INCLUDES@ @SVN_ZLIB_INCLUDES@ @SVN_LZ4_INCLUDES@ \
141362181Sdim           @SVN_UTF8PROC_INCLUDES@
142251881Speter
143251881SpeterAPACHE_INCLUDES = @APACHE_INCLUDES@
144251881SpeterAPACHE_LIBEXECDIR = $(DESTDIR)@APACHE_LIBEXECDIR@
145251881SpeterAPACHE_LDFLAGS = @APACHE_LDFLAGS@
146251881Speter
147362181SdimBOOST_TEST_CPPFLAGS = @BOOST_CPPFLAGS@ -DBOOST_TEST_DYN_LINK -DBOOST_TEST_NO_MAIN
148362181SdimBOOST_TEST_LDFLAGS = @BOOST_LDFLAGS@ @BOOST_UNIT_TEST_FRAMEWORK_LIB@
149289180Speter
150251881SpeterSWIG = @SWIG@
151362181SdimSWIG_PY_INCLUDES = @SWIG_PY_INCLUDES@ @SVN_PY3C_INCLUDES@ -I$(SWIG_SRC_DIR)/python/libsvn_swig_py
152251881SpeterSWIG_PY_COMPILE = @SWIG_PY_COMPILE@
153251881SpeterSWIG_PY_LINK = @SWIG_PY_LINK@
154251881SpeterSWIG_PY_LIBS = @SWIG_PY_LIBS@
155362181SdimSWIG_PY_ERRMSG = @SWIG_PY_ERRMSG@
156251881SpeterSWIG_PL_INCLUDES = @SWIG_PL_INCLUDES@
157362181SdimSWIG_PL_ERRMSG = @SWIG_PL_ERRMSG@
158251881SpeterSWIG_RB_INCLUDES = @SWIG_RB_INCLUDES@ -I$(SWIG_SRC_DIR)/ruby/libsvn_swig_ruby
159251881SpeterSWIG_RB_COMPILE = @SWIG_RB_COMPILE@
160251881SpeterSWIG_RB_LINK = @SWIG_RB_LINK@
161251881SpeterSWIG_RB_LIBS = @SWIG_RB_LIBS@
162251881SpeterSWIG_RB_SITE_LIB_DIR = @SWIG_RB_SITE_LIB_DIR@
163251881SpeterSWIG_RB_SITE_ARCH_DIR = @SWIG_RB_SITE_ARCH_DIR@
164251881SpeterSWIG_RB_TEST_VERBOSE = @SWIG_RB_TEST_VERBOSE@
165251881SpeterSWIG_RB_RI_DATADIR = $(DESTDIR)$(datadir)/ri/$(RUBY_MAJOR).$(RUBY_MINOR)/site
166362181SdimSWIG_RB_ERRMSG = @SWIG_RB_ERRMSG@
167251881Speter
168251881SpeterCTYPESGEN = @CTYPESGEN@
169251881SpeterCTYPES_PYTHON_SRC_DIR = $(abs_srcdir)/subversion/bindings/ctypes-python
170251881Speter
171251881SpeterJAVAHL_JAR=subversion/bindings/javahl/svn-javahl.jar
172251881SpeterJAVAHL_INCLUDES= @JNI_INCLUDES@ -I$(abs_builddir)/subversion/bindings/javahl/include
173251881Speter
174362181SdimSVN_BUILD_SVNXX = @SVN_BUILD_SVNXX@
175362181SdimSVN_BUILD_SVNXX_TESTS = @SVN_BUILD_SVNXX_TESTS@
176362181SdimSVNXX_INCLUDES = -I$(abs_srcdir)/subversion/bindings/cxx/include
177251881Speter
178251881SpeterSVN_APR_CONFIG = @SVN_APR_CONFIG@
179251881SpeterSVN_APR_INCLUDES = @SVN_APR_INCLUDES@
180251881SpeterSVN_APRUTIL_CONFIG = @SVN_APRUTIL_CONFIG@
181251881SpeterSVN_APRUTIL_INCLUDES = @SVN_APRUTIL_INCLUDES@
182251881Speter
183251881SpeterMKDIR = @MKDIR@
184251881Speter
185251881SpeterDOXYGEN = @DOXYGEN@
186251881Speter
187251881Speter# The EXTRA_ parameters can be used to pass extra flags at 'make' time.
188289180SpeterCFLAGS = @CFLAGS@ @CUSERFLAGS@ $(EXTRA_CFLAGS)
189251881SpeterCMODEFLAGS = @CMODEFLAGS@
190289180SpeterCNOWARNFLAGS = @CNOWARNFLAGS@
191251881SpeterCMAINTAINERFLAGS = @CMAINTAINERFLAGS@
192289180SpeterCXXFLAGS = @CXXFLAGS@ @CXXUSERFLAGS@ $(EXTRA_CXXFLAGS)
193251881SpeterCXXMODEFLAGS = @CXXMODEFLAGS@
194289180SpeterCXXNOWARNFLAGS = @CXXNOWARNFLAGS@
195251881SpeterCXXMAINTAINERFLAGS = @CXXMAINTAINERFLAGS@
196251881Speter### A few of the CFLAGS (e.g. -Wmissing-prototypes, -Wstrict-prototypes,
197251881Speter### -Wmissing-declarations) are not valid for C++, and should be somehow
198251881Speter### suppressed (but they may come from httpd or APR).
199251881SpeterCPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS)
200251881SpeterLDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS)
201251881SpeterSWIG_LDFLAGS = @SWIG_LDFLAGS@ $(EXTRA_SWIG_LDFLAGS)
202362181SdimSWIG_FEATURES = @SWIG_FEATURES@
203362181SdimSWIG_PY_FEATURES = @SWIG_PY_FEATURES@
204362181SdimSWIG_PL_FEATURES = @SWIG_PL_FEATURES@
205362181SdimSWIG_RB_FEATURES = @SWIG_RB_FEATURES@
206362181SdimSWIG_PY_OPTS = @SWIG_PY_OPTS@
207251881Speter
208251881SpeterCOMPILE = $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CMAINTAINERFLAGS) $(CFLAGS) $(INCLUDES)
209289180SpeterCOMPILE_NOWARN = $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CNOWARNFLAGS) $(CFLAGS) $(INCLUDES)
210251881SpeterCOMPILE_CXX = $(CXX) $(CXXMODEFLAGS) $(CPPFLAGS) $(CXXMAINTAINERFLAGS) $(CXXFLAGS) $(INCLUDES)
211289180SpeterCOMPILE_CXX_NOWARN = $(CXX) $(CXXMODEFLAGS) $(CPPFLAGS) $(CXXNOWARNFLAGS) $(CXXFLAGS) $(INCLUDES)
212251881SpeterLT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) $(LT_CFLAGS)
213251881SpeterLT_COMPILE_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS)
214289180SpeterLT_COMPILE_CXX_NOWARN = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX_NOWARN) $(LT_CFLAGS)
215251881Speter# Execute a command that loads libraries from the build dir
216251881SpeterLT_EXECUTE = $(LIBTOOL) $(LTFLAGS) --mode=execute `for f in $(abs_builddir)/subversion/*/*.la; do echo -dlopen $$f; done`
217251881Speter
218251881Speter# special compilation for files destined for mod_dav_svn
219362181SdimCOMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CFLAGS) $(CMAINTAINERFLAGS) $(LT_CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c -shared
220362181SdimCOMPILE_SHARED_ONLY_LIB = $(LT_COMPILE) -o $@ -c -shared
221362181SdimCOMPILE_SHARED_ONLY_CXX_LIB = $(LT_COMPILE_CXX) -o $@ -c -shared
222251881Speter
223251881Speter# special compilation for files destined for libsvn_swig_* (e.g. swigutil_*.c)
224251881SpeterCOMPILE_SWIG_PY = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(CPPFLAGS) $(LT_CFLAGS) -DSWIGPYTHON $(SWIG_PY_INCLUDES) $(INCLUDES) -o $@ -c
225251881SpeterCOMPILE_SWIG_PL = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(LT_CFLAGS) $(SWIG_PL_INCLUDES) $(INCLUDES) -o $@ -c
226251881SpeterCOMPILE_SWIG_RB = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(CPPFLAGS) $(LT_CFLAGS) $(SWIG_RB_INCLUDES) $(INCLUDES) -o $@ -c
227251881Speter
228251881Speter# special compilation for files destined for javahl (i.e. C++)
229251881SpeterCOMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) $(JAVAHL_INCLUDES) -o $@ -c
230251881SpeterCOMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS)
231289180SpeterCOMPILE_JAVAHL_COMPAT_JAVAC = $(JAVAC) $(JAVAC_COMPAT_FLAGS)
232251881Speter
233289180Speter# On Mac OS X, export an env variable so that the tests can run without
234289180Speter# being installed. OS X needs the DYLD_LIBRARY_PATH env variable set in
235289180Speter# order to find the libraries to link against, because we can't effectively
236289180Speter# use rpath due to way rpath is implemented in the Mach executable format.
237262250SpeterTEST_SHLIB_VAR_JAVAHL=\
238262250Speter  if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \
239262250Speter    for d in $(abs_builddir)/subversion/libsvn_*; do \
240262250Speter      if [ -n "$$DYLD_LIBRARY_PATH" ]; then \
241262250Speter        @SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \
242262250Speter      else \
243262250Speter        @SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \
244262250Speter      fi; \
245262250Speter    done; \
246262250Speter    export @SVN_APR_SHLIB_PATH_VAR@; \
247262250Speter  fi;
248289180SpeterTEST_SHLIB_VAR_SWIG_PY=\
249289180Speter  if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \
250289180Speter    for d in $(SWIG_PY_DIR)/libsvn_swig_py $(SWIG_PY_DIR)/../../../libsvn_*; do \
251289180Speter      if [ -n "$$DYLD_LIBRARY_PATH" ]; then \
252289180Speter        @SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \
253289180Speter      else \
254289180Speter        @SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \
255289180Speter      fi; \
256289180Speter    done; \
257289180Speter    export @SVN_APR_SHLIB_PATH_VAR@; \
258289180Speter  fi;
259289180SpeterTEST_SHLIB_VAR_SWIG_RB=\
260289180Speter  if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \
261289180Speter    for d in $(SWIG_RB_DIR)/libsvn_swig_ruby $(SWIG_RB_DIR)/../../../libsvn_*; do \
262289180Speter      if [ -n "$$DYLD_LIBRARY_PATH" ]; then \
263289180Speter        @SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \
264289180Speter      else \
265289180Speter        @SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \
266289180Speter      fi; \
267289180Speter    done; \
268289180Speter    export @SVN_APR_SHLIB_PATH_VAR@; \
269289180Speter  fi;
270262250Speter
271362181Sdim# special compilation for files destined for SVN++
272362181SdimCOMPILE_SVNXX = $(LT_COMPILE_CXX) $(SVNXX_INCLUDES) -o $@ -c
273362181SdimCOMPILE_SVNXX_TEST = $(LT_COMPILE_CXX) $(SVNXX_INCLUDES) $(BOOST_TEST_CPPFLAGS) -o $@ -c
274251881Speter
275251881SpeterLINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
276251881SpeterLINK_LIB = $(LINK) $(LT_SO_VERSION)
277251881SpeterLINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
278251881SpeterLINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)
279362181SdimLINK_SVNXX_TEST = $(LINK_CXX) $(BOOST_TEST_LDFLAGS)
280251881Speter
281251881Speter# special link rule for mod_dav_svn
282362181SdimLINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS) -shared
283251881Speter
284251881Speter# Special LDFLAGS for some libraries
285251881Speterlibsvn_client_LDFLAGS = @libsvn_client_LDFLAGS@
286251881Speterlibsvn_delta_LDFLAGS = @libsvn_delta_LDFLAGS@
287251881Speterlibsvn_diff_LDFLAGS = @libsvn_diff_LDFLAGS@
288251881Speterlibsvn_fs_LDFLAGS = @libsvn_fs_LDFLAGS@
289251881Speterlibsvn_fs_base_LDFLAGS = @libsvn_fs_base_LDFLAGS@
290251881Speterlibsvn_fs_fs_LDFLAGS = @libsvn_fs_fs_LDFLAGS@
291251881Speterlibsvn_fs_util_LDFLAGS = @libsvn_fs_util_LDFLAGS@
292251881Speterlibsvn_ra_LDFLAGS = @libsvn_ra_LDFLAGS@
293251881Speterlibsvn_ra_local_LDFLAGS = @libsvn_ra_local_LDFLAGS@
294251881Speterlibsvn_ra_serf_LDFLAGS = @libsvn_ra_serf_LDFLAGS@
295251881Speterlibsvn_ra_svn_LDFLAGS = @libsvn_ra_svn_LDFLAGS@
296251881Speterlibsvn_repos_LDFLAGS = @libsvn_repos_LDFLAGS@
297251881Speterlibsvn_subr_LDFLAGS = @libsvn_subr_LDFLAGS@
298251881Speterlibsvn_wc_LDFLAGS = @libsvn_wc_LDFLAGS@
299362181Sdimshared_only_LDFLAGS = @shared_only_LDFLAGS@
300251881Speter
301362181SdimLINK_SHARED_ONLY_LIB = $(LINK_LIB) $(shared_only_LDFLAGS) -shared
302362181SdimLINK_SHARED_ONLY_CXX_LIB = $(LINK_CXX_LIB) $(shared_only_LDFLAGS) -shared
303362181Sdim
304251881Speter# Compilation of SWIG-generated C source code
305251881SpeterCOMPILE_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(LT_CFLAGS) $(CPPFLAGS) $(SWIG_PY_INCLUDES) -prefer-pic -c -o $@
306251881SpeterCOMPILE_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(LT_CFLAGS) $(CPPFLAGS) $(SWIG_RB_INCLUDES) -prefer-pic -c -o $@
307251881Speter
308251881Speter# these commands link the wrapper objects into an extension library/module
309251881SpeterLINK_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_PY_LINK) $(SWIG_LDFLAGS) -rpath $(swig_pydir) -avoid-version -module
310251881SpeterLINK_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_RB_LINK) $(SWIG_LDFLAGS) -rpath $(swig_rbdir) -avoid-version -module
311251881Speter
312251881SpeterLINK_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) $(LT_CXX_LIBADD) -rpath $(libdir)
313251881Speter
314251881SpeterINSTALL = @INSTALL@
315251881SpeterINSTALL_LIB = $(LIBTOOL) --mode=install $(INSTALL)
316251881SpeterINSTALL_FSMOD_LIB = $(INSTALL_LIB)
317251881SpeterINSTALL_RAMOD_LIB = $(INSTALL_LIB)
318251881SpeterINSTALL_APR_MEMCACHE_LIB = $(INSTALL_LIB)
319251881SpeterINSTALL_BDB_LIB = $(INSTALL_LIB)
320251881SpeterINSTALL_GPG_AGENT_LIB = $(INSTALL_LIB)
321251881SpeterINSTALL_GNOME_KEYRING_LIB = $(INSTALL_LIB)
322251881SpeterINSTALL_KWALLET_LIB = $(INSTALL_LIB)
323251881SpeterINSTALL_SERF_LIB = $(INSTALL_LIB)
324251881SpeterINSTALL_BIN = $(LIBTOOL) --mode=install $(INSTALL)
325251881SpeterINSTALL_CONTRIB = $(LIBTOOL) --mode=install $(INSTALL)
326251881SpeterINSTALL_TOOLS = $(LIBTOOL) --mode=install $(INSTALL)
327251881SpeterINSTALL_INCLUDE = $(INSTALL) -m 644
328251881SpeterINSTALL_MOD_SHARED = @APXS@ -i -S LIBEXECDIR="$(APACHE_LIBEXECDIR)" @MOD_ACTIVATION@
329251881SpeterINSTALL_DATA = $(INSTALL) -m 644
330251881SpeterINSTALL_LOCALE = $(INSTALL_DATA)
331251881SpeterINSTALL_APACHE_MODS = @INSTALL_APACHE_MODS@
332251881Speter
333362181SdimINSTALL_SVNXX_LIB = $(INSTALL_LIB)
334362181Sdim
335251881Speter### this isn't correct yet
336251881SpeterINSTALL_SWIG_PY = $(INSTALL_LIB)
337251881SpeterINSTALL_SWIG_PY_LIB = $(INSTALL_LIB)
338251881SpeterINSTALL_SWIG_PL_LIB = $(INSTALL_LIB)
339251881SpeterINSTALL_SWIG_RB = $(INSTALL_LIB)
340251881SpeterINSTALL_SWIG_RB_LIB = $(INSTALL_LIB)
341251881Speter
342251881SpeterINSTALL_JAVAHL_LIB = $(INSTALL_LIB)
343251881Speter
344251881Speter# additional installation rules for the SWIG wrappers
345251881SpeterINSTALL_EXTRA_SWIG_PY=\
346251881Speter  $(MKDIR) $(DESTDIR)$(swig_pydir); \
347251881Speter  $(MKDIR) $(DESTDIR)$(swig_pydir_extra); \
348251881Speter  for i in $(abs_srcdir)/subversion/bindings/swig/python/svn/*.py; do \
349251881Speter    $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir_extra); \
350251881Speter  done; \
351251881Speter  for i in $(abs_srcdir)/subversion/bindings/swig/python/*.py; do \
352251881Speter    $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir); \
353251881Speter  done; \
354251881Speter  if test "$(abs_srcdir)" != "$(abs_builddir)"; then \
355251881Speter    for i in $(abs_builddir)/subversion/bindings/swig/python/*.py; do \
356251881Speter      $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir); \
357251881Speter    done; \
358251881Speter  fi; \
359251881Speter  $(PYTHON) -c 'import compileall; \
360251881Speter    compileall.compile_dir("$(DESTDIR)$(swig_pydir)", 1, "$(swig_pydir)"); \
361251881Speter    compileall.compile_dir("$(DESTDIR)$(swig_pydir_extra)", 1, \
362251881Speter    "$(swig_pydir_extra)");'
363251881Speter
364251881Speter# The path to generated and complementary source files for the SWIG
365251881Speter# bindings.
366251881SpeterSWIG_PL_DIR = $(abs_builddir)/subversion/bindings/swig/perl
367251881SpeterSWIG_PY_DIR = $(abs_builddir)/subversion/bindings/swig/python
368251881SpeterSWIG_RB_DIR = $(abs_builddir)/subversion/bindings/swig/ruby
369251881Speter
370251881Speter# The path to the source files for the SWIG bindings
371251881SpeterSWIG_PL_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/perl
372251881SpeterSWIG_PY_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/python
373251881SpeterSWIG_RB_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/ruby
374251881Speter
375251881Speter### Automate JAR creation using Makefile generator's javahl-java.jar
376251881Speter### property.  Enhance generator to support JAR installation.
377251881SpeterJAVAHL_MANIFEST_IN = $(abs_srcdir)/subversion/bindings/javahl/Manifest.in
378251881SpeterJAVAHL_MANIFEST = subversion/bindings/javahl/Manifest
379251881SpeterINSTALL_EXTRA_JAVAHL_JAVA=\
380251881Speter	sed s/%bundleVersion/$(PACKAGE_VERSION)/ $(JAVAHL_MANIFEST_IN) > $(JAVAHL_MANIFEST); \
381251881Speter	$(JAR) cfm $(JAVAHL_JAR) $(JAVAHL_MANIFEST) -C subversion/bindings/javahl/classes org; \
382251881Speter	$(INSTALL_DATA) $(JAVAHL_JAR) $(DESTDIR)$(javahl_javadir);
383251881Speter
384251881SpeterINSTALL_EXTRA_JAVAHL_LIB=@INSTALL_EXTRA_JAVAHL_LIB@
385251881Speter
386251881SpeterINSTALL_EXTRA_SWIG_RB=\
387251881Speter  @echo $(MKDIR) $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \
388251881Speter  $(MKDIR) $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \
389251881Speter  for i in $(abs_srcdir)/subversion/bindings/swig/ruby/svn/*.rb; do \
390251881Speter    echo $(INSTALL_DATA) "$$i" $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \
391251881Speter    $(INSTALL_DATA) "$$i" $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \
392251881Speter  done
393251881Speter
394257936SpeterAPXS = @APXS@
395286506SpeterHTTPD_VERSION = @HTTPD_VERSION@
396362181SdimHTTPD_WHITELIST = @HTTPD_WHITELIST@
397257936Speter
398251881SpeterPYTHON = @PYTHON@
399251881SpeterPERL = @PERL@
400251881Speter
401251881SpeterJDK = @JDK@
402251881SpeterJAVA = @JAVA@
403251881SpeterJAVAC = @JAVAC@
404251881SpeterJAVADOC = @JAVADOC@
405251881SpeterJAVAC_FLAGS = @JAVAC_FLAGS@
406289180SpeterJAVAC_COMPAT_FLAGS = @JAVAC_COMPAT_FLAGS@
407251881SpeterJAR = @JAR@
408251881Speter
409251881SpeterJAVA_CLASSPATH=$(abs_srcdir)/subversion/bindings/javahl/src:@JAVA_CLASSPATH@
410251881Speterjavahl_java_CLASSPATH=$(JAVA_CLASSPATH)
411251881Speterjavahl_compat_CLASSPATH=$(JAVA_CLASSPATH)
412251881Speterjavahl_tests_CLASSPATH=$(JAVA_CLASSPATH)
413251881Speterjavahl_compat_tests_CLASSPATH=$(JAVA_CLASSPATH)
414251881Speter
415251881SpeterRUBY = @RUBY@
416251881SpeterRUBY_MAJOR = @RUBY_MAJOR@
417251881SpeterRUBY_MINOR = @RUBY_MINOR@
418251881SpeterRDOC = @RDOC@
419251881Speter
420251881SpeterECHO_C = @ECHO_C@
421251881SpeterECHO_N = @ECHO_N@
422251881Speter
423251881SpeterTESTS = $(TEST_PROGRAMS) @BDB_TEST_PROGRAMS@
424251881Speter
425251881Speterall: mkdir-init local-all
426251881Speterclean: local-clean
427251881Speterdistclean: local-distclean
428251881Speterextraclean: local-extraclean
429251881Speterinstall: local-install revision-install
430251881Speter
431251881Speter@INCLUDE_OUTPUTS@
432251881Speter
433251881Speterlocal-all: @BUILD_RULES@ @TRANSFORM_LIBTOOL_SCRIPTS@
434251881Speter
435251881Spetertransform-libtool-scripts: @BUILD_RULES@
436251881Speter	@$(SHELL) $(top_srcdir)/build/transform_libtool_scripts.sh
437251881Speter
438251881Speterlocale-gnu-pot:
439251881Speter	cd $(abs_srcdir) && XGETTEXT="$(XGETTEXT)" MSGMERGE="$(MSGMERGE)" \
440251881Speter	  $(SHELL) tools/po/po-update.sh pot
441251881Speter
442251881Speter# "make locale-gnu-po-update" updates all translations.
443251881Speter# "make locale-gnu-po-update PO=ll" updates only the ll.po file.
444251881Speterlocale-gnu-po-update:
445251881Speter	cd $(abs_srcdir) && XGETTEXT="$(XGETTEXT)" MSGMERGE="$(MSGMERGE)" \
446251881Speter	  $(SHELL) tools/po/po-update.sh $(PO)
447251881Speter
448251881Speter# clean everything but the bulky test output, returning the system back
449251881Speter# to before 'make' was run.
450251881Speterfast-clean: doc-clean
451251881Speter	@list='$(BUILD_DIRS)'; for i in $$list; do                   \
452251881Speter          if [ -d $$i ]; then                                        \
453251881Speter            (cd $$i && rm -f *.o *.lo *.la *.la-a *.spo *.mo &&      \
454251881Speter             rm -rf .libs);                                          \
455251881Speter          fi                                                         \
456251881Speter        done
457251881Speter	echo $(CLEAN_FILES) | xargs rm -f --
458251881Speter	find $(CTYPES_PYTHON_SRC_DIR) $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) \
459251881Speter		$(abs_srcdir)/build $(top_srcdir)/subversion/tests/cmdline/svntest \
460251881Speter		-name "*.pyc" -exec rm {} ';'
461251881Speter
462251881Speter# clean everything, returning to before './configure' was run.
463251881SpeterSVN_CONFIG_SCRIPT_FILES = @SVN_CONFIG_SCRIPT_FILES@
464251881Speterlocal-distclean: local-clean
465251881Speter	rm -fr config.cache config.log config.nice config.status \
466251881Speter	  libtool mkmf.log subversion/svn_private_config.h \
467251881Speter	  subversion/bindings/javahl/classes \
468251881Speter	  subversion/bindings/javahl/include \
469289180Speter	  subversion/libsvn_*/*.pc \
470251881Speter	$(SVN_CONFIG_SCRIPT_FILES)
471251881Speter	rm -f Makefile
472251881Speter
473251881Speter# clean everything out, returning to before './autogen.sh' was run.
474251881Speterlocal-extraclean: extraclean-bindings local-distclean
475251881Speter	rm -f $(top_srcdir)/build-outputs.mk \
476251881Speter              $(top_srcdir)/subversion/svn_private_config.h.in \
477251881Speter              $(top_srcdir)/configure \
478251881Speter              $(top_srcdir)/gen-make.opts \
479251881Speter              $(top_srcdir)/build/config.guess \
480251881Speter              $(top_srcdir)/build/config.sub \
481251881Speter              $(top_srcdir)/build/libtool.m4 \
482251881Speter              $(top_srcdir)/build/ltoptions.m4 \
483251881Speter              $(top_srcdir)/build/ltsugar.m4 \
484251881Speter              $(top_srcdir)/build/ltversion.m4 \
485251881Speter              $(top_srcdir)/build/lt~obsolete.m4 \
486251881Speter              $(top_srcdir)/build/ltmain.sh \
487251881Speter              $(top_srcdir)/build/transform_libtool_scripts.sh \
488251881Speter              $(EXTRACLEAN_FILES)
489251881Speter
490251881Speter
491251881Speter# clean everything, including test output.
492251881Speterlocal-clean: check-clean clean-bindings fast-clean
493251881Speter
494251881Speterlocal-install: @INSTALL_RULES@
495251881Speter
496251881Speterrevision-install:
497251881Speter	test -d $(DESTDIR)$(includedir)/subversion-1 || \
498251881Speter	  $(MKDIR) $(DESTDIR)$(includedir)/subversion-1
499251881Speter	(subversion/svnversion/svnversion $(top_srcdir) 2> /dev/null ||  \
500251881Speter	 svnversion $(top_srcdir) 2> /dev/null ||                        \
501251881Speter	 echo "unknown";                                                 \
502251881Speter	) > $(DESTDIR)$(includedir)/subversion-1/svn-revision.txt
503251881Speter
504251881Speterinstall-static: @INSTALL_STATIC_RULES@
505251881Speter
506251881Speter# JavaHL target aliases
507362181Sdimjavahl: mkdir-init javahl-java javahl-callback-java javahl-remote-java javahl-types-java javahl-util-java javahl-lib @JAVAHL_TESTS_TARGET@ javahl-compat
508362181Sdiminstall-javahl: javahl install-javahl-java install-javahl-lib
509251881Speterjavahl-compat: javahl-compat-java @JAVAHL_COMPAT_TESTS_TARGET@
510251881Speter
511251881Speterclean-javahl:
512289180Speter	if [ -d $(javahl_test_rootdir) ]; then \
513289180Speter	  rm -rf $(javahl_test_rootdir)/*;     \
514289180Speter	fi
515251881Speter	rm -rf $(javahl_java_PATH) $(javahl_javah_PATH) @JAVAHL_OBJDIR@
516251881Speter	rm -f $(libsvnjavahl_PATH)/*.la $(JAVAHL_JAR)
517251881Speter	rm -f $(libsvnjavahl_PATH)/*.lo
518251881Speter	rm -f $(libsvnjavahl_PATH)/*.o
519251881Speter
520251881Spetercheck-tigris-javahl: javahl-compat
521251881Speter	@FIX_JAVAHL_LIB@
522262250Speter	$(TEST_SHLIB_VAR_JAVAHL) \
523362181Sdim	$(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
524251881Speter
525251881Spetercheck-apache-javahl: javahl
526251881Speter	@FIX_JAVAHL_LIB@
527262250Speter	$(TEST_SHLIB_VAR_JAVAHL) \
528362181Sdim	$(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
529251881Speter
530289180Spetercheck-deprecated-authn-javahl: javahl
531289180Speter	@FIX_JAVAHL_LIB@
532289180Speter	$(TEST_SHLIB_VAR_JAVAHL) \
533362181Sdim	$(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
534289180Speter
535251881Spetercheck-javahl: check-apache-javahl
536251881Speter
537289180Spetercheck-all-javahl: check-apache-javahl check-tigris-javahl check-deprecated-authn-javahl
538251881Speter
539362181Sdimcheck-svnxx: svnxx-tests
540362181Sdim	$(abs_builddir)/$(svnxx_tests_PATH)/svnxx-tests$(EXEEXT)
541362181Sdim
542251881Speter# "make check CLEANUP=true" will clean up directories for successful tests.
543251881Speter# "make check TESTS=subversion/tests/cmdline/basic_tests.py"
544251881Speter#  will perform only basic tests (likewise for other tests).
545251881Spetercheck: bin @TRANSFORM_LIBTOOL_SCRIPTS@ $(TEST_DEPS) @BDB_TEST_DEPS@
546251881Speter	@if test "$(PYTHON)" != "none"; then                                 \
547251881Speter	  if test "$(CLEANUP)" != ""; then                                   \
548251881Speter	    flags="--cleanup $$flags";                                       \
549251881Speter	  fi;                                                                \
550251881Speter	  if test "$(BASE_URL)" != ""; then                                  \
551251881Speter	    flags="--url $(BASE_URL) $$flags";                               \
552251881Speter	  fi;                                                                \
553289180Speter	  if test "$(SKIP_C_TESTS)" != ""; then                              \
554289180Speter	    flags="--skip-c-tests $$flags";                                  \
555289180Speter	  fi;                                                                \
556289180Speter	  if test "$(DUMP_LOAD_CROSS_CHECK)" != ""; then                     \
557289180Speter	    flags="--dump-load-cross-check $$flags";                         \
558289180Speter	  fi;                                                                \
559251881Speter	  if test "$(FS_TYPE)" != ""; then                                   \
560251881Speter	    flags="--fs-type $(FS_TYPE) $$flags";                            \
561251881Speter	  fi;                                                                \
562251881Speter	  if test "$(HTTP_LIBRARY)" != ""; then                              \
563251881Speter	    flags="--http-library $(HTTP_LIBRARY) $$flags";                  \
564251881Speter	  fi;                                                                \
565289180Speter	  if test "$(HTTPD_VERSION)" != ""; then                             \
566289180Speter	     flags="--httpd-version $(HTTPD_VERSION) $$flags";               \
567286506Speter	  fi;                                                                \
568362181Sdim	  if test "$(HTTPD_WHITELIST)" != ""; then                           \
569362181Sdim	     flags="--httpd-whitelist $(HTTPD_WHITELIST) $$flags";           \
570362181Sdim	  fi;                                                                \
571251881Speter	  if test "$(SERVER_MINOR_VERSION)" != ""; then                      \
572251881Speter	    flags="--server-minor-version $(SERVER_MINOR_VERSION) $$flags";  \
573251881Speter	  fi;                                                                \
574251881Speter	  if test "$(ENABLE_SASL)" != ""; then                               \
575251881Speter	    flags="--enable-sasl $$flags";                                   \
576251881Speter	  fi;                                                                \
577251881Speter	  if test "$(FSFS_SHARDING)" != ""; then                             \
578251881Speter	    flags="--fsfs-sharding $(FSFS_SHARDING) $$flags";                \
579251881Speter	  fi;                                                                \
580251881Speter	  if test "$(FSFS_PACKING)" != ""; then                              \
581251881Speter	    flags="--fsfs-packing $$flags";                                  \
582251881Speter	  fi;                                                                \
583251881Speter	  if test "$(PARALLEL)" != ""; then                                  \
584289180Speter	    flags="--parallel $(PARALLEL) $$flags";                          \
585251881Speter	  fi;                                                                \
586362181Sdim	  if test "$(GLOBAL_SCHEDULER)" != ""; then                          \
587362181Sdim	    flags="--global-scheduler $$flags";                              \
588362181Sdim	  fi;                                                                \
589251881Speter	  if test "$(LOG_TO_STDOUT)" != ""; then                             \
590251881Speter	    flags="--log-to-stdout $$flags";                                 \
591251881Speter	  fi;                                                                \
592251881Speter	  if test "$(MILESTONE_FILTER)" != ""; then                          \
593251881Speter	    flags="--list --milestone-filter=$(MILESTONE_FILTER)             \
594251881Speter		   --mode-filter=$(MODE_FILTER) --log-to-stdout $$flags";    \
595251881Speter	  fi;                                                                \
596251881Speter	  if test "$(SET_LOG_LEVEL)" != ""; then                             \
597251881Speter	    flags="--set-log-level $(SET_LOG_LEVEL) $$flags";                \
598251881Speter	  fi;                                                                \
599251881Speter	  if test "$(SSL_CERT)" != ""; then                                  \
600251881Speter	    flags="--ssl-cert $(SSL_CERT) $$flags";                          \
601251881Speter	  fi;                                                                \
602251881Speter	  if test "$(HTTP_PROXY)" != ""; then                                \
603251881Speter	    flags="--http-proxy $(HTTP_PROXY) $$flags";                      \
604251881Speter	  fi;                                                                \
605289180Speter	  if test "$(EXCLUSIVE_WC_LOCKS)" != ""; then                        \
606289180Speter	    flags="--exclusive-wc-locks $$flags";                            \
607289180Speter	  fi;                                                                \
608289180Speter	  if test "$(MEMCACHED_SERVER)" != ""; then                          \
609289180Speter	    flags="--memcached-server $(MEMCACHED_SERVER) $$flags";          \
610289180Speter	  fi;                                                                \
611362181Sdim	  if test "$(FSFS_COMPRESSION)" != ""; then                          \
612362181Sdim	    flags="--fsfs-compression $(FSFS_COMPRESSION) $$flags";          \
613362181Sdim	  fi;                                                                \
614362181Sdim	  if test "$(FSFS_DIR_DELTIFICATION)" != ""; then                    \
615362181Sdim	    flags="--fsfs-dir-deltification $(FSFS_DIR_DELTIFICATION) $$flags";\
616362181Sdim	  fi;                                                                \
617362181Sdim	  if test "$(ALLOW_REMOTE_HTTP_CONNECTION)" != ""; then              \
618362181Sdim	    flags="--allow-remote-http-connection $$flags";                  \
619362181Sdim	  fi;                                                                \
620362181Sdim	  if test "$(SVN_BIN_DIR)" != ""; then                               \
621362181Sdim	    flags="--bin $(SVN_BIN_DIR) $$flags";                            \
622362181Sdim	  fi;                                                                \
623251881Speter	  LD_LIBRARY_PATH='$(auth_plugin_dirs):$(LD_LIBRARY_PATH)'           \
624251881Speter	  $(PYTHON) $(top_srcdir)/build/run_tests.py                         \
625251881Speter	            --config-file $(top_srcdir)/subversion/tests/tests.conf  \
626251881Speter	            $$flags                                                  \
627251881Speter	            '$(abs_srcdir)' '$(abs_builddir)' $(TESTS);              \
628251881Speter	else                                                                 \
629289180Speter	  echo "make check: Python 2.7 or greater is required,";             \
630251881Speter	  echo "            but was not detected during configure";          \
631251881Speter	  exit 1;                                                            \
632251881Speter	fi;
633251881Speter
634251881Speter# First, set up Apache as documented in
635251881Speter# subversion/tests/cmdline/README.
636251881Speterdavcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod
637251881Speter	@$(MAKE) check BASE_URL=http://localhost
638251881Speter
639251881Speter# Automatically configure and run Apache httpd on a random port, and then
640251881Speter# run make check.
641251881Speterdavautocheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod
642251881Speter	@# Takes MODULE_PATH, USE_HTTPV1 and SVN_PATH_AUTHZ in the environment.
643289180Speter	@APXS=$(APXS) MAKE=$(MAKE) $(SHELL) $(top_srcdir)/subversion/tests/cmdline/davautocheck.sh
644251881Speter
645251881Speter# First, run:
646251881Speter#   subversion/svnserve/svnserve -d -r `pwd`/subversion/tests/cmdline
647251881Spetersvncheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@
648251881Speter	@$(MAKE) check BASE_URL=svn://127.0.0.1
649251881Speter
650251881Speter# 'make svnserveautocheck' runs svnserve for you and kills it.
651251881Spetersvnserveautocheck: svnserve bin $(TEST_DEPS) @BDB_TEST_DEPS@
652289180Speter	@env PYTHON=$(PYTHON) THREADED=$(THREADED) MAKE=$(MAKE) \
653289180Speter	  $(SHELL) $(top_srcdir)/subversion/tests/cmdline/svnserveautocheck.sh
654251881Speter
655251881Speter# First, run:
656251881Speter#   subversion/svnserve/svnserve --listen-host "::1" -d -r `pwd`/subversion/tests/cmdline
657251881Speter
658251881Spetersvncheck6: bin $(TEST_DEPS) @BDB_TEST_DEPS@
659251881Speter	@$(MAKE) check BASE_URL=svn://\[::1\]
660251881Speter
661251881Speter# First make sure you can ssh to localhost and that "svnserve" is in
662251881Speter# the path of the resulting shell.
663251881Spetersvnsshcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@
664251881Speter	@$(MAKE) check \
665251881Speter	  BASE_URL=svn+ssh://localhost`pwd`/subversion/tests/cmdline
666251881Speter
667251881Speterbdbcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@
668251881Speter	@$(MAKE) check FS_TYPE=bdb
669251881Speter
670289180Speter# Produce the clang compilation database as the compile_commands.json file
671289180Speter# in the srcdir.  This is used by tools such as the YouCompleteMe vim plugin
672289180Speter# to know the compile flags for various source files so that analysis such
673289180Speter# as syntax checking, static analysis or symbol completion can be done
674289180Speter# outside the build system.  To do this it uses the tool called bear:
675289180Speter# https://github.com/rizsotto/Bear
676289180Spetercompile-commands:
677289180Speter	@bear -o $(abs_srcdir)/compile_commands.json -- $(MAKE) all
678289180Speter
679251881Speter# Create an execution coverage report from the data collected during
680251881Speter# all execution since the last reset.
681251881Spetergcov:
682251881Speter	lcov --capture -d . -b . -o gcov-lcov.dat > gcov-lcov.log
683251881Speter	genhtml gcov-lcov.dat -o gcov-report > gcov-genhtml.log
684251881Speter
685251881Speter# Reset all execution coverage counters to zero.
686251881Spetergcov-reset:
687251881Speter	lcov --zerocounters -d .
688251881Speter
689251881Speter# Remove the execution coverage data and the report.
690251881Spetergcov-clean:
691251881Speter	rm -f gcov-lcov.dat gcov-lcov.log gcov-genhtml.log
692251881Speter	rm -rf gcov-report
693362181Sdim	find . \( -name "*.gcda" -o -name "*.gcno" \) -exec rm -f -- {} \;
694251881Speter
695251881Spetercheck-clean: gcov-clean
696251881Speter	if [ -d subversion/tests/cmdline/svn-test-work ]; then \
697289180Speter	  rm -rf subversion/tests/cmdline/svn-test-work/*;     \
698251881Speter	fi
699251881Speter	rm -rf subversion/tests/libsvn_fs/test-repo-*          \
700251881Speter	       subversion/tests/libsvn_fs_base/test-repo-*     \
701251881Speter	       subversion/tests/libsvn_fs_fs/test-repo-*       \
702362181Sdim	       subversion/tests/libsvn_fs_x/test-repo-*        \
703251881Speter	       subversion/tests/libsvn_ra_local/test-repo-*    \
704251881Speter	       subversion/tests/libsvn_repos/test-repo-*       \
705251881Speter	       subversion/tests/libsvn_subr/z                  \
706251881Speter	       subversion/tests/libsvn_wc/fake-wc              \
707251881Speter	       subversion/tests/libsvn_client/test-patch*      \
708251881Speter	       subversion/tests/libsvn_client/test-*/          \
709251881Speter	       subversion/tests/libsvn_diff/B2                 \
710251881Speter	       subversion/tests/libsvn_diff/T1                 \
711251881Speter	       subversion/tests/libsvn_diff/T2                 \
712251881Speter	       subversion/tests/libsvn_diff/T3                 \
713362181Sdim	       subversion/tests/cmdline/httpd-*                \
714362181Sdim	       subversion/tests/cmdline/svnserve-*             \
715251881Speter	       tests.log fails.log
716251881Speter
717251881Spetermkdir-init:
718251881Speter	@list='$(BUILD_DIRS) $(SCHEMA_DIR) doc';         \
719251881Speter        for i in $$list; do                              \
720251881Speter            if [ ! -d $$i ]; then                        \
721251881Speter                $(MKDIR) $$i ;                           \
722251881Speter            fi;                                          \
723251881Speter        done
724251881Speter
725251881Speter# DOCUMENTATION RULES
726251881Speter
727251881Speter# Every single document in every format.
728251881Speterdoc: doc-api doc-javahl
729251881Speter
730251881Speter# Generate API documentation for the C libraries.
731251881Speter### This could also generate POD for swig-perl, etc.
732251881Speterdoc-api: mkdir-init
733251881Speter	( cd $(top_srcdir) && \
734251881Speter	  sed "s,\(OUTPUT_DIRECTORY *= *\),\1$(abs_builddir)/," \
735251881Speter	  doc/doxygen.conf | $(DOXYGEN) - )
736251881Speter
737251881Speter# Generate API documentation for the JavaHL package.
738251881Speterdoc-javahl:
739251881Speter	$(JAVADOC) -d $(abs_builddir)/doc/javadoc \
740251881Speter	  -sourcepath $(top_srcdir)/subversion/bindings/javahl/src \
741251881Speter	  -link http://java.sun.com/javase/6/docs/api/ \
742251881Speter	  org.tigris.subversion.javahl \
743289180Speter	  org.apache.subversion.javahl \
744289180Speter	  org.apache.subversion.javahl.callback \
745289180Speter	  org.apache.subversion.javahl.remote \
746289180Speter	  org.apache.subversion.javahl.types \
747289180Speter	  org.apache.subversion.javahl.util
748251881Speter
749251881Speterdoc-clean:
750289180Speter	rm -rf $(abs_builddir)/doc/doxygen
751289180Speter	rm -rf $(abs_builddir)/doc/javadoc
752251881Speter
753289180Speter# Converting from the .rnc XML schemas to various other schema formats.
754289180SpeterSCHEMAS_DTD = $(SCHEMA_DIR)/blame.dtd \
755289180Speter              $(SCHEMA_DIR)/diff.dtd \
756289180Speter              $(SCHEMA_DIR)/info.dtd \
757289180Speter              $(SCHEMA_DIR)/list.dtd \
758289180Speter              $(SCHEMA_DIR)/log.dtd \
759289180Speter              $(SCHEMA_DIR)/props.dtd \
760289180Speter              $(SCHEMA_DIR)/status.dtd
761251881Speter
762289180SpeterSCHEMAS_RNG = $(SCHEMA_DIR)/blame.rng \
763289180Speter              $(SCHEMA_DIR)/diff.rng \
764289180Speter              $(SCHEMA_DIR)/info.rng \
765289180Speter              $(SCHEMA_DIR)/list.rng \
766289180Speter              $(SCHEMA_DIR)/log.rng \
767289180Speter              $(SCHEMA_DIR)/props.rng \
768289180Speter              $(SCHEMA_DIR)/status.rng
769251881Speter
770289180SpeterSCHEMAS_XSD = $(SCHEMA_DIR)/blame.xsd \
771289180Speter              $(SCHEMA_DIR)/diff.xsd \
772289180Speter              $(SCHEMA_DIR)/info.xsd \
773289180Speter              $(SCHEMA_DIR)/list.xsd \
774289180Speter              $(SCHEMA_DIR)/log.xsd \
775289180Speter              $(SCHEMA_DIR)/props.xsd \
776289180Speter              $(SCHEMA_DIR)/status.xsd
777251881Speter
778289180Speterschema: mkdir-init schema-rng schema-dtd schema-xsd
779251881Speter
780251881Speterschema-rng: $(SCHEMAS_RNG)
781251881Speterschema-dtd: $(SCHEMAS_DTD)
782251881Speterschema-xsd: $(SCHEMAS_XSD)
783251881Speter
784251881Speter$(SCHEMAS_RNG) $(SCHEMAS_DTD) $(SCHEMAS_XSD): $(SCHEMA_DIR)/common.rnc
785251881Speter
786251881Speterschema-clean:
787251881Speter	(cd $(SCHEMA_DIR) && rm -f *.rng *.dtd *.xsd)
788251881Speter
789251881Speter#
790251881Speter# Implicit rules for creating outputs from input files
791251881Speter#
792251881Speter.SUFFIXES:
793251881Speter.SUFFIXES: .c .cpp .lo .o .la-a .la \
794251881Speter           .po .spo .mo .rnc .rng .dtd .xsd .sql .h
795251881Speter
796251881Speter.sql.h:
797251881Speter	$(PYTHON) $(top_srcdir)/build/transform_sql.py $< $(top_srcdir)/$@
798251881Speter
799251881Speter.c.o:
800251881Speter	$(COMPILE) -o $@ -c $<
801251881Speter
802251881Speter.cpp.o:
803251881Speter	$(COMPILE_CXX) -o $@ -c $<
804251881Speter
805251881Speter.c.lo:
806251881Speter	$(LT_COMPILE) -o $@ -c $<
807251881Speter
808251881Speter.cpp.lo:
809251881Speter	$(LT_COMPILE_CXX) -o $@ -c $<
810251881Speter
811251881Speter.la.la-a:
812251881Speter	sed "/library_names/s/'.*'/''/" $< > $@
813251881Speter
814251881Speter
815251881Speter# Strip the Content-Type: header from the po file if we don't have a
816251881Speter# gettext that supports bind_textdomain_codeset, so it doesn't try
817251881Speter# to convert our UTF-8 .po files to the locale encoding.
818251881Speter@NO_GETTEXT_CODESET@.po.spo:
819251881Speter@NO_GETTEXT_CODESET@	sed \
820251881Speter@NO_GETTEXT_CODESET@	'/^"Content-Type: text\/plain; charset=UTF-8\\n"$$/d' \
821251881Speter@NO_GETTEXT_CODESET@	$< > $@
822251881Speter
823251881Speter@NO_GETTEXT_CODESET@.spo.mo:
824251881Speter@NO_GETTEXT_CODESET@	$(MSGFMT) $(MSGFMTFLAGS) -o $@ $<
825251881Speter
826251881Speter# For systems with bind_textdomain_codeset, just leave the Content-Type:
827251881Speter# header alone.
828251881Speter@GETTEXT_CODESET@.po.mo:
829251881Speter@GETTEXT_CODESET@	$(MSGFMT) $(MSGFMTFLAGS) -o $@ $<
830251881Speter
831251881Speter.rnc.rng:
832251881Speter	@TRANG@ $< $@
833251881Speter
834251881Speter.rnc.dtd:
835251881Speter	@TRANG@ $< $@
836251881Speter
837251881Speter.rnc.xsd:
838251881Speter	@TRANG@ $< $@
839251881Speter
840251881Speterinstall-docs: install-man
841251881Speter
842251881Spetermanroot = $(mandir)/man
843251881Speterinstall-man:
844251881Speter	@list='$(MANPAGES)';                                               \
845251881Speter        for i in $$list; do                                                \
846251881Speter          if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i;               \
847251881Speter          else file=$$i; fi;                                               \
848251881Speter          ext=`echo $$i | sed -e 's/^.*\\.//'`;                            \
849251881Speter          $(MKDIR) $(DESTDIR)$(manroot)$$ext;                              \
850251881Speter          inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`;                   \
851251881Speter          inst=`echo $$inst | sed -e 's/^.*\///'`;                         \
852251881Speter          inst=`echo $$inst`.$$ext;                                        \
853251881Speter          echo "$(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst";  \
854251881Speter          $(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst;         \
855251881Speter        done
856251881Speter
857251881Speterinstall-swig-py: install-swig-py-lib
858251881Speterinstall-swig-rb: install-swig-rb-lib
859251881Speter
860251881Speterclean-bindings: clean-swig clean-ctypes-python clean-javahl
861251881Speter
862251881Speterextraclean-bindings: clean-swig extraclean-swig-headers \
863251881Speter			extraclean-swig-py extraclean-swig-rb \
864251881Speter			extraclean-swig-pl \
865251881Speter			clean-ctypes-python clean-javahl \
866251881Speter
867251881Speterclean-swig: clean-swig-headers clean-swig-py clean-swig-rb clean-swig-pl
868251881Speter	@rm -f .swig_checked
869251881Speter
870251881SpeterEXTRACLEAN_SWIG_HEADERS=rm -f $(SWIG_SRC_DIR)/proxy/*.swg
871251881Speter
872251881Speterclean-swig-headers:
873251881Speter	if test -z "$(RELEASE_MODE)"; then \
874251881Speter	  $(EXTRACLEAN_SWIG_HEADERS); \
875251881Speter	fi
876251881Speter
877251881Speterextraclean-swig-headers: clean-swig-headers
878251881Speter	$(EXTRACLEAN_SWIG_HEADERS)
879251881Speter
880251881Speter$(SWIG_PL_DIR)/native/Makefile.PL: $(SWIG_SRC_DIR)/perl/native/Makefile.PL.in
881251881Speter	./config.status subversion/bindings/swig/perl/native/Makefile.PL
882251881Speter
883362181Sdim$(SWIG_PL_DIR)/native/Makefile: libsvn_swig_perl $(SWIG_PL_DIR)/native/Makefile.PL
884289180Speter	cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL PREFIX=$(prefix)
885251881Speter
886251881Speter# There is a "readlink -f" command on some systems for the same purpose,
887251881Speter# but it's not as portable (e.g. Mac OS X doesn't have it).  These should
888251881Speter# only be used where Python/Perl are known to be available.
889251881SpeterREADLINK_PY=$(PYTHON) -c 'import sys,os; print(os.path.realpath(sys.argv[1]))'
890251881SpeterREADLINK_PL=$(PERL) -e 'use Cwd; print Cwd::realpath(shift)'
891251881Speter
892362181Sdimswig-pl: autogen-swig-pl $(SWIG_PL_DIR)/native/Makefile
893251881Speter	if test "`$(READLINK_PL) $(SWIG_PL_DIR)`" != "`$(READLINK_PL) $(SWIG_PL_SRC_DIR)`"; then \
894362181Sdim	  for f in $(SWIG_PL_SRC_DIR)/native/*.c ; do \
895362181Sdim	     if [ -e "$$f" ] ; then \
896362181Sdim	       ln -sf "$$f" $(SWIG_PL_DIR)/native; \
897362181Sdim	    fi; \
898362181Sdim	  done; \
899251881Speter	fi
900251881Speter	cd $(SWIG_PL_DIR)/native; $(MAKE) OPTIMIZE="" OTHERLDFLAGS="$(SWIG_LDFLAGS)"
901251881Speter
902251881Spetercheck-swig-pl: swig-pl swig-pl-lib
903251881Speter	cd $(SWIG_PL_DIR)/native; $(MAKE) test
904251881Speter
905251881Speterinstall-swig-pl: swig-pl install-swig-pl-lib
906251881Speter	cd $(SWIG_PL_DIR)/native; $(MAKE) install
907251881Speter
908251881SpeterEXTRACLEAN_SWIG_PL=rm -f $(SWIG_PL_SRC_DIR)/native/svn_*.c \
909251881Speter                         $(SWIG_PL_SRC_DIR)/native/core.c
910251881Speter
911251881Speter# Running Makefile.PL at this point *fails* (cannot find ..../.libs) so if the
912251881Speter# Makefile does not exist, DO NOT try to make it. But, if it doesn't exist,
913251881Speter# then the directory is probably clean anyway.
914251881Speterclean-swig-pl:
915362181Sdim	rm -f .swig_pl_checked
916251881Speter	if test -z "$(RELEASE_MODE)"; then \
917251881Speter	  $(EXTRACLEAN_SWIG_PL); \
918251881Speter	fi
919251881Speter	for d in $(SWIG_PL_DIR)/libsvn_swig_perl; \
920251881Speter	do \
921251881Speter	  cd $$d; \
922251881Speter	  rm -rf *.lo *.la *.o .libs; \
923251881Speter	done
924251881Speter	if [ -f "$(SWIG_PL_DIR)/native/Makefile" ]; then \
925251881Speter	  cd $(SWIG_PL_DIR)/native; $(MAKE) clean; \
926251881Speter	fi
927251881Speter
928251881Speterextraclean-swig-pl: clean-swig-pl
929251881Speter	$(EXTRACLEAN_SWIG_PL)
930251881Speter
931251881Speter$(SWIG_PY_DIR)/libsvn:
932251881Speter	mkdir $(SWIG_PY_DIR)/libsvn
933251881Speter
934251881Spetercopy-swig-py: autogen-swig-py $(SWIG_PY_DIR)/libsvn
935251881Speter	@for f in $(SWIG_PY_SRC_DIR)/*.py $(SWIG_PY_DIR)/*.py; do \
936251881Speter	  ! [ -f "$$f" ] || cp -pf $$f $(SWIG_PY_DIR)/libsvn; \
937251881Speter	done
938362181Sdim	@cd $(SWIG_PY_DIR)/libsvn;ln -sf ../.libs/*.so .
939251881Speter	@touch $(SWIG_PY_DIR)/libsvn/__init__.py
940251881Speter
941251881Speterswig-py: autogen-swig-py copy-swig-py
942251881Speter
943251881Spetercheck-swig-py: swig-py
944251881Speter	$(TEST_SHLIB_VAR_SWIG_PY) \
945251881Speter	cd $(SWIG_PY_DIR); \
946251881Speter	  $(PYTHON) $(SWIG_PY_SRC_DIR)/tests/run_all.py
947251881Speter
948362181SdimEXTRACLEAN_SWIG_PY=rm -rf $(SWIG_PY_DIR)/svn_*.c $(SWIG_PY_DIR)/core.c \
949362181Sdim                          $(SWIG_PY_DIR)/[a-z]*.py
950251881Speterclean-swig-py:
951362181Sdim	rm -f .swig_py_checked
952251881Speter	rm -rf $(SWIG_PY_DIR)/libsvn
953251881Speter	if test -z "$(RELEASE_MODE)"; then \
954251881Speter	  $(EXTRACLEAN_SWIG_PY); \
955251881Speter	fi
956251881Speter	for d in $(SWIG_PY_DIR) $(SWIG_PY_DIR)/libsvn_swig_py; \
957251881Speter	do \
958251881Speter	  cd $$d && rm -rf *.lo *.la *.o *.pyc .libs; \
959251881Speter	done
960251881Speter	find $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) -name "*.pyc" -exec rm {} ';'
961251881Speter
962251881Speterextraclean-swig-py: clean-swig-py
963251881Speter	$(EXTRACLEAN_SWIG_PY)
964251881Speter
965251881Speterswig-rb: autogen-swig-rb
966251881Speter
967251881Spetercheck-swig-rb: swig-rb svnserve
968251881Speter	$(TEST_SHLIB_VAR_SWIG_RB) \
969251881Speter	cd $(SWIG_RB_DIR); \
970298845Sdim	  check_rb() { \
971298845Sdim	    $(RUBY) -I $(SWIG_RB_SRC_DIR) $(SWIG_RB_SRC_DIR)/test/run-test.rb "$$@"; \
972298845Sdim	  }; \
973298845Sdim	  if check_rb --help 2>&1 | grep -q -- --collector; then \
974298845Sdim	    check_rb --collector=dir --verbose=$(SWIG_RB_TEST_VERBOSE); \
975298845Sdim	  elif [ "$(RUBY_MAJOR)" -eq 1 -a "$(RUBY_MINOR)" -lt 9 ] ; then \
976298845Sdim	    check_rb --verbose=$(SWIG_RB_TEST_VERBOSE); \
977298845Sdim	  else \
978298845Sdim	    check_rb; \
979251881Speter          fi
980251881Speter
981251881SpeterEXTRACLEAN_SWIG_RB=rm -f $(SWIG_RB_SRC_DIR)/svn_*.c $(SWIG_RB_SRC_DIR)/core.c
982251881Speter
983251881Speterclean-swig-rb:
984362181Sdim	rm -f .swig_rb_checked
985251881Speter	rm -rf $(SWIG_RB_DIR)/test/repos $(SWIG_RB_DIR)/test/wc
986251881Speter	if test -z "$(RELEASE_MODE)"; then \
987251881Speter	  $(EXTRACLEAN_SWIG_RB); \
988251881Speter	fi
989251881Speter	for d in $(SWIG_RB_DIR) $(SWIG_RB_DIR)/libsvn_swig_ruby; \
990251881Speter	do \
991251881Speter	  cd $$d; \
992251881Speter	  rm -rf *.lo *.la *.o .libs; \
993251881Speter	done
994251881Speter
995251881Speterextraclean-swig-rb: clean-swig-rb
996251881Speter	$(EXTRACLEAN_SWIG_RB)
997251881Speter
998251881Speterinstall-swig-rb-doc:
999251881Speter	$(RDOC) --all --ri --op "$(SWIG_RB_RI_DATADIR)" "$(SWIG_RB_SRC_DIR)/svn"
1000251881Speter
1001251881Speter# ctypes-python make targets
1002251881Speterctypes-python: local-all
1003258569Speter	$(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)"
1004251881Speter
1005251881Speterinstall-ctypes-python: ctypes-python
1006251881Speter	cd $(CTYPES_PYTHON_SRC_DIR); \
1007251881Speter	  $(PYTHON) setup.py install --prefix="$(DESTDIR)$(prefix)"
1008251881Speter
1009251881Spetercheck-ctypes-python: ctypes-python
1010251881Speter	cd $(CTYPES_PYTHON_SRC_DIR); \
1011251881Speter	  $(LT_EXECUTE) $(PYTHON) test/run_all.py
1012251881Speter
1013251881Speter# If any of those files exists, run ctypes' 'setup.py clean'.  We don't run
1014251881Speter# it otherwise because it spams stdout+stderr; see r1479326.
1015251881Speterclean-ctypes-python:
1016251881Speter	cd $(CTYPES_PYTHON_SRC_DIR);            \
1017251881Speter	  for b in build csvn/core/functions.py svn_all.py svn_all2.py ; do \
1018251881Speter	    if [ -e "$$b" ] ; then              \
1019251881Speter	      $(PYTHON) setup.py clean --all;   \
1020251881Speter	      break;                            \
1021251881Speter	    fi;                                 \
1022251881Speter	  done
1023251881Speter
1024251881Speter# manually describe a dependency, which we won't otherwise detect
1025251881Spetersubversion/libsvn_wc/wc-queries.h: $(abs_srcdir)/subversion/libsvn_wc/wc-metadata.sql
1026251881Spetersubversion/libsvn_wc/wc-queries.h: $(abs_srcdir)/subversion/libsvn_wc/wc-checks.sql
1027251881Speter
1028251881Speter# Compatibility symlink.
1029251881Speter# This runs after the target of the same name in build-outputs.mk.
1030251881SpeterINSTALL_EXTRA_TOOLS=\
1031251881Speter  $(MKDIR) $(DESTDIR)$(bindir); \
1032251881Speter  test -n "$$SVN_SVNMUCC_IS_SVNSYITF" && \
1033251881Speter  ln -sf svnmucc$(EXEEXT) $(DESTDIR)$(bindir)/svnsyitf$(EXEEXT); \
1034251881Speter  if test "$(DESTDIR)$(bindir)" != "$(DESTDIR)$(toolsdir)"; then \
1035253734Speter    ln -sf $(bindir)/svnmucc$(EXEEXT) $(DESTDIR)$(toolsdir)/svnmucc$(EXEEXT); \
1036289180Speter    ln -sf $(bindir)/svnbench$(EXEEXT) $(DESTDIR)$(toolsdir)/svn-bench$(EXEEXT); \
1037362181Sdim  fi; \
1038362181Sdim  printf '\043\041/bin/sh\n%s\n' \
1039362181Sdim    'exec $(bindir)/svnfsfs stats $${2:+"-M"} $${2:+"$$2"} "$$1"' \
1040362181Sdim    > $(DESTDIR)$(toolsdir)/fsfs-stats$(EXEEXT) && \
1041362181Sdim  chmod +x $(DESTDIR)$(toolsdir)/fsfs-stats$(EXEEXT)
1042362181Sdim# \043\041 is a "#!".  It's written this way because gmake and bmake disagree on
1043362181Sdim# how to include a literal '#' in a command, and because '!' is special to some
1044362181Sdim# shells.
1045