Makefile 2.75 KB
LOG         = server.log
SERVER      = server.js
BLENDER_VER = "2.74"
BLENDER_DIR = "blender-$(BLENDER_VER)-linux-glibc211-x86_64"
BLENDER_BZ2 = "$(BLENDER_DIR).tar.bz2"
BLENDER_URL = "http://download.blender.org/release/Blender$(BLENDER_VER)/$(BLENDER_BZ2)"
CACHE      += "./events.log"
CACHE      += "./server.log"
DONE        = [\33[32;5mFinalizado\33[m]
FAIL        = [\33[31;5mFalhou\33[m] Codigo: $$?

__help__:
	@echo ""
	@echo " \33[32;5m make clean   \33[0m \33[34;5m Remove os logs do servidor                   \33[0m"
	@echo " \33[32;5m make install \33[0m \33[34;5m instala todas as dependencias da API         \33[0m"
	@echo " \33[32;5m make list    \33[0m \33[34;5m lista a API se estiver ativa em background   \33[0m"
	@echo " \33[32;5m make run     \33[0m \33[34;5m conecta o servidor js ao MongoDB para testes \33[0m"
	@echo " \33[32;5m make start   \33[0m \33[34;5m inicia uma instancia da API em background    \33[0m"
	@echo " \33[32;5m make stop    \33[0m \33[34;5m finaliza a API instanciada no background     \33[0m"
	@echo ""

clean:
	@rm -rf $(CACHE)

install: uninstall .update .blender .libav .nodejs .npm .mongodb
	@echo "\33[31;5mO computador deve ser reiniciado para concluir o processo\33[0m"

uninstall: clean
	@sudo rm -rf "./node_modules"
	@sudo rm -f "./wikilibras_server"
	@sudo rm -rf "./node_modules"

.blender:
	@sudo apt-get -y install blender
	@test -d "/usr/share/blender$(BLENDER_VER)/" || make -s .blender_stable

.blender_stable:
	@wget $(BLENDER_URL) -NcO ""$$HOME"/$(BLENDER_DIR).tar.bz2"
	@cd "$$HOME" && \
	tar -xf $(BLENDER_BZ2) && \
	sudo rm -rf "/usr/share/blender$(BLENDER_VER)/" && \
	sudo mv -f "$(BLENDER_DIR)" "/usr/share/blender$(BLENDER_VER)" && \
	sudo ln -sf "/usr/share/blender$(BLENDER_VER)/blender" "/usr/bin/blender" && \
	sudo ln -sf "/usr/share/blender$(BLENDER_VER)/blenderplayer" "/usr/bin/blenderplayer"

.libav:
	@sudo apt-get -y install libav-tools

.mongodb:
	@sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
	@echo "deb http://repo.mongodb.org/apt/ubuntu "$$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee "/etc/apt/sources.list.d/mongodb-org-3.0.list"
	@sudo apt-get update
	@sudo apt-get install -y mongodb-org
	@sudo rm "/etc/apt/sources.list.d/mongodb-org-3.0.list"

.nodejs:
	@sudo apt-get -y install nodejs
	@sudo ln -sf "/usr/bin/nodejs" "/usr/bin/node"

.npm:
	@sudo apt-get -y install gcc make build-essential npm
	@sudo ln -sf "$$HOME" "wikilibras_server"
	@sudo npm cache clean
	@sudo npm install -g forever node-gyp cors
	@sudo npm link forever node-gyp cors
	@sudo npm install

.update:
	@sudo apt-get update

list:
	@forever list

run:
	@nodejs $(SERVER)

start:
	@forever start --spinSleepTime 1000 --minUptime 1000 -a -l $(LOG) -o $(LOG) -e $(LOG) $(SERVER)

stop:
	@forever stop $(SERVER)