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