CXX =/usr/local/gcc-4.3-20070720/bin/g++
CXXFLAGS =-g -O3 -march=native -ffast-math -fno-exceptions -fno-rtti

TARGETS = sf.v0 sf.v1 sf.v2 sf.v3 sf.v4 sf.v5

sf.v0: CXXFLAGS+=-DVARIATION=0
sf.v1: CXXFLAGS+=-DVARIATION=1
sf.v2: CXXFLAGS+=-DVARIATION=2
sf.v3: CXXFLAGS+=-DVARIATION=3
sf.v4: CXXFLAGS+=-DVARIATION=4
sf.v5: CXXFLAGS+=-DVARIATION=5

all: $(TARGETS)

bench: $(TARGETS)
	@for bin in $^; do echo $${bin}; time ./$${bin} 8 > $${bin}.ppm; done

$(TARGETS): sf.cc
	$(CXX) $(CXXFLAGS) -o $@ $< 

disas-%: %
	objdump -Cd $*|less

clean:
	-rm -f $(TARGETS)
