Makefile 2.41 KB
TASKMGR_DIR             = $(CURDIR)
TASKMGR_INIT_SCRIPT     = wikilibras-taskmgr
TASKMGR_INIT            = ${TASKMGR_DIR}/${TASKMGR_INIT_SCRIPT}
TASKMGR_ETC_INIT        = /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

PATH_CORRETOR           = $(subst $(shell basename "$(CURDIR)"),corretor_sinais,$(CURDIR))
PATH_VALIDADOR          = $(subst $(shell basename "$(CURDIR)"),validador_sinais,$(CURDIR))
PATH_WIKILIBRAS         = $(subst $(shell basename "$(CURDIR)"),wikilibrasV2,$(CURDIR))

SED_REPLACE_ALL_PATH    = sed -i "s\#$(1)\#$(2)\#g" "$(3)"

install: uninstall build config startup-enable

build:
	@ ( \
	      cd "${TASKMGR_DIR}"; \
	      virtualenv ./env; \
	      . ./env/bin/activate; \
	      pip install -U pip; \
	      pip install -r requirements.txt; \
	  )

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

config:
	@ cp "${TASKMGR_SETTINGS_T}" "${TASKMGR_SETTINGS}"
	@ $(call SED_REPLACE_ALL_PATH,<path-to-corretor>,${PATH_CORRETOR},${TASKMGR_SETTINGS})
	@ $(call SED_REPLACE_ALL_PATH,<path-to-validador>,${PATH_VALIDADOR},${TASKMGR_SETTINGS})
	@ $(call SED_REPLACE_ALL_PATH,<path-to-wikilibras>,${PATH_WIKILIBRAS},${TASKMGR_SETTINGS})

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

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

run:
	@ ( \
	      cd "${TASKMGR_DIR}"; \
	      . ./env/bin/activate; \
	      python main.py; \
	  )

uninstall: clean startup-disable
	@ rm -rf ./env/

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