blob: 0fe982c17fee650f938a2df7c8eca8ef89ce1af8 [file] [log] [blame]
top_builddir = .
top_srcdir = @top_srcdir@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
VPATH = @top_srcdir@
SVN_RA_LIB_DEPS = @SVN_RA_LIB_DEPS@
SVN_RA_LIB_LINK = @SVN_RA_LIB_LINK@
DOC_DIRS = doc/programmer/design doc/user/manual doc/user/svn_for_cvs_users
EXTERNAL_PROJECT_DIRS = @SVN_SUBDIRS@
NEON_LIBS = @NEON_LIBS@
SVN_APR_LIBS = @SVN_APR_LIBS@
SVN_APRUTIL_LIBS = @SVN_APRUTIL_LIBS@
SVN_DB_LIBS = @SVN_DB_LIBS@
LIBS = @LIBS@
prefix = @prefix@
exec_prefix = @exec_prefix@
libdir = @libdir@
base_libdir = @libdir@
fs_libdir= @libdir@
bindir = @bindir@
fs_bindir=@bindir@
includedir = @includedir@
mandir = @mandir@
srcdir = @srcdir@
infodir = @infodir@
swig_py_libdir= @libdir@
### should search for these...
MAKEINFO = @MAKEINFO@
TEXI2DVI = texi2dvi
DVIPS = dvips
DVIPDF = dvipdf
### See `dist' rule.
DIST_SANDBOX = .dist_sandbox
DISTNAME = subversion
VERSION = `grep SVN_VERSION configure.in | cut -f 2 -d ' ' | sed -e 's/"//g' | sed -e 's/,//g'`
CC = @CC@
SHELL = @SHELL@
LIBTOOL = $(SHELL) $(abs_builddir)/libtool
LTFLAGS = --silent
LT_LDFLAGS =
INCLUDES = @SVN_EXTRA_INCLUDES@ @SVN_NEON_INCLUDES@ \
@SVN_EXPAT_INCLUDES@ @SVN_DB_INCLUDES@
APACHE_INCLUDES = @APACHE_INCLUDES@
APACHE_TARGET = @APACHE_TARGET@
SWIG_PY_INCLUDES = @SWIG_PY_INCLUDES@
MKDIR = @MKDIR@
# the EXTRA_ exist so that extra flags can be passed at 'make' time
CFLAGS = @CFLAGS@ $(EXTRA_CFLAGS)
CPPFLAGS = @CPPFLAGS@ $(EXTRA_CPPFLAGS)
LDFLAGS = @LDFLAGS@ $(EXTRA_LDFLAGS)
COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES)
LT_COMPILE = $(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE)
COMPILE_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(APACHE_INCLUDES) $(INCLUDES) -o $@ -c $<
# special SWIG compilation
COMPILE_SWIG_PY = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) -DSWIGPYTHON $(CFLAGS) $(SWIG_PY_INCLUDES) $(INCLUDES) -o $@ -c $<
LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(LT_LDFLAGS) $(COMPILE) $(LDFLAGS) -rpath $(libdir)
INSTALL = @INSTALL@
INSTALL_LIB = $(LIBTOOL) --mode=install $(INSTALL)
INSTALL_BASE_LIB = $(INSTALL_LIB)
INSTALL_FS_LIB = $(INSTALL_LIB)
INSTALL_BIN = $(LIBTOOL) --mode=install $(INSTALL)
INSTALL_FS_BIN = $(INSTALL_BIN)
INSTALL_INCLUDE = $(INSTALL) -m 644
INSTALL_MOD_SHARED = @APXS@ -i -a
INSTALL_MOD_STATIC = $(INSTALL) -m 644
INSTALL_DATA = $(INSTALL) -m 644
INSTALL_SWIG_PY_LIB = $(INSTALL_LIB)
PYTHON = @PYTHON@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
all: external-all local-all
clean: external-clean local-clean
distclean: external-distclean local-distclean
extraclean: external-extraclean local-extraclean
install: external-install local-install
@INCLUDE_OUTPUTS@
local-all: @BUILD_RULES@ @SWIG_BUILD_RULES@
local-clean: doc-clean
@list='$(BUILD_DIRS)'; for i in $$list; do \
echo "Cleaning $$i ..." ; \
(cd $$i && rm -f *.o *.lo *.la *.la-a && rm -rf .libs) ; \
done
rm -f $(CLEAN_FILES)
local-distclean: local-clean
rm -f Makefile config.cache config.log config.status libtool \
svn_private_config.h
local-extraclean: local-distclean
rm -f build-outputs.mk svn_private_config.h.in configure \
ac-helpers/config.guess ac-helpers/config.sub \
ac-helpers/libtool.m4 ac-helpers/ltconfig \
ac-helpers/ltmain.sh
local-install: @INSTALL_RULES@ @SWIG_INSTALL_RULES@
check: $(TEST_DEPS) @FS_TEST_DEPS@
@$(PYTHON) $(top_srcdir)/build/pycheck.py ; \
$(PYTHON) $(top_srcdir)/build/run-tests.py \
'$(abs_srcdir)' '$(abs_builddir)' '$(PYTHON)' '$(SHELL)' \
$(TEST_PROGRAMS) @FS_TEST_PROGRAMS@
mkdir-init:
@list='$(BUILD_DIRS) $(DOC_DIRS)'; for i in $$list doc; do \
echo "mkdir $$i" ; \
$(MKDIR) $$i ; \
done
# recursive targets to handle external projects (e.g. APR, Neon)
external-all external-clean external-distclean external-install:
@target=`echo $@ | sed s/external-//`; \
list='$(EXTERNAL_PROJECT_DIRS)'; \
for i in $$list; do \
echo "------ making $$target in $$i"; \
(cd $$i && $(MAKE) $$target) || exit 1; \
echo "------ completed $$target in $$i"; \
done;
### temporary hack. Neon does not have an "extraclean" and neither does db
### If we don't have extraclean -- do the next best thing.
external-extraclean:
@list='$(EXTERNAL_PROJECT_DIRS)'; \
for i in $$list; do \
if test "$$i" = "neon" || test "$$i" = "db/dist"; then \
echo "------ making distclean(no extraclean) in $$i"; \
(cd $$i && $(MAKE) distclean) || exit 1; \
echo "------ completed distclean(no extraclean) in $$i"; \
else \
echo "------ making extraclean in $$i"; \
(cd $$i && $(MAKE) extraclean) || exit 1; \
echo "------ completed extraclean in $$i"; \
fi; \
done;
## Use Karl's script to create a Changelog from CVS.
.PHONY: ChangeLog
log changelog ChangeLog:
cvs2cl.pl --fsf -b -t -r -S -U ./AUTHORS \
subversion doc www expat-lite notes tools ac-helpers \
`find . -type f -maxdepth 1`
doc: doc-info doc-txt doc-html
doc-info: doc/programmer/design/svn-design.info doc/user/manual/svn-manual.info doc/user/svn_for_cvs_users/svn_for_cvs_users.info
doc-dvi: doc/programmer/design/svn-design.dvi doc/user/manual/svn-manual.dvi doc/user/svn_for_cvs_users/svn_for_cvs_users.dvi
doc-txt: doc/programmer/design/svn-design.txt doc/user/manual/svn-manual.txt doc/user/svn_for_cvs_users/svn_for_cvs_users.txt
doc-html: doc/programmer/design/svn-design.html doc/user/manual/svn-manual.html doc/user/svn_for_cvs_users/svn_for_cvs_users.html
doc-ps: doc/programmer/design/svn-design.ps doc/user/manual/svn-manual.ps doc/user/svn_for_cvs_users/svn_for_cvs_users.ps
doc-pdf: doc/programmer/design/svn-design.pdf doc/user/manual/svn-manual.pdf doc/user/svn_for_cvs_users/svn_for_cvs_users.pdf
doc-clean:
for d in $(DOC_DIRS); \
do \
(cd $$d; \
rm -f *.info *.info-1 *.info-2 *.info-3 \
*.aux *.cp *.fn *.ky *.log *.pg *.toc \
*.tp *.vr \
*.dvi *.txt *.html *.ps *.pdf); \
done
### Build a tarball.
dist:
./dist.sh
#
# Implicit rules for creating outputs from input files
#
.SUFFIXES:
.SUFFIXES: .c .lo .o .la-a .la .texi .info .dvi .txt .html .ps .pdf
.c.o:
$(COMPILE) -o $@ -c $<
.c.lo:
$(LT_COMPILE) -o $@ -c $<
.la.la-a:
sed "/library_names/s/'.*'/''/" $< > $@
.texi.info:
$(MAKEINFO) -I `dirname $<` -o $@ $<
.texi.dvi:
wd=`pwd` ; cd `dirname $@` ; $(TEXI2DVI) -I `dirname $$wd/$<` $$wd/$<
.texi.txt:
$(MAKEINFO) -I `dirname $<` --no-headers -o $@ $<
.texi.html:
$(MAKEINFO) -I `dirname $<` --no-headers --html -o $@ $<
.dvi.ps:
$(DVIPS) $< -o $@
.dvi.pdf:
$(DVIPDF) $< $@
install-docs: install-man @INSTALL_INFO@
manroot = $(mandir)/man
install-man:
@list='$(MANPAGES)'; \
for i in $$list; do \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
$(MKDIR) $(DESTDIR)$(manroot)$$ext; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst`.$$ext; \
echo "$(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(manroot)$$ext/$$inst; \
done
install-info: doc-info
$(MKDIR) $(DESTDIR)$(infodir)
@list='$(INFOPAGES)'; \
for i in $$list; do \
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
inst=`echo $$file | sed -e 's/^.*\///'`; \
echo "$(INSTALL_DATA) $$file $(DESTDIR)$(infodir)/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(infodir)/$$inst; \
done