# Define our compilers................................. # # The default - OpenMPI MPI_HOME=/scinet/gpc/mpi/openmpi/1.3.2-intel-v11.0-ofed # The alternative - MVAPICH2 #MPI_HOME=/scinet/gpc/mpi/mvapich2/1.4rc1-3378_intel-v11.0_ofed F90 = $(MPI_HOME)/bin/mpif90 F77 = $(MPI_HOME)/bin/mpif90 CC = $(MPI_HOME)/bin/mpicc #AR=ar AR=xiar BITS= IMKL = /scinet/gpc/intel/Compiler/11.1/056/mkl/include INCLUDE=-I$(IMKL) # Define FORTRAN compiler flags....................... # # For the PGI compiler #F90FLAGS = -O0 #F77FLAGS = -O0 F90FLAGS = -fast F77FLAGS = -fast #F90FLAGS = -O0 -mp -tpp7 -g -debug all -check all -implicitnone -warn unused -fp-stack-check -heap-arrays -ftrapuv -check pointers -check bounds #F77FLAGS = -O0 -mp -tpp7 -g -debug all -check all -implicitnone -warn unused -fp-stack-check -heap-arrays -ftrapuv -check pointers -check bounds #F90FLAGS = -O0 -i8 -fp-model strict -g -debug all -implicitnone -fp-stack-check -heap-arrays -ftrapuv -check pointers #F77FLAGS = -O0 -i8 -fp-model strict -g -debug all -implicitnone -fp-stack-check -heap-arrays -ftrapuv -check pointers #F90FLAGS = -O0 -fp-model strict -g -debug all #F77FLAGS = -O0 -fp-model strict -g -debug all #F90FLAGS = -fast -Mipa=fast,inline -Kieee -tp amd64 #F77FLAGS = -fast -Mipa=fast,inline -Kieee -tp amd64 #F90FLAGS = -O2 -Kieee -tpp7 #F77FLAGS = -O2 -Kieee -tpp7 # Define C compiler flags............................. # #CFLAGS = -O0 -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 = -fast -Mipa=fast,inline -Msmartalloc -I. -Kieee -tp amd64 #CFLAGS = -O2 -I. -Kieee -tpp7 # Libraries #SCALAPACK = -L/scinet/gpc/intel/Compiler/11.1/056/mkl/lib/em64t -lmkl_scalapack_lp64 # Blacs # #BLACSCINIT = /usr/local/blacs/LIB/blacsCinit_MPI-LINUX-0.a #BLACSFINIT = /usr/local/blacs/LIB/blacsF77init_MPI-LINUX-0.a #BLACSL = /usr/local/blacs/LIB/blacs_MPI-LINUX-0.a #BLACSCINIT = /scinet/gpc/intel/Compiler/11.1/056/mkl/lib/em64t/libmkl_blacs_openmpi_lp64.a #BLACSFINIT = /scinet/gpc/intel/Compiler/11.1/056/mkl/lib/em64t/libmkl_blacs_openmpi_lp64.a #BLACSL = /scinet/gpc/intel/Compiler/11.1/056/mkl/lib/em64t/libmkl_blacs_openmpi_lp64.a #BLACSC = $(BLACSCINIT) $(BLACSL) $(BLACSCINIT) #BLACSF = $(BLACSFINIT) $(BLACSL) $(BLACSFINIT) #BLACS = $(BLACSC) $(BLACSF) # Intel MKL libs LMKL = /scinet/gpc/intel/Compiler/11.1/056/mkl/lib # MPI # MPI = -L$(MPI_HOME)/lib -lmpi #MPI = -L$(MPI_HOME)/lib -lmpich WSMP = /home/dwhipp/software/wsmp/wsmp-Linux64/lib/Intel #WSMP = /home/dwhipp/software/wsmp/wsmp-Linux64-MPI2 # Use 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) \ -L$(WSMP) -lpwsmp64mpi2 \ -L$(LMKL) -lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 \ -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 \ $(MPI) -lpthread #-L$(TCML) -ltcmalloc_minimal \ #-L$(TCML) -lstacktrace \ #-L$(TCML) -lunwind \ #-L$(LMKL) -lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 \ # 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