Newer
Older
# Define our compilers.................................
#
# on geodyncomp, the defaults are OpenMPI (1.4.3),
# built with the GNU compilers
# F90 = mpif90
# F77 = mpif90
# cc = mpicc
# on geodyncomp, we also have an intel compiler
F90 = ifort
F77 = ifort
cc = icc
# no MKL
# IMKL = /scinet/gpc/intel/Compiler/11.1/056/mkl/include
# IMKL = /scinet/gpc/intel/Compiler/11.1/072/mkl/include
# INCLUDE=-I$(IMKL)
# Define MPI include files for ifort.
# these should match the build of wsmp; see below.
# for openmpi, these work
MPI_INC=-I /opt/openmpi/include
MPI_LIB=-L/opt/openmpi/lib -lmpi -lmpi_f77 -lmpi_f90
# for mpich2
# MPI_INC=-I /opt/mpich2/gnu/include
# MPI_LIB=-L/opt/mpich2/gnu/lib -lmpichf90 -lfmpich -lmpich
INCLUDE = $(MPI_INC)
# Define FORTRAN compiler flags.......................
#
GFORTRAN_FLAGS = -ffree-line-length-0
# This gives us, at run time,
# error while loading shared libraries: libimf.so: cannot open shared object file
# No such file or directory
# IFORT_FLAGS = -O2 -fp-model strict -mcmodel=large -shared-intel
# IFORT_FLAGS = -fast
IFORT_FLAGS = -O2
IFORT_DEBUG = -g -warn all -check all -debug all
# IFORT_DEBUG =
F90FLAGS = ${IFORT_FLAGS} ${IFORT_DEBUG}
F77FLAGS = ${IFORT_FLAGS} ${IFORT_DEBUG}
FFLAGS=${F90FLAGS}
# Define C compiler flags.............................
#
# no Intel MKL library
#
# LMKL = /scinet/gpc/intel/Compiler/11.1/056/mkl/lib
# LMKL = /scinet/gpc/intel/Compiler/11.1/072/mkl/lib
# MPI libraries
# (use the default)
# WSMP Library
#
WSMP = -L/opt/wsmp/wsmp-Linux64/lib/GNU/openmpi -lpwsmp64
# wsmp, with intel and mpich2
# WSMP = -L/opt/wsmp/wsmp-Linux64/lib/Intel/mpich2 -lpwsmp64
# Not using Google's TCMalloc
# TCML = /home/dwhipp/software/tcml
LIBS = \
-LOCTREE -lOctree$(BITS) \
-LNN -lnn_f$(BITS) \
-LNN -lnn_c$(BITS) \
-LCASCADE -lcascade$(BITS) \
-LRESAMPLE -lresample$(BITS) \
# 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) $(INCLUDE) -c $<" >>$(COMPILE_OUT) 2>&1
$(F90) $(F90FLAGS) $(INCLUDE) -c $< >>$(COMPILE_OUT) 2>&1
.f.o:
@echo "--" >>$(COMPILE_OUT) 2>&1
@echo "$(F77) $(F77FLAGS) $(INCLUDE) -c $<" >>$(COMPILE_OUT) 2>&1
$(F77) $(F77FLAGS) $(INCLUDE) -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