python_version=2.6

go: quick_sort.so quick_sort_py.py
	rm -f *.dat
	./test-quick-sort

# unused, but nice to know it's there
quick_sort_py.py: quick_sort.m4
	m4 -Dm4py=1 < quick_sort.m4 > quick_sort_py.py

quick_sort.pyx: quick_sort.m4
	m4 -Dm4pyx=1 < quick_sort.m4 > quick_sort.pyx
	
quick_sort.c: quick_sort.pyx
	cython quick_sort.pyx

quick_sort.o: quick_sort.c
	gcc -O3 -c -fPIC -I /usr/include/python$(python_version) quick_sort.c

quick_sort.so: quick_sort.o
	gcc -shared quick_sort.o -o quick_sort.so

graph.ps: quick_sort.dat tim_sort.dat graph-ps.gp
	gnuplot graph-ps.gp

clean:
	rm -f *.dat graph.ps quick_sort.pyx quick_sort.c *.so *.o quick_sort.py