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
# we take the standard ar
# AR=ar
AR=xiar
# There are no BITS
# BITS=-ifort-dbg-openmpi
BITS=_v0.2a-intel_12.0.0-mpich2_1.2.1p1
# BITS=-ifort-mvapich2
# 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
# for mvapich2
# MPI_INC=-I /usr/lib64/mvapich2/1.4-gcc/include
# MPI_LIB=-L/usr/lib64/mvapich2/1.4-gcc/lib -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 = -O0
#IFORT_DEBUG = -g -warn all -check all -debug all
#F90_DEBUG = -g -warn all -check all -debug all -check:noarg_temp_created -traceback
#F90_DEBUG = -g -traceback
F90_DEBUG =
#F77_DEBUG = -g -warn all -check all -debug all
#F77_DEBUG = -g -traceback
F77_DEBUG =
#IFORT_DEBUG =
#F90FLAGS = ${IFORT_FLAGS} ${IFORT_DEBUG}
#F77FLAGS = ${IFORT_FLAGS} ${IFORT_DEBUG}
F90FLAGS = ${IFORT_FLAGS} ${F90_DEBUG}
F77FLAGS = ${IFORT_FLAGS} ${F77_DEBUG}
FFLAGS=${F90FLAGS}
# Define C compiler flags.............................
#
ICC_FLAGS =
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
CFLAGS = -O2 ${ICC_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, with gnu and openMPI
# 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) \
$(WSMP) -lblas \
$(MPI_LIB) \
-lpthread
# 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