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