# -*- mode: makefile -*-

prefix = /usr
bindir = /usr/bin
datadir = /usr/share
docdir = $(datadir)/doc/subversion-tools-1.4.0
toolsdir = $(datadir)/subversion

INSTALL = /bin/install
MKDIR = /bin/mkdir
CP = /bin/cp
ECHO = /bin/echo

EXAMPLES = tools/examples

TOOLS_LIST = subversion-tools.list

TOOLS_BIN_FILES = \
	tools/backup/hot-backup.py \
	tools/client-side/showchange.pl \
	contrib/client-side/asvn \
	contrib/client-side/search-svnlog.pl \
	contrib/client-side/svn-clean \
	contrib/client-side/svn-log.pl \
	contrib/client-side/svn-resolve \
	contrib/client-side/svn-viewdiff \
	contrib/client-side/svn_all_diffs.pl \
	contrib/client-side/svn_apply_autoprops.py \
	contrib/client-side/svn_export_empty_files.py \
	contrib/client-side/svn_load_dirs/svn_load_dirs.pl \
	contrib/client-side/svn_update.pl \
	contrib/client-side/svncopy/svncopy.pl \
	contrib/client-side/svnmerge/svnmerge.py \
	contrib/client-side/svnmerge/svnmerge.sh \
	contrib/client-side/wcgrep 

TOOLS_BIN_FILES_BROKEN = \
	tools/client-side/svn-graph.pl \

TOOLS_FILES =\
	tools/xslt/svnindex.xsl \
	tools/xslt/svnindex.css

DOC_FILES = \
	tools/client-side/bash_completion_test \
	contrib/client-side/*.vim \
	contrib/client-side/*.README \
	contrib/client-side/*.example \
	contrib/cgi \
	contrib/server-side \
    contrib/client-side/svn_load_dirs/svn_load_dirs.README \
    contrib/client-side/svnmerge/svnmerge.README \
    contrib/client-side/svncopy/svncopy.README

HOOK_DOC_FILES = \
	tools/hook-scripts/README \
	tools/hook-scripts/*.example \
	tools/hook-scripts/mailer/*.example \
	contrib/hook-scripts/enforcer/enforcer.conf

install: install-bin install-bin-broken install-tools install-hooks \
	install-examples install-docs

install-bin: $(DESTDIR)$(bindir)
	:>"$(TOOLS_LIST)"
	for f in $(TOOLS_BIN_FILES); do \
		$(INSTALL) -m 755 "$$f" $(DESTDIR)$(bindir); \
		$(ECHO) "$(bindir)/$${f##*/}" >>"$(TOOLS_LIST)"; \
	done

install-bin-broken: $(DESTDIR)$(docdir)
	for f in $(TOOLS_BIN_FILES_BROKEN); do \
		$(INSTALL) -m 755 "$$f" $(DESTDIR)$(docdir); \
	done

install-tools: $(DESTDIR)$(toolsdir)
	for f in $(TOOLS_FILES); do \
		$(INSTALL) -m 644 "$$f" $(DESTDIR)$(toolsdir); \
	done

install-hooks: $(DESTDIR)$(toolsdir)/hook-scripts contrib/hook-scripts/enforcer
	for f in tools/hook-scripts/*.pl tools/hook-scripts/*.py \
		tools/hook-scripts/mailer/*.py \
		contrib/hook-scripts/enforcer/enforcer; \
	do \
		$(INSTALL) -m 755 "$$f" $(DESTDIR)$(toolsdir)/hook-scripts; \
	done

install-docs: $(DESTDIR)$(docdir) $(DESTDIR)$(docdir)/hook-scripts
	for f in $(DOC_FILES); do \
		$(CP) -fr "$$f" $(DESTDIR)$(docdir); \
	done
	for f in $(HOOK_DOC_FILES); do \
		$(CP) -f "$$f" $(DESTDIR)$(docdir)/hook-scripts; \
	done
	$(CP) -f contrib/hook-scripts/README $(DESTDIR)$(docdir)/hook-scripts/README.contrib

install-examples: $(DESTDIR)$(docdir)
	$(CP) -r $(EXAMPLES) $(DESTDIR)$(docdir)

$(DESTDIR)$(docdir) $(DESTDIR)$(toolsdir)/hook-scripts \
$(DESTDIR)$(bindir) $(DESTDIR)$(toolsdir) $(DESTDIR)$(docdir)/hook-scripts \
contrib/hook-scripts/enforcer:
	$(MKDIR) -p $@
