# System-dependent definitions for t3e using MPI # Edit according to your needs .SUFFIXES : .SUFFIXES : .o .c .f .f90 .f90.o: $(F90) $(F90FLAGS) -c $< .f.o: $(F77) $(FFLAGS) -c $< .c.o: $(CC) $(CFLAGS) -c $< CPP = /opt/ctl/bin/cpp # add -D__BENCHLIB to CPPFLAGS if the benchlib is installed ## Use fft routines from mathematical t3e libraries # CPPFLAGS = -I../include -D__T3E -D__PARA -D__MPI ## Use precompiled fftw library (version <= 2.1.5, NOT v.3!) ## In this case, specify also how to load the fftw library (FFTW_LIB) ## and the path to the fftw.h include file (FFTW_INC_DIR). Example: # FFTW_LIB = -L/usr/local/src/fftw-2.1.3/fftw/.libs -lfftw # FFTW_INC_DIR = /usr/local/src/fftw-2.1.3/fftw # CPPFLAGS = -D__T3E -D__PARA -D__MPI -D__FFTW -I../include \ # -I$(FFTW_INC_DIR) # Use the local copy of fftw CPPFLAGS = -D__T3E -D__PARA -D__MPI -D__FFTW -D__USE_INTERNAL_FFTW \ -I../include -I. F90 = f90 F77 = f90 # you may need to add -Idir, where "dir"=directory where mpif.h resides # with -M1110 flag compiler does not issue warning messages for # the use of DOUBLE PRECISION constants in the code. (SdG) # More aggressive optimization flags: # FFLAGS = -O3 -O unroll2 -O pipeline3 -O aggress -O fusion -O bl -eZ FFLAGS = -em -dp -M1110 -eZ F90FLAGS = $(FFLAGS) -F $(CPPFLAGS) -p../Modules -p../PW -p../PH CFLAGS = $(CPPFLAGS) -O2 # usually blas and lapack are automatically loaded # and only fftw (if required) and mpi need to be specified # if you use -D__BENCHLIB, load the benchlib as well : # -l _scalar -l _vect -l _ereg LIBS = $(FFTW_LIB) -lmpi # this contains auxiliary routines missing in T3E lapack MYLIB = lapack_t3e LD = $(F90) LDFLAGS = ../flib/ptools.a ../flib/flib.a ../clib/clib.a $(LIBS) AR = ar ARFLAGS = ruv RANLIB = echo