# # This makefile is included from 'makefile'. It defines the # various machine dependent things such as compiler commands, # directories, libraries, etc. # # # FFTW directories # FFTW_DIR = -I%%LOCALBASE%%/include FFTW_LIB_DIR = -L%%LOCALBASE%%/lib # # The matrix diagonalization libraries, object, and and compile options # (LAPACK, ESSL, or the in-house supplied Jacobi diagonalizer). # # MATDIAG_OBJ must be either lapackdiagF77.o, essldiagF77.o, or jacobi.o # depending on which library you are going to use. # # MATDIAG_OPTS tells the system which library you will be using (i.e. # whether you're linking to lapackdiagF77.o, essldiagF77.o, or jacobi.o). # Set it to one of -DDFT_USE_LAPACK, -DDFT_USE_ESSL, or -DDFT_USE_JACOBI # # MATDIAG_LIB_DIR is the directory where the lapack library lives # (needed if the complier can't find it automatically) # If using jacobi.o, set it to ".". # MATDIAG_OBJ = matdiagC.o MATDIAG_OPTS = -DDFT_USE_LAPACK MATDIAG_LIB_DIR = -L. # # Our libraries: FFTW, math library, and possible LAPACK/BLAS libraries # LIBS = ${FFTW_LIB_DIR} ${MATDIAG_LIB_DIR} %%LAPACK%% %%BLAS%% %%FFTW%% %%FORTRANLIBS%% -lm # # # Optimization options for all compilers # OPTIM_OPTS = %%OPTIMIZED_FLAGS%% # # Parallelization options: machine dependent ones go here, **PLUS** # # put -DDFT_THREAD to use POSIX threads (SMP) # put -DDFT_MPI to use MPI (DMP) # (you can specify both if needed) # PARALLEL_OPTS = # # Compiler flags for all compilers # COMPILE_OPTS = -g -I. -Icommands ${FFTW_DIR} \ ${OPTIM_OPTS} ${PARALLEL_OPTS} ${MATDIAG_OPTS} # # C++ compiler and options # CPLUSPLUS = %%CXX%% CPLUSPLUSOPTS = ${COMPILE_OPTS} # # C compiler and options # CC = %%CC%% CCOPTS = ${COMPILE_OPTS} # # F77 compiler and options # F77 = %%FC%% F77OPTS = ${COMPILE_OPTS} # # Linker to use # # Note: on some linux platforms, using ${F77} as the linker works # better (then you exclude any -lf2c libraries). # LINKER = ${CPLUSPLUS} # # Linking options: static/dynamic flags, etc., if any # LINKOPTS = ${CPLUSPLUSOPTS}