FC90=ifort -openmp
#FC90=ifort -C -O0
LAPACK=-L/opt/intel/mkl/10.2.4.032/lib/em64t -lmkl_intel_lp64 -lmkl_intel_thread \
                                             -lmkl_core -lguide -lpthread

#LAPACK=-L/opt/intel/mkl/10.0.1.014/lib/32 -lmkl_intel -lmkl_intel_thread \
#                                          -lmkl_core -lguide -lpthread

NR=nrtype.o nrutil.o
MODULES=$(NR) mkl_dfti.o fornberg.o pnm.o rhomod.o elmgiv.o mftmod.o \
linmin.o mnbrak.o brent.o dgasdev.o dran1.o intchar.o
ALL=elmgiv_inv3D elmgiv_target Geispec

all		:	$(ALL)

elmgiv_inv3D	:	$(MODULES) elmgiv_inv3D.o
			$(FC90) elmgiv_inv3D.o $(MODULES) $(LAPACK) -o elmgiv_inv3D
			strip elmgiv_inv3D

elmgiv_target	:	$(MODULES) elmgiv_target.o
			$(FC90) elmgiv_target.o $(MODULES) $(LAPACK) -o elmgiv_target
			strip elmgiv_target

Geispec		:	$(NR) dmemcof.o devlmem.o Geispec.o
			$(FC90) Geispec.o dmemcof.o devlmem.o $(NR) -o Geispec
			strip Geispec

elmgiv_inv3D.o	:	$(MODULES) elmgiv_inv3D.f90
			$(FC90) -c elmgiv_inv3D.f90

elmgiv_target.o	:	$(MODULES) elmgiv_target.f90
			$(FC90) -c elmgiv_target.f90

Geispec.o	:	$(NR) Geispec.f90
			$(FC90) -c Geispec.f90

mftmod.o	:	$(NR) mkl_dfti.o pnm.o rhomod.o elmgiv.o mftmod.f90
			$(FC90) -c mftmod.f90

elmgiv.o	:	$(NR) mkl_dfti.o pnm.o rhomod.o elmgiv.f90
			$(FC90) -c elmgiv.f90

rhomod.o	:	$(NR) fornberg.o pnm.o rhomod.f90
			$(FC90) -c rhomod.f90

fornberg.o	:	$(NR) fornberg.f90
			$(FC90) -c fornberg.f90

pnm.o		:	$(NR) pnm.f90
			$(FC90) -c pnm.f90

linmin.o	:	$(NR) linmin.f90
			$(FC90) -c linmin.f90

mnbrak.o	:	$(NR) mnbrak.f90
			$(FC90) -c mnbrak.f90

brent.o		:	$(NR) brent.f90
			$(FC90) -c brent.f90

dgasdev.o	:	dgasdev.f
			$(FC90) -c dgasdev.f

dran1.o		:	dran1.f
			$(FC90) -c dran1.f

intchar.o	:	$(NR) intchar.f90
			$(FC90) -c intchar.f90

mkl_dfti.o	:	$(NR) mkl_dfti.f90
			$(FC90) -c mkl_dfti.f90

dmemcof.o	:	dmemcof.f
			$(FC90) -c dmemcof.f

devlmem.o	:	devlmem.f
			$(FC90) -c devlmem.f

nrtype.o	:	nrtype.f90
			$(FC90) -c nrtype.f90

nrutil.o	:	nrtype.o nrutil.f90
			$(FC90) -c nrutil.f90

mrproper	:	clean
			rm -f $(ALL)

clean		:
			rm -f *.mod *.o *.int *.s *.d *.bif ifc* work.pc work.pcl *.stg core.*
