MAKE_DEPEND=yes
include ${SEPINC}/SEP.top

#FPP=/lib/cpp -P -traditional

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

ifndef MIPS_ARCH 
MIPS_ARCH=10000
endif

ifndef GENLIB_VERS
GENLIB_VERS=v8
endif

ifndef TIMERSLIB_VERS
TIMERSLIB_VERS=v2
endif

ifndef COMP_TYPE
COMP_TYPE=ifort
endif

ifeq (${ARCH},LINUX)

F90MODSUFFIX=mod
FFT=FFTW3
UF90FLAGS = -openmp -openmp_report2 -O2 
UF90PARFLAGS = -openmp -openmp_report2 -reentrancy threaded -O2 -xW -axW 
UF90DEFINES = -DLINUX

#F90C=pgf90 
#F90LD=pgf90
#UF90FLAGS = -Mreentrant  -Mvect=cachesize:2097152 -Minfo=loop -V -Kieee
#UF90PARFLAGS =  -mp  -Minfo=loop
#UF90LIBDIR= /usr/i386-glibc20-linux/lib/  /usr/pgi/linux86/lib/libpgc
#OPENMP = yes
#FFT=FFTW

else
ifeq (${ARCH},LINUX86_64)

F90MODSUFFIX=mod
FFT=FFTW3
UF90FLAGS = -openmp -openmp_report2 -O2 
UF90PARFLAGS = -openmp -openmp_report2 -reentrancy threaded -O2 -xW -axW 
UF90DEFINES = -DLINUX86_64

else

F90C=f90 -64
F90LD=f90 -64
UF90FLAGS = -r$(MIPS_ARCH) -TARG:platform=IP27
UF90PARFLAGS =  -pfa keep
OPENMP = yes

ifndef FFT
FFT=SGI
endif

endif
endif


#BINDIR = $(MYDEV)/bin/$(SEP_ARCH)
#LIBDIR = $(MYDEV)/lib/genrev3d_$(GENLIB_VERS)/$(SEP_ARCH)
#INCDIR = $(MYDEV)/include/genrev3d_$(GENLIB_VERS)/$(SEP_ARCH)
#INCTIMERSDIR = $(MYDEV)/include/timers_$(TIMERSLIB_VERS)/$(SEP_ARCH)
BINDIR = $(MYLIB)/bin/$(SEP_ARCH)
LIBDIR = $(MYLIB)/lib/genrev3d_$(GENLIB_VERS)_$(COMP_TYPE)/$(SEP_ARCH)
CLEANLIBDIR = $(MYINC)/lib/genrev3d_$(GENLIB_VERS)_$(COMP_TYPE)/$(SEP_ARCH)
INCDIR = $(MYINC)/include/genrev3d_$(GENLIB_VERS)_$(COMP_TYPE)/$(SEP_ARCH)
INCTIMERSDIR = $(MYINC)/include/timers_$(TIMERSLIB_VERS)_$(COMP_TYPE)/$(SEP_ARCH)


BOOK_LIBDIR = $(BOOK_ROOT)/Lib/genrev3d_$(GENLIB_VERS)/$(SEP_ARCH)
BOOK_INCDIR = $(BOOK_ROOT)/Inc/genrev3d_$(GENLIB_VERS)/$(SEP_ARCH)


UF90INCLUDES = -I. -I$(INCDIR) -I$(INCTIMERSDIR)
OBJDIR = ${MTYPE}


LIBNAME = ${LIBDIR}/libgenrev3d.a

ifeq ($(FFT),SGI)
  OUT=fft_data_mod_FFTW.f90
  SOURCES= $(filter-out $(OUT),$(wildcard [a-z]*.f90) $(wildcard [A-Z]*.f90) $(wildcard [a-z]*.fs90)) 
else
  OUT=fft_data_mod_SGI.f90
  SOURCES= $(filter-out $(OUT),$(wildcard [a-z]*.f90) $(wildcard [A-Z]*.f90) $(wildcard [a-z]*.fs90)) 
endif

#F90PAR=down_gen_par_mod.o  param_genrev3d.o data_mod.o
#F90PAR=rev_extrap_gen_par_mod.o  param_genrev3d.o 
F90PAR= param_genrev3d.o 

default: all

all: ${LIBNAME}
#	-${TOUCH} junk.${F90MODSUFFIX}
	-$(MKDIR) ${INCDIR}
	-${CP} *.${F90MODSUFFIX} ${INCDIR}
	@echo "#########################################"
	@echo "Done making  ${LIBNAME} (all)"
	@echo "#########################################"

book: all
	-${CP} *.${F90MODSUFFIX} ${BOOK_INCDIR}
	-${CP} ${LIBNAME} ${BOOK_LIBDIR}
	@echo "#########################################"
	@echo "Done making  ${LIBNAME} (book)"
	@echo "#########################################"


allclean: 
	gmake clean GENLIB_VERS=$(GENLIB_VERS)
	gmake all GENLIB_VERS=$(GENLIB_VERS) FFT=$(FFT)
	@echo "#########################################"
	@echo "Done making ${LIBNAME} (allclean)"
	@echo "#########################################"

clean: 
	@-${TOUCH} junk.fix.f90 junk~
	@-${RM}  log*
	@-${RM}  junk*
	@-${RM}  @ blah.c
	@-${RM} *.fix.f90 *~
	@-${RM} *.mod
	@-${RM} $(SEP_ARCH)/*.o
#	@-${RM} .make.dependencies.$(SEP_ARCH)

deinstall:
	${RM} ${CLEANLIBDIR}/libgenrev3d.a
	${RM} ${CLEANLIBDIR}/libgenrev3d.a.bak
	${RM} ${INCDIR}/*.mod


include ${SEPINC}/SEP.bottom
