all: triscore-gcc triscore-icc triscore-icc-no-prefetch

clean:
	rm *.o triscore-gcc triscore-icc triscore-icc-no-prefetch

triscore-gcc.o: triscore.c
	gcc -g -c -O2 -o triscore-gcc.o triscore.c
triscore-gcc: triscore-gcc.o main.c extern.c
	gcc -g -o triscore-gcc main.c extern.c triscore-gcc.o

triscore-icc.o: triscore.c
	icc -g -c -O2 -o triscore-icc.o triscore.c
triscore-icc: triscore-icc.o main.c extern.c
	gcc -g -o triscore-icc main.c extern.c triscore-icc.o

triscore-icc-no-prefetch.o: triscore.c
	icc -g -no-prefetch -c -O2 -o triscore-icc-no-prefetch.o triscore.c
triscore-icc-no-prefetch: triscore-icc-no-prefetch.o main.c extern.c
	gcc -g -o triscore-icc-no-prefetch main.c extern.c triscore-icc-no-prefetch.o