SHELL=/bin/sh

ARCHIVE_NAME:=jainslee_private

EPRINTS:=/usr/local/eprints
BINDIR:=$(EPRINTS)/bin

ARCHIVE_ROOT:=$(EPRINTS)/archives/$(ARCHIVE_NAME)
ARCHIVE_CONFIG:=$(EPRINTS)/archives/$(ARCHIVE_NAME).xml


.PHONY: deploy generate_apacheconf import_subjects generate_static \
	generate_abstracts generate_views restart_apache index stats


deploy:
	@announce "Copying files..."
	@sudo rsync --verbose --cvs-exclude --exclude=Makefile \
		--recursive --times . $(EPRINTS)/archives > .del-rsync-output
	@-grep $(ARCHIVE_NAME) .del-rsync-output
	@announce "Correcting ownership..."
	sudo chown -R www:www $(ARCHIVE_CONFIG) $(ARCHIVE_ROOT)
	@-grep --quiet "$(ARCHIVE_NAME)\\.xml" .del-rsync-output && $(MAKE) generate_apacheconf
	@-grep --quiet "$(ARCHIVE_NAME)/cfg/subjects" .del-rsync-output && $(MAKE) import_subjects
	@-grep --quiet "\\(otago_eprints/cfg/static/\\)\\|\\(\\.xml\\)" .del-rsync-output && $(MAKE) generate_static
	@-grep --quiet "\\(\\.pm\\)\\|\\(\\.xml\\)\|\($(ARCHIVE_NAME)/cfg/subjects\)" .del-rsync-output && $(MAKE) generate_views
	@-grep --quiet "\\($(ARCHIVE_NAME)/cfg/ArchiveRenderConfig.pm\\)\\|\\(\\.xml\\)" .del-rsync-output && $(MAKE) generate_abstracts
	@-grep --quiet "\\(\\.conf\\)\\|\\(\\.pm\\)\\|\\(\\.xml\\)" .del-rsync-output && $(MAKE) restart_apache
	@rm -f .del-rsync-output


generate_apacheconf:
	@announce "generate_apacheconf"
	@sudo -u www $(BINDIR)/$@

import_subjects generate_static generate_abstracts generate_views:
	@announce "$@ $(ARCHIVE_NAME)"
	@sudo -u www $(BINDIR)/$@ $(ARCHIVE_NAME)

restart_apache:
	@announce "Waiting for Apache to shut down..."
# 	@sudo /usr/sbin/apachectl stop
# 	@while [ -f /var/run/httpd.pid ]; do echo > /dev/null; done
	@sudo /sw/sbin/apachectl stop
	@sleep 7
	@announce "Waiting for Apache to start up..."
# 	@sudo /usr/sbin/apachectl start
# 	@while [ ! -f /var/run/httpd.pid ]; do echo > /dev/null; done
	@sudo /sw/sbin/apachectl start
	@while [ ! -f /sw/var/apache2/logs/httpd.pid ]; do echo > /dev/null; done

index:
	@announce "Rebuilding indexes..."
	@sudo -u www $(BINDIR)/indexer start --once --notdaemon

stats:
	@announce "Generating statistics..."
	@sudo -u www php $(EPRINTS)/ePrintsStats/scripts/eprints-usage.php
	@sudo -u www perl $(EPRINTS)/ePrintsStats/scripts/add_country.pl


debug:
	@echo "ARCHIVE_NAME = [$(ARCHIVE_NAME)]"
	@echo "EPRINTS = [$(EPRINTS)]"
	@echo "ARCHIVE_ROOT = [$(ARCHIVE_ROOT)]"
	@echo "ARCHIVE_CONFIG = [$(ARCHIVE_CONFIG)]"
