# # Makefile.in: template Makefile for Subversion # # ==================================================================== # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ==================================================================== # top_builddir = . top_srcdir = @top_srcdir@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ VPATH = @top_srcdir@ SVN_RA_LIB_DEPS = @SVN_RA_LIB_DEPS@ SVN_RA_LIB_INSTALL_DEPS = @SVN_RA_LIB_INSTALL_DEPS@ SVN_RA_LIB_LINK = @SVN_RA_LIB_LINK@ SVN_FS_LIB_DEPS = @SVN_FS_LIB_DEPS@ SVN_FS_LIB_INSTALL_DEPS = @SVN_FS_LIB_INSTALL_DEPS@ SVN_FS_LIB_LINK = @SVN_FS_LIB_LINK@ SWIG_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig SWIG_BUILD_DIR = $(abs_builddir)/subversion/bindings/swig SCHEMA_DIR = subversion/svn/schema SVN_APR_LIBS = @SVN_APR_LIBS@ SVN_APRUTIL_LIBS = @SVN_APRUTIL_LIBS@ SVN_APR_MEMCACHE_LIBS = @SVN_APR_MEMCACHE_LIBS@ SVN_DB_LIBS = @SVN_DB_LIBS@ SVN_GPG_AGENT_LIBS = @SVN_GPG_AGENT_LIBS@ SVN_GNOME_KEYRING_LIBS = @SVN_GNOME_KEYRING_LIBS@ SVN_KWALLET_LIBS = @SVN_KWALLET_LIBS@ SVN_MAGIC_LIBS = @SVN_MAGIC_LIBS@ SVN_SASL_LIBS = @SVN_SASL_LIBS@ SVN_SERF_LIBS = @SVN_SERF_LIBS@ SVN_SQLITE_LIBS = @SVN_SQLITE_LIBS@ SVN_XML_LIBS = @SVN_XML_LIBS@ SVN_ZLIB_LIBS = @SVN_ZLIB_LIBS@ LIBS = @LIBS@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ fsmod_libdir = @libdir@ ramod_libdir = @libdir@ bdb_libdir = @libdir@ gnome_keyring_libdir = @libdir@ gpg_agent_libdir = @libdir@ kwallet_libdir = @libdir@ serf_libdir = @libdir@ bindir = @bindir@ includedir = @includedir@ mandir = @mandir@ srcdir = @srcdir@ canonicalized_srcdir = @canonicalized_srcdir@ datadir = @datadir@ datarootdir = @datarootdir@ localedir = @localedir@ # where to install libsvn_swig_* swig_py_libdir = @libdir@ swig_pl_libdir = @libdir@ swig_rb_libdir = @libdir@ ### these possibly need further discussion swig_pydir = @libdir@/svn-python/libsvn swig_pydir_extra = @libdir@/svn-python/svn swig_pldir = @libdir@/svn-perl swig_rbdir = $(SWIG_RB_SITE_ARCH_DIR)/svn/ext toolsdir = @bindir@/svn-tools javahl_javadir = @libdir@/svn-javahl javahl_javahdir = @libdir@/svn-javahl/include javahl_libdir = @libdir@ javahl_test_rootdir=$(abs_builddir)/subversion/bindings/javahl/test-work javahl_test_srcdir=$(abs_srcdir)/subversion/bindings/javahl gnome_auth_dir = $(abs_builddir)/subversion/libsvn_auth_gnome_keyring/.libs kwallet_auth_dir = $(abs_builddir)/subversion/libsvn_auth_kwallet/.libs auth_plugin_dirs = $(gnome_auth_dir):$(kwallet_auth_dir) MSGFMT = @MSGFMT@ MSGFMTFLAGS = @MSGFMTFLAGS@ MSGMERGE = @MSGMERGE@ XGETTEXT = @XGETTEXT@ TRANG = @TRANG@ PACKAGE_NAME=@PACKAGE_NAME@ PACKAGE_VERSION=@PACKAGE_VERSION@ CC = @CC@ CXX = @CXX@ EXEEXT = @EXEEXT@ SHELL = @SHELL@ LIBTOOL = @SVN_LIBTOOL@ LTFLAGS = --tag=CC --silent LTCXXFLAGS = --tag=CXX --silent LT_CFLAGS = @LT_CFLAGS@ LT_LDFLAGS = @LT_LDFLAGS@ LT_SO_VERSION = @SVN_LT_SOVERSION@ LT_NO_UNDEFINED = @LT_NO_UNDEFINED@ LT_CXX_LIBADD = @LT_CXX_LIBADD@ INCLUDES = -I$(top_srcdir)/subversion/include -I$(top_builddir)/subversion \ @SVN_APR_INCLUDES@ @SVN_APRUTIL_INCLUDES@ @SVN_APR_MEMCACHE_INCLUDES@ \ @SVN_DB_INCLUDES@ @SVN_GNOME_KEYRING_INCLUDES@ \ @SVN_KWALLET_INCLUDES@ @SVN_MAGIC_INCLUDES@ \ @SVN_SASL_INCLUDES@ @SVN_SERF_INCLUDES@ @SVN_SQLITE_INCLUDES@ \ @SVN_XML_INCLUDES@ @SVN_ZLIB_INCLUDES@ APACHE_INCLUDES = @APACHE_INCLUDES@ APACHE_LIBEXECDIR = $(DESTDIR)@APACHE_LIBEXECDIR@ APACHE_LDFLAGS = @APACHE_LDFLAGS@ SWIG = @SWIG@ SWIG_PY_INCLUDES = @SWIG_PY_INCLUDES@ -I$(SWIG_SRC_DIR)/python/libsvn_swig_py SWIG_PY_COMPILE = @SWIG_PY_COMPILE@ SWIG_PY_LINK = @SWIG_PY_LINK@ SWIG_PY_LIBS = @SWIG_PY_LIBS@ SWIG_PL_INCLUDES = @SWIG_PL_INCLUDES@ SWIG_RB_INCLUDES = @SWIG_RB_INCLUDES@ -I$(SWIG_SRC_DIR)/ruby/libsvn_swig_ruby SWIG_RB_COMPILE = @SWIG_RB_COMPILE@ SWIG_RB_LINK = @SWIG_RB_LINK@ SWIG_RB_LIBS = @SWIG_RB_LIBS@ SWIG_RB_SITE_LIB_DIR = @SWIG_RB_SITE_LIB_DIR@ SWIG_RB_SITE_ARCH_DIR = @SWIG_RB_SITE_ARCH_DIR@ SWIG_RB_TEST_VERBOSE = @SWIG_RB_TEST_VERBOSE@ SWIG_RB_RI_DATADIR = $(DESTDIR)$(datadir)/ri/$(RUBY_MAJOR).$(RUBY_MINOR)/site CTYPESGEN = @CTYPESGEN@ CTYPES_PYTHON_SRC_DIR = $(abs_srcdir)/subversion/bindings/ctypes-python JAVAHL_JAR=subversion/bindings/javahl/svn-javahl.jar JAVAHL_INCLUDES= @JNI_INCLUDES@ -I$(abs_builddir)/subversion/bindings/javahl/include CXXHL_INCLUDES = -I$(abs_srcdir)/subversion/bindings/cxxhl/include SVN_APR_CONFIG = @SVN_APR_CONFIG@ SVN_APR_INCLUDES = @SVN_APR_INCLUDES@ SVN_APRUTIL_CONFIG = @SVN_APRUTIL_CONFIG@ SVN_APRUTIL_INCLUDES = @SVN_APRUTIL_INCLUDES@ MKDIR = @MKDIR@ DOXYGEN = @DOXYGEN@ # The EXTRA_ parameters can be used to pass extra flags at 'make' time. CFLAGS = @CFLAGS@ $(EXTRA_CFLAGS) CMODEFLAGS = @CMODEFLAGS@ CMAINTAINERFLAGS = @CMAINTAINERFLAGS@ CXXFLAGS = @CXXFLAGS@ $(EXTRA_CXXFLAGS) CXXMODEFLAGS = @CXXMODEFLAGS@ CXXMAINTAINERFLAGS = @CXXMAINTAINERFLAGS@ ### A few of the CFLAGS (e.g. -Wmissing-prototypes, -Wstrict-prototypes, ### -Wmissing-declarations) are not valid for C++, and should be somehow ### suppressed (but they may come from httpd or APR). CPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS) LDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS) SWIG_LDFLAGS = @SWIG_LDFLAGS@ $(EXTRA_SWIG_LDFLAGS) COMPILE = $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CMAINTAINERFLAGS) $(CFLAGS) $(INCLUDES) COMPILE_CXX = $(CXX) $(CXXMODEFLAGS) $(CPPFLAGS) $(CXXMAINTAINERFLAGS) $(CXXFLAGS) $(INCLUDES) LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) $(LT_CFLAGS) LT_COMPILE_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) # Execute a command that loads libraries from the build dir LT_EXECUTE = $(LIBTOOL) $(LTFLAGS) --mode=execute `for f in $(abs_builddir)/subversion/*/*.la; do echo -dlopen $$f; done` # special compilation for files destined for mod_dav_svn COMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CMODEFLAGS) $(CPPFLAGS) $(CFLAGS) $(CMAINTAINERFLAGS) $(LT_CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c # special compilation for files destined for libsvn_swig_* (e.g. swigutil_*.c) COMPILE_SWIG_PY = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(CPPFLAGS) $(LT_CFLAGS) -DSWIGPYTHON $(SWIG_PY_INCLUDES) $(INCLUDES) -o $@ -c COMPILE_SWIG_PL = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(LT_CFLAGS) $(SWIG_PL_INCLUDES) $(INCLUDES) -o $@ -c COMPILE_SWIG_RB = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(CPPFLAGS) $(LT_CFLAGS) $(SWIG_RB_INCLUDES) $(INCLUDES) -o $@ -c # special compilation for files destined for javahl (i.e. C++) COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) $(JAVAHL_INCLUDES) -o $@ -c COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS) COMPILE_JAVAHL_JAVAH = $(JAVAH) # special compilation for files destined for cxxhl COMPILE_CXXHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(LT_CFLAGS) $(CXXHL_INCLUDES) -o $@ -c LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir) LINK_LIB = $(LINK) $(LT_SO_VERSION) LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir) LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION) # special link rule for mod_dav_svn LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS) # Special LDFLAGS for some libraries libsvn_auth_gnome_keyring_LDFLAGS = @libsvn_auth_gnome_keyring_LDFLAGS@ libsvn_auth_kwallet_LDFLAGS = @libsvn_auth_kwallet_LDFLAGS@ libsvn_client_LDFLAGS = @libsvn_client_LDFLAGS@ libsvn_delta_LDFLAGS = @libsvn_delta_LDFLAGS@ libsvn_diff_LDFLAGS = @libsvn_diff_LDFLAGS@ libsvn_fs_LDFLAGS = @libsvn_fs_LDFLAGS@ libsvn_fs_base_LDFLAGS = @libsvn_fs_base_LDFLAGS@ libsvn_fs_fs_LDFLAGS = @libsvn_fs_fs_LDFLAGS@ libsvn_fs_util_LDFLAGS = @libsvn_fs_util_LDFLAGS@ libsvn_ra_LDFLAGS = @libsvn_ra_LDFLAGS@ libsvn_ra_local_LDFLAGS = @libsvn_ra_local_LDFLAGS@ libsvn_ra_serf_LDFLAGS = @libsvn_ra_serf_LDFLAGS@ libsvn_ra_svn_LDFLAGS = @libsvn_ra_svn_LDFLAGS@ libsvn_repos_LDFLAGS = @libsvn_repos_LDFLAGS@ libsvn_subr_LDFLAGS = @libsvn_subr_LDFLAGS@ libsvn_wc_LDFLAGS = @libsvn_wc_LDFLAGS@ # Compilation of SWIG-generated C source code COMPILE_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(LT_CFLAGS) $(CPPFLAGS) $(SWIG_PY_INCLUDES) -prefer-pic -c -o $@ COMPILE_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(LT_CFLAGS) $(CPPFLAGS) $(SWIG_RB_INCLUDES) -prefer-pic -c -o $@ # these commands link the wrapper objects into an extension library/module LINK_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_PY_LINK) $(SWIG_LDFLAGS) -rpath $(swig_pydir) -avoid-version -module LINK_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_RB_LINK) $(SWIG_LDFLAGS) -rpath $(swig_rbdir) -avoid-version -module LINK_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) $(LT_CXX_LIBADD) -rpath $(libdir) INSTALL = @INSTALL@ INSTALL_LIB = $(LIBTOOL) --mode=install $(INSTALL) INSTALL_FSMOD_LIB = $(INSTALL_LIB) INSTALL_RAMOD_LIB = $(INSTALL_LIB) INSTALL_APR_MEMCACHE_LIB = $(INSTALL_LIB) INSTALL_BDB_LIB = $(INSTALL_LIB) INSTALL_GPG_AGENT_LIB = $(INSTALL_LIB) INSTALL_GNOME_KEYRING_LIB = $(INSTALL_LIB) INSTALL_KWALLET_LIB = $(INSTALL_LIB) INSTALL_SERF_LIB = $(INSTALL_LIB) INSTALL_BIN = $(LIBTOOL) --mode=install $(INSTALL) INSTALL_CONTRIB = $(LIBTOOL) --mode=install $(INSTALL) INSTALL_TOOLS = $(LIBTOOL) --mode=install $(INSTALL) INSTALL_INCLUDE = $(INSTALL) -m 644 INSTALL_MOD_SHARED = @APXS@ -i -S LIBEXECDIR="$(APACHE_LIBEXECDIR)" @MOD_ACTIVATION@ INSTALL_DATA = $(INSTALL) -m 644 INSTALL_LOCALE = $(INSTALL_DATA) INSTALL_APACHE_MODS = @INSTALL_APACHE_MODS@ ### this isn't correct yet INSTALL_SWIG_PY = $(INSTALL_LIB) INSTALL_SWIG_PY_LIB = $(INSTALL_LIB) INSTALL_SWIG_PL_LIB = $(INSTALL_LIB) INSTALL_SWIG_RB = $(INSTALL_LIB) INSTALL_SWIG_RB_LIB = $(INSTALL_LIB) INSTALL_JAVAHL_LIB = $(INSTALL_LIB) # additional installation rules for the SWIG wrappers INSTALL_EXTRA_SWIG_PY=\ $(MKDIR) $(DESTDIR)$(swig_pydir); \ $(MKDIR) $(DESTDIR)$(swig_pydir_extra); \ for i in $(abs_srcdir)/subversion/bindings/swig/python/svn/*.py; do \ $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir_extra); \ done; \ for i in $(abs_srcdir)/subversion/bindings/swig/python/*.py; do \ $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir); \ done; \ if test "$(abs_srcdir)" != "$(abs_builddir)"; then \ for i in $(abs_builddir)/subversion/bindings/swig/python/*.py; do \ $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir); \ done; \ fi; \ $(PYTHON) -c 'import compileall; \ compileall.compile_dir("$(DESTDIR)$(swig_pydir)", 1, "$(swig_pydir)"); \ compileall.compile_dir("$(DESTDIR)$(swig_pydir_extra)", 1, \ "$(swig_pydir_extra)");' # export an env variable so that the tests can run without being installed TEST_SHLIB_VAR_SWIG_PY=\ if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \ for d in $(SWIG_PY_DIR)/libsvn_swig_py $(SWIG_PY_DIR)/../../../libsvn_*; do \ if [ -n "$$DYLD_LIBRARY_PATH" ]; then \ @SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \ else \ @SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \ fi; \ done; \ export @SVN_APR_SHLIB_PATH_VAR@; \ fi; # The path to generated and complementary source files for the SWIG # bindings. SWIG_PL_DIR = $(abs_builddir)/subversion/bindings/swig/perl SWIG_PY_DIR = $(abs_builddir)/subversion/bindings/swig/python SWIG_RB_DIR = $(abs_builddir)/subversion/bindings/swig/ruby # The path to the source files for the SWIG bindings SWIG_PL_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/perl SWIG_PY_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/python SWIG_RB_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/ruby ### Automate JAR creation using Makefile generator's javahl-java.jar ### property. Enhance generator to support JAR installation. JAVAHL_MANIFEST_IN = $(abs_srcdir)/subversion/bindings/javahl/Manifest.in JAVAHL_MANIFEST = subversion/bindings/javahl/Manifest INSTALL_EXTRA_JAVAHL_JAVA=\ sed s/%bundleVersion/$(PACKAGE_VERSION)/ $(JAVAHL_MANIFEST_IN) > $(JAVAHL_MANIFEST); \ $(JAR) cfm $(JAVAHL_JAR) $(JAVAHL_MANIFEST) -C subversion/bindings/javahl/classes org; \ $(INSTALL_DATA) $(JAVAHL_JAR) $(DESTDIR)$(javahl_javadir); INSTALL_EXTRA_JAVAHL_LIB=@INSTALL_EXTRA_JAVAHL_LIB@ INSTALL_EXTRA_SWIG_RB=\ @echo $(MKDIR) $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \ $(MKDIR) $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \ for i in $(abs_srcdir)/subversion/bindings/swig/ruby/svn/*.rb; do \ echo $(INSTALL_DATA) "$$i" $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \ $(INSTALL_DATA) "$$i" $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \ done # export an env variable so that the tests can run without being installed TEST_SHLIB_VAR_SWIG_RB=\ if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \ for d in $(SWIG_PY_DIR)/libsvn_swig_rb $(SWIG_PY_DIR)/../../../libsvn_*; do \ if [ -n "$$DYLD_LIBRARY_PATH" ]; then \ @SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \ else \ @SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \ fi; \ done; \ export @SVN_APR_SHLIB_PATH_VAR@; \ fi; APXS = @APXS@ PYTHON = @PYTHON@ PERL = @PERL@ JDK = @JDK@ JAVA = @JAVA@ JAVAC = @JAVAC@ JAVADOC = @JAVADOC@ JAVAC_FLAGS = @JAVAC_FLAGS@ JAVAH = @JAVAH@ JAR = @JAR@ JAVA_CLASSPATH=$(abs_srcdir)/subversion/bindings/javahl/src:@JAVA_CLASSPATH@ javahl_java_CLASSPATH=$(JAVA_CLASSPATH) javahl_compat_CLASSPATH=$(JAVA_CLASSPATH) javahl_tests_CLASSPATH=$(JAVA_CLASSPATH) javahl_compat_tests_CLASSPATH=$(JAVA_CLASSPATH) RUBY = @RUBY@ RUBY_MAJOR = @RUBY_MAJOR@ RUBY_MINOR = @RUBY_MINOR@ RDOC = @RDOC@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ TESTS = $(TEST_PROGRAMS) @BDB_TEST_PROGRAMS@ all: mkdir-init local-all clean: local-clean distclean: local-distclean extraclean: local-extraclean install: local-install revision-install @INCLUDE_OUTPUTS@ local-all: @BUILD_RULES@ @TRANSFORM_LIBTOOL_SCRIPTS@ transform-libtool-scripts: @BUILD_RULES@ @$(SHELL) $(top_srcdir)/build/transform_libtool_scripts.sh locale-gnu-pot: cd $(abs_srcdir) && XGETTEXT="$(XGETTEXT)" MSGMERGE="$(MSGMERGE)" \ $(SHELL) tools/po/po-update.sh pot # "make locale-gnu-po-update" updates all translations. # "make locale-gnu-po-update PO=ll" updates only the ll.po file. locale-gnu-po-update: cd $(abs_srcdir) && XGETTEXT="$(XGETTEXT)" MSGMERGE="$(MSGMERGE)" \ $(SHELL) tools/po/po-update.sh $(PO) # clean everything but the bulky test output, returning the system back # to before 'make' was run. fast-clean: doc-clean @list='$(BUILD_DIRS)'; for i in $$list; do \ if [ -d $$i ]; then \ (cd $$i && rm -f *.o *.lo *.la *.la-a *.spo *.mo && \ rm -rf .libs); \ fi \ done echo $(CLEAN_FILES) | xargs rm -f -- find $(CTYPES_PYTHON_SRC_DIR) $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) \ $(abs_srcdir)/build $(top_srcdir)/subversion/tests/cmdline/svntest \ -name "*.pyc" -exec rm {} ';' # clean everything, returning to before './configure' was run. SVN_CONFIG_SCRIPT_FILES = @SVN_CONFIG_SCRIPT_FILES@ local-distclean: local-clean rm -fr config.cache config.log config.nice config.status \ libtool mkmf.log subversion/svn_private_config.h \ subversion/bindings/javahl/classes \ subversion/bindings/javahl/include \ $(SVN_CONFIG_SCRIPT_FILES) rm -f Makefile # clean everything out, returning to before './autogen.sh' was run. local-extraclean: extraclean-bindings local-distclean rm -f $(top_srcdir)/build-outputs.mk \ $(top_srcdir)/subversion/svn_private_config.h.in \ $(top_srcdir)/configure \ $(top_srcdir)/gen-make.opts \ $(top_srcdir)/build/config.guess \ $(top_srcdir)/build/config.sub \ $(top_srcdir)/build/libtool.m4 \ $(top_srcdir)/build/ltoptions.m4 \ $(top_srcdir)/build/ltsugar.m4 \ $(top_srcdir)/build/ltversion.m4 \ $(top_srcdir)/build/lt~obsolete.m4 \ $(top_srcdir)/build/ltmain.sh \ $(top_srcdir)/build/transform_libtool_scripts.sh \ $(EXTRACLEAN_FILES) # clean everything, including test output. local-clean: check-clean clean-bindings fast-clean local-install: @INSTALL_RULES@ revision-install: test -d $(DESTDIR)$(includedir)/subversion-1 || \ $(MKDIR) $(DESTDIR)$(includedir)/subversion-1 (subversion/svnversion/svnversion $(top_srcdir) 2> /dev/null || \ svnversion $(top_srcdir) 2> /dev/null || \ echo "unknown"; \ ) > $(DESTDIR)$(includedir)/subversion-1/svn-revision.txt install-static: @INSTALL_STATIC_RULES@ # JavaHL target aliases javahl: mkdir-init javahl-java javahl-javah javahl-callback-javah javahl-types-javah javahl-lib @JAVAHL_TESTS_TARGET@ javahl-compat install-javahl: javahl install-javahl-java install-javahl-javah install-javahl-lib javahl-compat: javahl-compat-java @JAVAHL_COMPAT_TESTS_TARGET@ clean-javahl: rm -rf $(javahl_java_PATH) $(javahl_javah_PATH) @JAVAHL_OBJDIR@ rm -fr $(javahl_test_rootdir) rm -f $(libsvnjavahl_PATH)/*.la $(JAVAHL_JAR) rm -f $(libsvnjavahl_PATH)/*.lo rm -f $(libsvnjavahl_PATH)/*.o check-tigris-javahl: javahl-compat @FIX_JAVAHL_LIB@ $(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 check-apache-javahl: javahl @FIX_JAVAHL_LIB@ $(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 check-javahl: check-apache-javahl check-all-javahl: check-apache-javahl check-tigris-javahl # "make check CLEANUP=true" will clean up directories for successful tests. # "make check TESTS=subversion/tests/cmdline/basic_tests.py" # will perform only basic tests (likewise for other tests). check: bin @TRANSFORM_LIBTOOL_SCRIPTS@ $(TEST_DEPS) @BDB_TEST_DEPS@ @if test "$(PYTHON)" != "none"; then \ flags="--verbose"; \ if test "$(CLEANUP)" != ""; then \ flags="--cleanup $$flags"; \ fi; \ if test "$(BASE_URL)" != ""; then \ flags="--url $(BASE_URL) $$flags"; \ fi; \ if test "$(FS_TYPE)" != ""; then \ flags="--fs-type $(FS_TYPE) $$flags"; \ fi; \ if test "$(HTTP_LIBRARY)" != ""; then \ flags="--http-library $(HTTP_LIBRARY) $$flags"; \ fi; \ if test "$(SERVER_MINOR_VERSION)" != ""; then \ flags="--server-minor-version $(SERVER_MINOR_VERSION) $$flags"; \ fi; \ if test "$(ENABLE_SASL)" != ""; then \ flags="--enable-sasl $$flags"; \ fi; \ if test "$(FSFS_SHARDING)" != ""; then \ flags="--fsfs-sharding $(FSFS_SHARDING) $$flags"; \ fi; \ if test "$(FSFS_PACKING)" != ""; then \ flags="--fsfs-packing $$flags"; \ fi; \ if test "$(PARALLEL)" != ""; then \ flags="--parallel $$flags"; \ fi; \ if test "$(LOG_TO_STDOUT)" != ""; then \ flags="--log-to-stdout $$flags"; \ fi; \ if test "$(MILESTONE_FILTER)" != ""; then \ flags="--list --milestone-filter=$(MILESTONE_FILTER) \ --mode-filter=$(MODE_FILTER) --log-to-stdout $$flags"; \ fi; \ if test "$(SET_LOG_LEVEL)" != ""; then \ flags="--set-log-level $(SET_LOG_LEVEL) $$flags"; \ fi; \ if test "$(SSL_CERT)" != ""; then \ flags="--ssl-cert $(SSL_CERT) $$flags"; \ fi; \ if test "$(HTTP_PROXY)" != ""; then \ flags="--http-proxy $(HTTP_PROXY) $$flags"; \ fi; \ LD_LIBRARY_PATH='$(auth_plugin_dirs):$(LD_LIBRARY_PATH)' \ $(PYTHON) $(top_srcdir)/build/run_tests.py \ --config-file $(top_srcdir)/subversion/tests/tests.conf \ $$flags \ '$(abs_srcdir)' '$(abs_builddir)' $(TESTS); \ else \ echo "make check: Python 2.5 or greater is required,"; \ echo " but was not detected during configure"; \ exit 1; \ fi; # First, set up Apache as documented in # subversion/tests/cmdline/README. davcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod @$(MAKE) check BASE_URL=http://localhost # Automatically configure and run Apache httpd on a random port, and then # run make check. davautocheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ apache-mod @# Takes MODULE_PATH, USE_HTTPV1 and SVN_PATH_AUTHZ in the environment. @APXS=$(APXS) $(top_srcdir)/subversion/tests/cmdline/davautocheck.sh # First, run: # subversion/svnserve/svnserve -d -r `pwd`/subversion/tests/cmdline svncheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ @$(MAKE) check BASE_URL=svn://127.0.0.1 # 'make svnserveautocheck' runs svnserve for you and kills it. svnserveautocheck: svnserve bin $(TEST_DEPS) @BDB_TEST_DEPS@ @env PYTHON=$(PYTHON) THREADED=$(THREADED) \ $(top_srcdir)/subversion/tests/cmdline/svnserveautocheck.sh # First, run: # subversion/svnserve/svnserve --listen-host "::1" -d -r `pwd`/subversion/tests/cmdline svncheck6: bin $(TEST_DEPS) @BDB_TEST_DEPS@ @$(MAKE) check BASE_URL=svn://\[::1\] # First make sure you can ssh to localhost and that "svnserve" is in # the path of the resulting shell. svnsshcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ @$(MAKE) check \ BASE_URL=svn+ssh://localhost`pwd`/subversion/tests/cmdline bdbcheck: bin $(TEST_DEPS) @BDB_TEST_DEPS@ @$(MAKE) check FS_TYPE=bdb # Create an execution coverage report from the data collected during # all execution since the last reset. gcov: lcov --capture -d . -b . -o gcov-lcov.dat > gcov-lcov.log genhtml gcov-lcov.dat -o gcov-report > gcov-genhtml.log # Reset all execution coverage counters to zero. gcov-reset: lcov --zerocounters -d . # Remove the execution coverage data and the report. gcov-clean: rm -f gcov-lcov.dat gcov-lcov.log gcov-genhtml.log rm -rf gcov-report find . -name "*.gcda" -o -name "*.gcno" -print0 | xargs -0 rm -f -- check-clean: gcov-clean if [ -d subversion/tests/cmdline/svn-test-work ]; then \ find subversion/tests/cmdline/svn-test-work -mindepth 1 -maxdepth 1 \ -print0 | xargs -0 rm -rf --; \ fi rm -rf subversion/tests/libsvn_fs/test-repo-* \ subversion/tests/libsvn_fs_base/test-repo-* \ subversion/tests/libsvn_fs_fs/test-repo-* \ subversion/tests/libsvn_ra_local/test-repo-* \ subversion/tests/libsvn_repos/test-repo-* \ subversion/tests/libsvn_subr/z \ subversion/tests/libsvn_wc/fake-wc \ subversion/tests/libsvn_client/test-patch* \ subversion/tests/libsvn_client/test-*/ \ subversion/tests/libsvn_diff/B2 \ subversion/tests/libsvn_diff/T1 \ subversion/tests/libsvn_diff/T2 \ subversion/tests/libsvn_diff/T3 \ subversion/tests/svnserveautocheck.pid \ tests.log fails.log mkdir-init: @list='$(BUILD_DIRS) $(SCHEMA_DIR) doc'; \ for i in $$list; do \ if [ ! -d $$i ]; then \ $(MKDIR) $$i ; \ fi; \ done # DOCUMENTATION RULES # Every single document in every format. doc: doc-api doc-javahl # Generate API documentation for the C libraries. ### This could also generate POD for swig-perl, etc. doc-api: mkdir-init ( cd $(top_srcdir) && \ sed "s,\(OUTPUT_DIRECTORY *= *\),\1$(abs_builddir)/," \ doc/doxygen.conf | $(DOXYGEN) - ) # Generate API documentation for the JavaHL package. doc-javahl: $(JAVADOC) -d $(abs_builddir)/doc/javadoc \ -sourcepath $(top_srcdir)/subversion/bindings/javahl/src \ -link http://java.sun.com/javase/6/docs/api/ \ org.tigris.subversion.javahl \ org.apache.subversion.javahl \ org.apache.subversion.javahl.callback \ org.apache.subversion.javahl.types doc-clean: rm -rf $(top_srcdir)/doc/doxygen rm -rf $(top_srcdir)/doc/javadoc # Converting from the .rnc XML shcemas to various other schema formats. SCHEMAS_DTD = $(SCHEMA_DIR)/blame.dtd $(SCHEMA_DIR)/info.dtd \ $(SCHEMA_DIR)/list.dtd $(SCHEMA_DIR)/log.dtd \ $(SCHEMA_DIR)/status.dtd $(SCHEMA_DIR)/props.dtd SCHEMAS_RNG = $(SCHEMA_DIR)/blame.rng $(SCHEMA_DIR)/info.rng \ $(SCHEMA_DIR)/list.rng $(SCHEMA_DIR)/log.rng \ $(SCHEMA_DIR)/status.rng $(SCHEMA_DIR)/props.rng SCHEMAS_XSD = $(SCHEMA_DIR)/blame.xsd $(SCHEMA_DIR)/info.xsd \ $(SCHEMA_DIR)/list.xsd $(SCHEMA_DIR)/log.xsd \ $(SCHEMA_DIR)/status.xsd $(SCHEMA_DIR)/props.xsd schema: schema-rng schema-dtd schema-xsd schema-rng: $(SCHEMAS_RNG) schema-dtd: $(SCHEMAS_DTD) schema-xsd: $(SCHEMAS_XSD) $(SCHEMAS_RNG) $(SCHEMAS_DTD) $(SCHEMAS_XSD): $(SCHEMA_DIR)/common.rnc schema-clean: (cd $(SCHEMA_DIR) && rm -f *.rng *.dtd *.xsd) # # Implicit rules for creating outputs from input files # .SUFFIXES: .SUFFIXES: .c .cpp .lo .o .la-a .la \ .po .spo .mo .rnc .rng .dtd .xsd .sql .h .sql.h: $(PYTHON) $(top_srcdir)/build/transform_sql.py $< $(top_srcdir)/$@ .c.o: $(COMPILE) -o $@ -c $< .cpp.o: $(COMPILE_CXX) -o $@ -c $< .c.lo: $(LT_COMPILE) -o $@ -c $< .cpp.lo: $(LT_COMPILE_CXX) -o $@ -c $< .la.la-a: sed "/library_names/s/'.*'/''/" $< > $@ # Strip the Content-Type: header from the po file if we don't have a # gettext that supports bind_textdomain_codeset, so it doesn't try # to convert our UTF-8 .po files to the locale encoding. @NO_GETTEXT_CODESET@.po.spo: @NO_GETTEXT_CODESET@ sed \ @NO_GETTEXT_CODESET@ '/^"Content-Type: text\/plain; charset=UTF-8\\n"$$/d' \ @NO_GETTEXT_CODESET@ $< > $@ @NO_GETTEXT_CODESET@.spo.mo: @NO_GETTEXT_CODESET@ $(MSGFMT) $(MSGFMTFLAGS) -o $@ $< # For systems with bind_textdomain_codeset, just leave the Content-Type: # header alone. @GETTEXT_CODESET@.po.mo: @GETTEXT_CODESET@ $(MSGFMT) $(MSGFMTFLAGS) -o $@ $< .rnc.rng: @TRANG@ $< $@ .rnc.dtd: @TRANG@ $< $@ .rnc.xsd: @TRANG@ $< $@ install-docs: install-man manroot = $(mandir)/man install-man: @list='$(MANPAGES)'; \ for i in $$list; do \ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ $(MKDIR) $(DESTDIR)$(manroot)$$ext; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst`.$$ext; \ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst"; \ $(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst; \ done install-swig-py: install-swig-py-lib install-swig-rb: install-swig-rb-lib clean-bindings: clean-swig clean-ctypes-python clean-javahl extraclean-bindings: clean-swig extraclean-swig-headers \ extraclean-swig-py extraclean-swig-rb \ extraclean-swig-pl \ clean-ctypes-python clean-javahl \ clean-swig: clean-swig-headers clean-swig-py clean-swig-rb clean-swig-pl @rm -f .swig_checked EXTRACLEAN_SWIG_HEADERS=rm -f $(SWIG_SRC_DIR)/proxy/*.swg clean-swig-headers: if test -z "$(RELEASE_MODE)"; then \ $(EXTRACLEAN_SWIG_HEADERS); \ fi extraclean-swig-headers: clean-swig-headers $(EXTRACLEAN_SWIG_HEADERS) $(SWIG_PL_DIR)/native/Makefile.PL: $(SWIG_SRC_DIR)/perl/native/Makefile.PL.in ./config.status subversion/bindings/swig/perl/native/Makefile.PL $(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL # There is a "readlink -f" command on some systems for the same purpose, # but it's not as portable (e.g. Mac OS X doesn't have it). These should # only be used where Python/Perl are known to be available. READLINK_PY=$(PYTHON) -c 'import sys,os; print(os.path.realpath(sys.argv[1]))' READLINK_PL=$(PERL) -e 'use Cwd; print Cwd::realpath(shift)' swig-pl_DEPS = autogen-swig-pl libsvn_swig_perl \ $(SWIG_PL_DIR)/native/Makefile swig-pl: $(swig-pl_DEPS) if test "`$(READLINK_PL) $(SWIG_PL_DIR)`" != "`$(READLINK_PL) $(SWIG_PL_SRC_DIR)`"; then \ ln -sf $(SWIG_PL_SRC_DIR)/native/*.c $(SWIG_PL_DIR)/native; \ fi cd $(SWIG_PL_DIR)/native; $(MAKE) OPTIMIZE="" OTHERLDFLAGS="$(SWIG_LDFLAGS)" check-swig-pl: swig-pl swig-pl-lib cd $(SWIG_PL_DIR)/native; $(MAKE) test install-swig-pl: swig-pl install-swig-pl-lib cd $(SWIG_PL_DIR)/native; $(MAKE) install EXTRACLEAN_SWIG_PL=rm -f $(SWIG_PL_SRC_DIR)/native/svn_*.c \ $(SWIG_PL_SRC_DIR)/native/core.c # Running Makefile.PL at this point *fails* (cannot find ..../.libs) so if the # Makefile does not exist, DO NOT try to make it. But, if it doesn't exist, # then the directory is probably clean anyway. clean-swig-pl: if test -z "$(RELEASE_MODE)"; then \ $(EXTRACLEAN_SWIG_PL); \ fi for d in $(SWIG_PL_DIR)/libsvn_swig_perl; \ do \ cd $$d; \ rm -rf *.lo *.la *.o .libs; \ done if [ -f "$(SWIG_PL_DIR)/native/Makefile" ]; then \ cd $(SWIG_PL_DIR)/native; $(MAKE) clean; \ fi extraclean-swig-pl: clean-swig-pl $(EXTRACLEAN_SWIG_PL) $(SWIG_PY_DIR)/libsvn: mkdir $(SWIG_PY_DIR)/libsvn copy-swig-py: autogen-swig-py $(SWIG_PY_DIR)/libsvn @for f in $(SWIG_PY_SRC_DIR)/*.py $(SWIG_PY_DIR)/*.py; do \ ! [ -f "$$f" ] || cp -pf $$f $(SWIG_PY_DIR)/libsvn; \ done @touch $(SWIG_PY_DIR)/libsvn/__init__.py swig-py: autogen-swig-py copy-swig-py check-swig-py: swig-py $(TEST_SHLIB_VAR_SWIG_PY) \ cd $(SWIG_PY_DIR); \ $(PYTHON) $(SWIG_PY_SRC_DIR)/tests/run_all.py EXTRACLEAN_SWIG_PY=rm -rf $(SWIG_PY_SRC_DIR)/svn_*.c $(SWIG_PY_SRC_DIR)/core.c \ $(SWIG_PY_SRC_DIR)/[a-z]*.py clean-swig-py: rm -rf $(SWIG_PY_DIR)/libsvn if test -z "$(RELEASE_MODE)"; then \ $(EXTRACLEAN_SWIG_PY); \ fi for d in $(SWIG_PY_DIR) $(SWIG_PY_DIR)/libsvn_swig_py; \ do \ cd $$d && rm -rf *.lo *.la *.o *.pyc .libs; \ done find $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) -name "*.pyc" -exec rm {} ';' extraclean-swig-py: clean-swig-py $(EXTRACLEAN_SWIG_PY) swig-rb: autogen-swig-rb check-swig-rb: swig-rb svnserve $(TEST_SHLIB_VAR_SWIG_RB) \ cd $(SWIG_RB_DIR); \ if [ "$(RUBY_MAJOR)" -eq 1 -a "$(RUBY_MINOR)" -lt 9 ] ; then \ $(RUBY) -I $(SWIG_RB_SRC_DIR) \ $(SWIG_RB_SRC_DIR)/test/run-test.rb \ --verbose=$(SWIG_RB_TEST_VERBOSE); \ else \ $(RUBY) -I $(SWIG_RB_SRC_DIR) \ $(SWIG_RB_SRC_DIR)/test/run-test.rb; \ fi EXTRACLEAN_SWIG_RB=rm -f $(SWIG_RB_SRC_DIR)/svn_*.c $(SWIG_RB_SRC_DIR)/core.c clean-swig-rb: rm -rf $(SWIG_RB_DIR)/test/repos $(SWIG_RB_DIR)/test/wc if test -z "$(RELEASE_MODE)"; then \ $(EXTRACLEAN_SWIG_RB); \ fi for d in $(SWIG_RB_DIR) $(SWIG_RB_DIR)/libsvn_swig_ruby; \ do \ cd $$d; \ rm -rf *.lo *.la *.o .libs; \ done extraclean-swig-rb: clean-swig-rb $(EXTRACLEAN_SWIG_RB) install-swig-rb-doc: $(RDOC) --all --ri --op "$(SWIG_RB_RI_DATADIR)" "$(SWIG_RB_SRC_DIR)/svn" # ctypes-python make targets ctypes-python: local-all $(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)" install-ctypes-python: ctypes-python cd $(CTYPES_PYTHON_SRC_DIR); \ $(PYTHON) setup.py install --prefix="$(DESTDIR)$(prefix)" check-ctypes-python: ctypes-python cd $(CTYPES_PYTHON_SRC_DIR); \ $(LT_EXECUTE) $(PYTHON) test/run_all.py # If any of those files exists, run ctypes' 'setup.py clean'. We don't run # it otherwise because it spams stdout+stderr; see r1479326. clean-ctypes-python: cd $(CTYPES_PYTHON_SRC_DIR); \ for b in build csvn/core/functions.py svn_all.py svn_all2.py ; do \ if [ -e "$$b" ] ; then \ $(PYTHON) setup.py clean --all; \ break; \ fi; \ done # manually describe a dependency, which we won't otherwise detect subversion/libsvn_wc/wc-queries.h: $(abs_srcdir)/subversion/libsvn_wc/wc-metadata.sql subversion/libsvn_wc/wc-queries.h: $(abs_srcdir)/subversion/libsvn_wc/wc-checks.sql # Compatibility symlink. # This runs after the target of the same name in build-outputs.mk. INSTALL_EXTRA_TOOLS=\ $(MKDIR) $(DESTDIR)$(bindir); \ test -n "$$SVN_SVNMUCC_IS_SVNSYITF" && \ ln -sf svnmucc$(EXEEXT) $(DESTDIR)$(bindir)/svnsyitf$(EXEEXT); \ if test "$(DESTDIR)$(bindir)" != "$(DESTDIR)$(toolsdir)"; then \ ln -sf $(bindir)/svnmucc$(EXEEXT) $(DESTDIR)$(toolsdir)/svnmucc$(EXEEXT); \ fi