# Jonathan Frech, 2022-09-03
# see: https://blog.jfrech.com/263/

.PHONY: test
test:
	make download
	make compile
	./bin-cpp >.tests-hs
	./bin-hs <.tests-hs

.PHONY: download
download:
	[ -f sort-via.cpp ] || curl -fsSL https://blog.jfrech.com/263/sort-via.cpp -o sort-via.cpp
	[ -f sort-via.hs ] || curl -fsSL https://blog.jfrech.com/263/sort-via.hs -o sort-via.hs

.PHONY: compile
compile:
	echo Ly5jb21waWxhdGlvbi1maWxlcy1ocy8KLy50ZXN0cy1ocwovYmluLWNwcAovYmluLWhzCg== | base64 -d >.gitignore
	c++ -std=c++20 -Wall -Wextra -Wpedantic -Wswitch-enum -Werror -O3 sort-via.cpp -o bin-cpp
	ghc -outputdir .compilation-files-hs sort-via.hs -o bin-hs
