number_of_numbers=1_000_000_000
# number_of_numbers=100
samples=5
threads=$(shell expr `./num-cores` + 1)

go: clean
	/usr/local/micropython-1.15/bin/micropython ./test-thread --max-threads ${threads} --number-of-numbers ${number_of_numbers} --samples ${samples}
	/usr/local/pypy3-7.3.3/bin/pypy3 ./test-thread --max-threads ${threads} --number-of-numbers ${number_of_numbers} --samples ${samples}
	/usr/local/cpython-3.9/bin/python3 ./test-thread --max-threads ${threads} --number-of-numbers ${number_of_numbers} --samples ${samples}
	/usr/local/cpython-3.9/bin/python3 -m nuitka test-thread
	./test-thread.bin --max-threads ${threads} --number-of-numbers ${number_of_numbers} --samples ${samples}
	./gen-gp > graph.gp
	gnuplot graph.gp

clean:
	rm -f *.dat graph.gp graph.ps graph.pdf graph.svg test-thread.bin
	rm -rf test-thread.build

install-deps:
	./install-package --deb-packages gnuplot --brew-packages gnuplot
	./install-via-pip \
		--pip-path /usr/local/cpython-3.9/bin/pip \
		--python-path /usr/local/cpython-3.9/bin/python3 \
		--module-to-import nuitka \
		--pip-package nuitka