# # gfortran under linux. # LINUX = true # # ID for "compare_module.pl script # COMPILER=GNU-gfortran-on-LINUX # # # WARNING WARNING - override default for Cray XT - parallel build only. # COMMS_ARCH:=mpi COMMS_OVERRIDDEN := true # # ifeq ($(COMMS_ARCH),mpi) F90 = ftn else F90 = gfortran endif # # Flag to specify module path search directory # MODULE_PREFIX=-I # # Extension for object files ".o" for unix # OBJ_EXTN = o # # General flags # FFLAGS_E = -fconvert=big-endian -frecord-marker=4 # # Optimiser, performance and debugging flags # ifeq ($(BUILD),warnings) OPT = -Ddebug -Wall -O0 -g -fbacktrace else ifeq ($(BUILD),debug) OPT = -Ddebug -O0 -g -fbounds-check -fbacktrace else ifeq ($(BUILD),intermediate) OPT = -O1 -g -fbacktrace else # Modified to remove '-march=native' flag OPT = -O3 -funroll-loops -ftree-loop-distribution endif endif endif # # Don't change this line # FFLAGS = $(FFLAGS_E) $(OPT) $(DEFS) $(INC) # # Libraries # ifeq ($(MATHLIBS),default) MATHLIBS= endif # # Cray scilib (Really only needed for serial compile - ftn includes it # ifeq ($(MATHLIBS),scilib) # Modified to remove explicit linking MATH_LIBS = endif # # Intel MKL - static link # ifeq ($(MATHLIBS),mkl9) MATH_LIBS = -Bstatic -lmkl_gfortran -lmkl_lapack -lmkl_em64t -lguide -Bdynamic -lpthread endif ifeq ($(MATHLIBS),mkl10) MATH_LIBS = -Wl,-Bstatic -Wl,--start-group -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group -Wl,-Bdynamic endif # # AMD ACML # ifeq ($(MATHLIBS),acml) MATH_LIBS = -lacml endif # # Kashushige Goto's fast assembler BLAS # ifeq ($(MATHLIBS),goto2) MATH_LIBS = -lgoto2 endif ifeq ($(MATHLIBS),goto) MATH_LIBS = -lgoto -llapack -lgoto -lpthread endif # # ATLAS BLAS # ifeq ($(MATHLIBS),atlas) # Link with the ATLAS blas and LAPACK routines. MATH_LIBS = -llapack -lf77blas -lcblas -latlas endif # # Generic Fortran BLAS # ifeq ($(MATHLIBS),generic) MATH_LIBS = -llapack -lblas endif # # FFT libs # ifeq ($(FFT),default) FFT = generic endif ifeq ($(FFT),fftw) FFT_LIBS = -lfftw endif ifeq ($(FFT),fftw3) FFT_LIBS = -lfftw3 endif # # Any additional libraries required. # EXTRA_LIBS = # # Link-time options. Add any additional library search directories here. # LD_FLAGS = -static $(OPT) ## Total libraries -- should not need to change this. # CASTEP_LIBS should be set up by specific makefiles. # LIBS = $(CASTEP_LIBS) $(MATH_LIBS) $(FFT_LIBS) $(COMMS_LIB) $(EXTRA_LIBS)