| 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_LINK = @SVN_RA_LIB_LINK@ |
| |
| DESIGN_DIR = doc/programmer/design |
| BOOK_TOP = doc/book |
| BOOK_DIR = ${BOOK_TOP}/book |
| MDOCS_DIR = ${BOOK_TOP}/misc-docs |
| DOC_DIRS = $(DESIGN_DIR) $(BOOK_DIR) $(MDOCS_DIR) |
| |
| SWIG_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig |
| SWIG_BUILD_DIR = $(abs_builddir)/subversion/bindings/swig |
| SWIG_DIRS = subversion/bindings/swig \ |
| subversion/bindings/swig/python \ |
| subversion/bindings/swig/python/svn \ |
| subversion/bindings/swig/java \ |
| subversion/bindings/swig/java/build \ |
| subversion/bindings/swig/java/org \ |
| subversion/bindings/swig/java/org/tigris \ |
| subversion/bindings/swig/java/org/tigris/subversion \ |
| subversion/bindings/swig/java/org/tigris/subversion/swig |
| |
| EXTERNAL_PROJECT_DIRS = @SVN_SUBDIRS@ |
| |
| NEON_LIBS = @NEON_LIBS@ |
| SVN_APR_LIBS = @SVN_APR_LIBS@ |
| SVN_APRUTIL_LIBS = @SVN_APRUTIL_LIBS@ |
| SVN_DB_LIBS = @SVN_DB_LIBS@ |
| |
| LIBS = @LIBS@ |
| |
| prefix = @prefix@ |
| exec_prefix = @exec_prefix@ |
| libdir = @libdir@ |
| base_libdir = @libdir@ |
| fs_libdir= @libdir@ |
| bindir = @bindir@ |
| fs_bindir=@bindir@ |
| includedir = @includedir@ |
| mandir = @mandir@ |
| srcdir = @srcdir@ |
| infodir = @infodir@ |
| |
| swig_py_libdir= @libdir@ |
| swig_java_libdir= @libdir@ |
| |
| ### this isn't right |
| swig_pydir = @libdir@/svn-python/svn |
| swig_javadir = @libdir@/svn-java |
| |
| ### should search for these... |
| MAKEINFO = @MAKEINFO@ |
| TEXI2DVI = texi2dvi |
| DVIPS = dvips |
| DVIPDF = dvipdf |
| |
| |
| CC = @CC@ |
| |
| SHELL = @SHELL@ |
| LIBTOOL = $(SHELL) $(abs_builddir)/libtool |
| LTFLAGS = --silent |
| LT_LDFLAGS = @LT_LDFLAGS@ |
| |
| INCLUDES = @SVN_EXTRA_INCLUDES@ @SVN_NEON_INCLUDES@ \ |
| @SVN_DB_INCLUDES@ @SVN_APR_INCLUDES@ @SVN_APRUTIL_INCLUDES@ |
| |
| APACHE_INCLUDES = @APACHE_INCLUDES@ |
| APACHE_TARGET = @APACHE_TARGET@ |
| APACHE_LIBEXECDIR = $(DESTDIR)@APACHE_LIBEXECDIR@ |
| |
| SWIG = @SWIG@ |
| SWIG_INCLUDES = -I$(SWIG_SRC_DIR) \ |
| -I$(abs_srcdir)/subversion/include \ |
| $(SVN_APR_INCLUDES) |
| SWIG_LDFLAGS = @SWIG_LDFLAGS@ |
| SWIG_PY_INCLUDES = @SWIG_PY_INCLUDES@ |
| SWIG_PY_COMPILE = @SWIG_PY_COMPILE@ |
| SWIG_PY_LINK = @SWIG_PY_LINK@ |
| SWIG_PY_SETUP_LDFLAGS = @SWIG_PY_SETUP_LDFLAGS@ |
| SWIG_JAVA_INCLUDES = @SWIG_JAVA_INCLUDES@ |
| |
| SVN_APR_INCLUDES = @SVN_APR_INCLUDES@ |
| SVN_APR_PREFIX = @SVN_APR_PREFIX@ |
| |
| MKDIR = @MKDIR@ |
| |
| # the EXTRA_ exist so that extra flags can be passed at 'make' time |
| CFLAGS = @CFLAGS@ $(EXTRA_CFLAGS) |
| CPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS) |
| LDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS) |
| |
| COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES) |
| LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) |
| |
| COMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c $< |
| |
| # special SWIG compilation |
| COMPILE_SWIG_PY = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) -DSWIGPYTHON $(CFLAGS) $(SWIG_PY_INCLUDES) $(INCLUDES) -o $@ -c $< |
| COMPILE_SWIG_JAVA = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) -DSWIGPYTHON $(CFLAGS) $(SWIG_JAVA_INCLUDES) $(INCLUDES) -o $@ -c $< |
| |
| LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir) |
| LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module |
| |
| RUN_SWIG_PY = $(SWIG) -c -python -noproxy $(SWIG_INCLUDES) $(SWIG_PY_INCLUDES) -o $@ $< |
| RUN_SWIG_JAVA = $(SWIG) -c -java -noproxy -module 'Subversion' -package 'org.tigris.subversion.swig' $(SWIG_INCLUDES) -o $@ $< |
| |
| COMPILE_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(SWIG_INCLUDES) $(SWIG_PY_INCLUDES) -prefer-pic -c -o $@ $< |
| COMPILE_JAVA_WRAPPER = \ |
| echo "ERROR: compilation of Java wrappers not yet supported" ; exit 1 |
| |
| LINK_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_PY_LINK) $(SWIG_LDFLAGS) -rpath $(swig_pydir) -avoid-version -module |
| LINK_JAVA_WRAPPER = \ |
| echo "ERROR: linking of Java wrappers not yet supported" ; exit 1 |
| |
| |
| INSTALL = @INSTALL@ |
| INSTALL_LIB = $(LIBTOOL) --mode=install $(INSTALL) |
| INSTALL_BASE_LIB = $(INSTALL_LIB) |
| INSTALL_FS_LIB = $(INSTALL_LIB) |
| INSTALL_BIN = $(LIBTOOL) --mode=install $(INSTALL) |
| INSTALL_FS_BIN = $(INSTALL_BIN) |
| INSTALL_INCLUDE = $(INSTALL) -m 644 |
| INSTALL_MOD_SHARED = @APXS@ -i -S LIBEXECDIR="$(APACHE_LIBEXECDIR)" @MOD_ACTIVATION@ |
| INSTALL_MOD_STATIC = $(INSTALL) -m 644 |
| INSTALL_DATA = $(INSTALL) -m 644 |
| |
| ### this isn't correct yet |
| INSTALL_SWIG_PY = $(INSTALL_LIB) |
| INSTALL_SWIG_PY_LIB = $(INSTALL_LIB) |
| INSTALL_SWIG_JAVA = $(INSTALL_LIB) |
| INSTALL_SWIG_JAVA_LIB = $(INSTALL_LIB) |
| |
| APXS = @APXS@ |
| |
| PYTHON = @PYTHON@ |
| |
| ECHO_C = @ECHO_C@ |
| ECHO_N = @ECHO_N@ |
| |
| PYTHON_DISTUTIL = $(SWIG_SRC_DIR)/python/setup.py \ |
| -I$(SWIG_SRC_DIR) \ |
| -I$(abs_srcdir)/subversion/include $(SVN_APR_INCLUDES) \ |
| -S$(SWIG_SRC_DIR) \ |
| -s"$(SWIG)" \ |
| -L$(SVN_APR_PREFIX)/lib \ |
| -L$(abs_builddir)/subversion/libsvn_client/.libs \ |
| -L$(abs_builddir)/subversion/libsvn_delta/.libs \ |
| -L$(abs_builddir)/subversion/libsvn_fs/.libs \ |
| -L$(abs_builddir)/subversion/libsvn_ra/.libs \ |
| -L$(abs_builddir)/subversion/libsvn_repos/.libs \ |
| -L$(abs_builddir)/subversion/libsvn_wc/.libs \ |
| -L$(abs_builddir)/subversion/libsvn_subr/.libs \ |
| -L$(abs_builddir)/subversion/bindings/swig/.libs \ |
| $(SWIG_PY_SETUP_LDFLAGS) |
| |
| all: external-all local-all |
| clean: external-clean local-clean |
| distclean: external-distclean local-distclean |
| extraclean: external-extraclean local-extraclean |
| install: external-install local-install revision-install |
| |
| @INCLUDE_OUTPUTS@ |
| |
| local-all: @BUILD_RULES@ @SWIG_BUILD_RULES@ |
| |
| # 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 \ |
| echo "Cleaning $$i ..." ; \ |
| (cd $$i && rm -f *.o *.lo *.la *.la-a && rm -rf .libs) ; \ |
| done |
| rm -f $(CLEAN_FILES) |
| |
| # clean all but bulky test output, returning to before './configure' was run. |
| fast-distclean: fast-clean |
| rm -f Makefile config.cache config.log config.status libtool \ |
| svn_private_config.h svn-config |
| |
| # clean everything out, returning to before './autogen.sh' was run. |
| local-extraclean: local-distclean |
| rm -f build-outputs.mk svn_private_config.h.in configure \ |
| ac-helpers/config.guess ac-helpers/config.sub \ |
| ac-helpers/libtool.m4 ac-helpers/ltconfig \ |
| ac-helpers/ltmain.sh |
| |
| # clean everything, including test output. |
| local-clean: fast-clean check-clean swig-clean |
| |
| # clean everything, including test output. |
| local-distclean: fast-distclean check-clean swig-clean |
| |
| local-install: @INSTALL_RULES@ @SWIG_INSTALL_RULES@ |
| |
| ### HACK!! Find a better way to do this |
| revision-install: |
| subversion/svnversion/svnversion $(top_srcdir) /repos/svn/trunk > $(DESTDIR)/$(includedir)/subversion-1/svn-revision.txt |
| |
| install-static: @INSTALL_STATIC_RULES@ |
| |
| check: $(TEST_DEPS) @FS_TEST_DEPS@ |
| @$(PYTHON) $(top_srcdir)/build/pycheck.py ; \ |
| if test "$(BASE_URL)" != ""; then \ |
| base_url="--url $(BASE_URL)"; \ |
| else \ |
| base_url=""; \ |
| fi; \ |
| $(PYTHON) $(top_srcdir)/build/run_tests.py $$base_url \ |
| '$(abs_srcdir)' '$(abs_builddir)' '$(PYTHON)' '$(SHELL)' \ |
| $(TEST_PROGRAMS) @FS_TEST_PROGRAMS@ |
| |
| davcheck: |
| @make check BASE_URL=http://localhost |
| svncheck: |
| @make check BASE_URL=svn://localhost |
| |
| check-clean: |
| rm -rf subversion/tests/clients/cmdline/repositories \ |
| subversion/tests/clients/cmdline/working_copies \ |
| subversion/tests/clients/cmdline/local_tmp \ |
| subversion/tests/libsvn_fs/test-repo-* \ |
| subversion/tests/libsvn_repos/test-repo-* \ |
| subversion/tests/libsvn_subr/z \ |
| tests.log |
| |
| mkdir-init: |
| @list='$(BUILD_DIRS) $(DOC_DIRS) $(SWIG_DIRS)'; \ |
| for i in $$list doc; do \ |
| echo "mkdir $$i" ; \ |
| $(MKDIR) $$i ; \ |
| done |
| |
| # recursive targets to handle external projects (e.g. APR, Neon) |
| external-all external-install: |
| @target=`echo $@ | sed s/external-//`; \ |
| list='$(EXTERNAL_PROJECT_DIRS)'; \ |
| for i in $$list; do \ |
| echo "------ making $$target in $$i"; \ |
| (cd $$i && $(MAKE) $$target) || exit 1; \ |
| echo "------ completed $$target in $$i"; \ |
| done; |
| |
| ### apr-util relies on generated files in apr, so reverse the |
| ### list so that it is cleaned before apr. |
| external-clean external-distclean: |
| @target=`echo $@ | sed s/external-//`; \ |
| list='$(EXTERNAL_PROJECT_DIRS)'; \ |
| for i in $$list; do \ |
| revlist="$$i $$revlist"; \ |
| done; \ |
| for i in $$revlist; do \ |
| echo "------ making $$target in $$i"; \ |
| (cd $$i && $(MAKE) $$target) || exit 1; \ |
| echo "------ completed $$target in $$i"; \ |
| done; |
| |
| ### temporary hack. Neon does not have an "extraclean" and neither does db |
| ### If we don't have extraclean -- do the next best thing. |
| external-extraclean: |
| @list='$(EXTERNAL_PROJECT_DIRS)'; \ |
| for i in $$list; do \ |
| revlist="$$i $$revlist"; \ |
| done; \ |
| for i in $$revlist; do \ |
| if test "$$i" = "neon" || test "$$i" = "db/dist"; then \ |
| echo "------ making distclean(no extraclean) in $$i"; \ |
| (cd $$i && $(MAKE) distclean) || exit 1; \ |
| echo "------ completed distclean(no extraclean) in $$i"; \ |
| else \ |
| echo "------ making extraclean in $$i"; \ |
| (cd $$i && $(MAKE) extraclean) || exit 1; \ |
| echo "------ completed extraclean in $$i"; \ |
| fi; \ |
| done; |
| |
| |
| # DOCUMENTATION RULES |
| |
| # Every single document in every format. |
| doc: doc-design doc-book doc-misc-docs |
| |
| # Build all types of a certain doc. |
| doc-book: doc-book-html doc-book-pdf doc-book-ps |
| doc-misc-docs: doc-misc-docs-html doc-misc-docs-pdf doc-misc-docs-ps |
| doc-design: doc-design-info doc-design-html doc-design-txt |
| |
| # Build all docs of a certain type. |
| doc-all-html: doc-design-html doc-book-html doc-misc-docs-html |
| doc-all-pdf: doc-design-pdf doc-book-pdf dock-misc-docs-pdf |
| doc-all-ps: doc-design-ps doc-book-ps dock-misc-docs-ps |
| doc-all-info: doc-design-info |
| |
| # Different outputs for the 'design' document, written in texinfo. |
| # Assumes you have {makeinfo, texi2dvi, dvips, dvipdf} installed. |
| doc-design-info: doc/programmer/design/svn-design.info |
| doc-design-html: doc/programmer/design/svn-design.html |
| doc-design-txt: doc/programmer/design/svn-design.txt |
| doc-design-dvi: doc/programmer/design/svn-design.dvi |
| doc-design-ps: doc/programmer/design/svn-design.ps |
| doc-design-pdf: doc/programmer/design/svn-design.pdf |
| |
| # Different outputs for the main Subversion 'book', written in docbook. |
| # Assumes you have {xsltproc, fop, stylesheets} installed. |
| doc-book-html: |
| cd ${BOOK_TOP} && make book-html |
| doc-book-pdf: |
| cd ${BOOK_TOP} && make book-pdf |
| doc-book-ps: |
| cd ${BOOK_TOP} && make book-ps |
| |
| # Different outputs for the misc docs. |
| # Assumes you have {xsltproc, fop, stylesheets} installed. |
| doc-misc-docs-html: |
| cd ${BOOK_TOP} && make misc-docs-html |
| doc-misc-docs-pdf: |
| cd ${BOOK_TOP} && make misc-docs-pdf |
| doc-misc-docs-ps: |
| cd ${BOOK_TOP} && make misc-docs-ps |
| |
| |
| doc-clean: |
| for d in $(DOC_DIRS); \ |
| do \ |
| (cd $$d; \ |
| rm -f *.info *.info-[1-9] \ |
| *.aux *.cp *.fn *.ky *.log *.pg *.toc \ |
| *.tp *.vr \ |
| *.dvi *.txt *.html *.ps *.pdf *.fo); \ |
| done |
| |
| swig-assert-available: |
| @if test -z "$(SWIG)" || test "$(SWIG)" = "none"; then \ |
| echo 'SWIG variable not defined; this rule is unavailable' >&2; \ |
| echo 'Re-run configure --with-swig' >&2; \ |
| exit 1; \ |
| fi |
| |
| swig-clean: swig-py-ext-clean swig-java-ext-clean |
| |
| swig-py-ext: swig-assert-available |
| cd $(SWIG_BUILD_DIR)/python; \ |
| $(PYTHON) $(PYTHON_DISTUTIL) build $(DISTUTIL_PARAM) |
| |
| install-swig-py-ext: swig-assert-available |
| cd $(SWIG_BUILD_DIR)/python; \ |
| $(PYTHON) $(PYTHON_DISTUTIL) install $(DISTUTIL_PARAM) --prefix=$(DESTDIR)$(prefix) |
| |
| swig-py-ext-clean: |
| rm -rf $(SWIG_BUILD_DIR)/python/build |
| |
| swig-java-ext: swig-assert-available mkdir-init |
| cd $(SWIG_SRC_DIR)/java/org/tigris/subversion/swig; \ |
| for source in $(SWIG_SRC_DIR)/*.i; do \ |
| target="`echo -n $$source | sed 's!^.*/\(.*\)\.i$$!\1.c!'`"; \ |
| $(SWIG) -c -java -noproxy -module 'Subversion' \ |
| -package 'org.tigris.subversion.swig' \ |
| -I$(SWIG_SRC_DIR) \ |
| -I$(abs_srcdir)/subversion/include $(SVN_APR_INCLUDES) \ |
| -o $(SWIG_SRC_DIR)/java/build/$$target $$source; \ |
| done |
| |
| swig-java-ext-clean: |
| rm -rf $(SWIG_SRC_DIR)/java |
| |
| ### Build a tarball. |
| dist: |
| ./dist.sh |
| |
| |
| # |
| # Implicit rules for creating outputs from input files |
| # |
| .SUFFIXES: |
| .SUFFIXES: .c .lo .o .la-a .la .texi .info .dvi .txt .html .ps .pdf |
| |
| .c.o: |
| $(COMPILE) -o $@ -c $< |
| |
| .c.lo: |
| $(LT_COMPILE) -o $@ -c $< |
| |
| .la.la-a: |
| sed "/library_names/s/'.*'/''/" $< > $@ |
| |
| |
| .texi.info: |
| $(MAKEINFO) -I `dirname $<` -o $@ $< |
| |
| .texi.dvi: |
| wd=`pwd` ; cd `dirname $@` ; $(TEXI2DVI) $$wd/$< |
| |
| .texi.txt: |
| $(MAKEINFO) -I `dirname $<` --no-headers -o $@ $< |
| |
| .texi.html: |
| $(MAKEINFO) -I `dirname $<` --no-split --html -o $@ $< |
| |
| .dvi.ps: |
| $(DVIPS) $< -o $@ |
| |
| .dvi.pdf: |
| $(DVIPDF) $< $@ |
| |
| install-docs: install-man @INSTALL_INFO@ |
| |
| 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-info: doc-all-info |
| $(MKDIR) $(DESTDIR)$(infodir) |
| @list='$(INFOPAGES)'; \ |
| for i in $$list; do \ |
| if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ |
| else file=$$i; fi; \ |
| inst=`echo $$file | sed -e 's/^.*\///'`; \ |
| echo "$(INSTALL_DATA) $$file $(DESTDIR)$(infodir)/$$inst"; \ |
| $(INSTALL_DATA) $$file $(DESTDIR)$(infodir)/$$inst; \ |
| done |