|
|
|
include ../Make.inc
|
|
|
|
#
|
|
|
|
# Libraries used
|
|
|
|
#
|
|
|
|
LIBDIR=../lib/
|
|
|
|
PSBLAS_LIB= -L$(LIBDIR) -lpsb_base
|
|
|
|
#-lpsb_util -lpsb_krylov -lpsb_prec -lpsb_base
|
|
|
|
LDLIBS=$(PSBLDLIBS)
|
|
|
|
#
|
|
|
|
# Compilers and such
|
|
|
|
#
|
|
|
|
CCOPT= -g
|
|
|
|
FINCLUDES=$(FMFLAG)$(LIBDIR) $(FMFLAG).
|
|
|
|
HERE=.
|
|
|
|
LIBMOD=*$(.mod)
|
|
|
|
|
|
|
|
LIBDIR=../lib
|
|
|
|
|
|
|
|
EXEDIR=./runs
|
|
|
|
|
|
|
|
OBJS=psb_d_ell_impl.o psb_d_ell_mat_mod.o \
|
|
|
|
rsb_z_mod.o psb_z_rsb_mat_mod.o \
|
|
|
|
rsb_c_mod.o psb_c_rsb_mat_mod.o \
|
|
|
|
rsb_s_mod.o psb_s_rsb_mat_mod.o \
|
|
|
|
rsb_d_mod.o psb_d_rsb_mat_mod.o
|
|
|
|
|
|
|
|
LIBNAME=libpsb_opt.a
|
|
|
|
|
|
|
|
lib: $(OBJS)
|
|
|
|
$(AR) $(HERE)/$(LIBNAME) $(OBJS)
|
|
|
|
$(RANLIB) $(HERE)/$(LIBNAME)
|
|
|
|
/bin/cp -p $(CPUPDFLAG) $(HERE)/$(LIBNAME) $(LIBDIR)
|
|
|
|
/bin/cp -p $(CPUPDFLAG) *$(.mod) $(LIBDIR)
|
|
|
|
|
|
|
|
|
|
|
|
libpsb_opt.a: $(OBJS)
|
|
|
|
ar cur libpsb_opt.a $(OBJS)
|
|
|
|
|
|
|
|
psb_d_ell_impl.o: psb_d_ell_mat_mod.o
|
|
|
|
psb_d_rsb_mat_mod.o: rsb_d_mod.o
|
|
|
|
psb_z_rsb_mat_mod.o: rsb_z_mod.o
|
|
|
|
psb_c_rsb_mat_mod.o: rsb_c_mod.o
|
|
|
|
psb_s_rsb_mat_mod.o: rsb_s_mod.o
|
|
|
|
|
|
|
|
RSBD2Z=sed 's/c_typecode=68/c_typecode=90/g;s/rsb_d_/rsb_z_/g;s/psb_d_/psb_z_/g;s/real(psb_dpk_)/complex(psb_dpk_)/g;s/real(c_double)/complex(c_double)/g;s/complex(psb_dpk_)\(.*\)csnmi_res/real(psb_dpk_)\1csnmi_res/g'
|
|
|
|
RSBD2S=sed 's/c_typecode=68/c_typecode=83/g;s/rsb_d_/rsb_s_/g;s/psb_d_/psb_s_/g;s/real(psb_dpk_)/real(psb_spk_)/g;s/real(c_double)/real(c_float)/g;s/real(psb_dpk_)\(.*\)csnmi_res/real(psb_spk_)\1csnmi_res/g'
|
|
|
|
RSBD2C=sed 's/c_typecode=68/c_typecode=67/g;s/rsb_d_/rsb_c_/g;s/psb_d_/psb_c_/g;s/real(psb_dpk_)/complex(psb_spk_)/g;s/real(c_double)/complex(c_float)/g;s/complex(psb_spk_)\(.*\)csnmi_res/real(psb_spk_)\1csnmi_res/g'
|
|
|
|
|
|
|
|
psb_z_rsb_mat_mod.F90: psb_d_rsb_mat_mod.F90 Makefile
|
|
|
|
$(RSBD2Z) $< > $@
|
|
|
|
|
|
|
|
rsb_z_mod.f90: rsb_d_mod.f90 Makefile
|
|
|
|
$(RSBD2Z) $< > $@
|
|
|
|
|
|
|
|
psb_c_rsb_mat_mod.F90: psb_d_rsb_mat_mod.F90 Makefile
|
|
|
|
$(RSBD2C) $< > $@
|
|
|
|
|
|
|
|
rsb_c_mod.f90: rsb_d_mod.f90 Makefile
|
|
|
|
$(RSBD2C) $< > $@
|
|
|
|
|
|
|
|
psb_s_rsb_mat_mod.F90: psb_d_rsb_mat_mod.F90 Makefile
|
|
|
|
$(RSBD2S) $< > $@
|
|
|
|
|
|
|
|
rsb_s_mod.f90: rsb_d_mod.f90 Makefile
|
|
|
|
$(RSBD2S) $< > $@
|
|
|
|
|
|
|
|
|
|
|
|
clean:
|
|
|
|
/bin/rm -f $(OBJS) *$(.mod)
|
|
|
|
|
|
|
|
verycleanlib:
|
|
|
|
(cd ../..; make veryclean)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|