default: go10

go10:
	# ./pybenoit --left-real -2.2 --right-real 0.0 --top-imaginary 0.0 --bottom-imaginary 1.8 --real-image-steps 1000 --imaginary-image-steps 950 > t.ppm
	# ./pybenoit --left-real -1.1 --right-real -0.55 --top-imaginary 0.0 --bottom-imaginary 0.6 --real-image-steps 1000 --imaginary-image-steps 950 > t.ppm
	# ./pybenoit --left-real -0.825 --right-real -0.55 --top-imaginary 0.0 --bottom-imaginary 0.3 --real-image-steps 1000 --imaginary-image-steps 950 > t.ppm
	# ./pybenoit --left-real -0.825 --right-real -0.6875 --top-imaginary 0.0 --bottom-imaginary 0.15 --real-image-steps 1000 --imaginary-image-steps 950 > t.ppm
	./pybenoit --side-nursery > t.ppm
	pnmtopng < t.ppm > t.png
	xzgv t.png

go9:
	# ./pybenoit --left-real -1.1 --right-real 0.0 --top-imaginary 0 --bottom-imaginary 0.8 --real-image-steps 1000 --imaginary-image-steps 950 > t.ppm
	# ./pybenoit --left-real -0.8 --right-real -0.4 --top-imaginary 0.4 --bottom-imaginary 0.8 --real-image-steps 1000 --imaginary-image-steps 950 > t.ppm
	# ./pybenoit --left-real -0.55 --right-real -0.4 --top-imaginary 0.6 --bottom-imaginary 0.65 --real-image-steps 1000 --imaginary-image-steps 950 > t.ppm
	# ./pybenoit --left-real -0.51 --right-real -0.45 --top-imaginary 0.62 --bottom-imaginary 0.64 --real-image-steps 1000 --imaginary-image-steps 950 > t.ppm
	# ./pybenoit --left-real -0.51 --right-real -0.45 --top-imaginary 0.62 --bottom-imaginary 0.65 --real-image-steps 1000 --imaginary-image-steps 950 > t.ppm
	./pybenoit --arms > t.ppm
	pnmtopng < t.ppm > t.png
	xzgv t.png

go8:
	./pybenoit | pnmtopng > one.png
	./pybenoit --left | pnmtopng > two.png
	./pybenoit --right | pnmtopng > three.png
	./pybenoit --top | pnmtopng > four.png
	./pybenoit --arms | pnmtopng > five.png
	./pybenoit --side-nursery | pnmtopng > six.png

go7:
	# /usr/local/pypy3-7.3.9/bin/pypy3 ./pybenoit --top > one.ppm
	./pybenoit --top > one.ppm
	pnmtopng one.ppm > one.png
	xzgv one.png

go6:
	# ./pybenoit --left-real -0.2 --right-real 0.0 --top-imaginary -1.8 --bottom-imaginary 0.0 > one.ppm
	# ./pybenoit --left-real -0.2 --right-real -0.1 --top-imaginary -1.6 --bottom-imaginary -0.6 > one.ppm
	# ./pybenoit --left-real -0.2 --right-real -0.1 --top-imaginary -1.6 --bottom-imaginary -0.8 > one.ppm
	# ./pybenoit --left-real -0.2 --right-real -0.1 --top-imaginary -1.2 --bottom-imaginary -0.8 > one.ppm
	# ./pybenoit --left-real -0.2 --right-real -0.1 --top-imaginary -1.2 --bottom-imaginary -0.95 > one.ppm
	# ./pybenoit --left-real -0.2 --right-real -0.1 --top-imaginary -1.075 --bottom-imaginary -0.95 > one.ppm
	./pybenoit --top > one.ppm
	pnmtopng one.ppm > one.png
	xzgv one.png

go5:
	# ./pybenoit --no-axes --real-image-steps 800 --imaginary-image-steps 800 --left-real 0.23 --right-real 0.3 --top-imaginary -0.05 --bottom-imaginary 0.05 > one.ppm
	# ./pybenoit --no-axes --real-image-steps 800 --imaginary-image-steps 800 --left-real 0.24 --right-real 0.3 --top-imaginary -0.04 --bottom-imaginary 0.04 > one.ppm
	./pybenoit --right > one.ppm
	pnmtopng one.ppm > one.png
	xzgv one.png

go4:
	./pybenoit --real-image-steps 800 --left-real -1.79 --right-real -1.73 --top-imaginary -0.08 --bottom-imaginary 0.08 > one.ppm
	pnmtopng one.ppm > one.png
	xzgv one.png

go3:
	./pybenoit

go2:
	python3 -m pudb ./pybenoit

go:
	./pybenoit > one.ppm
	pnmtopng one.ppm > one.png
	xzgv one.png

deps-for-cpython:
	./install-via-pip --python-path `which python3` --module-to-import gmpy2 --pip-package gmpy2
	./install-package --deb-packages netpbm --rpm-packages netpbm --brew-packages netpbm

deps-for-pypy3:
	./install-package --deb-packages 'netpbm libgmp-dev libmpfr-dev libmpc-dev' --rpm-packages netpbm --brew-packages netpbm
	./install-via-pip --python-path /usr/local/pypy3-7.3.9/bin/pypy3 --module-to-import gmpy_cffi --pip-package gmpy_cffi

install: deps-for-cpython
# install: deps-for-pypy3
	cp pybenoit ~/bin/.

clean:
	rm -f *.png *.ppm
	rm -rf .ruff_cache