use_accelerate ?= 0

CC = gcc
CFLAGS = -Wall -Wextra -Wpedantic
CFLAGS += -O3 -march=native
LIBS = -lopenblas

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: cblas_dgemm blas_dgemm

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

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


clean:
	rm -f cblas_dgemm blas_dgemm
