SHELL := /bin/bash
STANDARD_TAGS := "IO_EVT, IO_SUM, IO_TSL, IO_TSL0, IO_TSL1, IO_TSL2, IO_TSSN, MSG, IO_MONIT"

default: start

start: 
	@echo Creating tmux session...

	@tmux new-session -d -s ${SESSION_NAME}  \
	    || (echo Run \"make stop\" to close the current session.; exit 1)

	@tmux rename-window -t ${SESSION_NAME}:1 main
	@tmux split-window -v -t ${SESSION_NAME}:main
	@tmux split-window -v -t ${SESSION_NAME}:main

	@echo Launching our own ligier
	@#
	@tmux send-keys -t ${SESSION_NAME}:main.1  \
	    "JLigier -d2 -P ${MONITORING_LIGIER_PORT}" Enter

	@sleep 1  # wait a second for JLigier

	@echo Setting up the ligier mirror
	@#
	@tmux send-keys -t ${SESSION_NAME}:main.2  \
	    "ligiermirror -m \"${STANDARD_TAGS}\""  \
	                " -q ${MONITORING_LIGIER_PORT}"  \
		        " -p ${DAQ_LIGIER_PORT} ${DAQ_LIGIER_IP}"  \
		        Enter
	@echo Starting the web server on 0.0.0.0:${WEBSERVER_PORT}
	@#
	@tmux send-keys -t ${SESSION_NAME}:main.3  \
	    "FLASK_APP=km3mon.py flask run --host=0.0.0.0 --port=${WEBSERVER_PORT}" Enter
	@tmux select-layout even-vertical

	@echo Starting the monitoring scripts
	@sleep 3

	@# DOM activity and DOM rates
	@#
	@tmux new-window -n doms -t ${SESSION_NAME}
	@tmux split-window -v -t ${SESSION_NAME}:doms
	@tmux send-keys -t ${SESSION_NAME}:doms.1  \
	    "python scripts/dom_activity.py" Enter
	@tmux send-keys -t ${SESSION_NAME}:doms.2  \
	    "python scripts/dom_rates.py" Enter
	@tmux select-layout even-vertical

	@# Trigger rates
	@#
	@tmux new-window -n trigger -t ${SESSION_NAME}
	@tmux split-window -v -t ${SESSION_NAME}:trigger
	@tmux send-keys -t ${SESSION_NAME}:trigger.1  \
	    "python scripts/trigger_rates.py" Enter
	@tmux select-layout even-vertical


stop:
	tmux kill-session -t ${SESSION_NAME}

clean:
	rm Makefile

.PHONY: start stop clean