SRC = dmon.science.uu.nl::dmon-dev
VERSION = 0.0.5-p280
OPT = 
DMON = dmon
MAKR = mk-dmon-work
PAGE = gen-dmon-page
USER = users-dmon
PLOT = plotter.php
PRBS = probes
INIT = init.d
CONF = conf
SERVICE = dmon.service
DIST = dist
ETC  = /etc
BIN  = /usr/sbin
MAN  = /usr/share/man
MAN8 = ${MAN}/man8
WWW  = /var/www/dmon.science.uu.nl
VAR  = /var/dmon
UPGR = ${VAR}/upgrade
PMKR = ${WWW}/cgi-bin/${PAGE}
PLTR = ${WWW}/html/${PLOT}
SYSD = /usr/lib/systemd/system

OBJ1 = ${BIN}/${DMON} ${BIN}/${MAKR} ${BIN}/${USER} ${ETC}/${DMON}/${CONF}
OBJ2 = ${ETC}/${INIT}/${DMON} 
OBJ3 = ${MAN8}/${DMON}.8
OBJS = ${OBJ1} ${OBJ3}

help :
	@echo "DMON Version : ${VERSION}" ;
	@echo "make get-n   : get dmon-files (dry run)" ;
	@echo "make get-dmon  : get dmon-files from dmon" ;
	@echo "make install : install dmon files" ;
	@echo "make probe   : get and update probes" ;
	@echo "make systemd : install dmon.service and start" ;
	@echo "make up	    : get upgrade files, and install" ;
	@echo "make www	    : make webserver-config" 	

get-n :
	${MAKE} OPT=-n get-dmon

get-dmon :
	rsync ${OPT} -avzc --no-o --delete ${SRC}/ .

install : ${OBJS}
	test -d ${VAR}/${PRBS} || mkdir -p ${VAR}/${PRBS}
	rsync -avzc --delete ${PRBS}/ ${VAR}/${PRBS}/
	if test -f ${ETC}/dmon/work ;\
	then test -d ${UPGR} || mkdir -p ${UPGR} ;\
	     cp -p ${DMON} ${UPGR} ;\
	     cp -p upgrade.mk ${UPGR}/Makefile ;\
	     rsync -avzc --delete ${PRBS}/ ${UPGR}/${PRBS}/ ;\
	fi
	${MAKE} systemd

probe : 
	${MAKE} get-dmon ;\
	rsync -avzc --delete ${PRBS}/ ${VAR}/${PRBS}

systemd :
	cp -p ${SERVICE} ${SYSD}/ ;\
	systemctl daemon-reload ;\
	systemctl enable dmon ;\
	systemctl start dmon	

up : 
	${MAKE} get-dmon
	${MAKE} install

www : ${PMKR} ${PLTR}

${BIN}/${DMON} : ${DMON}
	cp $< $@

${BIN}/${MAKR} : ${MAKR}
	cp $< $@

${BIN}/${USER} : ${USER}
	cp $< $@

${ETC}/${DMON} :
	mkdir ${ETC}/${DMON}

${ETC}/${DMON}/${CONF} : ${DMON}.${CONF}.${DIST} ${ETC}/${DMON}
	test -f ${ETC}/${DMON}/${CONF} || cp $< $@

${ETC}/${INIT}/${DMON} : ${INIT}
	cp $< $@
	chkconfig --list ${DMON} > /dev/null 2>&1 || chkconfig --add dmon
	chkconfig ${DMON} resetpriorities
	chkconfig --list ${DMON}

${MAN8}/${DMON}.8 : ${DMON}.8
	cp $< $@

${PMKR} : ${PAGE}
	mv -f $@ $@.old
	cp $< $@

${PLTR} : ${PLOT}
	mv -f $@ $@.old
	cp $< $@

diff :
	-diff -s ${BIN}/${DMON} ${DMON}
	-diff -s ${BIN}/${MAKR} ${MAKR}
	-diff -s ${BIN}/${USER} ${USER}

