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 # ====================================================================
20 top_srcdir
= @top_srcdir@
21 abs_builddir
= @abs_builddir@
22 abs_srcdir
= @abs_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@
44 SVN_SERF_LIBS
= @SVN_SERF_LIBS@
45 SVN_SASL_LIBS
= @SVN_SASL_LIBS@
46 SVN_ZLIB_LIBS
= @SVN_ZLIB_LIBS@
51 exec_prefix = @
exec_prefix@
53 fsmod_libdir
= @
libdir@
54 ramod_libdir
= @
libdir@
55 neon_libdir
= @
libdir@
57 serf_libdir
= @
libdir@
59 includedir = @
includedir@
63 localedir
= @localedir@
65 # where to install libsvn_swig_*
66 swig_py_libdir
= @
libdir@
67 swig_pl_libdir
= @
libdir@
68 swig_rb_libdir
= @
libdir@
70 ### these possibly need further discussion
71 swig_pydir
= @
libdir@
/svn-python
/libsvn
72 swig_pydir_extra
= @
libdir@
/svn-python
/svn
73 swig_pldir
= @
libdir@
/svn-perl
74 swig_rbdir
= $(SWIG_RB_SITE_ARCH_DIR
)/svn
/ext
75 contribdir
= @
bindir@
/svn-contrib
76 toolsdir
= @
bindir@
/svn-tools
78 javahl_javadir
= @
libdir@
/svn-javahl
79 javahl_javahdir
= @
libdir@
/svn-javahl
/include
80 javahl_libdir
= @
libdir@
81 javahl_test_rootdir
=$(abs_builddir
)/subversion
/bindings
/javahl
/test-work
84 MSGFMTFLAGS
= @MSGFMTFLAGS@
89 PACKAGE_NAME
=@PACKAGE_NAME@
90 PACKAGE_VERSION
=@PACKAGE_VERSION@
97 LIBTOOL
= @SVN_LIBTOOL@
98 LTFLAGS
= @SVN_LT_CCTAG@
--silent
99 LTCXXFLAGS
= @SVN_LT_CXXTAG@
--silent
100 LT_LDFLAGS
= @LT_LDFLAGS@
101 LT_NO_UNDEFINED
= @LT_NO_UNDEFINED@
102 LT_CXX_LIBADD
= @LT_CXX_LIBADD@
104 INCLUDES
= -I
$(top_srcdir
)/subversion
/include -I
$(top_builddir
)/subversion \
105 @SVN_NEON_INCLUDES@ \
106 @SVN_APR_INCLUDES@ @SVN_APRUTIL_INCLUDES@ @SVN_SERF_INCLUDES@ \
107 @SVN_SASL_INCLUDES@ @SVN_ZLIB_INCLUDES@
109 APACHE_INCLUDES
= @APACHE_INCLUDES@
110 APACHE_TARGET
= @APACHE_TARGET@
111 APACHE_LIBEXECDIR
= $(DESTDIR
)@APACHE_LIBEXECDIR@
112 APACHE_LDFLAGS
= @APACHE_LDFLAGS@
115 SWIG_PY_INCLUDES
= @SWIG_PY_INCLUDES@
-I
$(SWIG_SRC_DIR
)/python
/libsvn_swig_py
116 SWIG_PY_COMPILE
= @SWIG_PY_COMPILE@
117 SWIG_PY_LINK
= @SWIG_PY_LINK@
118 SWIG_PY_LIBS
= @SWIG_PY_LIBS@
119 SWIG_PL_INCLUDES
= @SWIG_PL_INCLUDES@
120 SWIG_RB_INCLUDES
= @SWIG_RB_INCLUDES@
-I
$(SWIG_SRC_DIR
)/ruby
/libsvn_swig_ruby
121 SWIG_RB_COMPILE
= @SWIG_RB_COMPILE@
122 SWIG_RB_LINK
= @SWIG_RB_LINK@
123 SWIG_RB_LIBS
= @SWIG_RB_LIBS@
124 SWIG_RB_SITE_LIB_DIR
= @SWIG_RB_SITE_LIB_DIR@
125 SWIG_RB_SITE_ARCH_DIR
= @SWIG_RB_SITE_ARCH_DIR@
126 SWIG_RB_TEST_VERBOSE
= @SWIG_RB_TEST_VERBOSE@
127 SWIG_RB_RI_DATADIR
= $(DESTDIR
)$(datadir)/ri
/$(RUBY_MAJOR
).
$(RUBY_MINOR
)/site
129 JAVAHL_INCLUDES
= @JNI_INCLUDES@
-I
$(abs_builddir
)/subversion
/bindings
/javahl
/include
131 SVN_APR_INCLUDES
= @SVN_APR_INCLUDES@
132 SVN_APR_PREFIX
= @SVN_APR_PREFIX@
133 SVN_APRUTIL_INCLUDES
= @SVN_APRUTIL_INCLUDES@
134 SVN_APRUTIL_PREFIX
= @SVN_APRUTIL_PREFIX@
136 SVN_SERF_INCLUDES
= @SVN_SERF_INCLUDES@
137 SVN_SERF_PREFIX
= @SVN_SERF_PREFIX@
139 SVN_ZLIB_PREFIX
= @SVN_ZLIB_PREFIX@
140 SVN_ZLIB_INCLUDES
= @SVN_ZLIB_INCLUDES@
144 # The EXTRA_ parameters can be used to pass extra flags at 'make' time.
145 CFLAGS
= @CFLAGS@
$(EXTRA_CFLAGS
)
146 CXXFLAGS
= @CXXFLAGS@
$(EXTRA_CXXFLAGS
)
147 ### A few of the CFLAGS (e.g. -Wmissing-prototypes, -Wstrict-prototypes,
148 ### -Wmissing-declarations) are not valid for C++, and should be somehow
149 ### suppressed (but they may come from httpd or APR).
150 CPPFLAGS
= @CPPFLAGS@
$(EXTRA_CPPFLAGS
)
151 LDFLAGS
= @LDFLAGS@
$(EXTRA_LDFLAGS
)
153 COMPILE
= $(CC
) $(CPPFLAGS
) $(CFLAGS
) $(INCLUDES
)
154 COMPILE_CXX
= $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) $(INCLUDES
)
155 LT_COMPILE
= $(LIBTOOL
) $(LTFLAGS
) --mode
=compile
$(COMPILE
)
157 # special compilation for files destined for mod_dav_svn
158 COMPILE_APACHE_MOD
= $(LIBTOOL
) $(LTFLAGS
) --mode
=compile
$(CC
) $(CPPFLAGS
) $(CFLAGS
) $(APACHE_INCLUDES
) $(INCLUDES
) -o
$@
-c
160 # special compilation for files destined for libsvn_swig_* (e.g. swigutil_*.c)
161 COMPILE_SWIG_PY
= $(LIBTOOL
) $(LTFLAGS
) --mode
=compile
$(SWIG_PY_COMPILE
) $(CPPFLAGS
) -DSWIGPYTHON
$(CFLAGS
) $(SWIG_PY_INCLUDES
) $(INCLUDES
) -o
$@
-c
162 COMPILE_SWIG_PL
= $(LIBTOOL
) $(LTFLAGS
) --mode
=compile
$(CC
) $(CPPFLAGS
) $(CFLAGS
) $(SWIG_PL_INCLUDES
) $(INCLUDES
) -o
$@
-c
163 COMPILE_SWIG_RB
= $(LIBTOOL
) $(LTFLAGS
) --mode
=compile
$(SWIG_RB_COMPILE
) $(CPPFLAGS
) $(CFLAGS
) $(SWIG_RB_INCLUDES
) $(INCLUDES
) -o
$@
-c
165 # special compilation for files destined for javahl (i.e. C++)
166 COMPILE_JAVAHL_CXX
= $(LIBTOOL
) $(LTCXXFLAGS
) --mode
=compile
$(COMPILE_CXX
) $(JAVAHL_INCLUDES
) -o
$@
-c
167 COMPILE_JAVAHL_JAVAC
= $(JAVAC
) $(JAVAC_FLAGS
)
168 COMPILE_JAVAHL_JAVAH
= $(JAVAH
)
170 LINK
= $(LIBTOOL
) $(LTFLAGS
) --mode
=link
$(CC
) $(LT_LDFLAGS
) $(CFLAGS
) $(LDFLAGS
) -rpath
$(libdir)
172 # special link rule for mod_dav_svn
173 LINK_APACHE_MOD
= $(LIBTOOL
) $(LTFLAGS
) --mode
=link
$(CC
) $(LT_LDFLAGS
) $(CFLAGS
) $(LDFLAGS
) -rpath
$(APACHE_LIBEXECDIR
) -avoid-version
-module
$(APACHE_LDFLAGS
)
175 # Compilation of SWIG-generated C source code
176 COMPILE_PY_WRAPPER
= $(LIBTOOL
) $(LTFLAGS
) --mode
=compile
$(SWIG_PY_COMPILE
) $(CPPFLAGS
) $(SWIG_PY_INCLUDES
) -prefer-pic
-c
-o
$@
177 COMPILE_RB_WRAPPER
= $(LIBTOOL
) $(LTFLAGS
) --mode
=compile
$(SWIG_RB_COMPILE
) $(CPPFLAGS
) $(SWIG_RB_INCLUDES
) -prefer-pic
-c
-o
$@
179 # these commands link the wrapper objects into an extension library/module
180 LINK_PY_WRAPPER
= $(LIBTOOL
) $(LTFLAGS
) --mode
=link
$(SWIG_PY_LINK
) $(SWIG_LDFLAGS
) -rpath
$(swig_pydir
) -avoid-version
-module
181 LINK_RB_WRAPPER
= $(LIBTOOL
) $(LTFLAGS
) --mode
=link
$(SWIG_RB_LINK
) $(SWIG_LDFLAGS
) -rpath
$(swig_rbdir
) -avoid-version
-module
183 LINK_JAVAHL_CXX
= $(LIBTOOL
) $(LTCXXFLAGS
) --mode
=link
$(CXX
) $(LT_LDFLAGS
) $(CXXFLAGS
) $(LDFLAGS
) $(LT_CXX_LIBADD
) -rpath
$(libdir)
186 INSTALL_LIB
= $(LIBTOOL
) --mode
=install $(INSTALL
)
187 INSTALL_FSMOD_LIB
= $(INSTALL_LIB
)
188 INSTALL_RAMOD_LIB
= $(INSTALL_LIB
)
189 INSTALL_BDB_LIB
= $(INSTALL_LIB
)
190 INSTALL_NEON_LIB
= $(INSTALL_LIB
)
191 INSTALL_SERF_LIB
= $(INSTALL_LIB
)
192 INSTALL_BIN
= $(LIBTOOL
) --mode
=install $(INSTALL
)
193 INSTALL_CONTRIB
= $(LIBTOOL
) --mode
=install $(INSTALL
)
194 INSTALL_TOOLS
= $(LIBTOOL
) --mode
=install $(INSTALL
)
195 INSTALL_INCLUDE
= $(INSTALL
) -m
644
196 INSTALL_MOD_SHARED
= @APXS@
-i
-S LIBEXECDIR
="$(APACHE_LIBEXECDIR)" @MOD_ACTIVATION@
197 INSTALL_MOD_STATIC
= $(INSTALL
) -m
644
198 INSTALL_DATA
= $(INSTALL
) -m
644
199 INSTALL_LOCALE
= $(INSTALL_DATA
)
201 ### this isn't correct yet
202 INSTALL_SWIG_PY
= $(INSTALL_LIB
)
203 INSTALL_SWIG_PY_LIB
= $(INSTALL_LIB
)
204 INSTALL_SWIG_PL_LIB
= $(INSTALL_LIB
)
205 INSTALL_SWIG_RB
= $(INSTALL_LIB
)
206 INSTALL_SWIG_RB_LIB
= $(INSTALL_LIB
)
208 INSTALL_JAVAHL_LIB
= $(INSTALL_LIB
)
210 # additional installation rules for the SWIG wrappers
211 INSTALL_EXTRA_SWIG_PY
=\
212 $(MKDIR
) $(DESTDIR
)$(swig_pydir
); \
213 $(MKDIR
) $(DESTDIR
)$(swig_pydir_extra
); \
214 for i in
$(abs_srcdir
)/subversion
/bindings
/swig
/python
/svn
/*.py
; do \
215 $(INSTALL_DATA
) "$$i" $(DESTDIR
)$(swig_pydir_extra
); \
217 for i in
$(abs_srcdir
)/subversion
/bindings
/swig
/python
/*.py
; do \
218 $(INSTALL_DATA
) "$$i" $(DESTDIR
)$(swig_pydir
); \
220 if
test "$(abs_srcdir)" != "$(abs_builddir)"; then \
221 for i in
$(abs_builddir
)/subversion
/bindings
/swig
/python
/*.py
; do \
222 $(INSTALL_DATA
) "$$i" $(DESTDIR
)$(swig_pydir
); \
225 $(PYTHON
) -c
'import compileall; \
226 compileall.compile_dir("$(DESTDIR)$(swig_pydir)", 1, "$(swig_pydir)"); \
227 compileall.compile_dir("$(DESTDIR)$(swig_pydir_extra)", 1, \
228 "$(swig_pydir_extra)");'
230 # The path to generated and complementary source files for the SWIG
232 SWIG_PL_DIR
= $(abs_builddir
)/subversion
/bindings
/swig
/perl
233 SWIG_PY_DIR
= $(abs_builddir
)/subversion
/bindings
/swig
/python
234 SWIG_RB_DIR
= $(abs_builddir
)/subversion
/bindings
/swig
/ruby
236 # The path to the source files for the SWIG bindings
237 SWIG_PL_SRC_DIR
= $(abs_srcdir
)/subversion
/bindings
/swig
/perl
238 SWIG_PY_SRC_DIR
= $(abs_srcdir
)/subversion
/bindings
/swig
/python
239 SWIG_RB_SRC_DIR
= $(abs_srcdir
)/subversion
/bindings
/swig
/ruby
241 ### Automate JAR creation using Makefile generator's javahl-java.jar
242 ### property. Enhance generator to support JAR installation.
243 INSTALL_EXTRA_JAVAHL_JAVA
=\
244 $(JAR
) cf subversion
/bindings
/javahl
/svn-javahl.jar
-C subversion
/bindings
/javahl
/classes org
; \
245 $(INSTALL_DATA
) subversion
/bindings
/javahl
/svn-javahl.jar
$(DESTDIR
)$(javahl_javadir
);
247 INSTALL_EXTRA_JAVAHL_LIB
=@INSTALL_EXTRA_JAVAHL_LIB@
249 INSTALL_EXTRA_SWIG_RB
=\
250 @echo
$(MKDIR
) $(DESTDIR
)$(SWIG_RB_SITE_LIB_DIR
)/svn
; \
251 $(MKDIR
) $(DESTDIR
)$(SWIG_RB_SITE_LIB_DIR
)/svn
; \
252 for i in
$(abs_srcdir
)/subversion
/bindings
/swig
/ruby
/svn
/*.rb
; do \
253 echo
$(INSTALL_DATA
) "$$i" $(DESTDIR
)$(SWIG_RB_SITE_LIB_DIR
)/svn
; \
254 $(INSTALL_DATA
) "$$i" $(DESTDIR
)$(SWIG_RB_SITE_LIB_DIR
)/svn
; \
266 JAVAC_FLAGS
= @JAVAC_FLAGS@
270 JAVA_CLASSPATH
=@JAVA_CLASSPATH@
271 javahl_java_CLASSPATH
=$(JAVA_CLASSPATH
)
272 javahl_tests_CLASSPATH
=$(JAVA_CLASSPATH
)
275 RUBY_MAJOR
= @RUBY_MAJOR@
276 RUBY_MINOR
= @RUBY_MINOR@
282 TESTS
= $(TEST_PROGRAMS
) @BDB_TEST_PROGRAMS@
284 all: external-all local-all
285 clean: external-clean local-clean
286 distclean: external-distclean local-distclean
287 extraclean
: external-extraclean local-extraclean
288 install: external-install local-install revision-install
292 local-all
: @BUILD_RULES@
295 cd
$(abs_srcdir
) && XGETTEXT
="$(XGETTEXT)" MSGMERGE
="$(MSGMERGE)" \
296 tools
/po
/po-update.sh pot
298 # "make locale-gnu-po-update" updates all translations.
299 # "make locale-gnu-po-update PO=ll" updates only the ll.po file.
300 locale-gnu-po-update
:
301 cd
$(abs_srcdir
) && XGETTEXT
="$(XGETTEXT)" MSGMERGE
="$(MSGMERGE)" \
302 tools
/po
/po-update.sh
$(PO
)
304 # clean everything but the bulky test output, returning the system back
305 # to before 'make' was run.
306 fast-clean
: doc-clean
307 @list
='$(BUILD_DIRS)'; for i in
$$list; do \
308 echo
"Cleaning $$i ..." ; \
309 (cd
$$i && rm -f
*.o
*.lo
*.la
*.la-a
*.spo
*.mo
&& \
313 find
$(abs_srcdir
) -name
"*.pyc" -exec
rm {} ';'
315 # clean all but bulky test output, returning to before './configure' was run.
316 SVN_CONFIG_SCRIPT_FILES
= @SVN_CONFIG_SCRIPT_FILES@
317 fast-distclean
: fast-clean
318 rm -f Makefile config.cache config.log config.status libtool \
319 subversion
/svn_private_config.h \
320 $(SVN_CONFIG_SCRIPT_FILES
)
322 # clean everything out, returning to before './autogen.sh' was run.
323 local-extraclean
: local-distclean extraclean-swig
324 rm -f
$(top_srcdir
)/build-outputs.mk \
325 $(top_srcdir
)/subversion
/svn_private_config.h.in \
326 $(top_srcdir
)/configure \
327 $(top_srcdir
)/build
/config.guess \
328 $(top_srcdir
)/build
/config.sub \
329 $(top_srcdir
)/build
/libtool.m4 \
330 $(top_srcdir
)/build
/ltmain.sh
332 # clean everything, including test output.
333 local-clean
: fast-clean check-clean clean-swig
335 # clean everything, including test output.
336 local-distclean
: fast-distclean check-clean
338 local-install
: @INSTALL_RULES@
340 ### HACK!! Find a better way to do this
342 subversion
/svnversion
/svnversion
$(top_srcdir
) /repos
/svn
/trunk
> $(DESTDIR
)$(includedir)/subversion-1
/svn-revision.txt
344 install-static
: @INSTALL_STATIC_RULES@
346 # JavaHL target aliases
347 javahl
: mkdir-init javahl-java javahl-javah javahl-lib @JAVAHL_TESTS_TARGET@
348 install-javahl
: install-javahl-java install-javahl-javah install-javahl-lib
351 rm -rf
$(javahl_java_PATH
) $(javahl_javah_PATH
) @JAVAHL_OBJDIR@
352 rm -fr
$(javahl_test_rootdir
)
353 rm -f
$(libsvnjavahl_PATH
)/*.la
354 rm -f
$(libsvnjavahl_PATH
)/*.lo
355 rm -f
$(libsvnjavahl_PATH
)/*.o
358 @if
[ -z
"@JAVAHL_TESTS_TARGET@" ]; then \
359 echo
"--with-junit flag must be passed to configure"; \
363 $(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
365 # "make check CLEANUP=true" will clean up directories for successful tests.
366 # "make check TESTS=subversion/tests/cmdline/basic_tests.py"
367 # will perform only basic tests (likewise for other tests).
368 check: $(TEST_DEPS
) @BDB_TEST_DEPS@
369 @if
test "$(PYTHON)" != "none"; then \
371 if
test "$(CLEANUP)" != ""; then \
372 flags
="--cleanup $$flags"; \
374 if
test "$(BASE_URL)" != ""; then \
375 flags
="--url $(BASE_URL) $$flags"; \
377 if
test "$(FS_TYPE)" != ""; then \
378 flags
="--fs-type $(FS_TYPE) $$flags"; \
380 if
test "$(HTTP_LIBRARY)" != ""; then \
381 flags
="--http-library $(HTTP_LIBRARY) $$flags"; \
383 if
test "$(SERVER_MINOR_VERSION)" != ""; then \
384 flags
="--server-minor-version $(SERVER_MINOR_VERSION) $$flags"; \
386 if
test "$(ENABLE_SASL)" != ""; then \
387 flags
="--enable-sasl $$flags"; \
389 if
test "$(PARALLEL)" != ""; then \
390 flags
="--parallel $$flags"; \
392 $(PYTHON
) $(top_srcdir
)/build
/run_tests.py
$$flags \
393 '$(abs_srcdir)' '$(abs_builddir)' $(TESTS
); \
395 echo
"make check: Python 2.2 or greater is required,"; \
396 echo
" but was not detected during configure"; \
400 # First, set up Apache as documented in
401 # subversion/tests/cmdline/README.
403 @
$(MAKE
) check BASE_URL
=http
://localhost
405 # Automatically configure and run Apache httpd on a random port, and then
408 @APXS
=$(APXS
) bash
$(top_srcdir
)/subversion
/tests
/cmdline
/davautocheck.sh
411 # subversion/svnserve/svnserve -d -r `pwd`/subversion/tests/cmdline
413 @
$(MAKE
) check BASE_URL
=svn
://127.0.0.1
415 # 'make svnserveautocheck' runs svnserve for you and kills it.
416 svnserveautocheck
: svnserve
417 bash
$(top_srcdir
)/subversion
/tests
/cmdline
/svnserveautocheck.sh
420 # subversion/svnserve/svnserve --listen-host "::1" -d -r `pwd`/subversion/tests/cmdline
423 @
$(MAKE
) check BASE_URL
=svn
://\
[::1\
]
425 # First make sure you can ssh to localhost and that "svnserve" is in
426 # the path of the resulting shell.
429 BASE_URL
=svn
+ssh
://localhost
`pwd`/subversion
/tests
/cmdline
432 @
$(MAKE
) check FS_TYPE
=bdb
435 rm -rf subversion
/tests
/cmdline
/svn-test-work \
436 subversion
/tests
/libsvn_fs
/test-repo-
* \
437 subversion
/tests
/libsvn_fs_base
/test-repo-
* \
438 subversion
/tests
/libsvn_ra_local
/test-repo-
* \
439 subversion
/tests
/libsvn_repos
/test-repo-
* \
440 subversion
/tests
/libsvn_subr
/z \
441 subversion
/tests
/svnserveautocheck.pid \
445 @list
='$(BUILD_DIRS) $(SCHEMA_DIR) doc'; \
446 for i in
$$list; do \
447 if
[ ! -d
$$i ]; then \
448 echo
"$(MKDIR) $$i" ; \
453 # recursive targets to handle external projects (e.g. APR, Neon)
454 external-all external-install
:
455 @target
=`echo $@ | sed s/external-//`; \
456 list
='$(SVN_EXTERNAL_PROJECT_SUBDIRS)'; \
457 for i in
$$list; do \
458 echo
"------ making $$target in $$i"; \
459 (cd
$$i && $(MAKE
) $$target) || exit
1; \
460 echo
"------ completed $$target in $$i"; \
463 ### apr-util relies on generated files in apr, so reverse the
464 ### list so that it is cleaned before apr.
465 external-clean external-distclean
:
466 @target
=`echo $@ | sed s/external-//`; \
467 list
='$(SVN_EXTERNAL_PROJECT_SUBDIRS)'; \
468 for i in
$$list; do \
469 revlist
="$$i $$revlist"; \
471 for i in
$$revlist; do \
472 echo
"------ making $$target in $$i"; \
473 (cd
$$i && $(MAKE
) $$target) || exit
1; \
474 echo
"------ completed $$target in $$i"; \
477 ### temporary hack. Neon does not have an "extraclean" and neither does db
478 ### If we don't have extraclean -- do the next best thing.
480 @list
='$(SVN_EXTERNAL_PROJECT_SUBDIRS)'; \
481 for i in
$$list; do \
482 revlist
="$$i $$revlist"; \
484 for i in
$$revlist; do \
485 if
test "$$i" = "neon" ||
test "$$i" = "db/dist"; then \
486 echo
"------ making distclean(no extraclean) in $$i"; \
487 (cd
$$i && $(MAKE
) distclean) || exit
1; \
488 echo
"------ completed distclean(no extraclean) in $$i"; \
490 echo
"------ making extraclean in $$i"; \
491 (cd
$$i && $(MAKE
) extraclean
) || exit
1; \
492 echo
"------ completed extraclean in $$i"; \
497 # DOCUMENTATION RULES
499 # Every single document in every format.
500 doc
: doc-misc-docs doc-api doc-javahl
502 # Generate API documentation for the C libraries.
503 ### This could also generate POD for swig-perl, etc.
505 ( cd
$(top_srcdir
) && \
506 sed
"s,\(OUTPUT_DIRECTORY *= *\),\1$(abs_builddir)/," \
507 doc
/doxygen.conf | doxygen
- )
509 # Generate API documentation for the JavaHL package.
511 $(JAVADOC
) -d
$(top_srcdir
)/doc
/javadoc \
512 -sourcepath
$(top_srcdir
)/subversion
/bindings
/javahl
/src \
513 -link http
://java.sun.com
/javase
/6/docs
/api
/ \
514 org.tigris.subversion.javahl
516 # Build all types of a certain doc.
517 doc-misc-docs
: doc-misc-docs-html doc-misc-docs-pdf doc-misc-docs-ps
519 # Build all docs of a certain type.
520 doc-all-html
: doc-misc-docs-html
521 doc-all-pdf
: doc-misc-docs-pdf
522 doc-all-ps
: doc-misc-docs-ps
524 # Assumes you have {xsltproc, fop, stylesheets} installed.
526 cd
$(top_srcdir
)/doc
/misc-docs
&& $(MAKE
) all-html
528 cd
$(top_srcdir
)/doc
/misc-docs
&& $(MAKE
) pdf
530 cd
$(top_srcdir
)/doc
/misc-docs
&& $(MAKE
) ps
533 cd
$(top_srcdir
)/doc
/misc-docs
&& $(MAKE
) clean
534 rm -rf
$(top_srcdir
)/doc
/doxygen
535 rm -rf
$(top_srcdir
)/doc
/javadoc
537 # Converting from the .rnc XML shcemas to various other schema formats.
538 SCHEMAS_DTD
= $(SCHEMA_DIR
)/blame.dtd
$(SCHEMA_DIR
)/info.dtd \
539 $(SCHEMA_DIR
)/list.dtd
$(SCHEMA_DIR
)/log.dtd \
540 $(SCHEMA_DIR
)/status.dtd
$(SCHEMA_DIR
)/props.dtd
542 SCHEMAS_RNG
= $(SCHEMA_DIR
)/blame.rng
$(SCHEMA_DIR
)/info.rng \
543 $(SCHEMA_DIR
)/list.rng
$(SCHEMA_DIR
)/log.rng \
544 $(SCHEMA_DIR
)/status.rng
$(SCHEMA_DIR
)/props.rng
546 SCHEMAS_XSD
= $(SCHEMA_DIR
)/blame.xsd
$(SCHEMA_DIR
)/info.xsd \
547 $(SCHEMA_DIR
)/list.xsd
$(SCHEMA_DIR
)/log.xsd \
548 $(SCHEMA_DIR
)/status.xsd
$(SCHEMA_DIR
)/props.xsd
550 schema
: schema-rng schema-dtd schema-xsd
552 schema-rng
: $(SCHEMAS_RNG
)
553 schema-dtd
: $(SCHEMAS_DTD
)
554 schema-xsd
: $(SCHEMAS_XSD
)
556 $(SCHEMAS_RNG
) $(SCHEMAS_DTD
) $(SCHEMAS_XSD
): $(SCHEMA_DIR
)/common.rnc
559 (cd
$(SCHEMA_DIR
) && rm -f
*.rng
*.dtd
*.xsd
)
562 # Implicit rules for creating outputs from input files
565 .SUFFIXES
: .c .lo .o .la-a .la \
566 .po .spo .mo .rnc .rng .dtd .xsd
569 $(COMPILE
) -o
$@
-c
$<
572 $(LT_COMPILE
) -o
$@
-c
$<
575 sed
"/library_names/s/'.*'/''/" $< > $@
578 # Strip the Content-Type: header from the po file if we don't have a
579 # gettext that supports bind_textdomain_codeset, so it doesn't try
580 # to convert our UTF-8 .po files to the locale encoding.
581 @NO_GETTEXT_CODESET@.po.spo
:
582 @NO_GETTEXT_CODESET@ sed \
583 @NO_GETTEXT_CODESET@
'/^"Content-Type: text\/plain; charset=UTF-8\\n"$$/d' \
584 @NO_GETTEXT_CODESET@
$< > $@
586 @NO_GETTEXT_CODESET@.spo.mo
:
587 @NO_GETTEXT_CODESET@
$(MSGFMT
) $(MSGFMTFLAGS
) -o
$@
$<
589 # For systems with bind_textdomain_codeset, just leave the Content-Type:
591 @GETTEXT_CODESET@.po.mo
:
592 @GETTEXT_CODESET@
$(MSGFMT
) $(MSGFMTFLAGS
) -o
$@
$<
603 install-docs
: install-man
605 manroot
= $(mandir)/man
607 @list
='$(MANPAGES)'; \
608 for i in
$$list; do \
609 if
test -f
$(srcdir)/$$i; then file
=$(srcdir)/$$i; \
611 ext
=`echo $$i | sed -e 's/^.*\\.//'`; \
612 $(MKDIR
) $(DESTDIR
)$(manroot
)$$ext; \
613 inst
=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
614 inst
=`echo $$inst | sed -e 's/^.*\///'`; \
615 inst
=`echo $$inst`.
$$ext; \
616 echo
"$(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst"; \
617 $(INSTALL_DATA
) $$file $(DESTDIR
)$(manroot
)$$ext/$$inst; \
620 install-swig-py
: install-swig-py-lib
621 install-swig-rb
: install-swig-rb-lib
623 clean-swig
: clean-swig-headers clean-swig-py clean-swig-rb clean-swig-pl
624 extraclean-swig
: extraclean-swig-headers extraclean-swig-py \
625 extraclean-swig-rb extraclean-swig-pl
627 EXTRACLEAN_SWIG_HEADERS
=rm -f
$(SWIG_SRC_DIR
)/proxy
/*.swg
630 if
test -z
"$(RELEASE_MODE)"; then \
631 $(EXTRACLEAN_SWIG_HEADERS
); \
634 extraclean-swig-headers
: clean-swig-headers
635 $(EXTRACLEAN_SWIG_HEADERS
)
637 $(SWIG_PL_DIR
)/native
/Makefile.PL
: $(SWIG_SRC_DIR
)/perl
/native
/Makefile.PL.in
638 .
/config.status subversion
/bindings
/swig
/perl
/native
/Makefile.PL
640 $(SWIG_PL_DIR
)/native
/Makefile
: $(SWIG_PL_DIR
)/native
/Makefile.PL
641 cd
$(SWIG_PL_DIR
)/native
; $(PERL
) Makefile.PL
643 swig-pl_DEPS
= autogen-swig-pl libsvn_swig_perl \
644 $(SWIG_PL_DIR
)/native
/Makefile
645 swig-pl
: $(swig-pl_DEPS
)
646 if
test "$(SWIG_PL_DIR)" != "$(SWIG_PL_SRC_DIR)"; then \
647 ln
-sf
$(SWIG_PL_SRC_DIR
)/native
/*.c
$(SWIG_PL_DIR
)/native
; \
649 cd
$(SWIG_PL_DIR
)/native
; $(MAKE
)
651 check-swig-pl
: swig-pl swig-pl-lib
652 cd
$(SWIG_PL_DIR
)/native
; $(MAKE
) test
654 install-swig-pl
: swig-pl install-swig-pl-lib
655 cd
$(SWIG_PL_DIR
)/native
; $(MAKE
) install
657 EXTRACLEAN_SWIG_PL
=rm -f
$(SWIG_PL_SRC_DIR
)/native
/svn_
*.c \
658 $(SWIG_PL_SRC_DIR
)/native
/core.c
660 # Running Makefile.PL at this point *fails* (cannot find ..../.libs) so if the
661 # Makefile does not exist, DO NOT try to make it. But, if it doesn't exist,
662 # then the directory is probably clean anyway.
664 if
test -z
"$(RELEASE_MODE)"; then \
665 $(EXTRACLEAN_SWIG_PL
); \
667 for d in
$(SWIG_PL_DIR
)/libsvn_swig_perl
; \
670 rm -rf
*.lo
*.la
*.o .libs
; \
672 if
[ -f
"$(SWIG_PL_DIR)/native/Makefile" ]; then \
673 cd
$(SWIG_PL_DIR
)/native
; $(MAKE
) clean; \
676 extraclean-swig-pl
: clean-swig-pl
677 $(EXTRACLEAN_SWIG_PL
)
679 $(SWIG_PY_DIR
)/libsvn
:
680 mkdir
$(SWIG_PY_DIR
)/libsvn
682 copy-swig-py
: autogen-swig-py
$(SWIG_PY_DIR
)/libsvn
683 @cp
-pf
$(SWIG_PY_SRC_DIR
)/*.py
$(SWIG_PY_DIR
)/libsvn
685 swig-py
: autogen-swig-py copy-swig-py
687 check-swig-py
: swig-py
689 $(PYTHON
) $(SWIG_PY_SRC_DIR
)/tests
/run_all.py
691 EXTRACLEAN_SWIG_PY
=rm -rf
$(SWIG_PY_SRC_DIR
)/svn_
*.c
$(SWIG_PY_SRC_DIR
)/core.c \
692 $(SWIG_PY_SRC_DIR
)/[a-z
]*.py
694 rm -rf
$(SWIG_PY_DIR
)/libsvn
695 if
test -z
"$(RELEASE_MODE)"; then \
696 $(EXTRACLEAN_SWIG_PY
); \
698 for d in
$(SWIG_PY_DIR
) $(SWIG_PY_DIR
)/libsvn_swig_py
; \
700 cd
$$d && rm -rf
*.lo
*.la
*.o
*.pyc .libs
; \
702 find
$(SWIG_PY_SRC_DIR
) $(SWIG_PY_DIR
) -name
"*.pyc" -exec
rm {} ';'
704 extraclean-swig-py
: clean-swig-py
705 $(EXTRACLEAN_SWIG_PY
)
707 swig-rb
: autogen-swig-rb
709 check-swig-rb
: swig-rb svnserve
711 $(RUBY
) -I
$(SWIG_RB_SRC_DIR
) \
712 $(SWIG_RB_SRC_DIR
)/test/run-test.rb \
713 --verbose
=$(SWIG_RB_TEST_VERBOSE
)
715 EXTRACLEAN_SWIG_RB
=rm -f
$(SWIG_RB_SRC_DIR
)/svn_
*.c
$(SWIG_RB_SRC_DIR
)/core.c
718 rm -rf
$(SWIG_RB_DIR
)/test/repos
$(SWIG_RB_DIR
)/test/wc
719 if
test -z
"$(RELEASE_MODE)"; then \
720 $(EXTRACLEAN_SWIG_RB
); \
722 for d in
$(SWIG_RB_DIR
) $(SWIG_RB_DIR
)/libsvn_swig_ruby
; \
725 rm -rf
*.lo
*.la
*.o .libs
; \
728 extraclean-swig-rb
: clean-swig-rb
729 $(EXTRACLEAN_SWIG_RB
)
732 $(RDOC
) --all --ri
--op
"$(SWIG_RB_RI_DATADIR)" "$(SWIG_RB_SRC_DIR)/svn"