# Define our compilers.................................
#
# IntelMPI
#MPI_HOME=/scinet/gpc/intel/impi/4.0.2.003
F90    = ${MPI_HOME}/bin64/mpif90
F77    = ${MPI_HOME}/bin64/mpif90
CC     = ${MPI_HOME}/bin64/mpicc

AR=xiar
BITS=_v0.2a-intel_12.1.3-impi_4.0.3.008

#IMKL = /scinet/gpc/intel/ics/composer_xe_2011_sp1.6.233/mkl/include
IMKL = ${MKL}/include
INCLUDE=-I$(IMKL)

# Define FORTRAN compiler flags.......................
#
# For the PGI compiler
F90FLAGS  = -O2 -heap-arrays 10
F77FLAGS  = -O2 -heap-arrays 10
#F90FLAGS  = -fast
#F77FLAGS  = -fast
#F90FLAGS  = -O0 -fp-model strict -g -debug all -traceback -trace
#F77FLAGS  = -O0 -fp-model strict -g -debug all -traceback -trace

# Define C compiler flags.............................
#
CFLAGS  = -O2 -I.
#CFLAGS  = -fast -I.
#CFLAGS  = -O0 -I. -fp-model strict -g -debug all -traceback -trace

# Libraries.............................

# Intel MKL libs
LMKL = ${MKL}/lib/intel64

# MPI
#
#MPI    = -L${MPI_HOME}/lib64 -lmpi

#WSMP = ${HOME}/software/wsmp/wsmp-Linux64-IMPI
WSMP = ${HOME}/software/wsmp/wsmp-Linux64-Intel_v11.5.20/lib/intelmpi

LIBS = \
 -LOCTREE -lOctree$(BITS) \
 -LNN -lnn_f$(BITS) \
 -LNN -lnn_c$(BITS) \
 -LCASCADE -lcascade$(BITS) \
 -LRESAMPLE -lresample$(BITS) \
 -L$(WSMP) -lpwsmp64 \
 -L$(LMKL) -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 \
 -lpthread

# -L$(WSMP) -lpwsmp64SCI \

# The Makefiles look at compile output with this
PAGER=more

# compile rules.......................................
#
COMPILE_OUT=$(NAME)$(BITS).compile
.SUFFIXES:
.SUFFIXES: .o .c .f .f90
.f90.o:
	@echo "--"                                   >>$(COMPILE_OUT) 2>&1
	@echo "$(F90) $(F90FLAGS) $(INCLUDES) -c $<" >>$(COMPILE_OUT) 2>&1
	$(F90) $(F90FLAGS) $(INCLUDES) -c $<         >>$(COMPILE_OUT) 2>&1

.f.o:
	@echo "--"                                   >>$(COMPILE_OUT) 2>&1
	@echo "$(F77) $(F77FLAGS) $(INCLUDES) -c $<" >>$(COMPILE_OUT) 2>&1
	$(F77) $(F77FLAGS) $(INCLUDES) -c $<         >>$(COMPILE_OUT) 2>&1

.c.o:
	@echo "--"                                 >>$(COMPILE_OUT) 2>&1
	@echo "$(CC) $(CFLAGS) -c $<"              >>$(COMPILE_OUT) 2>&1
	$(CC) $(CFLAGS) -c $<                      >>$(COMPILE_OUT) 2>&1