ruby=ruby

all : index.cgi ipc posixlock

index.cgi: index
	mv ./index ./index.cgi
	chmod 755 ./index.cgi

ipc:
	mkdir  ipc/ > /dev/null 2>&1 || true
	chmod 777 ipc/ > /dev/null 2>&1 || true
	mkfifo ipc/server.commands > /dev/null 2>&1 || true
	mkfifo ipc/server.environment > /dev/null 2>&1 || true
	mkfifo ipc/server.stdin > /dev/null 2>&1 || true
	mkfifo ipc/server.stdout > /dev/null 2>&1 || true
	mkfifo ipc/server.stderr > /dev/null 2>&1 || true
	touch ipc/client.lock > /dev/null 2>&1 || true
	touch ipc/server.lock > /dev/null 2>&1 || true
	chmod 777 ipc/* > /dev/null 2>&1 || true
	chmod 777 ipc/ > /dev/null 2>&1 || true
	chmod 777 . > /dev/null 2>&1 || true
	chmod 777 server.cgi 

posixlock:
	$(compile-posixlock)

define compile-posixlock
  cd ./depends/ && \
  tar xvfz ./posixlock-0.0.1.tgz && \
  cd posixlock-0.0.1 &&\
  $(ruby) extconf.rb && make && cp *.so ../../lib/ &&\
  cd ../
endef

clean:
	rm -f index.cgi
	rm -rf ./ipc
	rm -f ./lib/posixlock.so

start:
	server.cgi start 

stop:
	server.cgi stop 

restart:
	server.cgi restart 

pid:
	server.cgi pid 

status:
	server.cgi status