SRCDIR=../../src
#CXXFLAGS=-I$(SRCDIR) -I../BaseSparseMultiply -O0 -g
#FFLAGS=-O0 -g
FC=g77
CXXFLAGS=-I$(SRCDIR) -I../BaseSparseMultiply -O5 -funroll-all-loops -malign-double
FFLAGS=-O5 -funroll-all-loops -malign-double
TARGET=BaseSparseSolve.exe
SRC=cxx_main.cpp scsrmm2a5.f
OBJ_EXT=o
#OBJ=$(SRC:.cpp=.$(OBJ_EXT)) $(SRC:.f=.$(OBJ_EXT))
OBJ=cxx_main.o scsrmm2a5.o Kokkos_dcrsmv.o Kokkos_dcrsmm.o

$(TARGET): $(OBJ)
	$(CXX) -o $(TARGET) $(OBJ) -lblas -lg2c -lm

cxx_main.o: cxx_main.cpp ../BaseSparseMultiply/GenerateHbProblem.hpp $(SRCDIR)/*.hpp
Kokkos_dcrsmv.o: $(SRCDIR)/Kokkos_dcrsmv.f
	$(FC) -c $(FFLAGS) -o Kokkos_dcrsmv.o $(SRCDIR)/Kokkos_dcrsmv.f
Kokkos_dcrsmm.o: $(SRCDIR)/Kokkos_dcrsmm.f
	$(FC) -c $(FFLAGS) -o Kokkos_dcrsmm.o $(SRCDIR)/Kokkos_dcrsmm.f

clean:
	rm -rf $(OBJ) $(TARGET) *~

again: clean $(TARGET)
