--- /dev/null Sat Mar 20 00:09:42 2004 +++ makefile.local-pw Sat Mar 20 00:01:36 2004 @@ -0,0 +1,96 @@ +# +# 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} + + + + + + + + +