OPT = -O3 -march=native -fomit-frame-pointer -DDEBUG -ffast-math -frename-registers -ggdb3  -Wall -Wextra -Wswitch-enum 

all: main.cpp
	g++-4.2 ${OPT} -o benchmark-4.2 main.cpp 
	g++-4.2 ${OPT} -DSLOW -o benchmark-slow-4.2 main.cpp 
	g++-4.3 ${OPT} -o benchmark-4.3 main.cpp 
	g++-4.3 ${OPT} -DSLOW -o benchmark-slow-4.3 main.cpp 

just:
	g++ ${OPT} -o benchmark main.cpp 
asm:
	g++-4.2 ${OPT} -S -c -DSLOW -o slow.s main.cpp 
	g++-4.2 ${OPT} -S -c -o fast.s main.cpp 

clean:
	rm -f *.s *.o .depend gmon.out
	rm -f benchmark-4.? benchmark-slow-4.?
	rm -f *~
	rm -f *.orig
