#DEBUG = no
NO_SECONDARY = yes

include ${SEPINC}/SEP.top

ifndef PERSDEV
PERSDEV=/net/koko/biondo
endif
PERSDEV=../../..
MYLIB=../..
MYINC=../..

ifndef MIPS_ARCH
MIPS_ARCH=10000
endif

ifndef MAIN
MAIN=Rev2D_ho_fd
#MAIN=Rev2D_spectral
endif

ifeq (${MAIN},Rev2D_ho_fd)
GENLIB_VERS=v8
GENKERNLIB_VERS=v5
endif 

ifeq (${MAIN},Rev2D_fd)
GENLIB_VERS=v7
GENKERNLIB_VERS=v4
endif 

ifeq (${MAIN},Rev2D_spectral)
GENLIB_VERS=v7
GENKERNLIB_VERS=v4
endif 

ifeq (${MAIN},Rev2D_fd_test)
GENLIB_VERS=v3
GENKERNLIB_VERS=v2
endif 

ifeq (${MAIN},Rev2D_zoff_test)
GENLIB_VERS=v3
GENKERNLIB_VERS=v3
endif 

ifeq (${MAIN},Rev2D_zoff_test_1)
GENLIB_VERS=v3
GENKERNLIB_VERS=v3
endif 

ifeq (${MAIN},Rev2D_zoff)
GENLIB_VERS=v3
GENKERNLIB_VERS=v3
endif 

ifeq (${MAIN},Rev2D_zoff_shan)
GENLIB_VERS=v3
GENKERNLIB_VERS=v2
endif 

ifeq (${MAIN},Rev2D_zoff_shan_test)
GENLIB_VERS=v4
GENKERNLIB_VERS=v2
endif

ifeq (${MAIN},Rev2D_voff_shan)
GENLIB_VERS=v5
GENKERNLIB_VERS=v2
endif

ifeq (${MAIN},Rev2D_zoff_alejandro)
GENLIB_VERS=v6
GENKERNLIB_VERS=v2
endif

ifeq (${MAIN},Rev2D_const)
GENLIB_VERS=v1
GENKERNLIB_VERS=v1
endif 

ifeq (${MAIN},Rev2D_litweq_const)
GENLIB_VERS=v1
GENKERNLIB_VERS=v1
endif 

ifeq (${MAIN},Rev2D_vz)
GENLIB_VERS=v3
GENKERNLIB_VERS=v3
endif 


ifeq (${MAIN},Rev2D_vz_test)
GENLIB_VERS=v1
GENKERNLIB_VERS=v1
endif 

ifndef GENLIB_VERS
GENLIB_VERS=v1
endif
ifndef GENKERNLIB_VERS
GENKERNLIB_VERS=v1
endif
ifndef TIMERSLIB_VERS
TIMERSLIB_VERS=v2
endif

ifndef COMP_TYPE
COMP_TYPE=ifort
endif
ifndef FFT
FFT=FFTW3
endif

ifndef FFTW3_PATH
ifeq (${HOST},sep421.Stanford.EDU)
FFTW3_PATH=/opt/FFTW/lib
else
FFTW3_PATH=/net/koko/linux_local/FFTW/FFTW3/lib
endif
endif

ifeq (${ARCH},LINUX)
LDOPT=-Qoption,link,--start-group -lpthread_nonshared
UF90LDFLAGS= -openmp 
UF90FLAGS = -openmp -threads -xN -axN -O2 $(MYDEBUG)
UF90FLAGS = -threads 
UF90FLAGS = -openmp
#OPENMP = yes
#PARLIB=  -mp
else
ifeq (${ARCH},LINUX86_64)
LDOPT=-Qoption,link,--start-group -lpthread_nonshared
UF90LDFLAGS= -openmp 
UF90FLAGS = -openmp -threads -xN -axN -O2 $(MYDEBUG)
UF90FLAGS = -threads 
UF90FLAGS = -openmp

FFTW3_PATH=/opt/FFTW/lib

else
F90C=f90 -64
F90LD=f90 -64
UF90FLAGS = -r$(MIPS_ARCH) -TARG:platform=IP27 -pfa
UF90PARFLAGS =  -pfa keep
OPENMP = yes
PARLIB= -lmp
ifndef FFT
FFT=SGI
endif
endif
endif


BINDIR = $(PERSDEV)/bin/$(SEP_ARCH)

INCDIR = $(MYINC)/include/genrev3d_$(GENLIB_VERS)_$(COMP_TYPE)/$(SEP_ARCH)
INCKERNDIR = $(MYINC)/include/genrevkern3d_$(GENKERNLIB_VERS)_$(COMP_TYPE)/$(SEP_ARCH)
INCTIMERSDIR = $(MYINC)/include/timers_$(TIMERSLIB_VERS)_$(COMP_TYPE)/$(SEP_ARCH)

#INCSEPDIR = $(PERSDEV)/include/$(SEP_ARCH)

LIBDIR = $(MYLIB)/lib/genrev3d_$(GENLIB_VERS)_$(COMP_TYPE)/$(SEP_ARCH)
LIBKERNDIR = $(MYLIB)/lib/genrevkern3d_$(GENKERNLIB_VERS)_$(COMP_TYPE)/$(SEP_ARCH)
LIBTIMERDIR = $(MYLIB)/lib/timers_$(TIMERSLIB_VERS)_$(COMP_TYPE)/$(SEP_ARCH)
#UF90LIBDIRS = $(PERSDEV)/lib/$(SEP_ARCH) /usr/lib64/mips4

ifeq ($(FFT),SGI)
FFTLIB=-lcomplib.sgimath 
LAPACKLIB= /usr/local/SEP5.2/lib/liblapack.a
else
ifeq ($(FFT),FFTW3)
FFTLIB=$(FFTW3_PATH)/libfftw3f.a
else
FFTLIB=$(PERSDEV)/FFTW/$(SEP_ARCH)/lib/libsfftw.a
endif
endif


OBJDIR = ${MTYPE}
UF90INCLUDES = -I${INCDIR} -I${INCKERNDIR} -I${INCTIMERSDIR} -I${INCSEPDIR}
#UF90INCLUDES = 

UF90LIBS= \
	${UF90LDFLAGS} \
	 ${LIBKERNDIR}/libgenrevkern3d.a \
 	 ${LIBDIR}/libgenrev3d.a \
	 ${LIBTIMERDIR}/libSEPtimers.a \
	 $(PARLIB)  \
	 -lsep2df90  $(FFTLIB) -lsvml \
	 $(LAPACKLIB)


default: $(BINDIR)/$(MAIN).x

all:
	gmake

allclean:
	gmake clean
	gmake all


$(BINDIR)/$(MAIN).x : \
	$(LIBDIR)/libgenrev3d.a \
	$(LIBKERNDIR)/libgenrevkern3d.a \
	$(addprefix ${OBJDIR}/,) 
#	${OBJDIR}/sfft2.o

deinstall:
	${RM} $(BINDIR)/$(MAIN).x



#------------------------------------------------------------------------------
#  For cleaning up

clean: jclean
	@-${RM}  junk*
	@-${RM}  @ blah.c
	@touch something~ @something.kmo
	@rm -f *~ *.kmo *.kif *.mod $(OBJDIR)/*.o *fix.anl *.fix.m *.fix.L


include ${SEPINC}/SEP.bottom
