include ../../../conf/Makefile.inc

LIBDIR = $(NETSOLVE_ROOT)/lib/$(NETSOLVE_ARCH)
OBJDIR = $(NETSOLVE_ROOT)/obj/$(NETSOLVE_ARCH)


#######################################################################
#  This is the makefile to create a library for the BLAS.
#######################################################################

BLASLIB = $(LIBDIR)/libblas.a

default : $(LIBDIR) $(OBJDIR) blaslib

$(OBJDIR) :
	mkdir -p $(OBJDIR)
$(LIBDIR) :
	mkdir -p $(LIBDIR)


OBJ = \
$(OBJDIR)/daxpy.o \
$(OBJDIR)/sdot.o \
$(OBJDIR)/idamax.o \
$(OBJDIR)/dtrmv.o \
$(OBJDIR)/dswap.o \
$(OBJDIR)/dscal.o \
$(OBJDIR)/dnrm2.o \
$(OBJDIR)/dtrsm.o \
$(OBJDIR)/drot.o \
$(OBJDIR)/strsm.o \
$(OBJDIR)/dcopy.o \
$(OBJDIR)/dtrmm.o \
$(OBJDIR)/ddot.o \
$(OBJDIR)/dgemm.o \
$(OBJDIR)/dgemv.o \
$(OBJDIR)/dcabs1.o \
$(OBJDIR)/dger.o \
$(OBJDIR)/sgemm.o \
$(OBJDIR)/ssdot.o \
$(OBJDIR)/zzdotu.o \
$(OBJDIR)/zaxpy.o \
$(OBJDIR)/zgemm.o \
$(OBJDIR)/lsame.o \
$(OBJDIR)/xerbla.o \
$(OBJDIR)/zdotu.o

blaslib: $(STUFF) $(OBJDIR) $(LIBDIR) $(OBJ)
	$(AR) $(ARFLAGS) $(BLASLIB) $(OBJ)
	$(RANLIB) $(BLASLIB)

clean:
	- rm -f $(OBJ)
	- rm -f $(BLASLIB)

$(OBJDIR)/daxpy.o:
	$(FC) $(FFLAGS) -c daxpy.f -o $(OBJDIR)/daxpy.o
$(OBJDIR)/dnrm2.o:
	$(FC) $(FFLAGS) -c dnrm2.f -o $(OBJDIR)/dnrm2.o
$(OBJDIR)/dtrmv.o:
	$(FC) $(FFLAGS) -c dtrmv.f -o $(OBJDIR)/dtrmv.o
$(OBJDIR)/dtrmm.o:
	$(FC) $(FFLAGS) -c dtrmm.f -o $(OBJDIR)/dtrmm.o
$(OBJDIR)/dcopy.o:
	$(FC) $(FFLAGS) -c dcopy.f -o $(OBJDIR)/dcopy.o
$(OBJDIR)/zdotu.o:
	$(FC) $(FFLAGS) -c zdotu.f -o $(OBJDIR)/zdotu.o
$(OBJDIR)/sgemm.o:
	$(FC) $(FFLAGS) -c sgemm.f -o $(OBJDIR)/sgemm.o
$(OBJDIR)/ssdot.o:
	$(FC) $(FFLAGS) -c ssdot.f -o $(OBJDIR)/ssdot.o
$(OBJDIR)/zzdotu.o:
	$(FC) $(FFLAGS) -c zzdotu.f -o $(OBJDIR)/zzdotu.o
$(OBJDIR)/zaxpy.o:
	$(FC) $(FFLAGS) -c zaxpy.f -o $(OBJDIR)/zaxpy.o
$(OBJDIR)/zgemm.o:
	$(FC) $(FFLAGS) -c zgemm.f -o $(OBJDIR)/zgemm.o
$(OBJDIR)/lsame.o:
	$(FC) $(FFLAGS) -c lsame.f -o $(OBJDIR)/lsame.o
$(OBJDIR)/xerbla.o:
	$(FC) $(FFLAGS) -c xerbla.f -o $(OBJDIR)/xerbla.o
$(OBJDIR)/sdot.o:
	$(FC) $(FFLAGS) -c sdot.f -o $(OBJDIR)/sdot.o
$(OBJDIR)/idamax.o:
	$(FC) $(FFLAGS) -c idamax.f -o $(OBJDIR)/idamax.o
$(OBJDIR)/dswap.o:
	$(FC) $(FFLAGS) -c dswap.f -o $(OBJDIR)/dswap.o
$(OBJDIR)/dscal.o:
	$(FC) $(FFLAGS) -c dscal.f -o $(OBJDIR)/dscal.o
$(OBJDIR)/dtrsm.o:
	$(FC) $(FFLAGS) -c dtrsm.f -o $(OBJDIR)/dtrsm.o
$(OBJDIR)/strsm.o:
	$(FC) $(FFLAGS) -c strsm.f -o $(OBJDIR)/strsm.o
$(OBJDIR)/drot.o:
	$(FC) $(FFLAGS) -c drot.f -o $(OBJDIR)/drot.o
$(OBJDIR)/ddot.o:
	$(FC) $(FFLAGS) -c ddot.f -o $(OBJDIR)/ddot.o
$(OBJDIR)/dgemm.o:
	$(FC) $(FFLAGS) -c dgemm.f -o $(OBJDIR)/dgemm.o
$(OBJDIR)/dgemv.o:
	$(FC) $(FFLAGS) -c dgemv.f -o $(OBJDIR)/dgemv.o
$(OBJDIR)/dcabs1.o:
	$(FC) $(FFLAGS) -c dcabs1.f -o $(OBJDIR)/dcabs1.o
$(OBJDIR)/dger.o:
	$(FC) $(FFLAGS) -c dger.f -o $(OBJDIR)/dger.o
