Makefile 1.77 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_SETTINGS         := ${TASKMGR_DIR}/settings_local.json
TASKMGR_SETTINGS_T       := ${TASKMGR_SETTINGS}.template
TASKMGR_DATABASE         := ${TASKMGR_DIR}/database.json
VLIBRAS_WIKILIBRAS_ENV   := /etc/profile.d/lavid/vlibras/wikilibras_env.sh
SED_REPLACE_ALL           = sed -i "s/$(1)/$(2)/g" "$(3)"
SED_REPLACE_ALL_PATH      = sed -i "s\#$(1)\#$(2)\#g" "$(3)"

-include ${VLIBRAS_WIKILIBRAS_ENV}

install: uninstall env config autostart-enable

env:
	@ ( \
	      virtualenv ./env; \
	      . ./env/bin/activate; \
	      pip install -U pip; \
	      pip install -U ndg-httpsclient; \
	      pip install -r requirements.txt; \
	  )

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

config:
	@ cp "${TASKMGR_SETTINGS_T}" "${TASKMGR_SETTINGS}"
	@ $(call SED_REPLACE_ALL,my-api-key,${PYBOSSA_API_KEY},${TASKMGR_SETTINGS})
	@ $(call SED_REPLACE_ALL,localhost,${LOCALHOST},${TASKMGR_SETTINGS})

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

autostart-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:
	@ ( \
	      . ./env/bin/activate; \
	      python main.py; \
	  )

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

.PHONY: clean config run uninstall