* subversion/mod_dav_svn/version.c
[svn.git] / Makefile.in
blob8dd0f89cf61b3850b7deacbd6ae24015fdf04e17
2 # Makefile.in: template Makefile for Subversion
4 # ====================================================================
5 # Copyright (c) 2000-2006 CollabNet. All rights reserved.
7 # This software is licensed as described in the file COPYING, which
8 # you should have received as part of this distribution. The terms
9 # are also available at http://subversion.tigris.org/license-1.html.
10 # If newer versions of this license are posted there, you may use a
11 # newer version instead, at your option.
13 # This software consists of voluntary contributions made by many
14 # individuals. For exact contribution history, see the revision
15 # history and logs, available at http://subversion.tigris.org/.
16 # ====================================================================
19 top_builddir = .
20 top_srcdir = @top_srcdir@
21 abs_builddir = @abs_builddir@
22 abs_srcdir = @abs_srcdir@
23 VPATH = @top_srcdir@
25 SVN_RA_LIB_DEPS = @SVN_RA_LIB_DEPS@
26 SVN_RA_LIB_INSTALL_DEPS = @SVN_RA_LIB_INSTALL_DEPS@
27 SVN_RA_LIB_LINK = @SVN_RA_LIB_LINK@
29 SVN_FS_LIB_DEPS = @SVN_FS_LIB_DEPS@
30 SVN_FS_LIB_INSTALL_DEPS = @SVN_FS_LIB_INSTALL_DEPS@
31 SVN_FS_LIB_LINK = @SVN_FS_LIB_LINK@
33 SWIG_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig
34 SWIG_BUILD_DIR = $(abs_builddir)/subversion/bindings/swig
36 SVN_EXTERNAL_PROJECT_SUBDIRS = @SVN_EXTERNAL_PROJECT_SUBDIRS@
38 SCHEMA_DIR = subversion/svn/schema
40 NEON_LIBS = @NEON_LIBS@
41 SVN_APR_LIBS = @SVN_APR_LIBS@
42 SVN_APRUTIL_LIBS = @SVN_APRUTIL_LIBS@
43 SVN_DB_LIBS =
44 SVN_SERF_LIBS = @SVN_SERF_LIBS@
45 SVN_SQLITE_LIBS = @SVN_SQLITE_LIBS@
46 SVN_SASL_LIBS = @SVN_SASL_LIBS@
47 SVN_ZLIB_LIBS = @SVN_ZLIB_LIBS@
49 LIBS = @LIBS@
51 prefix = @prefix@
52 exec_prefix = @exec_prefix@
53 libdir = @libdir@
54 fsmod_libdir = @libdir@
55 ramod_libdir = @libdir@
56 neon_libdir = @libdir@
57 bdb_libdir = @libdir@
58 serf_libdir = @libdir@
59 bindir = @bindir@
60 includedir = @includedir@
61 mandir = @mandir@
62 srcdir = @srcdir@
63 datadir = @datadir@
64 localedir = @localedir@
66 # where to install libsvn_swig_*
67 swig_py_libdir = @libdir@
68 swig_pl_libdir = @libdir@
69 swig_rb_libdir = @libdir@
71 ### these possibly need further discussion
72 swig_pydir = @libdir@/svn-python/libsvn
73 swig_pydir_extra = @libdir@/svn-python/svn
74 swig_pldir = @libdir@/svn-perl
75 swig_rbdir = $(SWIG_RB_SITE_ARCH_DIR)/svn/ext
76 contribdir = @bindir@/svn-contrib
77 toolsdir = @bindir@/svn-tools
79 javahl_javadir = @libdir@/svn-javahl
80 javahl_javahdir = @libdir@/svn-javahl/include
81 javahl_libdir = @libdir@
82 javahl_test_rootdir=$(abs_builddir)/subversion/bindings/javahl/test-work
84 MSGFMT = @MSGFMT@
85 MSGFMTFLAGS = @MSGFMTFLAGS@
86 MSGMERGE = @MSGMERGE@
87 XGETTEXT = @XGETTEXT@
88 TRANG = @TRANG@
90 PACKAGE_NAME=@PACKAGE_NAME@
91 PACKAGE_VERSION=@PACKAGE_VERSION@
93 CC = @CC@
94 CXX = @CXX@
95 EXEEXT = @EXEEXT@
97 SHELL = @SHELL@
98 LIBTOOL = @SVN_LIBTOOL@
99 LTFLAGS = @SVN_LT_CCTAG@ --silent
100 LTCXXFLAGS = @SVN_LT_CXXTAG@ --silent
101 LT_LDFLAGS = @LT_LDFLAGS@
102 LT_NO_UNDEFINED = @LT_NO_UNDEFINED@
103 LT_CXX_LIBADD = @LT_CXX_LIBADD@
105 INCLUDES = -I$(top_srcdir)/subversion/include -I$(top_builddir)/subversion \
106 @SVN_NEON_INCLUDES@ \
107 @SVN_APR_INCLUDES@ @SVN_APRUTIL_INCLUDES@ @SVN_SERF_INCLUDES@ \
108 @SVN_SASL_INCLUDES@ @SVN_ZLIB_INCLUDES@ @SVN_SQLITE_INCLUDES@
110 APACHE_INCLUDES = @APACHE_INCLUDES@
111 APACHE_TARGET = @APACHE_TARGET@
112 APACHE_LIBEXECDIR = $(DESTDIR)@APACHE_LIBEXECDIR@
113 APACHE_LDFLAGS = @APACHE_LDFLAGS@
115 SWIG = @SWIG@
116 SWIG_PY_INCLUDES = @SWIG_PY_INCLUDES@ -I$(SWIG_SRC_DIR)/python/libsvn_swig_py
117 SWIG_PY_COMPILE = @SWIG_PY_COMPILE@
118 SWIG_PY_LINK = @SWIG_PY_LINK@
119 SWIG_PY_LIBS = @SWIG_PY_LIBS@
120 SWIG_PL_INCLUDES = @SWIG_PL_INCLUDES@
121 SWIG_RB_INCLUDES = @SWIG_RB_INCLUDES@ -I$(SWIG_SRC_DIR)/ruby/libsvn_swig_ruby
122 SWIG_RB_COMPILE = @SWIG_RB_COMPILE@
123 SWIG_RB_LINK = @SWIG_RB_LINK@
124 SWIG_RB_LIBS = @SWIG_RB_LIBS@
125 SWIG_RB_SITE_LIB_DIR = @SWIG_RB_SITE_LIB_DIR@
126 SWIG_RB_SITE_ARCH_DIR = @SWIG_RB_SITE_ARCH_DIR@
127 SWIG_RB_TEST_VERBOSE = @SWIG_RB_TEST_VERBOSE@
128 SWIG_RB_RI_DATADIR = $(DESTDIR)$(datadir)/ri/$(RUBY_MAJOR).$(RUBY_MINOR)/site
130 JAVAHL_INCLUDES= @JNI_INCLUDES@ -I$(abs_builddir)/subversion/bindings/javahl/include
132 SVN_APR_INCLUDES = @SVN_APR_INCLUDES@
133 SVN_APR_PREFIX = @SVN_APR_PREFIX@
134 SVN_APRUTIL_INCLUDES = @SVN_APRUTIL_INCLUDES@
135 SVN_APRUTIL_PREFIX = @SVN_APRUTIL_PREFIX@
137 SVN_SERF_INCLUDES = @SVN_SERF_INCLUDES@
138 SVN_SERF_PREFIX = @SVN_SERF_PREFIX@
140 SVN_ZLIB_PREFIX = @SVN_ZLIB_PREFIX@
141 SVN_ZLIB_INCLUDES = @SVN_ZLIB_INCLUDES@
143 MKDIR = @MKDIR@
145 # The EXTRA_ parameters can be used to pass extra flags at 'make' time.
146 CFLAGS = @CFLAGS@ $(EXTRA_CFLAGS)
147 CXXFLAGS = @CXXFLAGS@ $(EXTRA_CXXFLAGS)
148 ### A few of the CFLAGS (e.g. -Wmissing-prototypes, -Wstrict-prototypes,
149 ### -Wmissing-declarations) are not valid for C++, and should be somehow
150 ### suppressed (but they may come from httpd or APR).
151 CPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS)
152 LDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS)
154 COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES)
155 COMPILE_CXX = $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(INCLUDES)
156 LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE)
158 # special compilation for files destined for mod_dav_svn
159 COMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c
161 # special compilation for files destined for libsvn_swig_* (e.g. swigutil_*.c)
162 COMPILE_SWIG_PY = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(CPPFLAGS) -DSWIGPYTHON $(CFLAGS) $(SWIG_PY_INCLUDES) $(INCLUDES) -o $@ -c
163 COMPILE_SWIG_PL = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(SWIG_PL_INCLUDES) $(INCLUDES) -o $@ -c
164 COMPILE_SWIG_RB = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(CPPFLAGS) $(CFLAGS) $(SWIG_RB_INCLUDES) $(INCLUDES) -o $@ -c
166 # special compilation for files destined for javahl (i.e. C++)
167 COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=compile $(COMPILE_CXX) $(JAVAHL_INCLUDES) -o $@ -c
168 COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS)
169 COMPILE_JAVAHL_JAVAH = $(JAVAH)
171 LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
173 # special link rule for mod_dav_svn
174 LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR) -avoid-version -module $(APACHE_LDFLAGS)
176 # Compilation of SWIG-generated C source code
177 COMPILE_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_PY_COMPILE) $(CPPFLAGS) $(SWIG_PY_INCLUDES) -prefer-pic -c -o $@
178 COMPILE_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=compile $(SWIG_RB_COMPILE) $(CPPFLAGS) $(SWIG_RB_INCLUDES) -prefer-pic -c -o $@
180 # these commands link the wrapper objects into an extension library/module
181 LINK_PY_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_PY_LINK) $(SWIG_LDFLAGS) -rpath $(swig_pydir) -avoid-version -module
182 LINK_RB_WRAPPER = $(LIBTOOL) $(LTFLAGS) --mode=link $(SWIG_RB_LINK) $(SWIG_LDFLAGS) -rpath $(swig_rbdir) -avoid-version -module
184 LINK_JAVAHL_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) $(LT_CXX_LIBADD) -rpath $(libdir)
186 INSTALL = @INSTALL@
187 INSTALL_LIB = $(LIBTOOL) --mode=install $(INSTALL)
188 INSTALL_FSMOD_LIB = $(INSTALL_LIB)
189 INSTALL_RAMOD_LIB = $(INSTALL_LIB)
190 INSTALL_BDB_LIB = $(INSTALL_LIB)
191 INSTALL_NEON_LIB = $(INSTALL_LIB)
192 INSTALL_SERF_LIB = $(INSTALL_LIB)
193 INSTALL_BIN = $(LIBTOOL) --mode=install $(INSTALL)
194 INSTALL_CONTRIB = $(LIBTOOL) --mode=install $(INSTALL)
195 INSTALL_TOOLS = $(LIBTOOL) --mode=install $(INSTALL)
196 INSTALL_INCLUDE = $(INSTALL) -m 644
197 INSTALL_MOD_SHARED = @APXS@ -i -S LIBEXECDIR="$(APACHE_LIBEXECDIR)" @MOD_ACTIVATION@
198 INSTALL_MOD_STATIC = $(INSTALL) -m 644
199 INSTALL_DATA = $(INSTALL) -m 644
200 INSTALL_LOCALE = $(INSTALL_DATA)
202 ### this isn't correct yet
203 INSTALL_SWIG_PY = $(INSTALL_LIB)
204 INSTALL_SWIG_PY_LIB = $(INSTALL_LIB)
205 INSTALL_SWIG_PL_LIB = $(INSTALL_LIB)
206 INSTALL_SWIG_RB = $(INSTALL_LIB)
207 INSTALL_SWIG_RB_LIB = $(INSTALL_LIB)
209 INSTALL_JAVAHL_LIB = $(INSTALL_LIB)
211 # additional installation rules for the SWIG wrappers
212 INSTALL_EXTRA_SWIG_PY=\
213 $(MKDIR) $(DESTDIR)$(swig_pydir); \
214 $(MKDIR) $(DESTDIR)$(swig_pydir_extra); \
215 for i in $(abs_srcdir)/subversion/bindings/swig/python/svn/*.py; do \
216 $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir_extra); \
217 done; \
218 for i in $(abs_srcdir)/subversion/bindings/swig/python/*.py; do \
219 $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir); \
220 done; \
221 if test "$(abs_srcdir)" != "$(abs_builddir)"; then \
222 for i in $(abs_builddir)/subversion/bindings/swig/python/*.py; do \
223 $(INSTALL_DATA) "$$i" $(DESTDIR)$(swig_pydir); \
224 done; \
225 fi; \
226 $(PYTHON) -c 'import compileall; \
227 compileall.compile_dir("$(DESTDIR)$(swig_pydir)", 1, "$(swig_pydir)"); \
228 compileall.compile_dir("$(DESTDIR)$(swig_pydir_extra)", 1, \
229 "$(swig_pydir_extra)");'
231 # The path to generated and complementary source files for the SWIG
232 # bindings.
233 SWIG_PL_DIR = $(abs_builddir)/subversion/bindings/swig/perl
234 SWIG_PY_DIR = $(abs_builddir)/subversion/bindings/swig/python
235 SWIG_RB_DIR = $(abs_builddir)/subversion/bindings/swig/ruby
237 # The path to the source files for the SWIG bindings
238 SWIG_PL_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/perl
239 SWIG_PY_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/python
240 SWIG_RB_SRC_DIR = $(abs_srcdir)/subversion/bindings/swig/ruby
242 ### Automate JAR creation using Makefile generator's javahl-java.jar
243 ### property. Enhance generator to support JAR installation.
244 INSTALL_EXTRA_JAVAHL_JAVA=\
245 $(JAR) cf subversion/bindings/javahl/svn-javahl.jar -C subversion/bindings/javahl/classes org; \
246 $(INSTALL_DATA) subversion/bindings/javahl/svn-javahl.jar $(DESTDIR)$(javahl_javadir);
248 INSTALL_EXTRA_JAVAHL_LIB=@INSTALL_EXTRA_JAVAHL_LIB@
250 INSTALL_EXTRA_SWIG_RB=\
251 @echo $(MKDIR) $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \
252 $(MKDIR) $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \
253 for i in $(abs_srcdir)/subversion/bindings/swig/ruby/svn/*.rb; do \
254 echo $(INSTALL_DATA) "$$i" $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \
255 $(INSTALL_DATA) "$$i" $(DESTDIR)$(SWIG_RB_SITE_LIB_DIR)/svn; \
256 done
258 APXS = @APXS@
260 PYTHON = @PYTHON@
261 PERL = @PERL@
263 JDK = @JDK@
264 JAVA = @JAVA@
265 JAVAC = @JAVAC@
266 JAVADOC = @JAVADOC@
267 JAVAC_FLAGS = @JAVAC_FLAGS@
268 JAVAH = @JAVAH@
269 JAR = @JAR@
271 JAVA_CLASSPATH=@JAVA_CLASSPATH@
272 javahl_java_CLASSPATH=$(JAVA_CLASSPATH)
273 javahl_tests_CLASSPATH=$(JAVA_CLASSPATH)
275 RUBY = @RUBY@
276 RUBY_MAJOR = @RUBY_MAJOR@
277 RUBY_MINOR = @RUBY_MINOR@
278 RDOC = @RDOC@
280 ECHO_C = @ECHO_C@
281 ECHO_N = @ECHO_N@
283 TESTS = $(TEST_PROGRAMS) @BDB_TEST_PROGRAMS@
285 all: external-all local-all
286 clean: external-clean local-clean
287 distclean: external-distclean local-distclean
288 extraclean: external-extraclean local-extraclean
289 install: external-install local-install revision-install
291 @INCLUDE_OUTPUTS@
293 local-all: @BUILD_RULES@
295 locale-gnu-pot:
296 cd $(abs_srcdir) && XGETTEXT="$(XGETTEXT)" MSGMERGE="$(MSGMERGE)" \
297 tools/po/po-update.sh pot
299 # "make locale-gnu-po-update" updates all translations.
300 # "make locale-gnu-po-update PO=ll" updates only the ll.po file.
301 locale-gnu-po-update:
302 cd $(abs_srcdir) && XGETTEXT="$(XGETTEXT)" MSGMERGE="$(MSGMERGE)" \
303 tools/po/po-update.sh $(PO)
305 # clean everything but the bulky test output, returning the system back
306 # to before 'make' was run.
307 fast-clean: doc-clean
308 @list='$(BUILD_DIRS)'; for i in $$list; do \
309 echo "Cleaning $$i ..." ; \
310 (cd $$i && rm -f *.o *.lo *.la *.la-a *.spo *.mo && \
311 rm -rf .libs) ; \
312 done
313 rm -f $(CLEAN_FILES)
314 find $(abs_srcdir) -name "*.pyc" -exec rm {} ';'
316 # clean all but bulky test output, returning to before './configure' was run.
317 SVN_CONFIG_SCRIPT_FILES = @SVN_CONFIG_SCRIPT_FILES@
318 fast-distclean: fast-clean
319 rm -f Makefile config.cache config.log config.status libtool \
320 subversion/svn_private_config.h \
321 $(SVN_CONFIG_SCRIPT_FILES)
323 # clean everything out, returning to before './autogen.sh' was run.
324 local-extraclean: local-distclean extraclean-swig
325 rm -f $(top_srcdir)/build-outputs.mk \
326 $(top_srcdir)/subversion/svn_private_config.h.in \
327 $(top_srcdir)/configure \
328 $(top_srcdir)/build/config.guess \
329 $(top_srcdir)/build/config.sub \
330 $(top_srcdir)/build/libtool.m4 \
331 $(top_srcdir)/build/ltmain.sh
333 # clean everything, including test output.
334 local-clean: fast-clean check-clean clean-swig
336 # clean everything, including test output.
337 local-distclean: fast-distclean check-clean
339 local-install: @INSTALL_RULES@
341 ### HACK!! Find a better way to do this
342 revision-install:
343 subversion/svnversion/svnversion $(top_srcdir) /repos/svn/trunk > $(DESTDIR)$(includedir)/subversion-1/svn-revision.txt
345 install-static: @INSTALL_STATIC_RULES@
347 # JavaHL target aliases
348 javahl: mkdir-init javahl-java javahl-javah javahl-lib @JAVAHL_TESTS_TARGET@
349 install-javahl: install-javahl-java install-javahl-javah install-javahl-lib
351 clean-javahl:
352 rm -rf $(javahl_java_PATH) $(javahl_javah_PATH) @JAVAHL_OBJDIR@
353 rm -fr $(javahl_test_rootdir)
354 rm -f $(libsvnjavahl_PATH)/*.la
355 rm -f $(libsvnjavahl_PATH)/*.lo
356 rm -f $(libsvnjavahl_PATH)/*.o
358 check-javahl: javahl
359 @if [ -z "@JAVAHL_TESTS_TARGET@" ]; then \
360 echo "--with-junit flag must be passed to configure"; \
361 exit 1; \
363 @FIX_JAVAHL_LIB@
364 $(JAVA) "-Dtest.rootdir=$(javahl_test_rootdir)" "-Dtest.fstype=$(FS_TYPE)" -Djava.library.path=@JAVAHL_OBJDIR@:$(libdir) -classpath $(javahl_tests_PATH):$(javahl_tests_CLASSPATH) "-Dtest.tests=$(JAVAHL_TESTS)" org.tigris.subversion.javahl.RunTests
366 # "make check CLEANUP=true" will clean up directories for successful tests.
367 # "make check TESTS=subversion/tests/cmdline/basic_tests.py"
368 # will perform only basic tests (likewise for other tests).
369 check: $(TEST_DEPS) @BDB_TEST_DEPS@
370 @if test "$(PYTHON)" != "none"; then \
371 flags="--verbose"; \
372 if test "$(CLEANUP)" != ""; then \
373 flags="--cleanup $$flags"; \
374 fi; \
375 if test "$(BASE_URL)" != ""; then \
376 flags="--url $(BASE_URL) $$flags"; \
377 fi; \
378 if test "$(FS_TYPE)" != ""; then \
379 flags="--fs-type $(FS_TYPE) $$flags"; \
380 fi; \
381 if test "$(HTTP_LIBRARY)" != ""; then \
382 flags="--http-library $(HTTP_LIBRARY) $$flags"; \
383 fi; \
384 if test "$(SERVER_MINOR_VERSION)" != ""; then \
385 flags="--server-minor-version $(SERVER_MINOR_VERSION) $$flags"; \
386 fi; \
387 if test "$(ENABLE_SASL)" != ""; then \
388 flags="--enable-sasl $$flags"; \
389 fi; \
390 if test "$(PARALLEL)" != ""; then \
391 flags="--parallel $$flags"; \
392 fi; \
393 $(PYTHON) $(top_srcdir)/build/run_tests.py $$flags \
394 '$(abs_srcdir)' '$(abs_builddir)' $(TESTS); \
395 else \
396 echo "make check: Python 2.2 or greater is required,"; \
397 echo " but was not detected during configure"; \
398 exit 1; \
401 # First, set up Apache as documented in
402 # subversion/tests/cmdline/README.
403 davcheck:
404 @$(MAKE) check BASE_URL=http://localhost
406 # Automatically configure and run Apache httpd on a random port, and then
407 # run make check.
408 davautocheck:
409 @APXS=$(APXS) bash $(top_srcdir)/subversion/tests/cmdline/davautocheck.sh
411 # First, run:
412 # subversion/svnserve/svnserve -d -r `pwd`/subversion/tests/cmdline
413 svncheck:
414 @$(MAKE) check BASE_URL=svn://127.0.0.1
416 # 'make svnserveautocheck' runs svnserve for you and kills it.
417 svnserveautocheck: svnserve
418 bash $(top_srcdir)/subversion/tests/cmdline/svnserveautocheck.sh
420 # First, run:
421 # subversion/svnserve/svnserve --listen-host "::1" -d -r `pwd`/subversion/tests/cmdline
423 svncheck6:
424 @$(MAKE) check BASE_URL=svn://\[::1\]
426 # First make sure you can ssh to localhost and that "svnserve" is in
427 # the path of the resulting shell.
428 svnsshcheck:
429 @$(MAKE) check \
430 BASE_URL=svn+ssh://localhost`pwd`/subversion/tests/cmdline
432 bdbcheck:
433 @$(MAKE) check FS_TYPE=bdb
435 check-clean:
436 rm -rf subversion/tests/cmdline/svn-test-work \
437 subversion/tests/libsvn_fs/test-repo-* \
438 subversion/tests/libsvn_fs_base/test-repo-* \
439 subversion/tests/libsvn_ra_local/test-repo-* \
440 subversion/tests/libsvn_repos/test-repo-* \
441 subversion/tests/libsvn_subr/z \
442 subversion/tests/svnserveautocheck.pid \
443 tests.log
445 mkdir-init:
446 @list='$(BUILD_DIRS) $(SCHEMA_DIR) doc'; \
447 for i in $$list; do \
448 if [ ! -d $$i ]; then \
449 echo "$(MKDIR) $$i" ; \
450 $(MKDIR) $$i ; \
451 fi; \
452 done
454 # recursive targets to handle external projects (e.g. APR, Neon)
455 external-all external-install:
456 @target=`echo $@ | sed s/external-//`; \
457 list='$(SVN_EXTERNAL_PROJECT_SUBDIRS)'; \
458 for i in $$list; do \
459 echo "------ making $$target in $$i"; \
460 (cd $$i && $(MAKE) $$target) || exit 1; \
461 echo "------ completed $$target in $$i"; \
462 done;
464 ### apr-util relies on generated files in apr, so reverse the
465 ### list so that it is cleaned before apr.
466 external-clean external-distclean:
467 @target=`echo $@ | sed s/external-//`; \
468 list='$(SVN_EXTERNAL_PROJECT_SUBDIRS)'; \
469 for i in $$list; do \
470 revlist="$$i $$revlist"; \
471 done; \
472 for i in $$revlist; do \
473 echo "------ making $$target in $$i"; \
474 (cd $$i && $(MAKE) $$target) || exit 1; \
475 echo "------ completed $$target in $$i"; \
476 done;
478 ### temporary hack. Neon does not have an "extraclean" and neither does db
479 ### If we don't have extraclean -- do the next best thing.
480 external-extraclean:
481 @list='$(SVN_EXTERNAL_PROJECT_SUBDIRS)'; \
482 for i in $$list; do \
483 revlist="$$i $$revlist"; \
484 done; \
485 for i in $$revlist; do \
486 if test "$$i" = "neon" || test "$$i" = "db/dist"; then \
487 echo "------ making distclean(no extraclean) in $$i"; \
488 (cd $$i && $(MAKE) distclean) || exit 1; \
489 echo "------ completed distclean(no extraclean) in $$i"; \
490 else \
491 echo "------ making extraclean in $$i"; \
492 (cd $$i && $(MAKE) extraclean) || exit 1; \
493 echo "------ completed extraclean in $$i"; \
494 fi; \
495 done;
498 # DOCUMENTATION RULES
500 # Every single document in every format.
501 doc: doc-misc-docs doc-api doc-javahl
503 # Generate API documentation for the C libraries.
504 ### This could also generate POD for swig-perl, etc.
505 doc-api:
506 ( cd $(top_srcdir) && \
507 sed "s,\(OUTPUT_DIRECTORY *= *\),\1$(abs_builddir)/," \
508 doc/doxygen.conf | doxygen - )
510 # Generate API documentation for the JavaHL package.
511 doc-javahl:
512 $(JAVADOC) -d $(top_srcdir)/doc/javadoc \
513 -sourcepath $(top_srcdir)/subversion/bindings/javahl/src \
514 -link http://java.sun.com/javase/6/docs/api/ \
515 org.tigris.subversion.javahl
517 # Build all types of a certain doc.
518 doc-misc-docs: doc-misc-docs-html doc-misc-docs-pdf doc-misc-docs-ps
520 # Build all docs of a certain type.
521 doc-all-html: doc-misc-docs-html
522 doc-all-pdf: doc-misc-docs-pdf
523 doc-all-ps: doc-misc-docs-ps
525 # Assumes you have {xsltproc, fop, stylesheets} installed.
526 doc-misc-docs-html:
527 cd $(top_srcdir)/doc/misc-docs && $(MAKE) all-html
528 doc-misc-docs-pdf:
529 cd $(top_srcdir)/doc/misc-docs && $(MAKE) pdf
530 doc-misc-docs-ps:
531 cd $(top_srcdir)/doc/misc-docs && $(MAKE) ps
533 doc-clean:
534 cd $(top_srcdir)/doc/misc-docs && $(MAKE) clean
535 rm -rf $(top_srcdir)/doc/doxygen
536 rm -rf $(top_srcdir)/doc/javadoc
538 # Converting from the .rnc XML shcemas to various other schema formats.
539 SCHEMAS_DTD = $(SCHEMA_DIR)/blame.dtd $(SCHEMA_DIR)/info.dtd \
540 $(SCHEMA_DIR)/list.dtd $(SCHEMA_DIR)/log.dtd \
541 $(SCHEMA_DIR)/status.dtd $(SCHEMA_DIR)/props.dtd
543 SCHEMAS_RNG = $(SCHEMA_DIR)/blame.rng $(SCHEMA_DIR)/info.rng \
544 $(SCHEMA_DIR)/list.rng $(SCHEMA_DIR)/log.rng \
545 $(SCHEMA_DIR)/status.rng $(SCHEMA_DIR)/props.rng
547 SCHEMAS_XSD = $(SCHEMA_DIR)/blame.xsd $(SCHEMA_DIR)/info.xsd \
548 $(SCHEMA_DIR)/list.xsd $(SCHEMA_DIR)/log.xsd \
549 $(SCHEMA_DIR)/status.xsd $(SCHEMA_DIR)/props.xsd
551 schema: schema-rng schema-dtd schema-xsd
553 schema-rng: $(SCHEMAS_RNG)
554 schema-dtd: $(SCHEMAS_DTD)
555 schema-xsd: $(SCHEMAS_XSD)
557 $(SCHEMAS_RNG) $(SCHEMAS_DTD) $(SCHEMAS_XSD): $(SCHEMA_DIR)/common.rnc
559 schema-clean:
560 (cd $(SCHEMA_DIR) && rm -f *.rng *.dtd *.xsd)
563 # Implicit rules for creating outputs from input files
565 .SUFFIXES:
566 .SUFFIXES: .c .lo .o .la-a .la \
567 .po .spo .mo .rnc .rng .dtd .xsd
569 .c.o:
570 $(COMPILE) -o $@ -c $<
572 .c.lo:
573 $(LT_COMPILE) -o $@ -c $<
575 .la.la-a:
576 sed "/library_names/s/'.*'/''/" $< > $@
579 # Strip the Content-Type: header from the po file if we don't have a
580 # gettext that supports bind_textdomain_codeset, so it doesn't try
581 # to convert our UTF-8 .po files to the locale encoding.
582 @NO_GETTEXT_CODESET@.po.spo:
583 @NO_GETTEXT_CODESET@ sed \
584 @NO_GETTEXT_CODESET@ '/^"Content-Type: text\/plain; charset=UTF-8\\n"$$/d' \
585 @NO_GETTEXT_CODESET@ $< > $@
587 @NO_GETTEXT_CODESET@.spo.mo:
588 @NO_GETTEXT_CODESET@ $(MSGFMT) $(MSGFMTFLAGS) -o $@ $<
590 # For systems with bind_textdomain_codeset, just leave the Content-Type:
591 # header alone.
592 @GETTEXT_CODESET@.po.mo:
593 @GETTEXT_CODESET@ $(MSGFMT) $(MSGFMTFLAGS) -o $@ $<
595 .rnc.rng:
596 @TRANG@ $< $@
598 .rnc.dtd:
599 @TRANG@ $< $@
601 .rnc.xsd:
602 @TRANG@ $< $@
604 install-docs: install-man
606 manroot = $(mandir)/man
607 install-man:
608 @list='$(MANPAGES)'; \
609 for i in $$list; do \
610 if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
611 else file=$$i; fi; \
612 ext=`echo $$i | sed -e 's/^.*\\.//'`; \
613 $(MKDIR) $(DESTDIR)$(manroot)$$ext; \
614 inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
615 inst=`echo $$inst | sed -e 's/^.*\///'`; \
616 inst=`echo $$inst`.$$ext; \
617 echo "$(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst"; \
618 $(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst; \
619 done
621 install-swig-py: install-swig-py-lib
622 install-swig-rb: install-swig-rb-lib
624 clean-swig: clean-swig-headers clean-swig-py clean-swig-rb clean-swig-pl
625 extraclean-swig: extraclean-swig-headers extraclean-swig-py \
626 extraclean-swig-rb extraclean-swig-pl
628 EXTRACLEAN_SWIG_HEADERS=rm -f $(SWIG_SRC_DIR)/proxy/*.swg
630 clean-swig-headers:
631 if test -z "$(RELEASE_MODE)"; then \
632 $(EXTRACLEAN_SWIG_HEADERS); \
635 extraclean-swig-headers: clean-swig-headers
636 $(EXTRACLEAN_SWIG_HEADERS)
638 $(SWIG_PL_DIR)/native/Makefile.PL: $(SWIG_SRC_DIR)/perl/native/Makefile.PL.in
639 ./config.status subversion/bindings/swig/perl/native/Makefile.PL
641 $(SWIG_PL_DIR)/native/Makefile: $(SWIG_PL_DIR)/native/Makefile.PL
642 cd $(SWIG_PL_DIR)/native; $(PERL) Makefile.PL
644 swig-pl_DEPS = autogen-swig-pl libsvn_client libsvn_delta libsvn_diff \
645 libsvn_fs libsvn_ra libsvn_repos libsvn_subr libsvn_wc libsvn_swig_perl \
646 $(SWIG_PL_DIR)/native/Makefile
647 swig-pl: $(swig-pl_DEPS)
648 if test "$(SWIG_PL_DIR)" != "$(SWIG_PL_SRC_DIR)"; then \
649 ln -sf $(SWIG_PL_SRC_DIR)/native/*.c $(SWIG_PL_DIR)/native; \
651 cd $(SWIG_PL_DIR)/native; $(MAKE)
653 check-swig-pl: swig-pl swig-pl-lib
654 cd $(SWIG_PL_DIR)/native; $(MAKE) test
656 install-swig-pl: swig-pl install-swig-pl-lib
657 cd $(SWIG_PL_DIR)/native; $(MAKE) install
659 EXTRACLEAN_SWIG_PL=rm -f $(SWIG_PL_SRC_DIR)/native/svn_*.c \
660 $(SWIG_PL_SRC_DIR)/native/core.c
662 # Running Makefile.PL at this point *fails* (cannot find ..../.libs) so if the
663 # Makefile does not exist, DO NOT try to make it. But, if it doesn't exist,
664 # then the directory is probably clean anyway.
665 clean-swig-pl:
666 if test -z "$(RELEASE_MODE)"; then \
667 $(EXTRACLEAN_SWIG_PL); \
669 for d in $(SWIG_PL_DIR)/libsvn_swig_perl; \
670 do \
671 cd $$d; \
672 rm -rf *.lo *.la *.o .libs; \
673 done
674 if [ -f "$(SWIG_PL_DIR)/native/Makefile" ]; then \
675 cd $(SWIG_PL_DIR)/native; $(MAKE) clean; \
678 extraclean-swig-pl: clean-swig-pl
679 $(EXTRACLEAN_SWIG_PL)
681 $(SWIG_PY_DIR)/libsvn:
682 mkdir $(SWIG_PY_DIR)/libsvn
684 copy-swig-py: autogen-swig-py $(SWIG_PY_DIR)/libsvn
685 @cp -pf $(SWIG_PY_SRC_DIR)/*.py $(SWIG_PY_DIR)/libsvn
687 swig-py: autogen-swig-py copy-swig-py
689 check-swig-py: swig-py
690 cd $(SWIG_PY_DIR); \
691 $(PYTHON) $(SWIG_PY_SRC_DIR)/tests/run_all.py
693 EXTRACLEAN_SWIG_PY=rm -rf $(SWIG_PY_SRC_DIR)/svn_*.c $(SWIG_PY_SRC_DIR)/core.c \
694 $(SWIG_PY_SRC_DIR)/[a-z]*.py
695 clean-swig-py:
696 rm -rf $(SWIG_PY_DIR)/libsvn
697 if test -z "$(RELEASE_MODE)"; then \
698 $(EXTRACLEAN_SWIG_PY); \
700 for d in $(SWIG_PY_DIR) $(SWIG_PY_DIR)/libsvn_swig_py; \
701 do \
702 cd $$d && rm -rf *.lo *.la *.o *.pyc .libs; \
703 done
704 find $(SWIG_PY_SRC_DIR) $(SWIG_PY_DIR) -name "*.pyc" -exec rm {} ';'
706 extraclean-swig-py: clean-swig-py
707 $(EXTRACLEAN_SWIG_PY)
709 swig-rb: autogen-swig-rb
711 check-swig-rb: swig-rb svnserve
712 cd $(SWIG_RB_DIR); \
713 $(RUBY) -I $(SWIG_RB_SRC_DIR) \
714 $(SWIG_RB_SRC_DIR)/test/run-test.rb \
715 --verbose=$(SWIG_RB_TEST_VERBOSE)
717 EXTRACLEAN_SWIG_RB=rm -f $(SWIG_RB_SRC_DIR)/svn_*.c $(SWIG_RB_SRC_DIR)/core.c
719 clean-swig-rb:
720 rm -rf $(SWIG_RB_DIR)/test/repos $(SWIG_RB_DIR)/test/wc
721 if test -z "$(RELEASE_MODE)"; then \
722 $(EXTRACLEAN_SWIG_RB); \
724 for d in $(SWIG_RB_DIR) $(SWIG_RB_DIR)/libsvn_swig_ruby; \
725 do \
726 cd $$d; \
727 rm -rf *.lo *.la *.o .libs; \
728 done
730 extraclean-swig-rb: clean-swig-rb
731 $(EXTRACLEAN_SWIG_RB)
733 install-swig-rb-doc:
734 $(RDOC) --all --ri --op "$(SWIG_RB_RI_DATADIR)" "$(SWIG_RB_SRC_DIR)/svn"