Makefile 1.78 KB
TASKMGR_DIR             = $(CURDIR)
TASKMGR_INIT_SCRIPT     = wikilibras-taskmgr.init
TASKMGR_INIT            = ${TASKMGR_DIR}/${TASKMGR_INIT_SCRIPT}
TASKMGR_INIT_ETC        = /etc/init.d/${TASKMGR_INIT_SCRIPT}
TASKMGR_LOG             = ${TASKMGR_DIR}/events.log
TASKMGR_REQUIREMENTS    = ${TASKMGR_DIR}/requirements.txt
TASKMGR_ENV             = ${TASKMGR_DIR}/env
TASKMGR_ENV_BIN         = ${TASKMGR_ENV}/bin
TASKMGR_ENV_ACTIVATE    = ${TASKMGR_ENV_BIN}/activate
TASKMGR_ENV_PYTHON      = ${TASKMGR_ENV_BIN}/python
TASKMGR_ENV_PIP         = ${TASKMGR_ENV_BIN}/pip
TASKMGR_SETTINGS        = ${TASKMGR_DIR}/settings_local.json
TASKMGR_SETTINGS_T      = ${TASKMGR_SETTINGS}.template
TASKMGR_DATABASE        = ${TASKMGR_DIR}/database.json
TASKMGR_DATABASE_B      = ${TASKMGR_PROJECT}.bak

install: build enable-startup

build: uninstall
	@rm -f ${TASKMGR_LOG}
	@( \
	    cd ${TASKMGR_DIR}; \
	    virtualenv ${TASKMGR_ENV}; \
	    . ${TASKMGR_ENV_ACTIVATE}; \
	    ${TASKMGR_ENV_PIP} install -U pip; \
	    ${TASKMGR_ENV_PIP} install -r ${TASKMGR_REQUIREMENTS}; \
	)

clean:
	@find ${TASKMGR_DIR} -regextype posix-awk -regex "(.*.log|.*.pyc)" -type f -delete

disable-startup:
	@sudo update-rc.d -f ${TASKMGR_INIT_SCRIPT} remove
	@sudo rm -f ${TASKMGR_INIT_ETC}

enable-startup:
	@sed "s#<path-to-project>#${TASKMGR_DIR}#" ${TASKMGR_INIT} | sudo tee ${TASKMGR_INIT_ETC}
	@sudo chmod 755 ${TASKMGR_INIT_ETC}
	@sudo chown "root:root" ${TASKMGR_INIT_ETC}
	@sudo update-rc.d -f ${TASKMGR_INIT_SCRIPT} defaults

run:
	@( \
	    cd ${TASKMGR_DIR}; \
	    . ${TASKMGR_ENV_ACTIVATE}; \
	    ${TASKMGR_ENV_PYTHON} ${TASKMGR_DIR}/main.py; \
	)

uninstall: clean disable-startup
	@rm -rf ${TASKMGR_ENV}

reset:
	@if [ -e "${TASKMGR_DATABASE}" ]; then cat ${TASKMGR_DATABASE}; echo ""; sudo rm -f ${TASKMGR_DATABASE} ${TASKMGR_LOG}; fi