[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: debugging from test logs (was: [PATCH] Win32 File Permission Fixes)

From: Branko Čibej <brane_at_xbc.nu>
Date: 2002-02-12 18:44:07 CET

Jay Freeman (saurik) wrote:

>Branko:
>
>Hmmm... I can't figure out how to run those tests. Mind sharing the
>secret? :) (The logs aren't enough for me.) I keep getting things
>like:
>
>
>Checking out t1.
>
>apr_error: #22503, src_err 0 : <The system cannot find the path
>specified. >
> src:
>d:\code\ninetjer\external\subversion\subversion\libsvn_client\checkout.c
>:
>135
> unable to open
>/cygdrive/d/Code/ninetjer/external/subversion/subversion/tests/
>clients/cmdline/xmltests/../../../xml/co1-inline.xml
>
Huh, yeah. I attached my locally modified svn-test.sh and svn-test2.sh.

There's also setest.py, which you run with either a "debug" or "release"
argument. It copies the appropriate binaries from the build subdirs to
one dir higher, which is where the test scripts expect them.

And, of course, check.mk and build-outputs.mk.

So, what you do is: put svn-test(2).sh in
subversion/tests/clients/cmdline/xmltests;
run "python setest.py debug" or "release"
(in cygwin) run "make -f check.mk"

You can tailor the set of tests to run by modifying the ALL_TESTS line
in check.mk.

>Speaking of which, looking at this log gave me the idea for this patch
>(which you can see the output of above, but heavily damaged due to
>wrapping issues). What do you think about it?
>
You know, that's not a bad idea at all. In fact, there's no reason to do
it depending on _WIN32, this would be useful everywhere.

Pity about the svn_error_createf, but I think we can fix that differently.
/me has a PhD in tracing and logging macros

What do people think? Do we want this feature?

> It makes it so that,
>when SVN_DEBUG and _WIN32 are declared (this should work on gcc, but I
>haven't tested it) the source code file and line are displayed to the
>user getting the error. It looks like this (as the directory I have my
>code in is quite long, wrapping makes this look kind of stupid, so I've
>truncated it to <.=.>):
>
>D:\<.=.>\clients\cmdline\Debug>svn co h
>
>svn_error: #21076 : <Bad URL passed to RA layer>
> src: d:\<.=.>\libsvn_ra\ra_loader.c:199
> Unrecognized URL scheme: h
>
>D:\<.=.>\clients\cmdline\Debug>
>
>I find it makes it a _ton_ easier to figure out where things are
>happening from when you can't put a breakpoint in make_error_internal()
>or svn_error_create().
>
>Sincerely,
>Jay Freeman (saurik)
>saurik@saurik.com
>
>
>Index: .\subversion\include\svn_types.h
>===================================================================
>--- .\subversion\include\svn_types.h
>+++ .\subversion\include\svn_types.h Tue Feb 12 01:10:44 2002
>@@ -47,6 +47,8 @@
> struct svn_error *child; /* ptr to the error we "wrap" */
> apr_pool_t *pool; /* The pool holding this error and any
> child errors it wraps */
>+ const char *file; /* the source file that threw the error */
>+ int line; /* the source line that threw the error */
> } svn_error_t;
>
>
>Index: .\subversion\include\svn_error.h
>===================================================================
>--- .\subversion\include\svn_error.h
>+++ .\subversion\include\svn_error.h Tue Feb 12 01:33:41 2002
>@@ -75,6 +75,17 @@
> const char *message);
>
> /* Create an error structure with the given APR_ERR, SRC_ERR, CHILD,
>+ POOL and MESSAGE, but support extra debugging information from the
>+ compiler so we actually know what we are doing (heaven forbid). */
>+svn_error_t *svn_error_create_debug (apr_status_t apr_err,
>+ int src_err,
>+ svn_error_t *child,
>+ apr_pool_t *pool,
>+ const char *src_file,
>+ int src_line,
>+ const char *message);
>+
>+/* Create an error structure with the given APR_ERR, SRC_ERR, CHILD,
> and POOL, with a printf-style error message produced by passing
> FMT, ... through apr_psprintf. */
> svn_error_t *svn_error_createf (apr_status_t apr_err,
>@@ -85,6 +96,23 @@
> ...)
> __attribute__ ((format (printf, 5, 6)));
>
>+/* Create an error structure with the given APR_ERR, SRC_ERR, CHILD,
>+ and POOL, with a printf-style error message produced by passing
>+ FMT, ... through apr_psprintf with some extra debug info. */
>+svn_error_t *svn_error_createf_debug (apr_status_t apr_err,
>+ int src_err,
>+ svn_error_t *child,
>+ apr_pool_t *pool,
>+ const char *src_file,
>+ int src_line,
>+ const char *fmt,
>+ ...)
>+ __attribute__ ((format (printf, 5, 6)));
>+
>+/* When all else fails, simply pass the current source and line for
>+ check-pointing purposes. Subsequent errors will assume these. */
>+svn_error_t *svn_error_set_debug(const char *src_file, int src_line);
>+
>
> /* A quick n' easy way to create a wrappered exception with your own
> message, before throwing it up the stack. (It uses all of the
>@@ -134,6 +162,26 @@
> return svn_err__temp; \
> } while (0)
>
>+#if defined(SVN_DEBUG) && defined(_WIN32)
>+
>+#define svn_error_create(apr_err, \
>+ src_err, \
>+ child, \
>+ pool, \
>+ message) \
>+ svn_error_create_debug (apr_err, \
>+ src_err, \
>+ child, \
>+ pool, \
>+ __FILE__, \
>+ __LINE__, \
>+ message)
>+
>+#define svn_error_createf \
>+ svn_error_set_debug (__FILE__, __LINE__), \
>+ svn_error_createf
>+
>+#endif /* SVN_DEBUG && _WIN32 */
>
> #ifdef __cplusplus
> }
>Index: .\subversion\libsvn_subr\svn_error.c
>===================================================================
>--- .\subversion\libsvn_subr\svn_error.c
>+++ .\subversion\libsvn_subr\svn_error.c Tue Feb 12 01:38:17 2002
>@@ -30,6 +30,10 @@
> #include "svn_error.h"
> #include "svn_io.h"
>
>+/* Undo the effects of various debugging #define's */
>+#undef svn_error_create
>+#undef svn_error_createf
>+
> /* Key for the error pool itself. */
> #define SVN_ERROR_POOL "svn-error-pool"
>
>@@ -37,6 +41,9 @@
> the pool whose prog_data we got it from. */
> #define SVN_ERROR_POOL_ROOTED_HERE "svn-error-pool-rooted-here"
>
>+static const char *g_src_file = NULL;
>+static int g_src_line = 0;
>+
>
> ♀
> /*** helpers for creating errors ***/
>@@ -74,7 +81,9 @@
> new_error->apr_err = apr_err;
> new_error->src_err = src_err;
> new_error->child = child;
>- new_error->pool = newpool;
>+ new_error->pool = newpool;
>+ new_error->file = g_src_file;
>+ new_error->line = g_src_line;
>
> return new_error;
> }
>@@ -226,6 +235,47 @@
> return err;
> }
>
>+svn_error_t *
>+svn_error_create_debug (apr_status_t apr_err,
>+ int src_err,
>+ svn_error_t *child,
>+ apr_pool_t *pool,
>+ const char *src_file,
>+ int src_line,
>+ const char *message)
>+{
>+ svn_error_t *err;
>+
>+ err = svn_error_create(apr_err,
>+ src_err,
>+ child,
>+ pool,
>+ message);
>+
>+ err->file = src_file;
>+ err->line = src_line;
>+
>+ return err;
>+}
>+
>+
>+svn_error_t *
>+svn_error_internal_createf (apr_status_t apr_err,
>+ int src_err,
>+ svn_error_t *child,
>+ apr_pool_t *pool,
>+ const char *fmt,
>+ va_list ap)
>+{
>+ svn_error_t *err;
>+
>+ err = make_error_internal (apr_err, src_err, child, pool);
>+
>+ err->message = apr_pvsprintf (err->pool, fmt, ap);
>+
>+ return err;
>+}
>+
>
> svn_error_t *
> svn_error_createf (apr_status_t apr_err,
>@@ -239,17 +289,58 @@
>
> va_list ap;
>
>- err = make_error_internal (apr_err, src_err, child, pool);
>+ va_start (ap, fmt);
>+ err = svn_error_internal_createf (apr_err,
>+ src_err,
>+ child,
>+ pool,
>+ fmt,
>+ ap);
>+ va_end (ap);
>+
>+ return err;
>+}
>+
>+
>+svn_error_t *
>+svn_error_createf_debug (apr_status_t apr_err,
>+ int src_err,
>+ svn_error_t *child,
>+ apr_pool_t *pool,
>+ const char *src_file,
>+ int src_line,
>+ const char *fmt,
>+ ...)
>+{
>+ svn_error_t *err;
>+
>+ va_list ap;
>
> va_start (ap, fmt);
>- err->message = apr_pvsprintf (err->pool, fmt, ap);
>+ err = svn_error_internal_createf (apr_err,
>+ src_err,
>+ child,
>+ pool,
>+ fmt,
>+ ap);
> va_end (ap);
>
>+ err->file = src_file;
>+ err->line = src_line;
>+
> return err;
> }
>
>
> svn_error_t *
>+svn_error_set_debug(const char *src_file, int src_line) {
>+ g_src_file = src_file;
>+ g_src_line = src_line;
>+ return NULL;
>+}
>+
>+
>+svn_error_t *
> svn_error_quick_wrap (svn_error_t *child, const char *new_msg)
> {
> return svn_error_create (child->apr_err,
>@@ -297,6 +388,9 @@
> err->apr_err,
> err->src_err,
> apr_strerror (err->apr_err, buf, sizeof(buf)));
>+
>+ if (err->file)
>+ fprintf (stream, " src: %s:%i\n", err->file, err->line);
>
> if (err->message)
> fprintf (stream, " %s", err->message);
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
>For additional commands, e-mail: dev-help@subversion.tigris.org
>

-- 
Brane Čibej   <brane_at_xbc.nu>   http://www.xbc.nu/brane/

#!/bin/sh

SVN_PROG=../../../../clients/cmdline/svn
XML_DIR=../../../xml
if [ "x${1}" = "x" ]; then
    SVN_PROG=`pwd`/${SVN_PROG}
    SVN_PROG=`echo $SVN_PROG | sed -e 's@^/cygdrive/c@c:/@'`
else
    # argument passed by make when builddir != srcdir
    SVN_PROG=${1}/${SVN_PROG}
fi
if [ "x${2}" = "x" ]; then
    XML_DIR=`pwd`/${XML_DIR}
    XMD_DIR=`echo $XML_DIR | sed -e 's@^/cygdrive/c@c:/@'`
else
    # argument passed by make when builddir != srcdir
    XML_DIR=${2}/${XML_DIR}
fi
TEST_DIR_1=t1
TEST_DIR_2=t2
COMMIT_RESULTFILE_NAME=commit
ANCESTOR_PATH=anni # See if Greg Stein notices. :-)
                         # notice what? everything seems fine here. ;-)

check_status()
{
    res=$?
    if [ $res -ne 0 ]; then
      echo Oops, problem: ${@-"(no further details)"}
      exit $res
    fi
}

# Remove the testing tree
rm -rf ${TEST_DIR_1} ${TEST_DIR_2} ${COMMIT_RESULTFILE_NAME}*

echo

##### Run tests: #####

### Checking out.
echo "Checking out ${TEST_DIR_1}."
${SVN_PROG} checkout \
      --destination ${TEST_DIR_1} \
      --xml-file $XML_DIR/co1-inline.xml \
      --revision 1 \
      ${ANCESTOR_PATH}

check_status 1

### Copy the pristine checked-out tree, so we can test updates later.
cp -R -p ${TEST_DIR_1} ${TEST_DIR_2}

### Modify some existing files.
echo "Modifying ${TEST_DIR_1}/A/D/G/pi."
echo "" >> ${TEST_DIR_1}/A/D/G/pi
echo "for commit rev2, second line in A/D/G/pi" >> ${TEST_DIR_1}/A/D/G/pi

echo "Modifying ${TEST_DIR_1}/A/mu."
echo "" >> ${TEST_DIR_1}/A/mu
echo "for commit rev2, second line in A/mu" >> ${TEST_DIR_1}/A/mu

### Add.
echo "Adding ${TEST_DIR_1}/newfile1."
touch ${TEST_DIR_1}/newfile1
echo "This is added file newfile1." >> ${TEST_DIR_1}/newfile1
${SVN_PROG} add ${TEST_DIR_1}/newfile1

check_status 2

echo "Adding ${TEST_DIR_1}/A/B/E/newfile2."
touch ${TEST_DIR_1}/A/B/E/newfile2
echo "This is added file newfile2." >> ${TEST_DIR_1}/A/B/E/newfile2
${SVN_PROG} add ${TEST_DIR_1}/A/B/E/newfile2

check_status 3

### Delete.
echo "Deleting versioned file A/D/H/omega, with --force."
${SVN_PROG} delete --force ${TEST_DIR_1}/A/D/H/omega

check_status 4

echo "Deleting added files A/B/E/newfile2, without --force."
${SVN_PROG} delete ${TEST_DIR_1}/A/B/E/newfile2
 
check_status 5

### Commit.
echo "Committing changes in ${TEST_DIR_1}."
(cd ${TEST_DIR_1}; \
 ${SVN_PROG} commit --xml-file ../${COMMIT_RESULTFILE_NAME}-2.xml \
             --revision 2 -m "log msg"; \
)

check_status 6

### Update.
echo "Updating ${TEST_DIR_2} from changes in ${TEST_DIR_1}."
(cd ${TEST_DIR_2}; \
 ${SVN_PROG} update --xml-file ../${COMMIT_RESULTFILE_NAME}-2.xml \
             --revision 2; \
)

check_status 7

### Modify some more files.
echo "Modifying ${TEST_DIR_2}/A/D/G/pi."
echo "for commit rev2, third line in A/D/G/pi" >> ${TEST_DIR_2}/A/D/G/pi
echo "for commit rev2, fourth line in A/D/G/pi" >> ${TEST_DIR_2}/A/D/G/pi
echo "for commit rev2, fifth line in A/D/G/pi" >> ${TEST_DIR_2}/A/D/G/pi
echo "for commit rev2, sixth line in A/D/G/pi" >> ${TEST_DIR_2}/A/D/G/pi
echo "for commit rev2, seventh line in A/D/G/pi" >> ${TEST_DIR_2}/A/D/G/pi
echo "for commit rev2, eighth line in A/D/G/pi" >> ${TEST_DIR_2}/A/D/G/pi
echo "for commit rev2, ninth line in A/D/G/pi" >> ${TEST_DIR_2}/A/D/G/pi
echo "for commit rev2, tenth line in A/D/G/pi" >> ${TEST_DIR_2}/A/D/G/pi

echo "Modifying ${TEST_DIR_2}/A/mu."
echo "for commit rev2, third line in A/mu" >> ${TEST_DIR_2}/A/mu
echo "for commit rev2, fourth line in A/mu" >> ${TEST_DIR_2}/A/mu
echo "for commit rev2, fifth line in A/mu" >> ${TEST_DIR_2}/A/mu
echo "for commit rev2, sixth line in A/mu" >> ${TEST_DIR_2}/A/mu
echo "for commit rev2, seventh line in A/mu" >> ${TEST_DIR_2}/A/mu
echo "for commit rev2, eighth line in A/mu" >> ${TEST_DIR_2}/A/mu
echo "for commit rev2, ninth line in A/mu" >> ${TEST_DIR_2}/A/mu
echo "for commit rev2, tenth line in A/mu" >> ${TEST_DIR_2}/A/mu

### Commit.
echo "Committing changes, this time from ${TEST_DIR_2}."
(cd ${TEST_DIR_2}; \
 ${SVN_PROG} commit --xml-file ../${COMMIT_RESULTFILE_NAME}-3.xml \
             --revision 3 -m "log msg"; \
)

check_status 8

### Update.
echo "Updating ${TEST_DIR_1} from changes in ${TEST_DIR_2}."
(cd ${TEST_DIR_1}; \
 ${SVN_PROG} update --xml-file ../${COMMIT_RESULTFILE_NAME}-3.xml \
             --revision 3; \
)

check_status 9

### Diff the two trees. The only differences should be in timestamps
### and some of the revision numbers (see README), so ignore those.
### Also, the names of the .diff and .rej files will be different.
# echo "Comparing ${TEST_DIR_1} and ${TEST_DIR_2}."
# if [ "0" = "`diff .cvsignore .cvsignore -I % -x % 2>&1 >/dev/null; echo $?`" ]
# then
# ### We've got a GNU-ish diff that understands -I and -x
# diff -r ${TEST_DIR_1} ${TEST_DIR_2} \
# -I timestamp -I revision -x '*.diff' -x '*.rej'
# else
# ### We-ve got a stupid diff and must dig for results
# diff -r ${TEST_DIR_1} ${TEST_DIR_2} |\
# egrep -v '(timestamp|revision|\.diff$|\.rej$)'
# fi

### Make some non-overlapping changes in the same files, merge. ###

### Sleep for long enough to make the timestamps differ.
echo "Sleeping, to guarantee a timestamp bump."
sleep 1

### Make the changes.
sed -e 's/sixth/SIXTH/' < ${TEST_DIR_1}/A/mu > mu.$$.tmp
mv mu.$$.tmp ${TEST_DIR_1}/A/mu
echo "for commit rev4, a non-conflicting change" >> ${TEST_DIR_2}/A/mu

### Commit.
echo "Committing changes for merge, from ${TEST_DIR_1}."
(cd ${TEST_DIR_1}; \
 ${SVN_PROG} commit --xml-file ../${COMMIT_RESULTFILE_NAME}-4.xml \
             --revision 4 -m "log msg"; \
)

check_status 10

### Update.
echo "Updating ${TEST_DIR_2}, merging changes from ${TEST_DIR_1}."
(cd ${TEST_DIR_2}; \
 ${SVN_PROG} update --xml-file ../${COMMIT_RESULTFILE_NAME}-4.xml \
             --revision 4; \
)

check_status 11

exit 0

#!/bin/sh

# Testing merging and conflict resolution.

SVN_PROG=../../../../clients/cmdline/svn
XML_DIR=../../../xml
if [ "x${1}" = "x" ]; then
    SVN_PROG=`pwd`/${SVN_PROG}
    SVN_PROG=`echo $SVN_PROG | sed -e 's@^/cygdrive/c@c:/@'`
else
    # argument passed by make when builddir != srcdir
    SVN_PROG=${1}/${SVN_PROG}
fi
if [ "x${2}" = "x" ]; then
    XML_DIR=`pwd`/${XML_DIR}
    XML_DIR=`echo $XML_DIR | sed -e 's@^/cygdrive/c@c:/@'`
else
    # argument passed by make when builddir != srcdir
    XML_DIR=${2}/${XML_DIR}
fi
TEST_DIR_1=t1
TEST_DIR_2=t2
COMMIT_RESULTFILE_NAME=commit2
ANCESTOR_PATH=anni # See if Greg Stein notices. :-)

check_status()
{
    res=$?
    if [ $res -ne 0 ]; then
      echo Oops, problem: ${@-"(no further details)"}
      exit $res
    fi
}

# Remove the testing tree
rm -rf ${TEST_DIR_1} ${TEST_DIR_2} ${COMMIT_RESULTFILE_NAME}*

echo

##### Run tests: #####

### Checking out.
echo "Checking out ${TEST_DIR_1}."
${SVN_PROG} checkout \
      --destination ${TEST_DIR_1} \
      --xml-file $XML_DIR/co1-inline.xml \
      --revision 1 \
      ${ANCESTOR_PATH}

check_status 1

### Give t1/iota some file-properties via update.
echo "Updating t1/iota with properties. (up2.xml)"
(cd ${TEST_DIR_1}; \
 ${SVN_PROG} update --xml-file ${XML_DIR}/up2.xml --revision 17)

check_status 2

### Give t1/A some dir-properties via update.
echo "Updating t1/A/ with properties. (up5.xml)"
(cd ${TEST_DIR_1}; \
 ${SVN_PROG} update --xml-file ${XML_DIR}/up5.xml --revision 18)

check_status 3

### Examine the all the properties using "proplist":
echo "Properties on t1/A:"
${SVN_PROG} proplist ${TEST_DIR_1}/A
check_status 4

echo "Properties on t1/iota:"
${SVN_PROG} proplist ${TEST_DIR_1}/iota
check_status 5

# TODO Fixme: Did you realize that we're only checking the return of
# the last propset here? Spose it doesn't matter as we're redoing the
# test suite -Fitz
### Locally change properties
echo "Making local changes to these properties."
${SVN_PROG} propset ninja moo ${TEST_DIR_1}/A
${SVN_PROG} propset wings moo2 ${TEST_DIR_1}/A
${SVN_PROG} propset window moo3 ${TEST_DIR_1}/A
${SVN_PROG} propset door moo4 ${TEST_DIR_1}/A
${SVN_PROG} propset bat bandersnatch ${TEST_DIR_1}/iota
${SVN_PROG} propset lexicon cryptonalysis ${TEST_DIR_1}/iota

echo "This is a string in a file. Wow." > .testFile
${SVN_PROG} propset yowza -F .testFile ${TEST_DIR_1}/A
check_status 6

rm .testFile

### Make local changes to pi's and rho's text, too.
echo "Making local text changes on pi and rho."
echo "new text for pi" >> ${TEST_DIR_1}/A/D/G/pi
echo "z" > ${TEST_DIR_1}/A/D/G/rho
check_status 7

### Examine status; we should see local mods present in both text and
### property columns.
echo "Status of directory:"
${SVN_PROG} status ${TEST_DIR_1}
check_status 8

### Update again. This update should create conflicting properties.
echo "Updating with (conflicting) properties. (up-props.xml)"
(cd ${TEST_DIR_1}; \
 ${SVN_PROG} update --xml-file ${XML_DIR}/up-props.xml --revision 20)

check_status 9

### Update again. This update should create conflicting text.
echo "Updating with (conflicting) text. (pipatch.xml)"
(cd ${TEST_DIR_1}; \
 ${SVN_PROG} update --xml-file ${XML_DIR}/pipatch.xml --revision 21)

check_status 10

### Examine status; we should see CONFLICTS present.
echo "Status of directory:"
${SVN_PROG} status ${TEST_DIR_1}
check_status 11

### Try to commit; the conflict should abort due to conflicts.
echo "Attempting to commit while conflicts are present:"
${SVN_PROG} commit --xml-file ${COMMIT_RESULTFILE_NAME}-1.xml \
                   --revision 22 ${TEST_DIR_1} -m "log msg" \
2>&1
# (no check_status here, because we *expect* the commit to fail!)

### Clean up property-reject files.
echo "Removing all .prej files..."
rm -f ${TEST_DIR_1}/*.prej
rm -f ${TEST_DIR_1}/A/*.prej
check_status 12

### Try to commit again; the conflict should abort due to text conflict.
echo "Attempting to commit while conflicts are present:"
${SVN_PROG} commit --xml-file ${COMMIT_RESULTFILE_NAME}-1.xml \
                   --revision 23 ${TEST_DIR_1} -m "log msg" \
2>&1
# (no check_status here, because we *expect* the commit to fail!)

### Clean up the standard textual reject files.
echo "Remove all .rej files..."
rm -f ${TEST_DIR_1}/A/D/G/*.rej
check_status 13

### Examine status; there should only be local mods now, not conflicts.
echo "Status of directory:"
${SVN_PROG} status ${TEST_DIR_1}
check_status 14

### Try to commit; the conflict should now succeed.
echo "Attempting to commit again, with conflicts removed."
${SVN_PROG} commit --xml-file ${COMMIT_RESULTFILE_NAME}-1.xml \
                   --revision 24 ${TEST_DIR_1} \
                   --message "24 slices of American cheese"
check_status 15

### Examine status; everything should be up-to-date.
echo "Status of directory:"
${SVN_PROG} status ${TEST_DIR_1}
check_status 16

exit 0

import os, sys, string, shutil

def main(type, remove=0):
  type = string.lower(type)
  if type == "d" or type == "debug":
    filter = "Debug"
  elif type == "r" or type == "release":
    filter = "Release"
  else:
    sys.stderr.write("Wrong test mode '" + type + "'\n")
    sys.exit(1)

  if remove:
    os.path.walk("subversion", delete_execs, filter)
  else:
    os.path.walk("subversion", copy_execs, filter)

def delete_execs(filter, dirname, names):
  if os.path.basename(dirname) != filter: return
  for name in names:
    if os.path.splitext(name)[1] != ".exe": continue
    src = os.path.join(dirname, name)
    tgt = os.path.join(os.path.dirname(dirname), name)
    try:
      if os.path.isfile(tgt):
        print "kill: " + tgt
        os.unlink(tgt)
    except:
      sys.excepthook(sys.exc_info())
      pass

def copy_execs(filter, dirname, names):
  if os.path.basename(dirname) != filter: return
  for name in names:
    if os.path.splitext(name)[1] != ".exe": continue
    src = os.path.join(dirname, name)
    tgt = os.path.join(os.path.dirname(dirname), name)
    try:
      print "copy: " + src
      print " to: " + tgt
      shutil.copy(src, tgt)
    except:
      sys.excepthook(sys.exc_info())
      pass

if __name__ == "__main__":
  if len(sys.argv) == 1:
    main('d')
  elif len(sys.argv) == 2:
    main(sys.argv[1])
  elif len(sys.argv) == 3:
    main(sys.argv[1], 1)
  else:
    print "Wrong number of parameters"
    sys.exit(1)

# DO NOT EDIT -- AUTOMATICALLY GENERATED

svnadmin_DEPS = subversion/svnadmin/main.o subversion/svnadmin/shell.o subversion/libsvn_repos/libsvn_repos.la subversion/libsvn_fs/libsvn_fs.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
svnadmin_OBJECTS = main.o shell.o
subversion/svnadmin/svnadmin: $(svnadmin_DEPS)
        cd subversion/svnadmin && $(LINK) -o svnadmin $(svnadmin_OBJECTS) ../subversion/libsvn_repos/libsvn_repos.la ../subversion/libsvn_fs/libsvn_fs.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

svnlook_DEPS = subversion/svnlook/main.o subversion/libsvn_repos/libsvn_repos.la subversion/libsvn_fs/libsvn_fs.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
svnlook_OBJECTS = main.o
subversion/svnlook/svnlook: $(svnlook_DEPS)
        cd subversion/svnlook && $(LINK) -o svnlook $(svnlook_OBJECTS) ../subversion/libsvn_repos/libsvn_repos.la ../subversion/libsvn_fs/libsvn_fs.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

path_test_DEPS = subversion/tests/libsvn_subr/path-test.o subversion/tests/libsvn_test.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
path_test_OBJECTS = path-test.o
subversion/tests/libsvn_subr/path-test: $(path_test_DEPS)
        cd subversion/tests/libsvn_subr && $(LINK) -o path-test $(path_test_OBJECTS) ../subversion/tests/libsvn_test.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

libsvn_test_fs_DEPS = subversion/tests/fs-helpers.lo subversion/libsvn_fs/libsvn_fs.la subversion/libsvn_repos/libsvn_repos.la
libsvn_test_fs_OBJECTS = fs-helpers.lo
subversion/tests/libsvn_test_fs.la: $(libsvn_test_fs_DEPS)
        cd subversion/tests && $(LINK) -o libsvn_test_fs.la $(libsvn_test_fs_OBJECTS) ../subversion/libsvn_fs/libsvn_fs.la ../subversion/libsvn_repos/libsvn_repos.la $(LIBS)

libsvn_swig_py_DEPS = subversion/bindings/swig/swigutil.lo
libsvn_swig_py_OBJECTS = swigutil.lo
subversion/bindings/swig/libsvn_swig_py.la: $(libsvn_swig_py_DEPS)
        cd subversion/bindings/swig && $(LINK) -o libsvn_swig_py.la $(libsvn_swig_py_OBJECTS) $(SVN_APR_LIBS) $(LIBS)

# build this with -DSWIGPYTHON
subversion/bindings/swig/swigutil.lo: subversion/bindings/swig/swigutil.c
        $(COMPILE_SWIG_PY)

libexpat_DEPS = expat-lite/hashtable.lo expat-lite/xmlparse.lo expat-lite/xmlrole.lo expat-lite/xmltok.lo
libexpat_OBJECTS = hashtable.lo xmlparse.lo xmlrole.lo xmltok.lo
expat-lite/libexpat.la: $(libexpat_DEPS)
        cd expat-lite && $(LINK) -o libexpat.la $(libexpat_OBJECTS) $(LIBS)

checkout_test_DEPS = subversion/tests/libsvn_wc/checkout-test.o subversion/libsvn_wc/libsvn_wc.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
checkout_test_OBJECTS = checkout-test.o
subversion/tests/libsvn_wc/checkout-test: $(checkout_test_DEPS)
        cd subversion/tests/libsvn_wc && $(LINK) -o checkout-test $(checkout_test_OBJECTS) ../subversion/libsvn_wc/libsvn_wc.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

libsvn_wc_DEPS = subversion/libsvn_wc/adm_crawler.lo subversion/libsvn_wc/adm_files.lo subversion/libsvn_wc/adm_ops.lo subversion/libsvn_wc/copy.lo subversion/libsvn_wc/diff.lo subversion/libsvn_wc/entries.lo subversion/libsvn_wc/get_editor.lo subversion/libsvn_wc/lock.lo subversion/libsvn_wc/log.lo subversion/libsvn_wc/props.lo subversion/libsvn_wc/questions.lo subversion/libsvn_wc/status.lo subversion/libsvn_wc/status_editor.lo subversion/libsvn_wc/translate.lo subversion/libsvn_wc/util.lo subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la
libsvn_wc_OBJECTS = adm_crawler.lo adm_files.lo adm_ops.lo copy.lo diff.lo entries.lo get_editor.lo lock.lo log.lo props.lo questions.lo status.lo status_editor.lo translate.lo util.lo
subversion/libsvn_wc/libsvn_wc.la: $(libsvn_wc_DEPS)
        cd subversion/libsvn_wc && $(LINK) -o libsvn_wc.la $(libsvn_wc_OBJECTS) ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) $(LIBS)

svndiff_test_DEPS = subversion/tests/libsvn_delta/svndiff-test.o subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
svndiff_test_OBJECTS = svndiff-test.o
subversion/tests/libsvn_delta/svndiff-test: $(svndiff_test_DEPS)
        cd subversion/tests/libsvn_delta && $(LINK) -o svndiff-test $(svndiff_test_OBJECTS) ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

libsvn_fs_DEPS = subversion/libsvn_fs/dag.lo subversion/libsvn_fs/dbt.lo subversion/libsvn_fs/deltify.lo subversion/libsvn_fs/err.lo subversion/libsvn_fs/fs.lo subversion/libsvn_fs/id.lo subversion/libsvn_fs/key-gen.lo subversion/libsvn_fs/node-rev.lo subversion/libsvn_fs/nodes-table.lo subversion/libsvn_fs/proplist.lo subversion/libsvn_fs/reps-strings.lo subversion/libsvn_fs/reps-table.lo subversion/libsvn_fs/rev-table.lo subversion/libsvn_fs/skel.lo subversion/libsvn_fs/strings-table.lo subversion/libsvn_fs/trail.lo subversion/libsvn_fs/tree.lo subversion/libsvn_fs/txn-table.lo subversion/libsvn_fs/txn.lo subversion/libsvn_fs/validate.lo subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la
libsvn_fs_OBJECTS = dag.lo dbt.lo deltify.lo err.lo fs.lo id.lo key-gen.lo node-rev.lo nodes-table.lo proplist.lo reps-strings.lo reps-table.lo rev-table.lo skel.lo strings-table.lo trail.lo tree.lo txn-table.lo txn.lo validate.lo
subversion/libsvn_fs/libsvn_fs.la: $(libsvn_fs_DEPS)
        cd subversion/libsvn_fs && $(LINK) -o libsvn_fs.la $(libsvn_fs_OBJECTS) ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) $(SVN_DB_LIBS) $(LIBS)

md5args_DEPS = subversion/tests/libsvn_repos/md5args.o subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
md5args_OBJECTS = md5args.o
subversion/tests/libsvn_repos/md5args: $(md5args_DEPS)
        cd subversion/tests/libsvn_repos && $(LINK) -o md5args $(md5args_OBJECTS) ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

deltaparse_test_DEPS = subversion/tests/libsvn_delta/deltaparse-test.o subversion/tests/libsvn_test.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
deltaparse_test_OBJECTS = deltaparse-test.o
subversion/tests/libsvn_delta/deltaparse-test: $(deltaparse_test_DEPS)
        cd subversion/tests/libsvn_delta && $(LINK) -o deltaparse-test $(deltaparse_test_OBJECTS) ../subversion/tests/libsvn_test.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

random_test_DEPS = subversion/tests/libsvn_delta/random-test.o subversion/tests/libsvn_test.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
random_test_OBJECTS = random-test.o
subversion/tests/libsvn_delta/random-test: $(random_test_DEPS)
        cd subversion/tests/libsvn_delta && $(LINK) -o random-test $(random_test_OBJECTS) ../subversion/tests/libsvn_test.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

libsvn_ra_local_DEPS = subversion/libsvn_ra_local/checkout.lo subversion/libsvn_ra_local/commit_editor.lo subversion/libsvn_ra_local/ra_plugin.lo subversion/libsvn_ra_local/split_url.lo subversion/libsvn_ra_local/update_editor.lo subversion/libsvn_repos/libsvn_repos.la subversion/libsvn_fs/libsvn_fs.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la
libsvn_ra_local_OBJECTS = checkout.lo commit_editor.lo ra_plugin.lo split_url.lo update_editor.lo
subversion/libsvn_ra_local/libsvn_ra_local.la: $(libsvn_ra_local_DEPS)
        cd subversion/libsvn_ra_local && $(LINK) -o libsvn_ra_local.la $(libsvn_ra_local_OBJECTS) ../subversion/libsvn_repos/libsvn_repos.la ../subversion/libsvn_fs/libsvn_fs.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) $(LIBS)

libsvn_test_DEPS = subversion/tests/svn_test_editor.lo subversion/tests/svn_tests_main.lo
libsvn_test_OBJECTS = svn_test_editor.lo svn_tests_main.lo
subversion/tests/libsvn_test.la: $(libsvn_test_DEPS)
        cd subversion/tests && $(LINK) -o libsvn_test.la $(libsvn_test_OBJECTS) $(LIBS)

libsvn_ra_DEPS = subversion/libsvn_ra/ra_loader.lo subversion/libsvn_subr/libsvn_subr.la $(SVN_RA_LIB_DEPS)
libsvn_ra_OBJECTS = ra_loader.lo
subversion/libsvn_ra/libsvn_ra.la: $(libsvn_ra_DEPS)
        cd subversion/libsvn_ra && $(LINK) -o libsvn_ra.la $(libsvn_ra_OBJECTS) ../subversion/libsvn_subr/libsvn_subr.la $(SVN_RA_LIB_LINK) $(SVN_APR_LIBS) $(LIBS)

ra_local_test_DEPS = subversion/tests/libsvn_ra_local/ra-local-test.o subversion/tests/libsvn_test.la subversion/libsvn_ra/libsvn_ra.la subversion/libsvn_fs/libsvn_fs.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
ra_local_test_OBJECTS = ra-local-test.o
subversion/tests/libsvn_ra_local/ra-local-test: $(ra_local_test_DEPS)
        cd subversion/tests/libsvn_ra_local && $(LINK) -o ra-local-test $(ra_local_test_OBJECTS) ../subversion/tests/libsvn_test.la ../subversion/libsvn_ra/libsvn_ra.la ../subversion/libsvn_fs/libsvn_fs.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

svn_DEPS = subversion/clients/cmdline/add-cmd.o subversion/clients/cmdline/checkout-cmd.o subversion/clients/cmdline/cleanup-cmd.o subversion/clients/cmdline/commit-cmd.o subversion/clients/cmdline/copy-cmd.o subversion/clients/cmdline/delete-cmd.o subversion/clients/cmdline/diff-cmd.o subversion/clients/cmdline/feedback.o subversion/clients/cmdline/help-cmd.o subversion/clients/cmdline/import-cmd.o subversion/clients/cmdline/log-cmd.o subversion/clients/cmdline/main.o subversion/clients/cmdline/mkdir-cmd.o subversion/clients/cmdline/move-cmd.o subversion/clients/cmdline/prompt.o subversion/clients/cmdline/propdel-cmd.o subversion/clients/cmdline/propedit-cmd.o subversion/clients/cmdline/propget-cmd.o subversion/clients/cmdline/proplist-cmd.o subversion/clients/cmdline/props.o subversion/clients/cmdline/propset-cmd.o subversion/clients/cmdline/revert-cmd.o subversion/clients/cmdline/status-cmd.o subversion/clients/cmdline/status.o subversion/clients/cmdline/switch-cmd.o subversion/clients/cmdline/trace-commit.o subversion/clients/cmdline/trace-update.o subversion/clients/cmdline/update-cmd.o subversion/clients/cmdline/util.o subversion/libsvn_client/libsvn_client.la subversion/libsvn_wc/libsvn_wc.la subversion/libsvn_ra/libsvn_ra.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
svn_OBJECTS = add-cmd.o checkout-cmd.o cleanup-cmd.o commit-cmd.o copy-cmd.o delete-cmd.o diff-cmd.o feedback.o help-cmd.o import-cmd.o log-cmd.o main.o mkdir-cmd.o move-cmd.o prompt.o propdel-cmd.o propedit-cmd.o propget-cmd.o proplist-cmd.o props.o propset-cmd.o revert-cmd.o status-cmd.o status.o switch-cmd.o trace-commit.o trace-update.o update-cmd.o util.o
subversion/clients/cmdline/svn: $(svn_DEPS)
        cd subversion/clients/cmdline && $(LINK) -o svn $(svn_OBJECTS) ../subversion/libsvn_client/libsvn_client.la ../subversion/libsvn_wc/libsvn_wc.la ../subversion/libsvn_ra/libsvn_ra.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

repos_test_DEPS = subversion/tests/libsvn_repos/dir-delta-editor.o subversion/tests/libsvn_repos/repos-test.o subversion/tests/libsvn_test.la subversion/tests/libsvn_test_fs.la subversion/libsvn_repos/libsvn_repos.la subversion/libsvn_fs/libsvn_fs.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
repos_test_OBJECTS = dir-delta-editor.o repos-test.o
subversion/tests/libsvn_repos/repos-test: $(repos_test_DEPS)
        cd subversion/tests/libsvn_repos && $(LINK) -o repos-test $(repos_test_OBJECTS) ../subversion/tests/libsvn_test.la ../subversion/tests/libsvn_test_fs.la ../subversion/libsvn_repos/libsvn_repos.la ../subversion/libsvn_fs/libsvn_fs.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

xml_output_test_DEPS = subversion/tests/libsvn_delta/xml-output-test.o subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
xml_output_test_OBJECTS = xml-output-test.o
subversion/tests/libsvn_delta/xml-output-test: $(xml_output_test_DEPS)
        cd subversion/tests/libsvn_delta && $(LINK) -o xml-output-test $(xml_output_test_OBJECTS) ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

commit_test_DEPS = subversion/tests/libsvn_wc/commit-test.o subversion/tests/libsvn_test.la subversion/libsvn_wc/libsvn_wc.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
commit_test_OBJECTS = commit-test.o
subversion/tests/libsvn_wc/commit-test: $(commit_test_DEPS)
        cd subversion/tests/libsvn_wc && $(LINK) -o commit-test $(commit_test_OBJECTS) ../subversion/tests/libsvn_test.la ../subversion/libsvn_wc/libsvn_wc.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

libsvn_ra_dav_DEPS = subversion/libsvn_ra_dav/commit.lo subversion/libsvn_ra_dav/fetch.lo subversion/libsvn_ra_dav/log.lo subversion/libsvn_ra_dav/merge.lo subversion/libsvn_ra_dav/options.lo subversion/libsvn_ra_dav/props.lo subversion/libsvn_ra_dav/session.lo subversion/libsvn_ra_dav/util.lo subversion/libsvn_subr/libsvn_subr.la
libsvn_ra_dav_OBJECTS = commit.lo fetch.lo log.lo merge.lo options.lo props.lo session.lo util.lo
subversion/libsvn_ra_dav/libsvn_ra_dav.la: $(libsvn_ra_dav_DEPS)
        cd subversion/libsvn_ra_dav && $(LINK) -o libsvn_ra_dav.la $(libsvn_ra_dav_OBJECTS) ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) $(NEON_LIBS) $(LIBS)

libsvn_subr_DEPS = subversion/libsvn_subr/config.lo subversion/libsvn_subr/config_file.lo subversion/libsvn_subr/config_win.lo subversion/libsvn_subr/getdate.lo subversion/libsvn_subr/hashdump.lo subversion/libsvn_subr/io.lo subversion/libsvn_subr/path.lo subversion/libsvn_subr/quoprint.lo subversion/libsvn_subr/sorts.lo subversion/libsvn_subr/svn_base64.lo subversion/libsvn_subr/svn_error.lo subversion/libsvn_subr/svn_string.lo subversion/libsvn_subr/target.lo subversion/libsvn_subr/time.lo subversion/libsvn_subr/xml.lo expat-lite/libexpat.la
libsvn_subr_OBJECTS = config.lo config_file.lo config_win.lo getdate.lo hashdump.lo io.lo path.lo quoprint.lo sorts.lo svn_base64.lo svn_error.lo svn_string.lo target.lo time.lo xml.lo
subversion/libsvn_subr/libsvn_subr.la: $(libsvn_subr_DEPS)
        cd subversion/libsvn_subr && $(LINK) -o libsvn_subr.la $(libsvn_subr_OBJECTS) $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

libsvn_client_DEPS = subversion/libsvn_client/add.lo subversion/libsvn_client/apply_edits.lo subversion/libsvn_client/auth.lo subversion/libsvn_client/cancellation_editor.lo subversion/libsvn_client/checkout.lo subversion/libsvn_client/cleanup.lo subversion/libsvn_client/commit.lo subversion/libsvn_client/copy.lo subversion/libsvn_client/delete.lo subversion/libsvn_client/diff.lo subversion/libsvn_client/log.lo subversion/libsvn_client/prop_commands.lo subversion/libsvn_client/ra.lo subversion/libsvn_client/repos_diff.lo subversion/libsvn_client/revert.lo subversion/libsvn_client/revisions.lo subversion/libsvn_client/status.lo subversion/libsvn_client/switch.lo subversion/libsvn_client/update.lo subversion/libsvn_wc/libsvn_wc.la subversion/libsvn_ra/libsvn_ra.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la
libsvn_client_OBJECTS = add.lo apply_edits.lo auth.lo cancellation_editor.lo checkout.lo cleanup.lo commit.lo copy.lo delete.lo diff.lo log.lo prop_commands.lo ra.lo repos_diff.lo revert.lo revisions.lo status.lo switch.lo update.lo
subversion/libsvn_client/libsvn_client.la: $(libsvn_client_DEPS)
        cd subversion/libsvn_client && $(LINK) -o libsvn_client.la $(libsvn_client_OBJECTS) ../subversion/libsvn_wc/libsvn_wc.la ../subversion/libsvn_ra/libsvn_ra.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) $(LIBS)

key_test_DEPS = subversion/tests/libsvn_fs/key-test.o subversion/tests/libsvn_test.la subversion/libsvn_fs/libsvn_fs.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
key_test_OBJECTS = key-test.o
subversion/tests/libsvn_fs/key-test: $(key_test_DEPS)
        cd subversion/tests/libsvn_fs && $(LINK) -o key-test $(key_test_OBJECTS) ../subversion/tests/libsvn_test.la ../subversion/libsvn_fs/libsvn_fs.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

hashdump_test_DEPS = subversion/tests/libsvn_subr/hashdump-test.o subversion/tests/libsvn_test.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
hashdump_test_OBJECTS = hashdump-test.o
subversion/tests/libsvn_subr/hashdump-test: $(hashdump_test_DEPS)
        cd subversion/tests/libsvn_subr && $(LINK) -o hashdump-test $(hashdump_test_OBJECTS) ../subversion/tests/libsvn_test.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

libmod_dav_svn_DEPS = subversion/mod_dav_svn/activity.lo subversion/mod_dav_svn/deadprops.lo subversion/mod_dav_svn/liveprops.lo subversion/mod_dav_svn/log.lo subversion/mod_dav_svn/merge.lo subversion/mod_dav_svn/mod_dav_svn.lo subversion/mod_dav_svn/repos.lo subversion/mod_dav_svn/update.lo subversion/mod_dav_svn/util.lo subversion/mod_dav_svn/version.lo subversion/libsvn_repos/libsvn_repos.la subversion/libsvn_fs/libsvn_fs.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la
libmod_dav_svn_OBJECTS = activity.lo deadprops.lo liveprops.lo log.lo merge.lo mod_dav_svn.lo repos.lo update.lo util.lo version.lo
subversion/mod_dav_svn/libmod_dav_svn.la: $(libmod_dav_svn_DEPS)
        cd subversion/mod_dav_svn && $(LINK) -o libmod_dav_svn.la -avoid-version $(libmod_dav_svn_OBJECTS) ../subversion/libsvn_repos/libsvn_repos.la ../subversion/libsvn_fs/libsvn_fs.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(LIBS)

# build these special -- use APACHE_INCLUDES
subversion/mod_dav_svn/activity.lo: subversion/mod_dav_svn/activity.c
        $(COMPILE_APACHE_MOD)
subversion/mod_dav_svn/deadprops.lo: subversion/mod_dav_svn/deadprops.c
        $(COMPILE_APACHE_MOD)
subversion/mod_dav_svn/liveprops.lo: subversion/mod_dav_svn/liveprops.c
        $(COMPILE_APACHE_MOD)
subversion/mod_dav_svn/log.lo: subversion/mod_dav_svn/log.c
        $(COMPILE_APACHE_MOD)
subversion/mod_dav_svn/merge.lo: subversion/mod_dav_svn/merge.c
        $(COMPILE_APACHE_MOD)
subversion/mod_dav_svn/mod_dav_svn.lo: subversion/mod_dav_svn/mod_dav_svn.c
        $(COMPILE_APACHE_MOD)
subversion/mod_dav_svn/repos.lo: subversion/mod_dav_svn/repos.c
        $(COMPILE_APACHE_MOD)
subversion/mod_dav_svn/update.lo: subversion/mod_dav_svn/update.c
        $(COMPILE_APACHE_MOD)
subversion/mod_dav_svn/util.lo: subversion/mod_dav_svn/util.c
        $(COMPILE_APACHE_MOD)
subversion/mod_dav_svn/version.lo: subversion/mod_dav_svn/version.c
        $(COMPILE_APACHE_MOD)

stringtest_DEPS = subversion/tests/libsvn_subr/stringtest.o subversion/tests/libsvn_test.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
stringtest_OBJECTS = stringtest.o
subversion/tests/libsvn_subr/stringtest: $(stringtest_DEPS)
        cd subversion/tests/libsvn_subr && $(LINK) -o stringtest $(stringtest_OBJECTS) ../subversion/tests/libsvn_test.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

libsvn_repos_DEPS = subversion/libsvn_repos/delta.lo subversion/libsvn_repos/hooks.lo subversion/libsvn_repos/log.lo subversion/libsvn_repos/node_tree.lo subversion/libsvn_repos/reporter.lo subversion/libsvn_repos/repos.lo subversion/libsvn_repos/rev_hunt.lo subversion/libsvn_fs/libsvn_fs.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la
libsvn_repos_OBJECTS = delta.lo hooks.lo log.lo node_tree.lo reporter.lo repos.lo rev_hunt.lo
subversion/libsvn_repos/libsvn_repos.la: $(libsvn_repos_DEPS)
        cd subversion/libsvn_repos && $(LINK) -o libsvn_repos.la $(libsvn_repos_OBJECTS) ../subversion/libsvn_fs/libsvn_fs.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) $(LIBS)

skel_test_DEPS = subversion/tests/libsvn_fs/skel-test.o subversion/tests/libsvn_test.la subversion/libsvn_fs/libsvn_fs.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
skel_test_OBJECTS = skel-test.o
subversion/tests/libsvn_fs/skel-test: $(skel_test_DEPS)
        cd subversion/tests/libsvn_fs && $(LINK) -o skel-test $(skel_test_OBJECTS) ../subversion/tests/libsvn_test.la ../subversion/libsvn_fs/libsvn_fs.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

strings_reps_test_DEPS = subversion/tests/libsvn_fs/strings-reps-test.o subversion/tests/libsvn_test.la subversion/tests/libsvn_test_fs.la subversion/libsvn_fs/libsvn_fs.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
strings_reps_test_OBJECTS = strings-reps-test.o
subversion/tests/libsvn_fs/strings-reps-test: $(strings_reps_test_DEPS)
        cd subversion/tests/libsvn_fs && $(LINK) -o strings-reps-test $(strings_reps_test_OBJECTS) ../subversion/tests/libsvn_test.la ../subversion/tests/libsvn_test_fs.la ../subversion/libsvn_fs/libsvn_fs.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

libsvn_delta_DEPS = subversion/libsvn_delta/compose_editors.lo subversion/libsvn_delta/default_editor.lo subversion/libsvn_delta/pipe_editors.lo subversion/libsvn_delta/svndiff.lo subversion/libsvn_delta/text_delta.lo subversion/libsvn_delta/track_editor.lo subversion/libsvn_delta/vdelta.lo subversion/libsvn_delta/xml_output.lo subversion/libsvn_delta/xml_parse.lo subversion/libsvn_subr/libsvn_subr.la
libsvn_delta_OBJECTS = compose_editors.lo default_editor.lo pipe_editors.lo svndiff.lo text_delta.lo track_editor.lo vdelta.lo xml_output.lo xml_parse.lo
subversion/libsvn_delta/libsvn_delta.la: $(libsvn_delta_DEPS)
        cd subversion/libsvn_delta && $(LINK) -o libsvn_delta.la $(libsvn_delta_OBJECTS) ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) $(LIBS)

target_test_DEPS = subversion/tests/libsvn_subr/target-test.o subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
target_test_OBJECTS = target-test.o
subversion/tests/libsvn_subr/target-test: $(target_test_DEPS)
        cd subversion/tests/libsvn_subr && $(LINK) -o target-test $(target_test_OBJECTS) ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

fs_test_DEPS = subversion/tests/libsvn_fs/fs-test.o subversion/tests/libsvn_test.la subversion/tests/libsvn_test_fs.la subversion/libsvn_fs/libsvn_fs.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
fs_test_OBJECTS = fs-test.o
subversion/tests/libsvn_fs/fs-test: $(fs_test_DEPS)
        cd subversion/tests/libsvn_fs && $(LINK) -o fs-test $(fs_test_OBJECTS) ../subversion/tests/libsvn_test.la ../subversion/tests/libsvn_test_fs.la ../subversion/libsvn_fs/libsvn_fs.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

translate_test_DEPS = subversion/tests/libsvn_wc/translate-test.o subversion/tests/libsvn_test.la subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_wc/libsvn_wc.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
translate_test_OBJECTS = translate-test.o
subversion/tests/libsvn_wc/translate-test: $(translate_test_DEPS)
        cd subversion/tests/libsvn_wc && $(LINK) -o translate-test $(translate_test_OBJECTS) ../subversion/tests/libsvn_test.la ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_wc/libsvn_wc.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

vdelta_test_DEPS = subversion/tests/libsvn_delta/vdelta-test.o subversion/libsvn_delta/libsvn_delta.la subversion/libsvn_subr/libsvn_subr.la expat-lite/libexpat.la
vdelta_test_OBJECTS = vdelta-test.o
subversion/tests/libsvn_delta/vdelta-test: $(vdelta_test_DEPS)
        cd subversion/tests/libsvn_delta && $(LINK) -o vdelta-test $(vdelta_test_OBJECTS) ../subversion/libsvn_delta/libsvn_delta.la ../subversion/libsvn_subr/libsvn_subr.la $(SVN_APR_LIBS) ../expat-lite/libexpat.la $(LIBS)

bin: subversion/clients/cmdline/svn

apache-mod: subversion/mod_dav_svn/libmod_dav_svn.la

base-lib: expat-lite/libexpat.la subversion/libsvn_ra_dav/libsvn_ra_dav.la subversion/libsvn_subr/libsvn_subr.la subversion/libsvn_delta/libsvn_delta.la

lib: subversion/libsvn_wc/libsvn_wc.la subversion/libsvn_ra/libsvn_ra.la subversion/libsvn_client/libsvn_client.la

swig-py-lib: subversion/bindings/swig/libsvn_swig_py.la

test: subversion/tests/libsvn_subr/path-test subversion/tests/libsvn_wc/checkout-test subversion/tests/libsvn_delta/svndiff-test subversion/tests/libsvn_repos/md5args subversion/tests/libsvn_delta/deltaparse-test subversion/tests/libsvn_delta/random-test subversion/tests/libsvn_test.la subversion/tests/libsvn_delta/xml-output-test subversion/tests/libsvn_wc/commit-test subversion/tests/libsvn_subr/hashdump-test subversion/tests/libsvn_subr/stringtest subversion/tests/libsvn_subr/target-test subversion/tests/libsvn_wc/translate-test subversion/tests/libsvn_delta/vdelta-test

fs-test: subversion/tests/libsvn_test_fs.la subversion/tests/libsvn_ra_local/ra-local-test subversion/tests/libsvn_repos/repos-test subversion/tests/libsvn_fs/key-test subversion/tests/libsvn_fs/skel-test subversion/tests/libsvn_fs/strings-reps-test subversion/tests/libsvn_fs/fs-test

fs-bin: subversion/svnadmin/svnadmin subversion/svnlook/svnlook

fs-lib: subversion/libsvn_fs/libsvn_fs.la subversion/libsvn_ra_local/libsvn_ra_local.la subversion/libsvn_repos/libsvn_repos.la

CLEAN_FILES = subversion/svnadmin/svnadmin subversion/svnlook/svnlook subversion/tests/libsvn_subr/target-test subversion/tests/libsvn_delta/xml-output-test subversion/tests/libsvn_fs/skel-test subversion/tests/libsvn_repos/md5args subversion/tests/libsvn_delta/deltaparse-test subversion/tests/libsvn_delta/random-test subversion/clients/cmdline/svn subversion/tests/libsvn_wc/commit-test subversion/tests/libsvn_subr/path-test subversion/tests/libsvn_subr/hashdump-test subversion/tests/libsvn_delta/svndiff-test subversion/tests/libsvn_wc/checkout-test subversion/tests/libsvn_subr/stringtest subversion/tests/libsvn_fs/key-test subversion/tests/libsvn_ra_local/ra-local-test subversion/tests/libsvn_fs/strings-reps-test subversion/tests/libsvn_repos/repos-test subversion/tests/libsvn_fs/fs-test subversion/tests/libsvn_wc/translate-test subversion/tests/libsvn_delta/vdelta-test

install-bin: subversion/clients/cmdline/svn
        $(MKDIR) $(bindir)
        cd subversion/clients/cmdline ; $(INSTALL_BIN) svn $(bindir)/svn

install-mods-shared: subversion/mod_dav_svn/libmod_dav_svn.la
        cd subversion/mod_dav_svn ; $(INSTALL_MOD_SHARED) -n dav_svn libmod_dav_svn.la

install-mods-static: subversion/mod_dav_svn/libmod_dav_svn.la-a subversion/libsvn_subr/libsvn_subr.la-a subversion/libsvn_delta/libsvn_delta.la-a subversion/libsvn_repos/libsvn_repos.la-a subversion/libsvn_fs/libsvn_fs.la-a subversion/mod_dav_svn/static/config.m4 subversion/mod_dav_svn/static/Makefile.in
        $(MKDIR) $(APACHE_TARGET)/.libs
        $(INSTALL_MOD_STATIC) subversion/mod_dav_svn/.libs/libmod_dav_svn.a $(APACHE_TARGET)/.libs/libmod_dav_svn.a
        $(INSTALL_MOD_STATIC) subversion/mod_dav_svn/libmod_dav_svn.la-a $(APACHE_TARGET)/libmod_dav_svn.la
        $(INSTALL_MOD_STATIC) subversion/libsvn_subr/.libs/libsvn_subr.a $(APACHE_TARGET)/.libs/libsvn_subr.a
        $(INSTALL_MOD_STATIC) subversion/libsvn_subr/libsvn_subr.la-a $(APACHE_TARGET)/libsvn_subr.la
        $(INSTALL_MOD_STATIC) subversion/libsvn_delta/.libs/libsvn_delta.a $(APACHE_TARGET)/.libs/libsvn_delta.a
        $(INSTALL_MOD_STATIC) subversion/libsvn_delta/libsvn_delta.la-a $(APACHE_TARGET)/libsvn_delta.la
        $(INSTALL_MOD_STATIC) subversion/libsvn_repos/.libs/libsvn_repos.a $(APACHE_TARGET)/.libs/libsvn_repos.a
        $(INSTALL_MOD_STATIC) subversion/libsvn_repos/libsvn_repos.la-a $(APACHE_TARGET)/libsvn_repos.la
        $(INSTALL_MOD_STATIC) subversion/libsvn_fs/.libs/libsvn_fs.a $(APACHE_TARGET)/.libs/libsvn_fs.a
        $(INSTALL_MOD_STATIC) subversion/libsvn_fs/libsvn_fs.la-a $(APACHE_TARGET)/libsvn_fs.la
        $(INSTALL_MOD_STATIC) subversion/mod_dav_svn/static/config.m4 $(APACHE_TARGET)/config.m4
        $(INSTALL_MOD_STATIC) subversion/mod_dav_svn/static/Makefile.in $(APACHE_TARGET)/Makefile.in

install-base-lib: expat-lite/libexpat.la subversion/libsvn_subr/libsvn_subr.la subversion/libsvn_ra_dav/libsvn_ra_dav.la subversion/libsvn_delta/libsvn_delta.la
        $(MKDIR) $(base_libdir)
        cd expat-lite ; $(INSTALL_BASE_LIB) libexpat.la $(base_libdir)/libexpat.la
        cd subversion/libsvn_subr ; $(INSTALL_BASE_LIB) libsvn_subr.la $(base_libdir)/libsvn_subr.la
        cd subversion/libsvn_ra_dav ; $(INSTALL_BASE_LIB) libsvn_ra_dav.la $(base_libdir)/libsvn_ra_dav.la
        cd subversion/libsvn_delta ; $(INSTALL_BASE_LIB) libsvn_delta.la $(base_libdir)/libsvn_delta.la

install-lib: subversion/libsvn_wc/libsvn_wc.la subversion/libsvn_ra/libsvn_ra.la subversion/libsvn_client/libsvn_client.la
        $(MKDIR) $(libdir)
        cd subversion/libsvn_wc ; $(INSTALL_LIB) libsvn_wc.la $(libdir)/libsvn_wc.la
        cd subversion/libsvn_ra ; $(INSTALL_LIB) libsvn_ra.la $(libdir)/libsvn_ra.la
        cd subversion/libsvn_client ; $(INSTALL_LIB) libsvn_client.la $(libdir)/libsvn_client.la

install-swig-py-lib: subversion/bindings/swig/libsvn_swig_py.la
        $(MKDIR) $(swig_py_libdir)
        cd subversion/bindings/swig ; $(INSTALL_SWIG_PY_LIB) libsvn_swig_py.la $(swig_py_libdir)/libsvn_swig_py.la

install-fs-bin: subversion/svnadmin/svnadmin subversion/svnlook/svnlook
        $(MKDIR) $(fs_bindir)
        cd subversion/svnadmin ; $(INSTALL_FS_BIN) svnadmin $(fs_bindir)/svnadmin
        cd subversion/svnlook ; $(INSTALL_FS_BIN) svnlook $(fs_bindir)/svnlook

install-fs-lib: subversion/libsvn_fs/libsvn_fs.la subversion/libsvn_repos/libsvn_repos.la subversion/libsvn_ra_local/libsvn_ra_local.la
        $(MKDIR) $(fs_libdir)
        cd subversion/libsvn_fs ; $(INSTALL_FS_LIB) libsvn_fs.la $(fs_libdir)/libsvn_fs.la
        cd subversion/libsvn_repos ; $(INSTALL_FS_LIB) libsvn_repos.la $(fs_libdir)/libsvn_repos.la
        cd subversion/libsvn_ra_local ; $(INSTALL_FS_LIB) libsvn_ra_local.la $(fs_libdir)/libsvn_ra_local.la

install-include: subversion/include/svn_base64.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_dav.h subversion/include/svn_delta.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion/include/svn_quoprint.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_test.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/include/svn_xml.h
        $(MKDIR) $(includedir)
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_base64.h $(includedir)/svn_base64.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_client.h $(includedir)/svn_client.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_config.h $(includedir)/svn_config.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_dav.h $(includedir)/svn_dav.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_delta.h $(includedir)/svn_delta.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_error.h $(includedir)/svn_error.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_error_codes.h $(includedir)/svn_error_codes.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_fs.h $(includedir)/svn_fs.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_hash.h $(includedir)/svn_hash.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_io.h $(includedir)/svn_io.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_path.h $(includedir)/svn_path.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_pools.h $(includedir)/svn_pools.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_quoprint.h $(includedir)/svn_quoprint.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_ra.h $(includedir)/svn_ra.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_repos.h $(includedir)/svn_repos.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_sorts.h $(includedir)/svn_sorts.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_string.h $(includedir)/svn_string.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_test.h $(includedir)/svn_test.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_time.h $(includedir)/svn_time.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_types.h $(includedir)/svn_types.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_version.h $(includedir)/svn_version.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_wc.h $(includedir)/svn_wc.h
        $(INSTALL_INCLUDE) $(top_srcdir)/subversion/include/svn_xml.h $(includedir)/svn_xml.h

# handy shortcut targets
svnadmin: subversion/svnadmin/svnadmin
svnlook: subversion/svnlook/svnlook
target-test: subversion/tests/libsvn_subr/target-test
libsvn_test_fs: subversion/tests/libsvn_test_fs.la
libsvn_swig_py: subversion/bindings/swig/libsvn_swig_py.la
libexpat: expat-lite/libexpat.la
libmod_dav_svn: subversion/mod_dav_svn/libmod_dav_svn.la
libsvn_wc: subversion/libsvn_wc/libsvn_wc.la
xml-output-test: subversion/tests/libsvn_delta/xml-output-test
skel-test: subversion/tests/libsvn_fs/skel-test
md5args: subversion/tests/libsvn_repos/md5args
deltaparse-test: subversion/tests/libsvn_delta/deltaparse-test
random-test: subversion/tests/libsvn_delta/random-test
libsvn_ra_local: subversion/libsvn_ra_local/libsvn_ra_local.la
libsvn_test: subversion/tests/libsvn_test.la
libsvn_ra: subversion/libsvn_ra/libsvn_ra.la
libsvn_client: subversion/libsvn_client/libsvn_client.la
svn: subversion/clients/cmdline/svn
libsvn_fs: subversion/libsvn_fs/libsvn_fs.la
commit-test: subversion/tests/libsvn_wc/commit-test
libsvn_ra_dav: subversion/libsvn_ra_dav/libsvn_ra_dav.la
libsvn_subr: subversion/libsvn_subr/libsvn_subr.la
path-test: subversion/tests/libsvn_subr/path-test
libsvn_repos: subversion/libsvn_repos/libsvn_repos.la
hashdump-test: subversion/tests/libsvn_subr/hashdump-test
svndiff-test: subversion/tests/libsvn_delta/svndiff-test
checkout-test: subversion/tests/libsvn_wc/checkout-test
stringtest: subversion/tests/libsvn_subr/stringtest
key-test: subversion/tests/libsvn_fs/key-test
ra-local-test: subversion/tests/libsvn_ra_local/ra-local-test
strings-reps-test: subversion/tests/libsvn_fs/strings-reps-test
repos-test: subversion/tests/libsvn_repos/repos-test
libsvn_delta: subversion/libsvn_delta/libsvn_delta.la
fs-test: subversion/tests/libsvn_fs/fs-test
translate-test: subversion/tests/libsvn_wc/translate-test
vdelta-test: subversion/tests/libsvn_delta/vdelta-test

BUILD_DIRS = subversion/libsvn_client subversion/clients/cmdline subversion/svnadmin subversion/libsvn_repos subversion/libsvn_ra_local subversion/libsvn_wc subversion/svnlook subversion/libsvn_subr subversion/tests/libsvn_wc subversion/libsvn_ra subversion/tests/clients/cmdline subversion/tests subversion/tests/libsvn_fs subversion/tests/libsvn_repos subversion/libsvn_fs subversion/mod_dav_svn subversion/bindings/swig subversion/tests/clients/cmdline/xmltests subversion/tests/libsvn_delta subversion/tests/libsvn_ra_local subversion/libsvn_delta expat-lite subversion/libsvn_ra_dav subversion/tests/libsvn_subr
FS_TEST_DEPS = subversion/tests/libsvn_ra_local/ra-local-test subversion/tests/libsvn_repos/repos-test subversion/tests/libsvn_fs/key-test subversion/tests/libsvn_fs/skel-test subversion/tests/libsvn_fs/strings-reps-test subversion/tests/libsvn_fs/fs-test subversion/tests/libsvn_fs/run-fs-tests.sh subversion/tests/libsvn_repos/run-repos-tests.sh subversion/tests/clients/cmdline/basic_tests.py subversion/tests/clients/cmdline/commit_tests.py subversion/tests/clients/cmdline/update_tests.py subversion/tests/clients/cmdline/prop_tests.py subversion/tests/clients/cmdline/schedule_tests.py subversion/tests/clients/cmdline/log_tests.py subversion/tests/clients/cmdline/copy_tests.py subversion/tests/clients/cmdline/diff_tests.py subversion/tests/clients/cmdline/stat_tests.py subversion/tests/clients/cmdline/svnadmin_tests.py

FS_TEST_PROGRAMS = subversion/tests/libsvn_fs/run-fs-tests.sh subversion/tests/libsvn_repos/run-repos-tests.sh subversion/tests/clients/cmdline/basic_tests.py subversion/tests/clients/cmdline/commit_tests.py subversion/tests/clients/cmdline/update_tests.py subversion/tests/clients/cmdline/prop_tests.py subversion/tests/clients/cmdline/schedule_tests.py subversion/tests/clients/cmdline/log_tests.py subversion/tests/clients/cmdline/copy_tests.py subversion/tests/clients/cmdline/diff_tests.py subversion/tests/clients/cmdline/stat_tests.py subversion/tests/clients/cmdline/svnadmin_tests.py

TEST_DEPS = subversion/tests/libsvn_subr/path-test subversion/tests/libsvn_wc/checkout-test subversion/tests/libsvn_delta/svndiff-test subversion/tests/libsvn_repos/md5args subversion/tests/libsvn_delta/deltaparse-test subversion/tests/libsvn_delta/random-test subversion/tests/libsvn_delta/xml-output-test subversion/tests/libsvn_wc/commit-test subversion/tests/libsvn_subr/hashdump-test subversion/tests/libsvn_subr/stringtest subversion/tests/libsvn_subr/target-test subversion/tests/libsvn_wc/translate-test subversion/tests/libsvn_delta/vdelta-test subversion/tests/clients/cmdline/xmltests/svn-test.sh subversion/tests/clients/cmdline/xmltests/svn-test2.sh subversion/tests/libsvn_subr/target-test.sh

TEST_PROGRAMS = subversion/tests/libsvn_subr/path-test subversion/tests/libsvn_delta/random-test subversion/tests/libsvn_subr/hashdump-test subversion/tests/libsvn_subr/stringtest subversion/tests/libsvn_wc/translate-test subversion/tests/clients/cmdline/xmltests/svn-test.sh subversion/tests/clients/cmdline/xmltests/svn-test2.sh subversion/tests/libsvn_subr/target-test.sh

MANPAGES = subversion/clients/cmdline/man/svn.1

INFOPAGES = doc/user/manual/svn-manual.info doc/user/svn_for_cvs_users/svn_for_cvs_users.info doc/programmer/design/svn-design.info doc/programmer/design/svn-design.info-1 doc/programmer/design/svn-design.info-2 doc/programmer/design/svn-design.info-3

PYTHON = "/cygdrive/c/PROGRA~1/Python/python"

ALL_TESTS = $(TEST_PROGRAMS) subversion/tests/libsvn_fs/run-fs-tests.sh #$(FS_TEST_PROGRAMS)
#ALL_TESTS = subversion/tests/libsvn_fs/fs-test

check: $(TEST_DEPS) $(FS_TEST_DEPS)
        @logfile=`pwd`/tests.log ; \
        echo > $$logfile ; \
        failed=no ; \
        list='$(ALL_TESTS)'; for prog in $$list; do \
            progbase=`echo $$prog | sed 's?.*/??'` ; \
            progdir=`echo $$prog | sed 's?/[^/]*$$??'` ; \
            echo -n "Running all tests in $$progbase..." ; \
            echo "START: $$progbase" >> $$logfile ; \
            if echo $$progbase | grep \\.py$$ > /dev/null; then \
                runprog="$(PYTHON) $$progbase" ; \
            elif echo $$progbase | grep \\.sh$$ > /dev/null; then \
                runprog="$(SHELL) $$progbase" ; \
            elif test -x $$prog ; then \
                runprog="./$$progbase" ; \
            else \
                echo "Don't know what to do about $$progbase" ; \
                exit 1 ; \
            fi ; \
            if ( cd $$progdir && $$runprog ) >> $$logfile ; then \
                echo "SUCCESS" ; \
            else \
                echo "FAILURE" ; \
                failed=yes; \
            fi; \
            echo "END: $$progbase" >> $$logfile ; \
            echo >> $$logfile ; \
        done ; \
        if test "$$failed" = "yes"; then \
            echo "at least one test FAILED, checking tests.log." ; \
            grep FAIL $$logfile || true ; \
        fi

include build-outputs.mk

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:37:06 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.