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.
amg4psblas/krylov/Makefile

53 lines
1.5 KiB
Makefile

include ../Make.inc
LIBDIR=../lib
PSBLIBDIR=$(PSBLASDIR)/lib
HERE=.
#
# Don't you dare touch the include order here!
# The method source file are symlinked, so as not to duplicate
# code, and the symlinks are recompiled using the local version
# of psb_prec_mod, so that they are tricked into using the
# MLD preconditioners while believing to be using the PSB ones.
#
FINCLUDES=$(FMFLAG). $(FMFLAG)$(LIBDIR) $(FMFLAG)$(PSBLIBDIR)
PSBKRYLDIR=$(PSBLASDIR)/krylov
METHDOBJS= psb_dcgstab.o psb_dcg.o psb_dcgs.o \
psb_dbicg.o psb_dcgstabl.o psb_drgmres.o\
psb_scgstab.o psb_scg.o psb_scgs.o \
psb_sbicg.o psb_scgstabl.o psb_srgmres.o\
psb_ccgstab.o psb_ccg.o psb_ccgs.o \
psb_cbicg.o psb_ccgstabl.o psb_crgmres.o\
psb_zcgstab.o psb_zcg.o psb_zcgs.o \
psb_zbicg.o psb_zcgstabl.o psb_zrgmres.o
LIBMOD=psb_krylov_mod$(.mod) psb_prec_mod$(.mod)
MODOBJS=$(LIBMOD:$(.mod)=.o)
LOCAL_MODS=
LOCAL_OBJS=$(LOCAL_MODS:$(.mod)=.o)
OBJS=$(METHDOBJS) $(MODOBJS)
LIBNAME=libmld_krylov.a
lib: $(OBJS)
$(AR) $(HERE)/$(LIBNAME) $(OBJS)
$(RANLIB) $(HERE)/$(LIBNAME)
/bin/cp -p $(HERE)/$(LIBNAME) $(LIBDIR)
/bin/cp -p $(LIBMOD) $(LIBDIR)
$(METHDOBJS): psb_prec_mod.o psb_krylov_mod.o
symlink:
(/bin/ln -fs $(PSBKRYLDIR)/*.f90 . )
(/bin/ln -fs $(PSBKRYLDIR)/*.F90 . )
psb_krylov_mod.o: psb_krylov_mod.f90 $(LIBDIR)/mld_prec_mod$(.mod)
$(F90) $(F90COPT) $(FINCLUDES) -c $<
veryclean: clean
(sh ./cleansymlinks *f90 *F90)
/bin/rm -f $(LIBNAME)
clean:
/bin/rm -f $(OBJS) $(LOCAL_MODS) $(LIBMOD) $(LOCAL_OBJS)