#CFLAGS= -O3  -std=c99  -I/usr/include/malloc/
CFLAGS= -O3 -xhost -ipo -fma -qopenmp
LIBRARIES=-lm
#CC?=gcc
CC=icc
OBJS = osp_sq.o 
all: plain check verify verify-rand

debug: CFLAGS =-DDEBUG -g -Wall -Wextra -std=c99 -I/usr/include/malloc/
debug: all
		
plain: $(OBJS)
	$(CC) osp_sq-wrapper.c -o osp_sq $(OBJS) $(CFLAGS) $(LIBRARIES)

check: $(OBJS)
	$(CC) osp_sq-wrapper.c -o osp_sq.check $(OBJS) $(CFLAGS) $(LIBRARIES) -DCHECKING

verify: $(OBJS) osp_sq_verify.o
	$(CC) osp_sq-wrapper.c -o osp_sq.verify $(OBJS) osp_sq_verify.o $(CFLAGS) $(LIBRARIES) -DVERIFY

verify-rand: $(OBJS) osp_sq_verify.o
	$(CC) osp_sq-wrapper.c -o osp_sq.verify-rand $(OBJS) osp_sq_verify.o $(CFLAGS) $(LIBRARIES) -DVERIFY -DRANDOM

osp_sq.o : osp_sq.c
	$(CC) osp_sq.c -o osp_sq.o $(CFLAGS) $(LIBRARIES) -c

osp_sq_verify.o : osp_sq_verify.c
	$(CC) osp_sq_verify.c -o osp_sq_verify.o $(CFLAGS) $(LIBRARIES) -c

clean:
	rm -f *.o osp_sq osp_sq.check osp_sq.verify osp_sq.verify-rand
