You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
psblas3/opt/Makefile

77 lines
2.0 KiB
Makefile

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)