use_accelerate ?= 0

CC = gcc
CFLAGS = -Wall -Wextra -Wpedantic
CFLAGS += -O3 -fopenmp -mavx2 -mfma -march=native
# LIBS = -lopenblas
LIBS = -lopenblaso

UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
	CC=gcc
	CFLAGS += -I/usr/include/openblas
endif

ifeq ($(UNAME_S),Darwin)
	CC=gcc-12

ifeq (use_accelerate, 1)
	LIBS =  -framework Accelerate
else
	CFLAGS += -I/usr/local/Cellar/openblas/0.3.21/include/
	LIBS = -L/usr/local/Cellar/openblas/0.3.21/lib -lopenblas
endif

endif

.PHONY: all
all: dgemv1 dgemv2

dgemv1: dgemv1.c
	$(CC) $(CFLAGS) -o $@ $^ $(LIBS)

dgemv2: dgemv2.c
	$(CC) $(CFLAGS) -o $@ $^ $(LIBS)


clean:
	rm -f dgemv1 dgemv2


cleanall:
	rm -f dgemv1 dgemv2 *.dat
