PWD = $(shell pwd)
SERVICECONFIG = $(PWD)/../../../cfg/services/services.local.$(USER).xml
MODULE = wiki-editor
PIDFILE = $(PWD)/$(MODULE).pid
STARTAS = $(PWD)/bin/daemon/$(MODULE)
SOCKETFILE = /tmp/yandex-maps-$(MODULE)-$(USER).sock
EDITOREXPORT = /var/tmp/editor-export-$(USER)

build:
	(cd bin/daemon/ && ya make)
	(cd ../../../cfg/editor/externals && ya make)
	(cd ../../../cfg/editor && ya make)

make-editor-exports:
	mkdir -p $(EDITOREXPORT)
	chmod a+r $(EDITOREXPORT)
	(cd ../../../cfg/editor && find * -type f -name '*.xml' | xargs tar -czf $(EDITOREXPORT)/config.tgz)

clean-editor-exports:
	rm -rf $(EDITOREXPORT)

test:
	ya make -A

stop: clean-editor-exports
	if [ -e $(PIDFILE) ]; then \
		if [ -f /proc/`head -1 $(PIDFILE)`/status ]; then \
			/sbin/start-stop-daemon --stop --pidfile $(PIDFILE) --retry 3 ;\
			rm -f $(PIDFILE); \
		fi; \
	fi
	if [ -S $(SOCKETFILE) ]; then rm -fv $(SOCKETFILE); fi;
	rm -f nohup.out

start: build stop make-editor-exports
	ulimit -c unlimited; YCR_MODE=fastcgi:$(SOCKETFILE) nohup /sbin/start-stop-daemon -m --pidfile $(PIDFILE) --start --startas $(STARTAS) $(SERVICECONFIG) &
	while ! ( test -S $(SOCKETFILE) ); do sleep 1; echo -n '.'; done ; echo
	chmod a+rw $(SOCKETFILE)
