Files @ b46f6977168b
Branch filter:

Location: light9/makefile

Drew Perttula
start pixijs on timeline
Ignore-this: 51ad366ddfeae2af2b621d714ff1f9c1
### setup ###

packages:
	sudo aptitude install coffeescript normalize-audio audacity python-pygame libffi-dev tix libzmq3-dev python-dev libssl-dev python-opencv python-cairo npm git python-virtualenv nginx-full python-tk

gst_packages:
	sudo aptitude install python-gi gir1.2-gst-plugins-base-1.0 libgirepository-1.0-1 gir1.2-gstreamer-1.0 gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-pulseaudio python-gst-1.0 python-pygoocanvas gir1.2-goocanvas-2.0

PYTHON=/usr/bin/pypy
PYTHON=/usr/bin/python

create_virtualenv:
	mkdir -p env
	virtualenv -p $(PYTHON) env
	env/bin/pip install -U pip
	ln -sf ../env/bin/python bin/python


install_python_deps: link_to_sys_packages
	env/bin/pip install twisted
	env/bin/pip install -U -r requirements.txt

DP=/usr/lib/python2.7/dist-packages
SP=env/lib/python2.7/site-packages

link_to_sys_packages:
	# http://stackoverflow.com/questions/249283/virtualenv-on-ubuntu-with-no-site-packages
	ln -sf $(DP)/glib $(SP)/
	ln -sf $(DP)/gi $(SP)/
	ln -sf $(DP)/gobject $(SP)/
	ln -sf $(DP)/cairo $(SP)/
	ln -sf $(DP)/gtk-2.0 $(SP)/
	ln -sf $(DP)/pygtk.py $(SP)/
	ln -sf $(DP)/pygtk.pth $(SP)/
	ln -sf $(DP)/pygst.pth $(SP)/
	ln -sf $(DP)/pygst.py $(SP)/
	ln -sf $(DP)/gst-0.10 $(SP)/
	ln -sf $(DP)/goocanvasmodule.so $(SP)/
	ln -sf $(DP)/cv2.x86_64-linux-gnu.so $(SP)/
	ln -sf $(DP)/cv.py $(SP)/

binexec:
	chmod a+x bin/*


node_modules/bower/bin/bower:
	npm install

bin/node:
	ln -sf `which nodejs` bin/node

bower: node_modules/bower/bin/bower bin/node
	cd light9/web/lib; nodejs ../../../node_modules/bower/bin/bower install
	# pixi is fetched with npm
	ln -s ../../../node_modules/pixi.js light9/web/lib/

	cd light9/web/lib/N3.js; npm install; PATH=../../../../bin:$(PATH) npm run browser

	cd light9/web/lib/d3; PATH=../../../../bin:$(PATH) npm install

bin/ascoltami2: gst_packages link_to_sys_packages

effect_node_setup: create_virtualenv packages binexec install_python_deps

tkdnd_build:
	# get tkdnd r95 with subversion
	# then apply tkdnd-patch-on-r95 to that
	cd tkdnd/trunk
	./configure
	make

env-mypy/bin/mypy:
	mkdir -p env-mypy
	virtualenv -p /usr/bin/python3  env-mypy/
	env-mypy/bin/pip install mypy==0.510 lxml==3.7.3

### build ###

coffee:
	zsh -c 'coffee -cw light9/web/{.,live,timeline,paint,effects}/*.coffee'

mypy-collector: env-mypy/bin/mypy
	env-mypy/bin/mypy --py2 --ignore-missing-imports --strict-optional --custom-typeshed-dir stubs --html-report /tmp/rep bin/collector light9/collector/*.py

mypy-paint: env-mypy/bin/mypy
	env-mypy/bin/mypy --py2 --ignore-missing-imports --strict-optional --custom-typeshed-dir stubs --html-report /tmp/rep light9/paint/*.py

### show ###

darcs_show_checkpoint:
	darcs add --quiet --recursive ${LIGHT9_SHOW} 
	darcs rec -a -m "checkpoint show data" ${LIGHT9_SHOW}

### pi setup ###

raspberry_pi_packages:
	sudo apt-get install python-picamera python-dev python-twisted python-virtualenv

raspberry_pi_virtualenv:
	mkdir -p env_pi
	virtualenv --system-site-packages env_pi
	env_pi/bin/pip install cyclone 'coloredlogs==6.0'

### arduino build ###

/usr/share/arduino/Arduino.mk:
	sudo aptitude install arduino-mk

arduino_upload: /usr/share/arduino/Arduino.mk
	cd rgbled
	make upload

### testing ###

NOSEARGS="--no-path-adjustment light9.rdfdb.rdflibpatch light9.rdfdb.patch light9.effecteval.test_effect light9.collector light9.rdfdb.graphfile_test light9.paint light9.effect"

tests:
	eval env/bin/nosetests -x $(NOSEARGS)

tests_watch:
	eval env/bin/nosetests --with-watcher $(NOSEARGS)


tests_coverage:
	eval env/bin/nosetests --with-coverage --cover-erase --cover-html --cover-html-dir=/tmp/light9-cov/  --cover-package=light9 --cover-branches $(NOSEARGS)

test_js_init:
	npm install

test_js:
	coffee -c light9/web/*.coffee
	node_modules/mocha/bin/mocha --compilers coffee:coffee-script/register --globals window,N3 light9/web/graph_test.coffee

test_js_watch:
	# have coffee continuously running
	watch -c node_modules/mocha/bin/mocha --compilers coffee:coffee-script/register --globals window,N3 light9/web/graph_test.coffee --colors