Skip to content
Snippets Groups Projects
Makefile.inc.placentia.intel.openmpi 2.61 KiB
# Define our compilers.................................
#
# The default - OpenMPI
MPI_HOME=/usr/local/openmpi.intel
F90    = $(MPI_HOME)/bin/mpif90
F77    = $(MPI_HOME)/bin/mpif90
CC     = $(MPI_HOME)/bin/mpicc

AR=xiar
BITS=

# Intel math kernel
IMKL = $(MKLROOT)/include
INCLUDE=-I$(IMKL)

# Define FORTRAN compiler flags.......................
#
# For the Intel compiler
#F90FLAGS  = -O0
#F77FLAGS  = -O0
#F90FLAGS  = -O1
#F77FLAGS  = -O1
#F90FLAGS  = -O2
#F77FLAGS  = -O2
#F90FLAGS  = -O3
#F77FLAGS  = -O3
F90FLAGS  = -fast
F77FLAGS  = -fast
#F90FLAGS  = -O0 -fp-model strict -g -debug all
#F77FLAGS  = -O0 -fp-model strict -g -debug all
#F90FLAGS  = -O0 -check all -warn all,nodec,interfaces -gen_interfaces -traceback -fpe0
#F77FLAGS  = -O0 -check all -warn all,nodec,interfaces -gen_interfaces -traceback -fpe0

# Define C compiler flags.............................
#
#CFLAGS  = -O0 -I.
#CFLAGS  = -O1 -I.
#CFLAGS  = -O2 -I.
#CFLAGS  = -O3 -I.
CFLAGS  = -fast -I.
#CFLAGS  = -O0 -DMKL_ILP64 -I. -fp-model strict -g -debug all
#CFLAGS  = -O0 -I. -fp-model strict -g -debug all
#CFLAGS  = -O0 -check all -warn all,nodec,interfaces -gen_interfaces -traceback -fpe0

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

# Intel MKL libs
LMKL = $(MKLROOT)/lib

# MPI
MPI    = -L$(MPI_HOME)/lib -lmpi

#WSMP   = /home/dwhipp/software/wsmp/WSMP-Linux64-OpenMPI
WSMP   = /home/dwhipp/software/wsmp/wsmp-Linux64_v10.09.16/lib/Intel/openmpi
#WSMP   = /home/dwhipp/software/wsmp/wsmp-Linux64/lib/PGI

# Totalview location for MPI memory debugging
#TV     = /usr/local/toolworks/totalview/linux-x86-64/lib

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 \
  $(MPI) -lpthread

# -L$(TV) -ltvheap_64 \

# 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