#
#  The Fortran and C compilers. We are assuming  support for an INCLUDE extension to F77 
#  (or an F90 compiler)
#
include ../../../Make.inc

#
# The object files
#

DPDIR = DP/
CSRDIR = CSR/
COODIR = COO/
JADDIR = JAD/
AUXDIR = AUX/
COBJS = 

FOBJS=  cest.o dcsmm.o dcssm.o dlpupd.o dswmm.o dswsm.o  \
	dcsdp.o  dcsrp.o dgelp.o dcsnmi.o dcsins.o dcsupd.o dcsprt.o dswprt.o \
	zcsdp.o  zcsnmi.o zcsmm.o zswmm.o zlpupd.o zgelp.o zcsrp.o \
	zcssm.o zswsm.o zcsins.o zcsupd.o zcsprt.o zswprt.o



OBJS=$(COBJS) $(FOBJS)

LIBOBJS = $(OBJS) $(PREPROCESS)
# $(CSR) $(JAD) $(AUX) $(COO)

#
# Where the library should go, and how it is called. 
# Note that we are regenerating most of libsparker.a on the fly. 
LIBDIR=../../../LIB
LIBNAME=libsparker.a	
LIBFILE=$(LIBDIR)/$(LIBNAME)
SPARKERDIR=.

INCDIRS=-I. -I$(SPARKERDIR) -I$(LIBDIR)

#
# No change should be needed below 
#

lib:
	make lib1
	(cd $(CSRDIR); make lib LIBNAME=$(LIBNAME) LIBDIR=../$(LIBDIR))
	(cd $(COODIR); make lib LIBNAME=$(LIBNAME) LIBDIR=../$(LIBDIR))
	(cd $(DPDIR); make lib LIBNAME=$(LIBNAME) LIBDIR=../$(LIBDIR))
	(cd $(JADDIR); make lib LIBNAME=$(LIBNAME) LIBDIR=../$(LIBDIR))
	(cd $(AUXDIR); make lib LIBNAME=$(LIBNAME) LIBDIR=../$(LIBDIR))
	$(AR) $(LIBFILE) $(LIBOBJS) 
	$(RANLIB) $(LIBFILE)

lib1: libinclude $(COBJS) $(FOBJS)

$(FOBJS): sparker.fh

libinclude: $(LIBDIR)/sparker.fh

$(LIBDIR)/sparker.fh: sparker.fh
	/bin/cp -p sparker.fh $(LIBDIR)

clean: cleanobjs

veryclean: cleanobjs cleanlib

cleanlib:
	/bin/rm -f $(LIBFILE) 
cleanobjs:
	/bin/rm -f $(OBJS) 
	(cd $(CSRDIR); make clean)
	(cd $(COODIR); make clean)
	(cd $(DPDIR); make clean)
	(cd $(JADDIR); make clean)
	(cd $(AUXDIR); make clean)

