events: seq par buf100 deep buf1000 buf10 halfdeep otherhalfdeep deep2
	time ./Seq +RTS -N1 -ls > /dev/null
	time ./Seq +RTS -N2 -ls > /dev/null
	time ./Seq +RTS -N4 -ls > /dev/null
	time ./Seq +RTS -N8 > /dev/null
	time ./Par +RTS -N1 -ls > /dev/null
	time ./Par +RTS -N2 -ls > /dev/null
	time ./Par +RTS -N4 -ls > /dev/null
	time ./Par +RTS -N8 > /dev/null
	time ./Deep +RTS -N1 -ls > /dev/null
	time ./Deep +RTS -N2 -ls > /dev/null
	time ./Deep +RTS -N4 -ls > /dev/null
	time ./Deep +RTS -N8 > /dev/null
	time ./Deep2 +RTS -N1 -ls > /dev/null
	time ./Deep2 +RTS -N2 -ls > /dev/null
	time ./Deep2 +RTS -N4 -ls > /dev/null
	time ./Deep2 +RTS -N8 > /dev/null
	time ./HalfDeep +RTS -N1 -ls > /dev/null
	time ./HalfDeep +RTS -N2 -ls > /dev/null
	time ./HalfDeep +RTS -N4 -ls > /dev/null
	time ./HalfDeep +RTS -N8 > /dev/null
	time ./OtherHalfDeep +RTS -N1 -ls > /dev/null
	time ./OtherHalfDeep +RTS -N2 -ls > /dev/null
	time ./OtherHalfDeep +RTS -N4 -ls > /dev/null
	time ./OtherHalfDeep +RTS -N8 > /dev/null
	# time ./Buf10 +RTS -N4 -ls -s > /dev/null
	# time ./Buf100 +RTS -N4 -ls -s > /dev/null
	# time ./Buf1000 +RTS -N4 -ls -s > /dev/null

deeps: deep halfdeep otherhalfdeep deep2
	time ./Deep +RTS -N4 -ls > /dev/null
	time ./Deep2 +RTS -N4 -ls > /dev/null
	time ./HalfDeep +RTS -N4 -ls > /dev/null
	time ./OtherHalfDeep +RTS -N4 -ls > /dev/null

buf10: Buf10.hs Mandelbrot.hs
	ghc -Wall -threaded -rtsopts -eventlog Buf10.hs

buf100: Buf100.hs Mandelbrot.hs
	ghc -Wall -threaded -rtsopts -eventlog Buf100.hs

buf1000: Buf1000.hs Mandelbrot.hs
	ghc -Wall -threaded -rtsopts -eventlog Buf1000.hs

seq: Seq.hs Mandelbrot.hs
	ghc -Wall -threaded -rtsopts -eventlog Seq.hs

par: Par.hs Mandelbrot.hs
	ghc -Wall -threaded -rtsopts -eventlog Par.hs

halfdeep: HalfDeep.hs Mandelbrot.hs
	ghc -Wall -threaded -rtsopts -eventlog HalfDeep.hs

otherhalfdeep: OtherHalfDeep.hs Mandelbrot.hs
	ghc -Wall -threaded -rtsopts -eventlog OtherHalfDeep.hs

deep: Deep.hs Mandelbrot.hs
	ghc -Wall -threaded -rtsopts -eventlog Deep.hs

deep2: Deep2.hs Mandelbrot.hs
	ghc -Wall -threaded -rtsopts -eventlog Deep2.hs

.PHONY: clean

clean:
	rm -f Seq Par Buf10 Buf100 Buf1000 Deep Deep2 *.o *.hi *.eventlog HalfDeep OtherHalfDeep
