Hi,
I am replacing certain operations specifically vector dot product,matrix vector multiplication and solve AX=b in existing code by calls to lapack subroutines. Do I need to link the MKL in the makefile explicitly?
The following is content of my makefile
!-----------------------------------------------------------
.SUFFIXES: .o .f90
.f90.o:
$(F90) -c $(F90FLAGS) $<
F90 = ifort -warn -WB -C
LD = $(F90)
LIBS = -ldl
PROFILE = -fast
OPTFLAGS = -g
CFLAGS = $(OPTFLAGS) $(PROFILE)
F90FLAGS = $(CFLAGS)
LDFLAGS =
PROGRAM = fadd2d
F90SRCS = global.f90 main.f90 nrtype.f90 nrutil.f90 remesh_module.f90 \
prep.f90 elem_charles.f90 \
assemb_charles.f90 formakf_charles.f90 gauss.f90 shape.f90 solver.f90 \
post_remesh.f90 proc.f90 volume_solver.f90 pressure_solver.f90 \
rearge.f90 sif.f90 sifaniso.f90 root.f90 kernel1_c.f90 kernel2.f90 \
tstress.f90 tstress1.f90 tstress2.f90 tstress2a.f90 tstress3.f90 \
assemb_tstress.f90 rigidinner4.f90
SRCS = $(F90SRCS)
OBJS = $(F90SRCS:.f90=.o)
all: $(PROGRAM)
$(PROGRAM): $(OBJS)
$(LD) -o $@ $(LDFLAGS) $(OBJS) $(LIBS)
elem_charles.o: elem_charles.f90 ekc_8.f90 ekd_8_temp.f90 ek_b2.f90 ek_at2.f90 \
eatts2.f90 eattip.f90 eat3.f90 ebts2.f90 ebtip.f90 eb3.f90 \
eat_rigid.f90 eb_rigid.f90
$(F90) -c $(F90FLAGS) elem_charles.f90
#Dec10_09: add prep.f90 to following line to recompile prep.f90
prep.o: prep.f90 setint.f90
$(F90) -c $(F90FLAGS) prep.f90
clean:
rm -f $(OBJS) $(PROGRAM)
rm *.mod
tidy:
rm -f *.BAK *.bak *.CKP *~
undepend:
rm -f $(OBJS:%.o=.%.d)
spotless: tidy clean undepend
!-----------------------------------------------------------
Thanks
Saumik Dana.