Makefile.in revision 298845
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@ 57251881Speter 58251881SpeterLIBS = @LIBS@ 59251881Speter 60251881Speterprefix = @prefix@ 61251881Speterexec_prefix = @exec_prefix@ 62251881Speterlibdir = @libdir@ 63251881Speterfsmod_libdir = @libdir@ 64251881Speterramod_libdir = @libdir@ 65251881Speterbdb_libdir = @libdir@ 66251881Spetergnome_keyring_libdir = @libdir@ 67251881Spetergpg_agent_libdir = @libdir@ 68251881Speterkwallet_libdir = @libdir@ 69251881Speterserf_libdir = @libdir@ 70251881Speterbindir = @bindir@ 71251881Speterincludedir = @includedir@ 72251881Spetermandir = @mandir@ 73251881Spetersrcdir = @srcdir@ 74251881Spetercanonicalized_srcdir = @canonicalized_srcdir@ 75251881Speterdatadir = @datadir@ 76251881Speterdatarootdir = @datarootdir@ 77251881Speterlocaledir = @localedir@ 78251881Speter 79251881Speter# where to install libsvn_swig_* 80251881Speterswig_py_libdir = @libdir@ 81251881Speterswig_pl_libdir = @libdir@ 82251881Speterswig_rb_libdir = @libdir@ 83251881Speter 84251881Speter### these possibly need further discussion 85251881Speterswig_pydir = @libdir@/svn-python/libsvn 86251881Speterswig_pydir_extra = @libdir@/svn-python/svn 87251881Speterswig_pldir = @libdir@/svn-perl 88251881Speterswig_rbdir = $(SWIG_RB_SITE_ARCH_DIR)/svn/ext 89251881Spetertoolsdir = @bindir@/svn-tools 90251881Speter 91289180Speter# where to install pkg-config files 92289180Speterpkgconfig_dir = $(datadir)/pkgconfig 93289180Speter 94251881Speterjavahl_javadir = @libdir@/svn-javahl 95251881Speterjavahl_javahdir = @libdir@/svn-javahl/include 96251881Speterjavahl_libdir = @libdir@ 97251881Speterjavahl_test_rootdir=$(abs_builddir)/subversion/bindings/javahl/test-work 98251881Speterjavahl_test_srcdir=$(abs_srcdir)/subversion/bindings/javahl 99251881Speter 100251881Spetergnome_auth_dir = $(abs_builddir)/subversion/libsvn_auth_gnome_keyring/.libs 101251881Speterkwallet_auth_dir = $(abs_builddir)/subversion/libsvn_auth_kwallet/.libs 102251881Speterauth_plugin_dirs = $(gnome_auth_dir):$(kwallet_auth_dir) 103251881Speter 104251881SpeterMSGFMT = @MSGFMT@ 105251881SpeterMSGFMTFLAGS = @MSGFMTFLAGS@ 106251881SpeterMSGMERGE = @MSGMERGE@ 107251881SpeterXGETTEXT = @XGETTEXT@ 108251881SpeterTRANG = @TRANG@ 109251881Speter 110251881SpeterPACKAGE_NAME=@PACKAGE_NAME@ 111251881SpeterPACKAGE_VERSION=@PACKAGE_VERSION@ 112251881Speter 113251881SpeterCC = @CC@ 114251881SpeterCXX = @CXX@ 115258569SpeterCPP = @CPP@ 116251881SpeterEXEEXT = @EXEEXT@ 117251881Speter 118251881SpeterSHELL = @SHELL@ 119251881SpeterLIBTOOL = @SVN_LIBTOOL@ 120251881SpeterLTFLAGS = --tag=CC --silent 121251881SpeterLTCXXFLAGS = --tag=CXX --silent 122251881SpeterLT_CFLAGS = @LT_CFLAGS@ 123251881SpeterLT_LDFLAGS = @LT_LDFLAGS@ 124251881SpeterLT_SO_VERSION = @SVN_LT_SOVERSION@ 125251881SpeterLT_NO_UNDEFINED = @LT_NO_UNDEFINED@ 126251881SpeterLT_CXX_LIBADD = @LT_CXX_LIBADD@ 127251881Speter 128251881SpeterINCLUDES = -I$(top_srcdir)/subversion/include -I$(top_builddir)/subversion \ 129251881Speter @SVN_APR_INCLUDES@ @SVN_APRUTIL_INCLUDES@ @SVN_APR_MEMCACHE_INCLUDES@ \ 130251881Speter @SVN_DB_INCLUDES@ @SVN_GNOME_KEYRING_INCLUDES@ \ 131251881Speter @SVN_KWALLET_INCLUDES@ @SVN_MAGIC_INCLUDES@ \ 132251881Speter @SVN_SASL_INCLUDES@ @SVN_SERF_INCLUDES@ @SVN_SQLITE_INCLUDES@ \ 133251881Speter @SVN_XML_INCLUDES@ @SVN_ZLIB_INCLUDES@ 134251881Speter 135251881SpeterAPACHE_INCLUDES = @APACHE_INCLUDES@ 136251881SpeterAPACHE_LIBEXECDIR = $(DESTDIR)@APACHE_LIBEXECDIR@ 137251881SpeterAPACHE_LDFLAGS = @APACHE_LDFLAGS@ 138251881Speter 139289180SpeterSVN_USE_GMOCK = @SVN_USE_GMOCK@ 140289180SpeterGMOCK_INCLUDES = -I@GMOCK_SRCDIR@ 141289180Speter 142251881SpeterSWIG = @SWIG@ 143251881SpeterSWIG_PY_INCLUDES = @SWIG_PY_INCLUDES@ -I$(SWIG_SRC_DIR)/python/libsvn_swig_py 144251881SpeterSWIG_PY_COMPILE = @SWIG_PY_COMPILE@ 145251881SpeterSWIG_PY_LINK = @SWIG_PY_LINK@ 146251881SpeterSWIG_PY_LIBS = @SWIG_PY_LIBS@ 147251881SpeterSWIG_PL_INCLUDES = @SWIG_PL_INCLUDES@ 148251881SpeterSWIG_RB_INCLUDES = @SWIG_RB_INCLUDES@ -I$(SWIG_SRC_DIR)/ruby/libsvn_swig_ruby 149251881SpeterSWIG_RB_COMPILE = @SWIG_RB_COMPILE@ 150251881SpeterSWIG_RB_LINK = @SWIG_RB_LINK@ 151251881SpeterSWIG_RB_LIBS = @SWIG_RB_LIBS@ 152251881SpeterSWIG_RB_SITE_LIB_DIR = @SWIG_RB_SITE_LIB_DIR@ 153251881SpeterSWIG_RB_SITE_ARCH_DIR = @SWIG_RB_SITE_ARCH_DIR@ 154251881SpeterSWIG_RB_TEST_VERBOSE = @SWIG_RB_TEST_VERBOSE@ 155251881SpeterSWIG_RB_RI_DATADIR = $(DESTDIR)$(datadir)/ri/$(RUBY_MAJOR).$(RUBY_MINOR)/site 156251881Speter 157251881SpeterCTYPESGEN = @CTYPESGEN@ 158251881SpeterCTYPES_PYTHON_SRC_DIR = $(abs_srcdir)/subversion/bindings/ctypes-python 159251881Speter 160251881SpeterJAVAHL_JAR=subversion/bindings/javahl/svn-javahl.jar 161251881SpeterJAVAHL_INCLUDES= @JNI_INCLUDES@ -I$(abs_builddir)/subversion/bindings/javahl/include 162251881Speter 163251881SpeterCXXHL_INCLUDES = -I$(abs_srcdir)/subversion/bindings/cxxhl/include 164251881Speter 165251881SpeterSVN_APR_CONFIG = @SVN_APR_CONFIG@ 166251881SpeterSVN_APR_INCLUDES = @SVN_APR_INCLUDES@ 167251881SpeterSVN_APRUTIL_CONFIG = @SVN_APRUTIL_CONFIG@ 168251881SpeterSVN_APRUTIL_INCLUDES = @SVN_APRUTIL_INCLUDES@ 169251881Speter 170251881SpeterMKDIR = @MKDIR@ 171251881Speter 172251881SpeterDOXYGEN = @DOXYGEN@ 173251881Speter 174251881Speter# The EXTRA_ parameters can be used to pass extra flags at 'make' time. 175289180SpeterCFLAGS = @CFLAGS@ @CUSERFLAGS@ $(EXTRA_CFLAGS) 176251881SpeterCMODEFLAGS = @CMODEFLAGS@ 177289180SpeterCNOWARNFLAGS = @CNOWARNFLAGS@ 178251881SpeterCMAINTAINERFLAGS = @CMAINTAINERFLAGS@ 179289180SpeterCXXFLAGS = @CXXFLAGS@ @CXXUSERFLAGS@ $(EXTRA_CXXFLAGS) 180251881SpeterCXXMODEFLAGS = @CXXMODEFLAGS@ 181289180SpeterCXXNOWARNFLAGS = @CXXNOWARNFLAGS@ 182251881SpeterCXXMAINTAINERFLAGS = @CXXMAINTAINERFLAGS@ 183251881Speter### A few of the CFLAGS (e.g. -Wmissing-prototypes, -Wstrict-prototypes, 184251881Speter### -Wmissing-declarations) are not valid for C++, and should be somehow 185251881Speter### suppressed (but they may come from httpd or APR). 186251881SpeterCPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS) 187251881SpeterLDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS) 188251881SpeterSWIG_LDFLAGS = @SWIG_LDFLAGS@ $(EXTRA_SWIG_LDFLAGS) 189262250SpeterSWIG_CPPFLAGS = @SWIG_CPPFLAGS@ $(EXTRA_CPPFLAGS) 190251881Speter 191251881SpeterCOMPILE = $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CMAINTAINERFLAGS) $(CFLAGS) $(INCLUDES) 192289180SpeterCOMPILE_NOWARN = $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CNOWARNFLAGS) $(CFLAGS) $(INCLUDES) 193251881SpeterCOMPILE_CXX = $(CXX) $(CXXMODEFLAGS) $(CPPFLAGS) $(CXXMAINTAINERFLAGS) $(CXXFLAGS) $(INCLUDES) 194289180SpeterCOMPILE_CXX_NOWARN = $(CXX) $(CXXMODEFLAGS) $(CPPFLAGS) $(CXXNOWARNFLAGS) $(CXXFLAGS) $(INCLUDES) 195251881SpeterLT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) $(LT_CFLAGS) 196251881SpeterLT_COMPILE_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) 197289180SpeterLT_COMPILE_CXX_NOWARN = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX_NOWARN) $(LT_CFLAGS) 198251881Speter# Execute a command that loads libraries from the build dir 199251881SpeterLT_EXECUTE = $(LIBTOOL) $(LTFLAGS) --mode=execute `for f in $(abs_builddir)/subversion/*/*.la; do echo -dlopen $$f; done` 200251881Speter 201251881Speter# special compilation for files destined for mod_dav_svn 202251881SpeterCOMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CFLAGS) $(CMAINTAINERFLAGS) $(LT_CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c 203251881Speter 204251881Speter# special compilation for files destined for libsvn_swig_* (e.g. swigutil_*.c) 205251881SpeterCOMPILE_SWIG_PY = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(CPPFLAGS) $(LT_CFLAGS) -DSWIGPYTHON $(SWIG_PY_INCLUDES) $(INCLUDES) -o $@ -c 206251881SpeterCOMPILE_SWIG_PL = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(LT_CFLAGS) $(SWIG_PL_INCLUDES) $(INCLUDES) -o $@ -c 207251881SpeterCOMPILE_SWIG_RB = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(CPPFLAGS) $(LT_CFLAGS) $(SWIG_RB_INCLUDES) $(INCLUDES) -o $@ -c 208251881Speter 209251881Speter# special compilation for files destined for javahl (i.e. C++) 210251881SpeterCOMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) $(JAVAHL_INCLUDES) -o $@ -c 211251881SpeterCOMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS) 212251881SpeterCOMPILE_JAVAHL_JAVAH = $(JAVAH) 213289180SpeterCOMPILE_JAVAHL_COMPAT_JAVAC = $(JAVAC) $(JAVAC_COMPAT_FLAGS) 214251881Speter 215289180Speter# On Mac OS X, export an env variable so that the tests can run without 216289180Speter# being installed. OS X needs the DYLD_LIBRARY_PATH env variable set in 217289180Speter# order to find the libraries to link against, because we can't effectively 218289180Speter# use rpath due to way rpath is implemented in the Mach executable format. 219262250SpeterTEST_SHLIB_VAR_JAVAHL=\ 220262250Speter if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \ 221262250Speter for d in $(abs_builddir)/subversion/libsvn_*; do \ 222262250Speter if [ -n "$$DYLD_LIBRARY_PATH" ]; then \ 223262250Speter @SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \ 224262250Speter else \ 225262250Speter @SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \ 226262250Speter fi; \ 227262250Speter done; \ 228262250Speter export @SVN_APR_SHLIB_PATH_VAR@; \ 229262250Speter fi; 230289180SpeterTEST_SHLIB_VAR_SWIG_PY=\ 231289180Speter if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \ 232289180Speter for d in $(SWIG_PY_DIR)/libsvn_swig_py $(SWIG_PY_DIR)/../../../libsvn_*; do \ 233289180Speter if [ -n "$$DYLD_LIBRARY_PATH" ]; then \ 234289180Speter @SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \ 235289180Speter else \ 236289180Speter @SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \ 237289180Speter fi; \ 238289180Speter done; \ 239289180Speter export @SVN_APR_SHLIB_PATH_VAR@; \ 240289180Speter fi; 241289180SpeterTEST_SHLIB_VAR_SWIG_RB=\ 242289180Speter if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \ 243289180Speter for d in $(SWIG_RB_DIR)/libsvn_swig_ruby $(SWIG_RB_DIR)/../../../libsvn_*; do \ 244289180Speter if [ -n "$$DYLD_LIBRARY_PATH" ]; then \ 245289180Speter @SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \ 246289180Speter else \ 247289180Speter @SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \ 248289180Speter fi; \ 249289180Speter done; \ 250289180Speter export @SVN_APR_SHLIB_PATH_VAR@; \ 251289180Speter fi; 252262250Speter 253251881Speter# special compilation for files destined for cxxhl 254289180SpeterCOMPILE_CXXHL_CXX = $(LT_COMPILE_CXX) $(CXXHL_INCLUDES) -o $@ -c 255289180SpeterCOMPILE_GMOCK_CXX = $(LT_COMPILE_CXX_NOWARN) $(GMOCK_INCLUDES) -o $@ -c 256289180SpeterCOMPILE_CXXHL_GMOCK_CXX = $(LT_COMPILE_CXX) $(CXXHL_INCLUDES) $(GMOCK_INCLUDES) -o $@ -c 257251881Speter 258251881SpeterLINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir) 259251881SpeterLINK_LIB = $(LINK) $(LT_SO_VERSION) 260251881SpeterLINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir) 261251881SpeterLINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION) 262251881Speter 263251881Speter# special link rule for mod_dav_svn 264251881SpeterLINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS) 265251881Speter 266251881Speter# Special LDFLAGS for some libraries 267251881Speterlibsvn_auth_gnome_keyring_LDFLAGS = @libsvn_auth_gnome_keyring_LDFLAGS@ 268251881Speterlibsvn_auth_kwallet_LDFLAGS = @libsvn_auth_kwallet_LDFLAGS@ 269251881Speterlibsvn_client_LDFLAGS = @libsvn_client_LDFLAGS@ 270251881Speterlibsvn_delta_LDFLAGS = @libsvn_delta_LDFLAGS@ 271251881Speterlibsvn_diff_LDFLAGS = @libsvn_diff_LDFLAGS@ 272251881Speterlibsvn_fs_LDFLAGS = @libsvn_fs_LDFLAGS@ 273251881Speterlibsvn_fs_base_LDFLAGS = @libsvn_fs_base_LDFLAGS@ 274251881Speterlibsvn_fs_fs_LDFLAGS = @libsvn_fs_fs_LDFLAGS@ 275251881Speterlibsvn_fs_util_LDFLAGS = @libsvn_fs_util_LDFLAGS@ 276251881Speterlibsvn_ra_LDFLAGS = @libsvn_ra_LDFLAGS@ 277251881Speterlibsvn_ra_local_LDFLAGS = @libsvn_ra_local_LDFLAGS@ 278251881Speterlibsvn_ra_serf_LDFLAGS = @libsvn_ra_serf_LDFLAGS@ 279251881Speterlibsvn_ra_svn_LDFLAGS = @libsvn_ra_svn_LDFLAGS@ 280251881Speterlibsvn_repos_LDFLAGS = @libsvn_repos_LDFLAGS@ 281251881Speterlibsvn_subr_LDFLAGS = @libsvn_subr_LDFLAGS@ 282251881Speterlibsvn_wc_LDFLAGS = @libsvn_wc_LDFLAGS@ 283251881Speter 284251881Speter# Compilation of SWIG-generated C source code 285251881SpeterCOMPILE_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(LT_CFLAGS) $(CPPFLAGS) $(SWIG_PY_INCLUDES) -prefer-pic -c -o $@ 286251881SpeterCOMPILE_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(LT_CFLAGS) $(CPPFLAGS) $(SWIG_RB_INCLUDES) -prefer-pic -c -o $@ 287251881Speter 288251881Speter# these commands link the wrapper objects into an extension library/module 289251881SpeterLINK_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_PY_LINK) $(SWIG_LDFLAGS) -rpath $(swig_pydir) -avoid-version -module 290251881SpeterLINK_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_RB_LINK) $(SWIG_LDFLAGS) -rpath $(swig_rbdir) -avoid-version -module 291251881Speter 292251881SpeterLINK_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) $(LT_CXX_LIBADD) -rpath $(libdir) 293251881Speter 294251881SpeterINSTALL = @INSTALL@ 295251881SpeterINSTALL_LIB = $(LIBTOOL) --mode=install $(INSTALL) 296251881SpeterINSTALL_FSMOD_LIB = $(INSTALL_LIB) 297251881SpeterINSTALL_RAMOD_LIB = $(INSTALL_LIB) 298251881SpeterINSTALL_APR_MEMCACHE_LIB = $(INSTALL_LIB) 299251881SpeterINSTALL_BDB_LIB = $(INSTALL_LIB) 300251881SpeterINSTALL_GPG_AGENT_LIB = $(INSTALL_LIB) 301251881SpeterINSTALL_GNOME_KEYRING_LIB = $(INSTALL_LIB) 302251881SpeterINSTALL_KWALLET_LIB = $(INSTALL_LIB) 303251881SpeterINSTALL_SERF_LIB = $(INSTALL_LIB) 304251881SpeterINSTALL_BIN = $(LIBTOOL) --mode=install $(INSTALL) 305251881SpeterINSTALL_CONTRIB = $(LIBTOOL) --mode=install $(INSTALL) 306251881SpeterINSTALL_TOOLS = $(LIBTOOL) --mode=install $(INSTALL) 307251881SpeterINSTALL_INCLUDE = $(INSTALL) -m 644 308251881SpeterINSTALL_MOD_SHARED = @APXS@ -i -S LIBEXECDIR="$(APACHE_LIBEXECDIR)" @MOD_ACTIVATION@ 309251881SpeterINSTALL_DATA = $(INSTALL) -m 644 310251881SpeterINSTALL_LOCALE = $(INSTALL_DATA) 311251881SpeterINSTALL_APACHE_MODS = @INSTALL_APACHE_MODS@ 312251881Speter 313251881Speter### this isn't correct yet 314251881SpeterINSTALL_SWIG_PY = $(INSTALL_LIB) 315251881SpeterINSTALL_SWIG_PY_LIB = $(INSTALL_LIB) 316251881SpeterINSTALL_SWIG_PL_LIB = $(INSTALL_LIB) 317251881SpeterINSTALL_SWIG_RB = $(INSTALL_LIB) 318251881SpeterINSTALL_SWIG_RB_LIB = $(INSTALL_LIB) 319251881Speter 320251881SpeterINSTALL_JAVAHL_LIB = $(INSTALL_LIB) 321251881Speter 322251881Speter# additional installation rules for the SWIG wrappers 323251881SpeterINSTALL_EXTRA_SWIG_PY=\ 324251881Speter $(MKDIR) $(DESTDIR)$(swig_pydir); \ 325251881Speter $(MKDIR) $(DESTDIR)$(swig_pydir_extra); \ 326251881Speter for i in $(abs_srcdir)/subversion/bindings/swig/python/svn/*.py; do \ 327251881Speter $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir_extra); \ 328251881Speter done; \ 329251881Speter for i in $(abs_srcdir)/subversion/bindings/swig/python/*.py; do \ 330251881Speter $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir); \ 331251881Speter done; \ 332251881Speter if test "$(abs_srcdir)" != "$(abs_builddir)"; then \ 333251881Speter for i in $(abs_builddir)/subversion/bindings/swig/python/*.py; do \ 334251881Speter $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir); \ 335251881Speter done; \ 336251881Speter fi; \ 337251881Speter $(PYTHON) -c 'import compileall; \ 338251881Speter compileall.compile_dir("$(DESTDIR)$(swig_pydir)", 1, "$(swig_pydir)"); \ 339251881Speter compileall.compile_dir("$(DESTDIR)$(swig_pydir_extra)", 1, \ 340251881Speter "$(swig_pydir_extra)");' 341251881Speter 342251881Speter# The path to generated and complementary source files for the SWIG 343251881Speter# bindings. 344251881SpeterSWIG_PL_DIR = $(abs_builddir)/subversion/bindings/swig/perl 345251881SpeterSWIG_PY_DIR = $(abs_builddir)/subversion/bindings/swig/python 346251881SpeterSWIG_RB_DIR = $(abs_builddir)/subversion/bindings/swig/ruby 347251881Speter 348251881Speter# The path to the source files for the SWIG bindings 349251881SpeterSWIG_PL_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/perl 350251881SpeterSWIG_PY_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/python 351251881SpeterSWIG_RB_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/ruby 352251881Speter 353251881Speter### Automate JAR creation using Makefile generator's javahl-java.jar 354251881Speter### property. Enhance generator to support JAR installation. 355251881SpeterJAVAHL_MANIFEST_IN = $(abs_srcdir)/subversion/bindings/javahl/Manifest.in 356251881SpeterJAVAHL_MANIFEST = subversion/bindings/javahl/Manifest 357251881SpeterINSTALL_EXTRA_JAVAHL_JAVA=\ 358251881Speter sed s/%bundleVersion/$(PACKAGE_VERSION)/ $(JAVAHL_MANIFEST_IN) > $(JAVAHL_MANIFEST); \ 359251881Speter $(JAR) cfm $(JAVAHL_JAR) $(JAVAHL_MANIFEST) -C subversion/bindings/javahl/classes org; \ 360251881Speter $(INSTALL_DATA) $(JAVAHL_JAR) $(DESTDIR)$(javahl_javadir); 361251881Speter 362251881SpeterINSTALL_EXTRA_JAVAHL_LIB=@INSTALL_EXTRA_JAVAHL_LIB@ 363251881Speter 364251881SpeterINSTALL_EXTRA_SWIG_RB=\ 365251881Speter @echo $(MKDIR) $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \ 366251881Speter $(MKDIR) $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \ 367251881Speter for i in $(abs_srcdir)/subversion/bindings/swig/ruby/svn/*.rb; do \ 368251881Speter echo $(INSTALL_DATA) "$$i" $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \ 369251881Speter $(INSTALL_DATA) "$$i" $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \ 370251881Speter done 371251881Speter 372257936SpeterAPXS = @APXS@ 373286506SpeterHTTPD_VERSION = @HTTPD_VERSION@ 374257936Speter 375251881SpeterPYTHON = @PYTHON@ 376251881SpeterPERL = @PERL@ 377251881Speter 378251881SpeterJDK = @JDK@ 379251881SpeterJAVA = @JAVA@ 380251881SpeterJAVAC = @JAVAC@ 381251881SpeterJAVADOC = @JAVADOC@ 382251881SpeterJAVAC_FLAGS = @JAVAC_FLAGS@ 383289180SpeterJAVAC_COMPAT_FLAGS = @JAVAC_COMPAT_FLAGS@ 384251881SpeterJAVAH = @JAVAH@ 385251881SpeterJAR = @JAR@ 386251881Speter 387251881SpeterJAVA_CLASSPATH=$(abs_srcdir)/subversion/bindings/javahl/src:@JAVA_CLASSPATH@ 388251881Speterjavahl_java_CLASSPATH=$(JAVA_CLASSPATH) 389251881Speterjavahl_compat_CLASSPATH=$(JAVA_CLASSPATH) 390251881Speterjavahl_tests_CLASSPATH=$(JAVA_CLASSPATH) 391251881Speterjavahl_compat_tests_CLASSPATH=$(JAVA_CLASSPATH) 392251881Speter 393251881SpeterRUBY = @RUBY@ 394251881SpeterRUBY_MAJOR = @RUBY_MAJOR@ 395251881SpeterRUBY_MINOR = @RUBY_MINOR@ 396251881SpeterRDOC = @RDOC@ 397251881Speter 398251881SpeterECHO_C = @ECHO_C@ 399251881SpeterECHO_N = @ECHO_N@ 400251881Speter 401251881SpeterTESTS = $(TEST_PROGRAMS) @BDB_TEST_PROGRAMS@ 402251881Speter 403251881Speterall: mkdir-init local-all 404251881Speterclean: local-clean 405251881Speterdistclean: local-distclean 406251881Speterextraclean: local-extraclean 407251881Speterinstall: local-install revision-install 408251881Speter 409251881Speter@INCLUDE_OUTPUTS@ 410251881Speter 411251881Speterlocal-all: @BUILD_RULES@ @TRANSFORM_LIBTOOL_SCRIPTS@ 412251881Speter 413251881Spetertransform-libtool-scripts: @BUILD_RULES@ 414251881Speter @$(SHELL) $(top_srcdir)/build/transform_libtool_scripts.sh 415251881Speter 416251881Speterlocale-gnu-pot: 417251881Speter cd $(abs_srcdir) && XGETTEXT="$(XGETTEXT)" MSGMERGE="$(MSGMERGE)" \ 418251881Speter $(SHELL) tools/po/po-update.sh pot 419251881Speter 420251881Speter# "make locale-gnu-po-update" updates all translations. 421251881Speter# "make locale-gnu-po-update PO=ll" updates only the ll.po file. 422251881Speterlocale-gnu-po-update: 423251881Speter cd $(abs_srcdir) && XGETTEXT="$(XGETTEXT)" MSGMERGE="$(MSGMERGE)" \ 424251881Speter $(SHELL) tools/po/po-update.sh $(PO) 425251881Speter 426251881Speter# clean everything but the bulky test output, returning the system back 427251881Speter# to before 'make' was run. 428251881Speterfast-clean: doc-clean 429251881Speter @list='$(BUILD_DIRS)'; for i in $$list; do \ 430251881Speter if [ -d $$i ]; then \ 431251881Speter (cd $$i && rm -f *.o *.lo *.la *.la-a *.spo *.mo && \ 432251881Speter rm -rf .libs); \ 433251881Speter fi \ 434251881Speter done 435251881Speter echo $(CLEAN_FILES) | xargs rm -f -- 436251881Speter find $(CTYPES_PYTHON_SRC_DIR) $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) \ 437251881Speter $(abs_srcdir)/build $(top_srcdir)/subversion/tests/cmdline/svntest \ 438251881Speter -name "*.pyc" -exec rm {} ';' 439251881Speter 440251881Speter# clean everything, returning to before './configure' was run. 441251881SpeterSVN_CONFIG_SCRIPT_FILES = @SVN_CONFIG_SCRIPT_FILES@ 442251881Speterlocal-distclean: local-clean 443251881Speter rm -fr config.cache config.log config.nice config.status \ 444251881Speter libtool mkmf.log subversion/svn_private_config.h \ 445251881Speter subversion/bindings/javahl/classes \ 446251881Speter subversion/bindings/javahl/include \ 447289180Speter subversion/libsvn_*/*.pc \ 448251881Speter $(SVN_CONFIG_SCRIPT_FILES) 449251881Speter rm -f Makefile 450251881Speter 451251881Speter# clean everything out, returning to before './autogen.sh' was run. 452251881Speterlocal-extraclean: extraclean-bindings local-distclean 453251881Speter rm -f $(top_srcdir)/build-outputs.mk \ 454251881Speter $(top_srcdir)/subversion/svn_private_config.h.in \ 455251881Speter $(top_srcdir)/configure \ 456251881Speter $(top_srcdir)/gen-make.opts \ 457251881Speter $(top_srcdir)/build/config.guess \ 458251881Speter $(top_srcdir)/build/config.sub \ 459251881Speter $(top_srcdir)/build/libtool.m4 \ 460251881Speter $(top_srcdir)/build/ltoptions.m4 \ 461251881Speter $(top_srcdir)/build/ltsugar.m4 \ 462251881Speter $(top_srcdir)/build/ltversion.m4 \ 463251881Speter $(top_srcdir)/build/lt~obsolete.m4 \ 464251881Speter $(top_srcdir)/build/ltmain.sh \ 465251881Speter $(top_srcdir)/build/transform_libtool_scripts.sh \ 466251881Speter $(EXTRACLEAN_FILES) 467251881Speter 468251881Speter 469251881Speter# clean everything, including test output. 470251881Speterlocal-clean: check-clean clean-bindings fast-clean 471251881Speter 472251881Speterlocal-install: @INSTALL_RULES@ 473251881Speter 474251881Speterrevision-install: 475251881Speter test -d $(DESTDIR)$(includedir)/subversion-1 || \ 476251881Speter $(MKDIR) $(DESTDIR)$(includedir)/subversion-1 477251881Speter (subversion/svnversion/svnversion $(top_srcdir) 2> /dev/null || \ 478251881Speter svnversion $(top_srcdir) 2> /dev/null || \ 479251881Speter echo "unknown"; \ 480251881Speter ) > $(DESTDIR)$(includedir)/subversion-1/svn-revision.txt 481251881Speter 482251881Speterinstall-static: @INSTALL_STATIC_RULES@ 483251881Speter 484251881Speter# JavaHL target aliases 485289180Speterjavahl: mkdir-init javahl-java javahl-javah javahl-callback-javah javahl-remote-javah javahl-types-javah javahl-util-javah javahl-lib @JAVAHL_TESTS_TARGET@ javahl-compat 486251881Speterinstall-javahl: javahl install-javahl-java install-javahl-javah install-javahl-lib 487251881Speterjavahl-compat: javahl-compat-java @JAVAHL_COMPAT_TESTS_TARGET@ 488251881Speter 489251881Speterclean-javahl: 490289180Speter if [ -d $(javahl_test_rootdir) ]; then \ 491289180Speter rm -rf $(javahl_test_rootdir)/*; \ 492289180Speter fi 493251881Speter rm -rf $(javahl_java_PATH) $(javahl_javah_PATH) @JAVAHL_OBJDIR@ 494251881Speter rm -f $(libsvnjavahl_PATH)/*.la $(JAVAHL_JAR) 495251881Speter rm -f $(libsvnjavahl_PATH)/*.lo 496251881Speter rm -f $(libsvnjavahl_PATH)/*.o 497251881Speter 498251881Spetercheck-tigris-javahl: javahl-compat 499251881Speter @FIX_JAVAHL_LIB@ 500262250Speter $(TEST_SHLIB_VAR_JAVAHL) \ 501289180Speter $(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.tests=$(JAVAHL_TESTS)" org.tigris.subversion.javahl.RunTests 502251881Speter 503251881Spetercheck-apache-javahl: javahl 504251881Speter @FIX_JAVAHL_LIB@ 505262250Speter $(TEST_SHLIB_VAR_JAVAHL) \ 506289180Speter $(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.tests=$(JAVAHL_TESTS)" org.apache.subversion.javahl.RunTests 507251881Speter 508289180Spetercheck-deprecated-authn-javahl: javahl 509289180Speter @FIX_JAVAHL_LIB@ 510289180Speter $(TEST_SHLIB_VAR_JAVAHL) \ 511289180Speter $(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.tests=$(JAVAHL_TESTS)" "-Dtest.authn.deprecated=true" org.apache.subversion.javahl.RunTests 512289180Speter 513251881Spetercheck-javahl: check-apache-javahl 514251881Speter 515289180Spetercheck-all-javahl: check-apache-javahl check-tigris-javahl check-deprecated-authn-javahl 516251881Speter 517251881Speter# "make check CLEANUP=true" will clean up directories for successful tests. 518251881Speter# "make check TESTS=subversion/tests/cmdline/basic_tests.py" 519251881Speter# will perform only basic tests (likewise for other tests). 520251881Spetercheck: bin @TRANSFORM_LIBTOOL_SCRIPTS@ $(TEST_DEPS) @BDB_TEST_DEPS@ 521251881Speter @if test "$(PYTHON)" != "none"; then \ 522251881Speter if test "$(CLEANUP)" != ""; then \ 523251881Speter flags="--cleanup $$flags"; \ 524251881Speter fi; \ 525251881Speter if test "$(BASE_URL)" != ""; then \ 526251881Speter flags="--url $(BASE_URL) $$flags"; \ 527251881Speter fi; \ 528289180Speter if test "$(SKIP_C_TESTS)" != ""; then \ 529289180Speter flags="--skip-c-tests $$flags"; \ 530289180Speter fi; \ 531289180Speter if test "$(DUMP_LOAD_CROSS_CHECK)" != ""; then \ 532289180Speter flags="--dump-load-cross-check $$flags"; \ 533289180Speter fi; \ 534251881Speter if test "$(FS_TYPE)" != ""; then \ 535251881Speter flags="--fs-type $(FS_TYPE) $$flags"; \ 536251881Speter fi; \ 537251881Speter if test "$(HTTP_LIBRARY)" != ""; then \ 538251881Speter flags="--http-library $(HTTP_LIBRARY) $$flags"; \ 539251881Speter fi; \ 540289180Speter if test "$(HTTPD_VERSION)" != ""; then \ 541289180Speter flags="--httpd-version $(HTTPD_VERSION) $$flags"; \ 542286506Speter fi; \ 543251881Speter if test "$(SERVER_MINOR_VERSION)" != ""; then \ 544251881Speter flags="--server-minor-version $(SERVER_MINOR_VERSION) $$flags"; \ 545251881Speter fi; \ 546251881Speter if test "$(ENABLE_SASL)" != ""; then \ 547251881Speter flags="--enable-sasl $$flags"; \ 548251881Speter fi; \ 549251881Speter if test "$(FSFS_SHARDING)" != ""; then \ 550251881Speter flags="--fsfs-sharding $(FSFS_SHARDING) $$flags"; \ 551251881Speter fi; \ 552251881Speter if test "$(FSFS_PACKING)" != ""; then \ 553251881Speter flags="--fsfs-packing $$flags"; \ 554251881Speter fi; \ 555251881Speter if test "$(PARALLEL)" != ""; then \ 556289180Speter flags="--parallel $(PARALLEL) $$flags"; \ 557251881Speter fi; \ 558251881Speter if test "$(LOG_TO_STDOUT)" != ""; then \ 559251881Speter flags="--log-to-stdout $$flags"; \ 560251881Speter fi; \ 561251881Speter if test "$(MILESTONE_FILTER)" != ""; then \ 562251881Speter flags="--list --milestone-filter=$(MILESTONE_FILTER) \ 563251881Speter --mode-filter=$(MODE_FILTER) --log-to-stdout $$flags"; \ 564251881Speter fi; \ 565251881Speter if test "$(SET_LOG_LEVEL)" != ""; then \ 566251881Speter flags="--set-log-level $(SET_LOG_LEVEL) $$flags"; \ 567251881Speter fi; \ 568251881Speter if test "$(SSL_CERT)" != ""; then \ 569251881Speter flags="--ssl-cert $(SSL_CERT) $$flags"; \ 570251881Speter fi; \ 571251881Speter if test "$(HTTP_PROXY)" != ""; then \ 572251881Speter flags="--http-proxy $(HTTP_PROXY) $$flags"; \ 573251881Speter fi; \ 574289180Speter if test "$(EXCLUSIVE_WC_LOCKS)" != ""; then \ 575289180Speter flags="--exclusive-wc-locks $$flags"; \ 576289180Speter fi; \ 577289180Speter if test "$(MEMCACHED_SERVER)" != ""; then \ 578289180Speter flags="--memcached-server $(MEMCACHED_SERVER) $$flags"; \ 579289180Speter fi; \ 580251881Speter LD_LIBRARY_PATH='$(auth_plugin_dirs):$(LD_LIBRARY_PATH)' \ 581251881Speter $(PYTHON) $(top_srcdir)/build/run_tests.py \ 582251881Speter --config-file $(top_srcdir)/subversion/tests/tests.conf \ 583251881Speter $$flags \ 584251881Speter '$(abs_srcdir)' '$(abs_builddir)' $(TESTS); \ 585251881Speter else \ 586289180Speter echo "make check: Python 2.7 or greater is required,"; \ 587251881Speter echo " but was not detected during configure"; \ 588251881Speter exit 1; \ 589251881Speter fi; 590251881Speter 591251881Speter# First, set up Apache as documented in 592251881Speter# subversion/tests/cmdline/README. 593251881Speterdavcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod 594251881Speter @$(MAKE) check BASE_URL=http://localhost 595251881Speter 596251881Speter# Automatically configure and run Apache httpd on a random port, and then 597251881Speter# run make check. 598251881Speterdavautocheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod 599251881Speter @# Takes MODULE_PATH, USE_HTTPV1 and SVN_PATH_AUTHZ in the environment. 600289180Speter @APXS=$(APXS) MAKE=$(MAKE) $(SHELL) $(top_srcdir)/subversion/tests/cmdline/davautocheck.sh 601251881Speter 602251881Speter# First, run: 603251881Speter# subversion/svnserve/svnserve -d -r `pwd`/subversion/tests/cmdline 604251881Spetersvncheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ 605251881Speter @$(MAKE) check BASE_URL=svn://127.0.0.1 606251881Speter 607251881Speter# 'make svnserveautocheck' runs svnserve for you and kills it. 608251881Spetersvnserveautocheck: svnserve bin $(TEST_DEPS) @BDB_TEST_DEPS@ 609289180Speter @env PYTHON=$(PYTHON) THREADED=$(THREADED) MAKE=$(MAKE) \ 610289180Speter $(SHELL) $(top_srcdir)/subversion/tests/cmdline/svnserveautocheck.sh 611251881Speter 612251881Speter# First, run: 613251881Speter# subversion/svnserve/svnserve --listen-host "::1" -d -r `pwd`/subversion/tests/cmdline 614251881Speter 615251881Spetersvncheck6: bin $(TEST_DEPS) @BDB_TEST_DEPS@ 616251881Speter @$(MAKE) check BASE_URL=svn://\[::1\] 617251881Speter 618251881Speter# First make sure you can ssh to localhost and that "svnserve" is in 619251881Speter# the path of the resulting shell. 620251881Spetersvnsshcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ 621251881Speter @$(MAKE) check \ 622251881Speter BASE_URL=svn+ssh://localhost`pwd`/subversion/tests/cmdline 623251881Speter 624251881Speterbdbcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ 625251881Speter @$(MAKE) check FS_TYPE=bdb 626251881Speter 627289180Speter# Produce the clang compilation database as the compile_commands.json file 628289180Speter# in the srcdir. This is used by tools such as the YouCompleteMe vim plugin 629289180Speter# to know the compile flags for various source files so that analysis such 630289180Speter# as syntax checking, static analysis or symbol completion can be done 631289180Speter# outside the build system. To do this it uses the tool called bear: 632289180Speter# https://github.com/rizsotto/Bear 633289180Spetercompile-commands: 634289180Speter @bear -o $(abs_srcdir)/compile_commands.json -- $(MAKE) all 635289180Speter 636251881Speter# Create an execution coverage report from the data collected during 637251881Speter# all execution since the last reset. 638251881Spetergcov: 639251881Speter lcov --capture -d . -b . -o gcov-lcov.dat > gcov-lcov.log 640251881Speter genhtml gcov-lcov.dat -o gcov-report > gcov-genhtml.log 641251881Speter 642251881Speter# Reset all execution coverage counters to zero. 643251881Spetergcov-reset: 644251881Speter lcov --zerocounters -d . 645251881Speter 646251881Speter# Remove the execution coverage data and the report. 647251881Spetergcov-clean: 648251881Speter rm -f gcov-lcov.dat gcov-lcov.log gcov-genhtml.log 649251881Speter rm -rf gcov-report 650289180Speter find . -name "*.gcda" -o -name "*.gcno" -exec rm -f -- {} \; 651251881Speter 652251881Spetercheck-clean: gcov-clean 653251881Speter if [ -d subversion/tests/cmdline/svn-test-work ]; then \ 654289180Speter rm -rf subversion/tests/cmdline/svn-test-work/*; \ 655251881Speter fi 656251881Speter rm -rf subversion/tests/libsvn_fs/test-repo-* \ 657251881Speter subversion/tests/libsvn_fs_base/test-repo-* \ 658251881Speter subversion/tests/libsvn_fs_fs/test-repo-* \ 659251881Speter subversion/tests/libsvn_ra_local/test-repo-* \ 660251881Speter subversion/tests/libsvn_repos/test-repo-* \ 661251881Speter subversion/tests/libsvn_subr/z \ 662251881Speter subversion/tests/libsvn_wc/fake-wc \ 663251881Speter subversion/tests/libsvn_client/test-patch* \ 664251881Speter subversion/tests/libsvn_client/test-*/ \ 665251881Speter subversion/tests/libsvn_diff/B2 \ 666251881Speter subversion/tests/libsvn_diff/T1 \ 667251881Speter subversion/tests/libsvn_diff/T2 \ 668251881Speter subversion/tests/libsvn_diff/T3 \ 669251881Speter subversion/tests/svnserveautocheck.pid \ 670251881Speter tests.log fails.log 671251881Speter 672251881Spetermkdir-init: 673251881Speter @list='$(BUILD_DIRS) $(SCHEMA_DIR) doc'; \ 674251881Speter for i in $$list; do \ 675251881Speter if [ ! -d $$i ]; then \ 676251881Speter $(MKDIR) $$i ; \ 677251881Speter fi; \ 678251881Speter done 679251881Speter 680251881Speter# DOCUMENTATION RULES 681251881Speter 682251881Speter# Every single document in every format. 683251881Speterdoc: doc-api doc-javahl 684251881Speter 685251881Speter# Generate API documentation for the C libraries. 686251881Speter### This could also generate POD for swig-perl, etc. 687251881Speterdoc-api: mkdir-init 688251881Speter ( cd $(top_srcdir) && \ 689251881Speter sed "s,\(OUTPUT_DIRECTORY *= *\),\1$(abs_builddir)/," \ 690251881Speter doc/doxygen.conf | $(DOXYGEN) - ) 691251881Speter 692251881Speter# Generate API documentation for the JavaHL package. 693251881Speterdoc-javahl: 694251881Speter $(JAVADOC) -d $(abs_builddir)/doc/javadoc \ 695251881Speter -sourcepath $(top_srcdir)/subversion/bindings/javahl/src \ 696251881Speter -link http://java.sun.com/javase/6/docs/api/ \ 697251881Speter org.tigris.subversion.javahl \ 698289180Speter org.apache.subversion.javahl \ 699289180Speter org.apache.subversion.javahl.callback \ 700289180Speter org.apache.subversion.javahl.remote \ 701289180Speter org.apache.subversion.javahl.types \ 702289180Speter org.apache.subversion.javahl.util 703251881Speter 704251881Speterdoc-clean: 705289180Speter rm -rf $(abs_builddir)/doc/doxygen 706289180Speter rm -rf $(abs_builddir)/doc/javadoc 707251881Speter 708289180Speter# Converting from the .rnc XML schemas to various other schema formats. 709289180SpeterSCHEMAS_DTD = $(SCHEMA_DIR)/blame.dtd \ 710289180Speter $(SCHEMA_DIR)/diff.dtd \ 711289180Speter $(SCHEMA_DIR)/info.dtd \ 712289180Speter $(SCHEMA_DIR)/list.dtd \ 713289180Speter $(SCHEMA_DIR)/log.dtd \ 714289180Speter $(SCHEMA_DIR)/props.dtd \ 715289180Speter $(SCHEMA_DIR)/status.dtd 716251881Speter 717289180SpeterSCHEMAS_RNG = $(SCHEMA_DIR)/blame.rng \ 718289180Speter $(SCHEMA_DIR)/diff.rng \ 719289180Speter $(SCHEMA_DIR)/info.rng \ 720289180Speter $(SCHEMA_DIR)/list.rng \ 721289180Speter $(SCHEMA_DIR)/log.rng \ 722289180Speter $(SCHEMA_DIR)/props.rng \ 723289180Speter $(SCHEMA_DIR)/status.rng 724251881Speter 725289180SpeterSCHEMAS_XSD = $(SCHEMA_DIR)/blame.xsd \ 726289180Speter $(SCHEMA_DIR)/diff.xsd \ 727289180Speter $(SCHEMA_DIR)/info.xsd \ 728289180Speter $(SCHEMA_DIR)/list.xsd \ 729289180Speter $(SCHEMA_DIR)/log.xsd \ 730289180Speter $(SCHEMA_DIR)/props.xsd \ 731289180Speter $(SCHEMA_DIR)/status.xsd 732251881Speter 733289180Speterschema: mkdir-init schema-rng schema-dtd schema-xsd 734251881Speter 735251881Speterschema-rng: $(SCHEMAS_RNG) 736251881Speterschema-dtd: $(SCHEMAS_DTD) 737251881Speterschema-xsd: $(SCHEMAS_XSD) 738251881Speter 739251881Speter$(SCHEMAS_RNG) $(SCHEMAS_DTD) $(SCHEMAS_XSD): $(SCHEMA_DIR)/common.rnc 740251881Speter 741251881Speterschema-clean: 742251881Speter (cd $(SCHEMA_DIR) && rm -f *.rng *.dtd *.xsd) 743251881Speter 744251881Speter# 745251881Speter# Implicit rules for creating outputs from input files 746251881Speter# 747251881Speter.SUFFIXES: 748251881Speter.SUFFIXES: .c .cpp .lo .o .la-a .la \ 749251881Speter .po .spo .mo .rnc .rng .dtd .xsd .sql .h 750251881Speter 751251881Speter.sql.h: 752251881Speter $(PYTHON) $(top_srcdir)/build/transform_sql.py $< $(top_srcdir)/$@ 753251881Speter 754251881Speter.c.o: 755251881Speter $(COMPILE) -o $@ -c $< 756251881Speter 757251881Speter.cpp.o: 758251881Speter $(COMPILE_CXX) -o $@ -c $< 759251881Speter 760251881Speter.c.lo: 761251881Speter $(LT_COMPILE) -o $@ -c $< 762251881Speter 763251881Speter.cpp.lo: 764251881Speter $(LT_COMPILE_CXX) -o $@ -c $< 765251881Speter 766251881Speter.la.la-a: 767251881Speter sed "/library_names/s/'.*'/''/" $< > $@ 768251881Speter 769251881Speter 770251881Speter# Strip the Content-Type: header from the po file if we don't have a 771251881Speter# gettext that supports bind_textdomain_codeset, so it doesn't try 772251881Speter# to convert our UTF-8 .po files to the locale encoding. 773251881Speter@NO_GETTEXT_CODESET@.po.spo: 774251881Speter@NO_GETTEXT_CODESET@ sed \ 775251881Speter@NO_GETTEXT_CODESET@ '/^"Content-Type: text\/plain; charset=UTF-8\\n"$$/d' \ 776251881Speter@NO_GETTEXT_CODESET@ $< > $@ 777251881Speter 778251881Speter@NO_GETTEXT_CODESET@.spo.mo: 779251881Speter@NO_GETTEXT_CODESET@ $(MSGFMT) $(MSGFMTFLAGS) -o $@ $< 780251881Speter 781251881Speter# For systems with bind_textdomain_codeset, just leave the Content-Type: 782251881Speter# header alone. 783251881Speter@GETTEXT_CODESET@.po.mo: 784251881Speter@GETTEXT_CODESET@ $(MSGFMT) $(MSGFMTFLAGS) -o $@ $< 785251881Speter 786251881Speter.rnc.rng: 787251881Speter @TRANG@ $< $@ 788251881Speter 789251881Speter.rnc.dtd: 790251881Speter @TRANG@ $< $@ 791251881Speter 792251881Speter.rnc.xsd: 793251881Speter @TRANG@ $< $@ 794251881Speter 795251881Speterinstall-docs: install-man 796251881Speter 797251881Spetermanroot = $(mandir)/man 798251881Speterinstall-man: 799251881Speter @list='$(MANPAGES)'; \ 800251881Speter for i in $$list; do \ 801251881Speter if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ 802251881Speter else file=$$i; fi; \ 803251881Speter ext=`echo $$i | sed -e 's/^.*\\.//'`; \ 804251881Speter $(MKDIR) $(DESTDIR)$(manroot)$$ext; \ 805251881Speter inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ 806251881Speter inst=`echo $$inst | sed -e 's/^.*\///'`; \ 807251881Speter inst=`echo $$inst`.$$ext; \ 808251881Speter echo "$(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst"; \ 809251881Speter $(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst; \ 810251881Speter done 811251881Speter 812251881Speterinstall-swig-py: install-swig-py-lib 813251881Speterinstall-swig-rb: install-swig-rb-lib 814251881Speter 815251881Speterclean-bindings: clean-swig clean-ctypes-python clean-javahl 816251881Speter 817251881Speterextraclean-bindings: clean-swig extraclean-swig-headers \ 818251881Speter extraclean-swig-py extraclean-swig-rb \ 819251881Speter extraclean-swig-pl \ 820251881Speter clean-ctypes-python clean-javahl \ 821251881Speter 822251881Speterclean-swig: clean-swig-headers clean-swig-py clean-swig-rb clean-swig-pl 823251881Speter @rm -f .swig_checked 824251881Speter 825251881SpeterEXTRACLEAN_SWIG_HEADERS=rm -f $(SWIG_SRC_DIR)/proxy/*.swg 826251881Speter 827251881Speterclean-swig-headers: 828251881Speter if test -z "$(RELEASE_MODE)"; then \ 829251881Speter $(EXTRACLEAN_SWIG_HEADERS); \ 830251881Speter fi 831251881Speter 832251881Speterextraclean-swig-headers: clean-swig-headers 833251881Speter $(EXTRACLEAN_SWIG_HEADERS) 834251881Speter 835251881Speter$(SWIG_PL_DIR)/native/Makefile.PL: $(SWIG_SRC_DIR)/perl/native/Makefile.PL.in 836251881Speter ./config.status subversion/bindings/swig/perl/native/Makefile.PL 837251881Speter 838251881Speter$(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL 839289180Speter cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL PREFIX=$(prefix) 840251881Speter 841251881Speter# There is a "readlink -f" command on some systems for the same purpose, 842251881Speter# but it's not as portable (e.g. Mac OS X doesn't have it). These should 843251881Speter# only be used where Python/Perl are known to be available. 844251881SpeterREADLINK_PY=$(PYTHON) -c 'import sys,os; print(os.path.realpath(sys.argv[1]))' 845251881SpeterREADLINK_PL=$(PERL) -e 'use Cwd; print Cwd::realpath(shift)' 846251881Speter 847251881Speterswig-pl_DEPS = autogen-swig-pl libsvn_swig_perl \ 848251881Speter $(SWIG_PL_DIR)/native/Makefile 849251881Speterswig-pl: $(swig-pl_DEPS) 850251881Speter if test "`$(READLINK_PL) $(SWIG_PL_DIR)`" != "`$(READLINK_PL) $(SWIG_PL_SRC_DIR)`"; then \ 851251881Speter ln -sf $(SWIG_PL_SRC_DIR)/native/*.c $(SWIG_PL_DIR)/native; \ 852251881Speter fi 853251881Speter cd $(SWIG_PL_DIR)/native; $(MAKE) OPTIMIZE="" OTHERLDFLAGS="$(SWIG_LDFLAGS)" 854251881Speter 855251881Spetercheck-swig-pl: swig-pl swig-pl-lib 856251881Speter cd $(SWIG_PL_DIR)/native; $(MAKE) test 857251881Speter 858251881Speterinstall-swig-pl: swig-pl install-swig-pl-lib 859251881Speter cd $(SWIG_PL_DIR)/native; $(MAKE) install 860251881Speter 861251881SpeterEXTRACLEAN_SWIG_PL=rm -f $(SWIG_PL_SRC_DIR)/native/svn_*.c \ 862251881Speter $(SWIG_PL_SRC_DIR)/native/core.c 863251881Speter 864251881Speter# Running Makefile.PL at this point *fails* (cannot find ..../.libs) so if the 865251881Speter# Makefile does not exist, DO NOT try to make it. But, if it doesn't exist, 866251881Speter# then the directory is probably clean anyway. 867251881Speterclean-swig-pl: 868251881Speter if test -z "$(RELEASE_MODE)"; then \ 869251881Speter $(EXTRACLEAN_SWIG_PL); \ 870251881Speter fi 871251881Speter for d in $(SWIG_PL_DIR)/libsvn_swig_perl; \ 872251881Speter do \ 873251881Speter cd $$d; \ 874251881Speter rm -rf *.lo *.la *.o .libs; \ 875251881Speter done 876251881Speter if [ -f "$(SWIG_PL_DIR)/native/Makefile" ]; then \ 877251881Speter cd $(SWIG_PL_DIR)/native; $(MAKE) clean; \ 878251881Speter fi 879251881Speter 880251881Speterextraclean-swig-pl: clean-swig-pl 881251881Speter $(EXTRACLEAN_SWIG_PL) 882251881Speter 883251881Speter$(SWIG_PY_DIR)/libsvn: 884251881Speter mkdir $(SWIG_PY_DIR)/libsvn 885251881Speter 886251881Spetercopy-swig-py: autogen-swig-py $(SWIG_PY_DIR)/libsvn 887251881Speter @for f in $(SWIG_PY_SRC_DIR)/*.py $(SWIG_PY_DIR)/*.py; do \ 888251881Speter ! [ -f "$$f" ] || cp -pf $$f $(SWIG_PY_DIR)/libsvn; \ 889251881Speter done 890251881Speter @touch $(SWIG_PY_DIR)/libsvn/__init__.py 891251881Speter 892251881Speterswig-py: autogen-swig-py copy-swig-py 893251881Speter 894251881Spetercheck-swig-py: swig-py 895251881Speter $(TEST_SHLIB_VAR_SWIG_PY) \ 896251881Speter cd $(SWIG_PY_DIR); \ 897251881Speter $(PYTHON) $(SWIG_PY_SRC_DIR)/tests/run_all.py 898251881Speter 899251881SpeterEXTRACLEAN_SWIG_PY=rm -rf $(SWIG_PY_SRC_DIR)/svn_*.c $(SWIG_PY_SRC_DIR)/core.c \ 900251881Speter $(SWIG_PY_SRC_DIR)/[a-z]*.py 901251881Speterclean-swig-py: 902251881Speter rm -rf $(SWIG_PY_DIR)/libsvn 903251881Speter if test -z "$(RELEASE_MODE)"; then \ 904251881Speter $(EXTRACLEAN_SWIG_PY); \ 905251881Speter fi 906251881Speter for d in $(SWIG_PY_DIR) $(SWIG_PY_DIR)/libsvn_swig_py; \ 907251881Speter do \ 908251881Speter cd $$d && rm -rf *.lo *.la *.o *.pyc .libs; \ 909251881Speter done 910251881Speter find $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) -name "*.pyc" -exec rm {} ';' 911251881Speter 912251881Speterextraclean-swig-py: clean-swig-py 913251881Speter $(EXTRACLEAN_SWIG_PY) 914251881Speter 915251881Speterswig-rb: autogen-swig-rb 916251881Speter 917251881Spetercheck-swig-rb: swig-rb svnserve 918251881Speter $(TEST_SHLIB_VAR_SWIG_RB) \ 919251881Speter cd $(SWIG_RB_DIR); \ 920298845Sdim check_rb() { \ 921298845Sdim $(RUBY) -I $(SWIG_RB_SRC_DIR) $(SWIG_RB_SRC_DIR)/test/run-test.rb "$$@"; \ 922298845Sdim }; \ 923298845Sdim if check_rb --help 2>&1 | grep -q -- --collector; then \ 924298845Sdim check_rb --collector=dir --verbose=$(SWIG_RB_TEST_VERBOSE); \ 925298845Sdim elif [ "$(RUBY_MAJOR)" -eq 1 -a "$(RUBY_MINOR)" -lt 9 ] ; then \ 926298845Sdim check_rb --verbose=$(SWIG_RB_TEST_VERBOSE); \ 927298845Sdim else \ 928298845Sdim check_rb; \ 929251881Speter fi 930251881Speter 931251881SpeterEXTRACLEAN_SWIG_RB=rm -f $(SWIG_RB_SRC_DIR)/svn_*.c $(SWIG_RB_SRC_DIR)/core.c 932251881Speter 933251881Speterclean-swig-rb: 934251881Speter rm -rf $(SWIG_RB_DIR)/test/repos $(SWIG_RB_DIR)/test/wc 935251881Speter if test -z "$(RELEASE_MODE)"; then \ 936251881Speter $(EXTRACLEAN_SWIG_RB); \ 937251881Speter fi 938251881Speter for d in $(SWIG_RB_DIR) $(SWIG_RB_DIR)/libsvn_swig_ruby; \ 939251881Speter do \ 940251881Speter cd $$d; \ 941251881Speter rm -rf *.lo *.la *.o .libs; \ 942251881Speter done 943251881Speter 944251881Speterextraclean-swig-rb: clean-swig-rb 945251881Speter $(EXTRACLEAN_SWIG_RB) 946251881Speter 947251881Speterinstall-swig-rb-doc: 948251881Speter $(RDOC) --all --ri --op "$(SWIG_RB_RI_DATADIR)" "$(SWIG_RB_SRC_DIR)/svn" 949251881Speter 950251881Speter# ctypes-python make targets 951251881Speterctypes-python: local-all 952258569Speter $(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)" 953251881Speter 954251881Speterinstall-ctypes-python: ctypes-python 955251881Speter cd $(CTYPES_PYTHON_SRC_DIR); \ 956251881Speter $(PYTHON) setup.py install --prefix="$(DESTDIR)$(prefix)" 957251881Speter 958251881Spetercheck-ctypes-python: ctypes-python 959251881Speter cd $(CTYPES_PYTHON_SRC_DIR); \ 960251881Speter $(LT_EXECUTE) $(PYTHON) test/run_all.py 961251881Speter 962251881Speter# If any of those files exists, run ctypes' 'setup.py clean'. We don't run 963251881Speter# it otherwise because it spams stdout+stderr; see r1479326. 964251881Speterclean-ctypes-python: 965251881Speter cd $(CTYPES_PYTHON_SRC_DIR); \ 966251881Speter for b in build csvn/core/functions.py svn_all.py svn_all2.py ; do \ 967251881Speter if [ -e "$$b" ] ; then \ 968251881Speter $(PYTHON) setup.py clean --all; \ 969251881Speter break; \ 970251881Speter fi; \ 971251881Speter done 972251881Speter 973251881Speter# manually describe a dependency, which we won't otherwise detect 974251881Spetersubversion/libsvn_wc/wc-queries.h: $(abs_srcdir)/subversion/libsvn_wc/wc-metadata.sql 975251881Spetersubversion/libsvn_wc/wc-queries.h: $(abs_srcdir)/subversion/libsvn_wc/wc-checks.sql 976251881Speter 977251881Speter# Compatibility symlink. 978251881Speter# This runs after the target of the same name in build-outputs.mk. 979251881SpeterINSTALL_EXTRA_TOOLS=\ 980251881Speter $(MKDIR) $(DESTDIR)$(bindir); \ 981251881Speter test -n "$$SVN_SVNMUCC_IS_SVNSYITF" && \ 982251881Speter ln -sf svnmucc$(EXEEXT) $(DESTDIR)$(bindir)/svnsyitf$(EXEEXT); \ 983251881Speter if test "$(DESTDIR)$(bindir)" != "$(DESTDIR)$(toolsdir)"; then \ 984253734Speter ln -sf $(bindir)/svnmucc$(EXEEXT) $(DESTDIR)$(toolsdir)/svnmucc$(EXEEXT); \ 985289180Speter ln -sf $(bindir)/svnbench$(EXEEXT) $(DESTDIR)$(toolsdir)/svn-bench$(EXEEXT); \ 986251881Speter fi 987