SV_DIR=/home/moa/projects/savane
SV_CONF=/etc/savannah
SV_CONF_INTERACTIVE=yes
SV_BIN=/usr/local/bin
PERL_INC=/usr/local/lib/site_perl
INSTALLNLSDIR=/usr/share/locale
SV_URLROOT=/savannah
SV_DB=mysql
SV_DB_NAME=savannah
SV_DB_CMD=mysql
SV_DB_OPTIONS=
MM_CGI_DIR=
WWW_SERVER_USER=www-data
 
SV_CONF_DEFAULT=/etc/savannah

# FIXME: this make is ugly but I'm no Make expert. Feel free to enhance
# (yeupou@gnu.org 2004-02-09)


ACCOUNTS = $(shell cd accounts && ls *.sh *.pl *.py)
ADMIN = $(shell cd admin && ls *.sh *.pl *.py)
CVS = $(shell cd cvs && ls *.sh *.pl *.py)
DEVEL = $(shell cd devel && ls *.sh *.pl *.py)
GNU-SPECIFIC = $(shell cd gnu-specific && ls *.sh *.pl *.py)
GNA-SPECIFIC = $(shell cd gna-specific && ls *.sh *.pl *.py)
INSTALL = $(shell cd install && ls *.sh *.pl *.py)
MAIL = $(shell cd mail && ls *.sh *.pl *.py)
MISC = $(shell cd misc && ls *.sh *.pl *.py)

UPLOAD_CHROOTED_LIB=/upload/usr/lib/

echo:
	@echo $(ACCOUNTS) $(ADMIN) $(DEVEL) $(INSTALL) $(MAIL)
	for file in $(ACCOUNTS); do \
		newfile=`echo $$file | sed s/\.pl^// | sed s/\.py^// | sed s/\.sh^//`; \
		@xecho accounts/$$file $(SV_BIN)/$$newfile; \
	done


install: install-accounts install-admin install-install install-mail install-cvs install-misc


# FIXME: I am pretty this can be reduced to one install- command
# feel free to improve that. Right now, the priority is to have something
# working.
install-accounts:
	for file in $(ACCOUNTS); do \
		newfile=`echo $$file | sed s/\\\.pl$$//g | sed s/\\\.py$$//g | sed s/\\\.sh$$//g`; \
		install accounts/$$file $(SV_BIN)/$$newfile; \
	done

install-admin:
	for file in $(ADMIN); do \
		newfile=`echo $$file | sed s/\\\.pl$$//g | sed s/\\\.py$$//g | sed s/\\\.sh$$//g`; \
		install admin/$$file $(SV_BIN)/$$newfile; \
	done

install-devel:
	for file in $(DEVEL); do \
		newfile=`echo $$file | sed s/\\\.pl$$//g | sed s/\\\.py$$//g | sed s/\\\.sh$$//g`; \
		install devel/$$file $(SV_BIN)/$$newfile; \
	done

install-gna:
	for file in $(GNA-SPECIFIC); do \
		newfile=`echo $$file | sed s/\\\.pl$$//g | sed s/\\\.py$$//g | sed s/\\\.sh$$//g`; \
		install gna-specific/$$file $(SV_BIN)/$$newfile; \
	done

install-install:
	for file in $(INSTALL); do \
		newfile=`echo $$file | sed s/\\\.pl$$//g | sed s/\\\.py$$//g | sed s/\\\.sh$$//g`; \
		install install/$$file $(SV_BIN)/$$newfile; \
	done

install-mail:
	for file in $(MAIL); do \
		newfile=`echo $$file | sed s/\\\.pl$$//g | sed s/\\\.py$$//g | sed s/\\\.sh$$//g`; \
		install mail/$$file $(SV_BIN)/$$newfile; \
	done

install-cvs:
	for file in $(CVS); do \
		newfile=`echo $$file | sed s/\\\.pl$$//g | sed s/\\\.py$$//g | sed s/\\\.sh$$//g`; \
		install cvs/$$file $(SV_BIN)/$$newfile; \
	done

install-misc:
	for file in $(MISC); do \
		newfile=`echo $$file | sed s/\\\.pl$$//g | sed s/\\\.py$$//g | sed s/\\\.sh$$//g`; \
		install misc/$$file $(SV_BIN)/$$newfile; \
	done




uninstall:
	if [ -e gnu-specific/sv_sync_www ]; then \
		rm -f $(SV_BIN)/sv_sync_www ;\
	fi
	if [ -e gnu-specific/savannah-sftp ]; then \
		rm -f $(SV_BIN)/savannah-sftp $(SV_BIN)/savannah-sftp-server $(UPLOAD_CHROOTED_LIB)/savannah-sftp-server ;\
	fi
	for file in $(SH) $(PL) $(PY); do \
		rm -f $(SV_BIN)/`basename $$file` ;\
	done
#	for file in $(ETC); do \
#		service=`echo $$file | cut -d. -f2`.d ;\
#		rm -f /etc/$$service/savannah ;\
#	done

clean:
	rm -f gnu-specific/sv_sync_www gnu-specific/savannah-sftp gnu-specific/savannah-sftp-server
	if [ -x /usr/bin/darius-mrclean ]; then /usr/bin/darius-mrclean . ; fi
	rm -f Makefile



## GNU SPECIFIC

install-gnu:
	if [ -e gnu-specific/sv_sync_www ]; then \
		install --owner webcvs --strip --mode=4555 gnu-specific/sv_sync_www  $(SV_BIN) ;\
	fi
	if [ -e gnu-specific/savannah-sftp ]; then \
		install --owner root --strip --mode=4755 gnu-specific/savannah-sftp $(SV_BIN) ;\
	fi
	for file in $(GNU-SPECIFIC); do \
		newfile=`echo $$file | sed s/\\\.pl$$//g | sed s/\\\.py$$//g | sed s/\\\.sh$$//g`; \
		install gnu-specific/$$file $(SV_BIN)/$$newfile; \
	done


sv_sync_www:
	cc -g -O2 -Wall -o gnu-specific/sv_sync_www gnu-specific/sv_sync_www.c

savannah-sftp:
	cc -g -O2 -Wall -o gnu-specific/savannah-sftp gnu-specific/savannah-sftp.c
#	cc -g -O2 -Wall -o gnu-specific/savannah-sftp-server gnu-specific/savannah-sftp-server.c