Files @ 2973ec5df7e4
Branch filter:

Location: light9/makefile

drewp@bigasterisk.com
add dep
### setup ###

packages:
	sudo aptitude install -y \
		audacity \
		coffeescript \
		curl \
		git \
		libblas-dev \
		libcairo2-dev \
		libffi-dev \
		libjpeg8-dev \
		liblapack-dev \
		libssl-dev \
		libzmq3-dev \
		mercurial \
		nginx-core \
		nginx-full \
		normalize-audio \
		python3-cairo-dev \
		python3-dev \
		python3-opencv \
		python3-pygame \
		python3-tk \
		sox \
		tix \
		zlib1g-dev

gst_packages:
	sudo aptitude install -y \
		gir1.2-goocanvas-2.0 \
		gir1.2-gst-plugins-base-1.0 \
		gir1.2-gstreamer-1.0 \
		gstreamer1.0-plugins-good \
		gstreamer1.0-pulseaudio \
		gstreamer1.0-tools \
		libgirepository-1.0-1 \
		libgirepository1.0-dev \
		python3-gi \
		python3-gst-1.0

pnpm:
	sudo npm install -g pnpm@7.29.3

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

pdm_local_install:
	# drew has ~/bin in $PATH
	pip install "pdm==1.15.0"
	ln -s ../.local/bin/pdm ~/bin

js:
	pnpm install --reporter append-only

py:
	pdm sync

setup: packages gst_packages pnpm js py

deps: js py


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

push_github:
	hg bookmark -r default main && hg push git+ssh://git@github.com/drewp/light9.git

pull_github:
	hg pull git+ssh://git@github.com/drewp/light9.git

### build ###

coffee:
	zsh -c 'cd light9/web; ../../node_modules/coffeescript/bin/coffee --map -cw {.,live,timeline,paint,effects}/*.coffee'

### show ###

qlc_artnet_dmx_proxy:
	qlcplus --open cur/qlc.qxw

no_screen_blanking:
	xset s off
	xset -dpms

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 python3-picamera python3-dev python3-twisted python3-virtualenv

raspberry_pi_virtualenv:
	mkdir -p env_pi
	virtualenv -p /usr/bin/python3 --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 pdm run nosetests -x $(NOSEARGS)

tests_watch:
	eval pdm run nosetests --with-watcher $(NOSEARGS)


tests_coverage:
	eval pdm run 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:
	pnpx coffee -c light9/web/*.coffee
	pnpx mocha --compilers coffee:coffee-script/register --globals window,N3 light9/web/graph_test.coffee

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

profile_seq:
	echo in lib, get https://github.com/uber/pyflame.git and https://github.com/brendangregg/FlameGraph.git
	sudo lib/pyflame/src/pyflame  -s 10 -p `pgrep -f effectsequencer` | perl -lpe 's,/home/drewp/projects-local/light9/,,g; s,env/local/lib/python2.7/site-packages/,,g;' | lib/FlameGraph/flamegraph.pl --width 2500 > /tmp/fl.svg