Newer
Older
Digital_Repository / Repositories / otago_eprints / Makefile
SHELL=/bin/sh

ARCHIVE_NAME:=otago_eprints

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

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


.PHONY: deploy restart


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


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

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

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


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