[CPMD-list] compilation
Zak
b.zarychta at phys.keele.ac.uk
Sat Jan 18 17:21:24 CET 2003
Hi there,
i am fairly inexperienced in the configueation and compilation of large
programs. However following the advice of recent e-mails i am endevouring to
make the cpmd code for intel pentium III using ifc. Attached are the
Configure, Makefile and errors that I have encountered. Any help would be
greatly appreciated.
Zak
#!/bin/sh
#--------------------------------------------------------------------#
#Create Makefile for cpmd.x program. #
#--------------------------------------------------------------------#
# Options for CPPFLAG #
# -DLAPACK Use LAPACK routine, you must have this option and #
# the LAPACK library #
# -DFFT_DEFAULT Use default FFT routine in the code (from Goedecker)#
# -DFFT_ESSL Use FFT ESSL (need ESSL library) #
# -DFFT_HP Use FFT HP (Hewlet-Packard) #
# -DFFT_YMP Use CRAY YMP, C94, T90 FFT routines #
# -DFFT_T3D Use CRAY T3D or T3E FFT routines #
# -DPARALLEL For PARALLEL computers, you have to indicate #
# the parallel library with : #
# -DMP_LIBRARY=__MPI Message Passing Interface library #
# or __SHMEM SHMEM library (CRAY) #
# or __MPL #
# -D__VECTOR For vectorial computers #
# -DPOINTER8 If the addresses are coded in INTEGER*8 #
# (for LOC and MALLOC) #
# -DMALLOC8 If the argument of MALLOC is INTEGER*8 #
# -D__NOINT8 If the compiler does not use INTEGER*8 or #
# if the function BTEST and IBTEST do not like it #
# -DJOBLIMIT For batch job, try to know the remaining time #
# (For CRAY only) #
#--------------------------------------------------------------------#
#Create Makefile for cpmd.x program.
#Display all configurations
Message () {
cat << END >&2
Configure [options] Name_of_Configuration
where the name of the configuration is:
IBM-RISC IBM-SP2
IBM-SP3 IBM-SP3-SMP
IBM-270 CRAY-YMP
CRAY-C94 CRAY-T90
CRAY-T3D CRAY-T3E
CRAY-T3E-PACX SGI-ORIGIN
SGI-ORIGIN-MPI DEC-ALPHA
DEC-ALPHA-MPI COMPAQ-SC80
SUN NEC-SX4
NEC-SX5 NEC-SX5-MPI
HP HP-MPI
HITACHI-SR2201 HITACHI-SR8000
FUJITSU-VPP5000 FUJITSU-VPP
FUJITSU-VPP-MPI FUJITSU-VPP-JPN
FUJITSU-VPP-MPJP PC-ABSOFT
PC-PGI PC-PGI-MPI
PC-IFC ITANIUM-EFC
LINUX-ALPHA LINUX-ALPHA-MPI
Use Configure in the directory where the SOURCE FILES are.
Ex: Configure SUN > Makefile
See the description of options with Configure -help
END
}
#Help
Help () {
Message
cat << END >&2
Description of options:
-debug (-d) Give special options for debugging
-help (-h) Print this message
-makefile (-m) Create the file Makefile in DEST directory
instead of using standard output
-verbose (-v) Display the name of files for the dependencies
-qmmm Generates a makefile for QMMM
-VAR=value Use the value of VAR in the makefile
Ex: -DEST=destdir specifies where the compilation will be
You can use:
FFLAGS Fortran flags
LFLAGS Link editor flags
CFLAGS C compiler flags
CPP Preprocessor program
CPPFLAGS CPP flags
FC Fortran compiler
LD Link editor
AR Archive library maintainer
RANLIB Converts archives to random libraries
SRC Source files directory (default=.)
DEST Object files directory (default=.)
Use to write irat.inc in the right directory
BIN Use to put the cpmd.x executable (default=.)
Note: if you want to compile cpmd.x in a different directory
than the source files, use:
Configure -DEST=destdir SUN > destdir/Makefile
or Configure -makefile -DEST=destdir SUN
and then cd destdir; make
In this case, SRC is equal to source_dir_pathname
except if you specify SRC.
END
}
#No argument: Error
if [ $# -eq 0 ]; then
Message
exit 2
fi
#Is it help option or debug option
opt=0
i=1
while [ $i -le $# ];
do
#Select the i-th argument
eval option=\$$i
case $option in
-qmmm|-q)
qmmm=1
;;
-debug|-d)
debug=1
;;
-help|-h)
Help
exit 0
;;
-makefile|-m)
makefile=1
;;
-verbose|-v)
verbose=1
;;
-DEST=*)
opt=1
DEST=`echo $option | cut -c2- | cut -d= -f 2`
;;
-*=*)
opt=1
;;
-*)
echo "Unknow option: $option" >&2
Message
exit 1
;;
*)
Configuration=$option
;;
esac
i=`expr $i + 1`
done
#No configuration given
if [ -z "$Configuration" ]; then
echo "Configure: No configuration name" >&2
Message
exit 2
fi
#--------------------------------------------------------------------#
#Configurations #
#--------------------------------------------------------------------#
CC='cc'
CPPFLAGS_GROMOS='-DEWALD -DEWATCUT -DHAT_SHAPE -UNPACKED_GRID'
AWK='awk'
case ${Configuration}
in
"IBM-RISC")
IRAT=2
FFLAGS='-qmaxmem=8192'
FFLAGS_GROMOS='-O3 -c -qarch=auto -qdpc'
LFLAGS='-llapack -lessl -bbinder:/usr/lib/bind -bmaxdata:1024000000'
CPP='/usr/ccs/lib/cpp -P'
CPPFLAGS='-D__IBM -DLAPACK -DFFT_ESSL'
AR='/usr/bin/ar -c'
RANLIB='/usr/bin/ranlib'
if [ $debug ]; then
#-C Performs run-time checking of array bounds and character
# substring expressions
CFLAGS='-g'
FC='xlf -c -g -C -qflttrap'
LD='xlf -g -C -qflttrap'
else
CFLAGS='-O'
FC='xlf -c -O'
LD='xlf -O'
fi
;;
"IBM-270")
IRAT=2
FFLAGS='-O3 -qstrict -qxlf77=leadzero -qmaxmem=32768 -qarch=pwr3'
FFLAGS_GROMOS='-c -O3 -qarch=pwr3 -qdpc'
LFLAGS='-L/usr/local/lapack -llapack_pwr3 -lesslsmp -llapack_pwr3 \
-bbinder:/usr/lib/bind -bmaxdata:2048000000 -qarch=pwr3'
CFLAGS='-O3 -qstrict -qarch=pwr3 '
CPP='/usr/ccs/lib/cpp -P'
CPPFLAGS='-D__IBM -DLAPACK -DFFT_ESSL'
AR='/usr/bin/ar'
RANLIB='/usr/bin/ranlib'
if [ $debug ]; then
CFLAGS='-g'
FC='xlf_r -c -g'
LD='xlf_r -g'
else
CFLAGS='-O3 -qstrict -qarch=pwr3'
FC='xlf_r -c -O3 -qstrict'
LD='xlf_r -O3 -qstrict'
fi
;;
"IBM-SP2")
IRAT=2
FFLAGS='-qmaxmem=8192 -qarch=pwr2'
FFLAGS_GROMOS='-c -O3 -qarch=pwr2 -qdpc'
LFLAGS='-llapack -lessl -bbinder:/usr/lib/bind -bmaxdata:1024000000'
CFLAGS=''
CPP='/usr/ccs/lib/cpp -P'
CPPFLAGS='-D__IBM -DLAPACK -DPARALLEL -DMP_LIBRARY=__MPI -DFFT_ESSL'
AR='/usr/bin/ar'
RANLIB='/usr/bin/ranlib'
if [ $debug ]; then
CFLAGS='-g'
FC='mpxlf -c -g'
LD='mpxlf -g'
else
CFLAGS='-O'
FC='mpxlf -c -O'
LD='mpxlf -O'
fi
;;
"IBM-SP3")
IRAT=2
FFLAGS='-O3 -qstrict -qxlf77=leadzero -qmaxmem=32768 -qarch=pwr3'
FFLAGS_GROMOS='-c -O3 -qarch=pwr3 -qdpc'
LFLAGS='-L/usr/local/lapack -llapack_pwr3 -lessl -llapack_pwr3 \
-bbinder:/usr/lib/bind -bmaxdata:2048000000 -qarch=pwr3'
CFLAGS='-O3 -qstrict -qarch=pwr3 '
CPP='/usr/ccs/lib/cpp -P'
CPPFLAGS='-D__IBM -DLAPACK -DPARALLEL -DMP_LIBRARY=__MPI -DFFT_ESSL'
AR='/usr/bin/ar'
RANLIB='/usr/bin/ranlib'
if [ $debug ]; then
CFLAGS='-g'
FC='mpxlf -c -g'
LD='mpxlf -g'
else
CFLAGS='-O3 -qstrict -qarch=pwr3'
FC='mpxlf -c -O3 -qstrict'
LD='mpxlf -O3 -qstrict'
fi
;;
"IBM-SP3-SMP")
IRAT=2
FFLAGS='-O3 -qstrict -qxlf77=leadzero -qmaxmem=32768 -qarch=pwr3'
FFLAGS_GROMOS='-c -O3 -qarch=pwr3 -qdpc'
LFLAGS='-L/usr/local/lapack -llapack_pwr3 -lesslsmp -llapack_pwr3 \
-bbinder:/usr/lib/bind -bmaxdata:2048000000 -qarch=pwr3'
CFLAGS='-O3 -qstrict -qarch=pwr3 '
CPP='/usr/ccs/lib/cpp -P'
CPPFLAGS='-D__IBM -DLAPACK -DPARALLEL -DMP_LIBRARY=__MPI -DFFT_ESSL'
AR='/usr/bin/ar'
RANLIB='/usr/bin/ranlib'
if [ $debug ]; then
CFLAGS='-g'
FC='mpxlf_r -c -g'
LD='mpxlf_r -g'
else
CFLAGS='-O3 -qstrict -qarch=pwr3'
FC='mpxlf_r -c -O3 -qstrict'
LD='mpxlf_r -O3 -qstrict'
fi
;;
"CRAY-YMP" | "CRAY-T90")
IRAT=1
FFLAGS='-dp'
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS=''
CFLAGS=''
CPP='/lib/cpp -PC'
CPPFLAGS='-DCRAY -DYMP -D__VECTOR -DLAPACK -DFFT_DEFAULT \
-DDGEMM=SGEMM -DDAXPY=SAXPY -DDASUM=SASUM -DDSCAL=SSCAL \
-DDDOT=SDOT -DDCOPY=SCOPY -DDGEMV=SGEMV -DIDAMAX=ISAMAX \
-DDERF=ERF -DDERFC=ERFC -DDROT=SROT -DDGER=SGER \
-DIDMIN=ISMIN -DDGELSS=SGELSS -DDGESV=SGESV -DDGETRF=SGETRF \
-DDGETRI=SGETRI -DDSPEV=SSPEV -DDSYGV=SSYGV -DIDAMIN=ISAMIN \
-DDSWAP=SSWAP -DDSYRK=SSYRK -DDNRM2=SNRM2 -DZSCAL=CSCAL \
-DZAXPY=CAXPY -DZDOTC=CDOTC -DZGEMV=CGEMV -DZGEMM=CGEMM \
-DZHEGV=CHEGV -DZHEEV=CHEEV -DDZNRM2=SCNRM2 -DDPOTRF=SPOTRF \
-DDTRTRI=STRTRI -DDTRMM=STRMM -DZHERK=CHERK -DZPOTRF=CPOTRF \
-DZTRTRI=CTRTRI -DZTRMM=CTRMM -DIMAG=AIMAG -DZCOPY=CCOPY \
-DDSYEV=SSYEV -DZGETRF=CGETRF -DDSYEVX=SSYEVX -DDSBEVX=SSBEVX \
-DZHEEVX=CHEEVX -DZHBEVX=CHBEVX -DZGETRI=CGETRI -DDSTEV=SSTEV \
-DZGEEV=CGEEV -DDSYMM=SSYMM -DDPOSV=SPOSV -DDSYR=SSYR \
-DZHPEV=CHPEV -DDGEEV=SGEEV -DSYSV=SSYSV'
AR='/bin/ar -r'
RANLIB='/opt/ctl/bin/ranlib'
if [ $debug ]; then
CFLAGS='-g'
FC='cf77 -Zp -c -g'
LD='cf77 -g'
else
CFLAGS='-O'
FC='cf77 -Zp -c -O 2'
LD='cf77 -O 2'
fi
;;
"CRAY-C94")
IRAT=1
FFLAGS='-c -dp'
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS=''
CPP='cpp -PC'
CPPFLAGS='-DCRAY -D__YMP -D__VECTOR -DLAPACK -DFFT_DEFAULT \
-DDGEMM=SGEMM -DDAXPY=SAXPY -DDASUM=SASUM -DDSCAL=SSCAL \
-DDDOT=SDOT -DDCOPY=SCOPY -DDGEMV=SGEMV -DIDAMAX=ISAMAX \
-DDERF=ERF -DDERFC=ERFC -DDROT=SROT -DDGER=SGER \
-DIDMIN=ISMIN -DDGELSS=SGELSS -DDGESV=SGESV -DDGETRF=SGETRF \
-DDGETRI=SGETRI -DDSPEV=SSPEV -DDSYGV=SSYGV -DIDAMIN=ISAMIN \
-DDSWAP=SSWAP -DDSYRK=SSYRK -DDNRM2=SNRM2 -DZSCAL=CSCAL \
-DZAXPY=CAXPY -DZDOTC=CDOTC -DZGEMV=CGEMV -DZGEMM=CGEMM \
-DZHEGV=CHEGV -DZHEEV=CHEEV -DDZNRM2=SCNRM2 -DDPOTRF=SPOTRF \
-DDTRTRI=STRTRI -DDTRMM=STRMM -DZHERK=CHERK -DZPOTRF=CPOTRF \
-DZTRTRI=CTRTRI -DZTRMM=CTRMM -DIMAG=AIMAG -DZCOPY=CCOPY \
-DDSYEV=SSYEV -DZGETRF=CGETRF -DDSYEVX=SSYEVX -DDSBEVX=SSBEVX \
-DZHEEVX=CHEEVX -DZHBEVX=CHBEVX -DZGETRI=CGETRI -DDSTEV=SSTEV \
-DZGEEV=CGEEV -DDSYMM=SSYMM -DDPOSV=SPOSV -DDSYR=SSYR \
-DZHPEV=CHPEV -DDGEEV=SGEEV -DSYSV=SSYSV'
AR='/bin/ar -r'
RANLIB='/opt/ctl/bin/ranlib'
if [ $debug ]; then
FC='f90 -g -R abcn'
LD='f90 -g -R abcn'
CC='cc -g'
else
FC='f90 -O 3'
LD='f90 -O 3'
CC='cc -O 3'
fi
;;
"CRAY-T3D")
IRAT=1
#In Edinburg Cray T3D
CRAYLIBS_T3D='/opt/ctl/craylibs_m/2.0.0.0'
FFLAGS='-X 4 -G1 \
-c -dp -I $(CRAYLIBS_T3D)/include/mpp/mpp -I /usr/include/mpp'
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-Wl"-Xm" -lmpi'
CFLAGS=' $(CPPFLAGS)'
CPP='/opt/ctl/bin/cpp -PC'
CPPFLAGS='-DCRAY -DT3D -DLAPACK -DPARALLEL -DMP_LIBRARY=__MPI \
-DFFT_DEFAULT \
-DDGEMM=SGEMM -DDAXPY=SAXPY -DDASUM=SASUM -DDSCAL=SSCAL \
-DDDOT=SDOT -DDCOPY=SCOPY -DDGEMV=SGEMV -DIDAMAX=ISAMAX \
-DDERF=ERF -DDERFC=ERFC -DDROT=SROT -DDGER=SGER \
-DIDMIN=ISMIN -DDGELSS=SGELSS -DDGESV=SGESV -DDGETRF=SGETRF \
-DDGETRI=SGETRI -DDSPEV=SSPEV -DDSYGV=SSYGV -DIDAMIN=ISAMIN \
-DDSWAP=SSWAP -DDSYRK=SSYRK -DDNRM2=SNRM2 -DZSCAL=CSCAL \
-DZAXPY=CAXPY -DZDOTC=CDOTC -DZGEMV=CGEMV -DZGEMM=CGEMM \
-DZHEGV=CHEGV -DZHEEV=CHEEV -DDZNRM2=SCNRM2 -DDPOTRF=SPOTRF \
-DDTRTRI=STRTRI -DDTRMM=STRMM -DZHERK=CHERK -DZPOTRF=CPOTRF \
-DZTRTRI=CTRTRI -DZTRMM=CTRMM -DIMAG=AIMAG -DZCOPY=CCOPY \
-DDSYEV=SSYEV -DZGETRF=CGETRF -DDSYEVX=SSYEVX -DDSBEVX=SSBEVX \
-DZHEEVX=CHEEVX -DZHBEVX=CHBEVX -DZGETRI=CGETRI -DDSTEV=SSTEV \
-DZGEEV=CGEEV -DDSYMM=SSYMM -DDPOSV=SPOSV -DDSYR=SSYR \
-DZHPEV=CHPEV -DDGEEV=SGEEV -DSYSV=SSYSV'
AR='/bin/ar -r'
RANLIB='/opt/ctl/bin/ranlib'
if [ $debug ]; then
FC='/opt/ctl/bin/f90 -G1 -g'
LD='/opt/ctl/bin/f90 -g'
CC='/opt/ctl/bin/cc -g'
else
FC='/opt/ctl/bin/f90 -G1 -O 3'
LD='/opt/ctl/bin/f90 -O 3'
CC='/opt/ctl/bin/cc -O 3'
fi
;;
"CRAY-T3E")
IRAT=1
FFLAGS='-c -dp'
FFLAGS_GROMOS='-c -dp -O3 '
LFLAGS='-Wl"-Xm -L/usr/local/lib -lmpi"'
CPP='cpp -P -C'
if [ $qmmm ]; then
CPPFLAGS='-DCRAY -DT3E -DLAPACK -DPARALLEL -DMP_LIBRARY=__MPI \
-DFFT_DEFAULT \
-DDGEMM=SGEMM -DDAXPY=SAXPY -DDASUM=SASUM -DDSCAL=SSCAL \
-DDDOT=SDOT -DDCOPY=SCOPY -DDGEMV=SGEMV -DIDAMAX=ISAMAX \
-DDERF=ERF -DDERFC=ERFC -DDROT=SROT -DDGER=SGER \
-DIDMIN=ISMIN -DDGELSS=SGELSS -DDGESV=SGESV -DDGETRF=SGETRF \
-DDGETRI=SGETRI -DDSPEV=SSPEV -DDSYGV=SSYGV -DIDAMIN=ISAMIN \
-DDSWAP=SSWAP -DDSYRK=SSYRK -DDNRM2=SNRM2 -DZSCAL=CSCAL \
-DZAXPY=CAXPY -DZDOTC=CDOTC -DZGEMV=CGEMV -DZGEMM=CGEMM \
-DZHEGV=CHEGV -DZHEEV=CHEEV -DDZNRM2=SCNRM2 -DDPOTRF=SPOTRF \
-DDTRTRI=STRTRI -DDTRMM=STRMM -DZHERK=CHERK -DZPOTRF=CPOTRF \
-DZTRTRI=CTRTRI -DZTRMM=CTRMM -DIMAG=AIMAG -DZCOPY=CCOPY \
-DDSYEV=SSYEV -DZGETRF=CGETRF -DDSYEVX=SSYEVX -DDSBEVX=SSBEVX \
-DZHEEVX=CHEEVX -DZHBEVX=CHBEVX -DZGETRI=CGETRI -DDSTEV=SSTEV \
-DZGEEV=CGEEV -DDSYMM=SSYMM -DDPOSV=SPOSV -DDSYR=SSYR \
-DZHPEV=CHPEV -DDGEEV=SGEEV -DSYSV=SSYSV'
else
CPPFLAGS='-DCRAY -DT3E -DLAPACK -DPARALLEL -DMP_LIBRARY=__SHMEM \
-DFFT_DEFAULT \
-DDGEMM=SGEMM -DDAXPY=SAXPY -DDASUM=SASUM -DDSCAL=SSCAL \
-DDDOT=SDOT -DDCOPY=SCOPY -DDGEMV=SGEMV -DIDAMAX=ISAMAX \
-DDERF=ERF -DDERFC=ERFC -DDROT=SROT -DDGER=SGER \
-DIDMIN=ISMIN -DDGELSS=SGELSS -DDGESV=SGESV -DDGETRF=SGETRF \
-DDGETRI=SGETRI -DDSPEV=SSPEV -DDSYGV=SSYGV -DIDAMIN=ISAMIN \
-DDSWAP=SSWAP -DDSYRK=SSYRK -DDNRM2=SNRM2 -DZSCAL=CSCAL \
-DZAXPY=CAXPY -DZDOTC=CDOTC -DZGEMV=CGEMV -DZGEMM=CGEMM \
-DZHEGV=CHEGV -DZHEEV=CHEEV -DDZNRM2=SCNRM2 -DDPOTRF=SPOTRF \
-DDTRTRI=STRTRI -DDTRMM=STRMM -DZHERK=CHERK -DZPOTRF=CPOTRF \
-DZTRTRI=CTRTRI -DZTRMM=CTRMM -DIMAG=AIMAG -DZCOPY=CCOPY \
-DDSYEV=SSYEV -DZGETRF=CGETRF -DDSYEVX=SSYEVX -DDSBEVX=SSBEVX \
-DZHEEVX=CHEEVX -DZHBEVX=CHBEVX -DZGETRI=CGETRI -DDSTEV=SSTEV \
-DZGEEV=CGEEV -DDSYMM=SSYMM -DDPOSV=SPOSV -DDSYR=SSYR \
-DZHPEV=CHPEV -DDGEEV=SGEEV -DSYSV=SSYSV'
fi
CFLAGS=' $(CPPFLAGS)'
CPPFLAGS_GROMOS='-DEWALD -DEWATCUT -DHAT_SHAPE -UNPACKED_GRID -DCRAY_FFT'
AR='/bin/ar -r'
RANLIB='/opt/ctl/bin/ranlib'
if [ $debug ]; then
FC='f90 -g -R abcn'
LD='f90 -g -R abcn'
CC='cc -g'
else
FC='f90 -O 3'
LD='f90 -O 3'
CC='cc -O 3'
fi
;;
"CRAY-T3E-PACX")
IRAT=1
PACX_PATH=/usr/local/pacx
FFLAGS='-c -dp -I${PACX_PATH}/include'
LFLAGS='-Wl"-Xm -L ${PACX_PATH}/lib -lpacxf -lpacx"'
CPP='cpp -P -C'
CPPFLAGS='-DCRAY -DT3E -DLAPACK -DPARALLEL -DMP_LIBRARY=__MPI \
-DFFT_DEFAULT \
-DDGEMM=SGEMM -DDAXPY=SAXPY -DDASUM=SASUM -DDSCAL=SSCAL \
-DDDOT=SDOT -DDCOPY=SCOPY -DDGEMV=SGEMV -DIDAMAX=ISAMAX \
-DDERF=ERF -DDERFC=ERFC -DDROT=SROT -DDGER=SGER \
-DIDMIN=ISMIN -DDGELSS=SGELSS -DDGESV=SGESV -DDGETRF=SGETRF \
-DDGETRI=SGETRI -DDSPEV=SSPEV -DDSYGV=SSYGV -DIDAMIN=ISAMIN \
-DDSWAP=SSWAP -DDSYRK=SSYRK -DDNRM2=SNRM2 -DZSCAL=CSCAL \
-DZAXPY=CAXPY -DZDOTC=CDOTC -DZGEMV=CGEMV -DZGEMM=CGEMM \
-DZHEGV=CHEGV -DZHEEV=CHEEV -DDZNRM2=SCNRM2 -DDPOTRF=SPOTRF \
-DDTRTRI=STRTRI -DDTRMM=STRMM -DZHERK=CHERK -DZPOTRF=CPOTRF \
-DZTRTRI=CTRTRI -DZTRMM=CTRMM -DIMAG=AIMAG -DZCOPY=CCOPY \
-DDSYEV=SSYEV -DZGETRF=CGETRF -DDSYEVX=SSYEVX -DDSBEVX=SSBEVX \
-DZHEEVX=CHEEVX -DZHBEVX=CHBEVX -DZGETRI=CGETRI -DDSTEV=SSTEV \
-DZGEEV=CGEEV -DDSYMM=SSYMM -DDPOSV=SPOSV -DDSYR=SSYR \
-DZHPEV=CHPEV -DDGEEV=SGEEV -DSYSV=SSYSV'
CFLAGS=' $(CPPFLAGS)'
AR='/bin/ar -r'
RANLIB='/opt/ctl/bin/ranlib'
if [ $debug ]; then
FC='f90 -g -R abcn'
LD='f90 -g -R abcn'
CC='cc -g'
else
FC='f90 -O 3'
LD='f90 -O 3'
CC='cc -O 3'
fi
;;
"SGI-ORIGIN")
IRAT=2
FFLAGS='-O3 -nocpp -r8'
FFLAGS_GROMOS='-Dgood_luck'
CFLAGS='-D__SGI -mips4 -64'
LFLAGS='-lcomplib.sgimath -lblas'
CPP='/usr/lib/acpp -E -P'
CPPFLAGS='-D__SGI -DPOINTER8 -D__DERF -DFFT_DEFAULT -DLAPACK'
if [ $debug ]; then
FC='f90 -mips4 -64 -c -g'
LD='f90 -mips4 -64 -g'
else
CC='cc -O3 -c'
FC='f90 -mips4 -64 -c'
LD='f90 -mips4 -64'
fi
;;
"SGI-ORIGIN-MPI")
IRAT=2
FFLAGS='-O3 -nocpp -r8'
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-lcomplib.sgimath -lblas -lmpi'
CFLAGS='-D__SGI -mips4 -64'
CPP='/usr/lib/acpp -E -P'
CPPFLAGS='-D__SGI -DFFT_DEFAULT -DLAPACK -DPOINTER8 -DPARALLEL \
-DMP_LIBRARY=__MPI'
AR='ar'
RANLIB='echo'
if [ $debug ]; then
FC='f90 -mips4 -64 -c -g'
LD='f90 -mips4 -64 -g'
else
FC='f90 -mips4 -64 -c'
LD='f90 -mips4 -64'
fi
;;
"DEC-ALPHA")
IRAT=2
CFLAGS='-D__alpha'
CPP='cpp -P'
CPPFLAGS='-C -D__alpha -DPOINTER8 -D__DERF -DLAPACK -DFFT_DEFAULT'
FFLAGS='-align dcommons -convert big_endian'
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-ldxml'
AR='/usr/bin/ar -r'
RANLIB='/usr/bin/ranlib'
if [ $debug ]; then
FC='f90 -g -c -V -ladebug -check bounds -check overflow -check power'
CC='cc -c -g'
LD='f90 -g -ladebug'
else
FC='f90 -O -c'
CC='cc -c -O'
LD='f90 -O'
fi
;;
"LINUX-ALPHA")
IRAT=2
CFLAGS='-D__alpha'
CPP='/lib/cpp -P -C -traditional'
CPPFLAGS='-D__alpha -DPOINTER8 -D__DERF -DLAPACK -DFFT_DEFAULT
-DALPHALINUX \
-DMYRINET'
FFLAGS=''
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-lcxml'
AR='/usr/bin/ar -r'
RANLIB='/usr/bin/ranlib'
if [ $debug ]; then
FC='fort -g -c '
CC='cc -c -g'
LD='fort -g '
else
FC='fort -fast -arch host -c '
CC='cc -c -O'
LD='fort -fast -arch host '
fi
;;
"LINUX-ALPHA-MPI")
IRAT=2
CFLAGS='-D__alpha'
CPP='/lib/cpp -P -C -traditional'
CPPFLAGS='-D__alpha -DPOINTER8 -D__DERF -DLAPACK -DFFT_DEFAULT
-DALPHALINUX \
-DPARALLEL -DMP_LIBRARY=__MPI -DMYRINET'
FFLAGS=''
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-lcxml'
AR='/usr/bin/ar -r'
RANLIB='/usr/bin/ranlib'
if [ $debug ]; then
FC='mpif77 -g -c '
CC='mpicc -c -g'
LD='mpif77 -g '
else
FC='mpif77 -fast -arch host -c '
CC='mpicc -c -O'
LD='mpif77 -fast -arch host '
fi
;;
"DEC-ALPHA-MPI")
IRAT=2
CFLAGS='-D__alpha -I/usr/opt/MPI130/include'
CPP='cpp -P'
CPPFLAGS='-C -D__alpha -DPOINTER8 -D__DERF -DLAPACK -DFFT_DEFAULT \
-DPARALLEL -DMP_LIBRARY=__MPI'
FFLAGS='-align dcommons -convert big_endian -I/usr/opt/MPI130/include'
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-ldxml -lfmpi -lmpi -lrt -pthread'
AR='/usr/bin/ar -r'
RANLIB='/usr/bin/ranlib'
if [ $debug ]; then
FC='f90 -g -c -V -ladebug -check bounds -check overflow -check power'
CC='cc -c -g'
LD='f90 -g -ladebug'
else
FC='f90 -O -c'
CC='cc -c -O'
LD='f90 -O'
fi
;;
"COMPAQ-SC80")
IRAT=2
CFLAGS='-D__alpha'
CPP='cpp -P'
CPPFLAGS='-C -D__alpha -DPOINTER8 -D__DERF -DLAPACK -DFFT_DEFAULT \
-DPARALLEL -DMP_LIBRARY=__MPI'
FFLAGS='-align dcommons -convert big_endian'
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-ldxml -lmpi -lelan -lelan3'
AR='/usr/bin/ar -r'
RANLIB='/usr/bin/ranlib'
if [ $debug ]; then
FC='f90 -g -c -V -ladebug -check bounds -check overflow -check power'
CC='cc -c -g'
LD='f90 -g -ladebug'
else
FC='f90 -O -arch ev6 -tune ev6 -c'
CC='cc -c -O'
LD='f90 -O'
fi
;;
"HP")
IRAT=2
CFLAGS='-D__HP'
CPP='/usr/ccs/lbin/cpp'
CPPFLAGS=-D__HP -DFFT_HP -DLAPACK -D_PSTAT64
FFLAGS='+O3 +Odataprefetch +Onolimit +DA2.0 +DS2.0 +U77 \
+externals=equiv_file'
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-L /opt/mlib/lib/pa2.0 -lveclib -llapack +O3 +Oparallel -lm +U77'
AR='/usr/bin/ar -r'
RANLIB='/usr/bin/ranlib'
if [ $debug ]; then
FC='f90 -g -c'
CC='cc -c -g'
LD='f90 -g'
else
FC='f90 -c'
CC='cc -c -O'
LD='f90'
fi
;;
"HP-MPI")
IRAT=2
CFLAGS='-D__HP'
CPP='/usr/ccs/lbin/cpp'
CPPFLAGS='-E -P -D__HP -DFFT_DEFAULT -DLAPACK -DPARALLEL \
-DMP_LIBRARY=__MPI'
CPPFLAGS='-D__HP -DFFT_HP -DLAPACK -DPARALLEL \
-DMP_LIBRARY=__MPI -D_PSTAT64'
FFLAGS='+O3 +Odataprefetch +Onolimit +DA2.0 +DS2.0 +U77 \
+externals=equiv_file -I /opt/mpi/include'
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-L /opt/mlib/lib/pa2.0 -lveclib -llapack +O3 +Oparallel \
-lm +U77 -L /opt/mpi/lib/pa1.1 -lmpi'
AR='/usr/bin/ar -r'
RANLIB='/usr/bin/ranlib'
if [ $debug ]; then
FC='f90 -g -c'
CC='cc -c -g'
LD='f90 -g'
else
FC='f90 -c'
CC='cc -c -O'
LD='f90'
fi
;;
"HITACHI-SR2201")
IRAT=2
CFLAGS='-D__SR2201'
CPP='cpp -PC'
CPPFLAGS='-D__SR2201 -D__NOINT8 -DPARALLEL -D__VECTOR \
-DFFT_DEFAULT -DLAPACK -DMP_LIBRARY=__MPI'
FFLAGS='-c -W0,"LANGLVL(INTPTR(1),CONTI199(1)),OPT(O(S)),PVEC" \
-I/usr/local/mpi/include'
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-L/usr/local/lib -L/usr/local/BLAS -L/usr/local/mpi/lib \
-llapack -lblas -lfmpi -lmpi -lf77c'
AR='/usr/bin/ar -r'
RANLIB='/usr/bin/ranlib'
if [ $debug ]; then
FC='f90 -g -c'
CC='cc -c -g'
LD='f90 -g'
else
FC='f90 -c'
CC='cc -c -O'
LD='f90'
fi
;;
"HITACHI-SR8000")
IRAT=2
CFLAGS='-64 -D__SR8000'
CPP='cpp -PC'
CPPFLAGS='-D__SR8000 -DPOINTER8 -D__NOINT8 -DPARALLEL -D__VECTOR \
-DFFT_DEFAULT -DLAPACK -DMP_LIBRARY=__MPI -DMALLOC8'
FFLAGS='\
-W0,"opt(o(ss),scope(0)),mp(procnum(8)),opt(split(0),rapidcall(0))" \
-W0,"pvec(pvfunc(0)),list(e(4)),langlvl(intptr(1),conti199(1))" \
-nolimit -64 -I/usr/mpi/include'
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-parallel -64 +BTLB -L/usr/lib/LAPACK/lib64 -L/usr/lib/BLAS/lib64
\
-L/usr/mpi/lib/lib64 -llapack -lblas -lfmpi -lmpi -lf90c'
AR='/usr/bin/ar -r'
RANLIB='/usr/bin/ranlib'
if [ $debug ]; then
FC='f90 -g -c'
CC='cc -c -g'
LD='f90 -g'
else
FC='mpif90 -c -i,P'
CC='mpicc -c -O'
LD='mpif90'
fi
;;
"SUN")
IRAT=2
CFLAGS=''
CPP='/usr/ccs/lib/cpp -P'
CPPFLAGS=`printf "-D__SUN -DLAPACK -DFFT_DEFAULT \134\\\n\t\
-D__DATE__=\"'\\\`date '+%%b %%e %%Y'\\\`'\" \134\\\n\t\
-D__TIME__=\"'\\\`date '+%%b %%e %%Y'\\\`'\" "`
#-sb is to use Workshop package
FFLAGS='-dalign -fnonstd'
FFLAGS_GROMOS='-Dgood_luck'
AR='/usr/ccs/bin/ar'
RANLIB='/usr/ccs/bin/ranlib'
if [ $debug ]; then
FC='f77 -c -g -sb'
LFLAGS='-xlic_lib=sunperf'
CC='cc -g -sb -C -errtags'
LD='f77 -dalign -fnonstd -g -sb'
else
FC='f77 -c -O4 -cg92 -native -w'
LFLAGS='-xlibmopt -xlic_lib=sunperf'
CC='cc -O'
LD='f77 -dalign -fnonstd -O4'
fi
;;
"NEC-SX4_obsolete")
IRAT=1
FFLAGS='-float2 -pvctl loopcnt=9999999'
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-l-llapack2 -l-lblas2'
CPP='/lib/cpp -P'
CPPFLAGS='-D__NEC -USX -DFFT_DEFAULT -DLAPACK -D__VECTOR \
-DDGEMM=SGEMM -DDAXPY=SAXPY -DDASUM=SASUM -DDSCAL=SSCAL \
-DDDOT=SDOT -DDCOPY=SCOPY -DDGEMV=SGEMV -DIDAMAX=ISAMAX \
-DDERF=ERF -DDERFC=ERFC -DDROT=SROT -DDGER=SGER \
-DIDMIN=ISMIN -DDGELSS=SGELSS -DDGESV=SGESV -DDGETRF=SGETRF \
-DDGETRI=SGETRI -DDSPEV=SSPEV -DDSYGV=SSYGV -DIDAMIN=ISAMIN \
-DDSWAP=SSWAP -DDSYRK=SSYRK -DDNRM2=SNRM2 -DZSCAL=CSCAL \
-DZAXPY=CAXPY -DZDOTC=CDOTC -DZGEMV=CGEMV -DZGEMM=CGEMM \
-DZHEGV=CHEGV -DZHEEV=CHEEV -DDZNRM2=SCNRM2 -DDPOTRF=SPOTRF \
-DDTRTRI=STRTRI -DDTRMM=STRMM -DZHERK=CHERK -DZPOTRF=CPOTRF \
-DZTRTRI=CTRTRI -DZTRMM=CTRMM -DIMAG=AIMAG -DZCOPY=CCOPY \
-DDSYEV=SSYEV -DZGETRF=CGETRF -DDSYEVX=SSYEVX -DDSBEVX=SSBEVX \
-DZHEEVX=CHEEVX -DZHBEVX=CHBEVX -DZGETRI=CGETRI -DDSTEV=SSTEV \
-DZGEEV=CGEEV -DDSYMM=SSYMM -DDPOSV=SPOSV -DDSYR=SSYR \
-DZHPEV=CHPEV -DDGEEV=SGEEV -DSYSV=SSYSV'
AR='ar'
RANLIB='ranlib'
if [ $debug ]; then
echo "No debug version for ${Configuration}" >&2
exit 1
else
FC='f77sx -c'
LD='f77sx'
fi
;;
"NEC-SX4")
IRAT=1
FFLAGS_GROMOS='-Dgood_luck'
FFLAGS='-sx4 -ew -float0 -f0 -Pstatic \
-V -R5 -Cvopt -pi expin=util.f \
-I /sx5/usr/include \
-Wf"-pvctl noassume loopcnt=99999999 fullmsg vr256 \
vwork=static vworksz=4M novlchk noverrchk"'
LFLAGS='$(FFLAGS) -Wl"-h lib_cyclic -h muldefs" -L/apps/mathkeisan/lib
-llapack_64 -lblas_64'
CPP='/usr/ccs/lib/cpp -P'
CPPFLAGS='-D__NEC -USX -DFFT_DEFAULT -DLAPACK -D__VECTOR'
AR='sxar'
RANLIB='touch'
AWK='/usr/xpg4/bin/awk'
if [ $debug ]; then
echo "No debug version for ${Configuration}" >&2
exit 1
else
CC='sxcc -clear'
FC='sxf90 -clear -c'
LD='sxf90 -clear'
fi
;;
"NEC-SX5_obsolete")
IRAT=1
FFLAGS_GROMOS='-Dgood_luck'
FFLAGS='-sx5 -ew -float0 -f0 -Pstack \
-V -R5 -Cvopt \
-I /sx5/usr/include \
-Wf"-pvctl noassume loopcnt=99999999 fullmsg vr256 \
vwork=stack vworksz=100M novlchk noverrchk"'
LFLAGS='$(FFLAGS) -L/sx5/usr/local/mpack/lib -llapack_64 -lblas_64'
CPP='/usr/ccs/lib/cpp -P'
CPPFLAGS='-D__NEC -USX -DFFT_DEFAULT -DLAPACK -D__VECTOR'
AR='ar'
RANLIB='ranlib'
AWK='/usr/xpg4/bin/awk'
if [ $debug ]; then
echo "No debug version for ${Configuration}" >&2
exit 1
else
CC='sxcc'
FC='sxf90 -c'
LD='sxf90'
fi
;;
"NEC-SX5-MPI_obsolete")
IRAT=1
FFLAGS_GROMOS='-Dgood_luck'
FFLAGS='-sx5 -ew -float0 -f0 -Pstack \
-V -R5 -Cvopt \
-I /sx5/usr/include \
-Wf"-pvctl noassume loopcnt=99999999 fullmsg vr256 \
vwork=stack vworksz=100M novlchk noverrchk"'
LFLAGS='$(FFLAGS) -L/sx5/usr/local/mpack/lib -llapack_64 -lblas_64
-lmpiw'
CPP='/usr/ccs/lib/cpp -P'
CPPFLAGS='-D__NEC -USX -DFFT_DEFAULT -DLAPACK -D__VECTOR -DPARALLEL
-DMP_LIBRARY=__MPI'
AR='sxar'
RANLIB='ranlib'
AWK='/usr/xpg4/bin/awk'
if [ $debug ]; then
echo "No debug version for ${Configuration}" >&2
exit 1
else
CC='sxcc'
FC='sxf90 -c'
LD='sxf90'
fi
;;
"NEC-SX5")
IRAT=1
FFLAGS_GROMOS='-Dgood_luck'
FFLAGS='-sx5 -ew -float0 -f0 -Pstatic \
-V -R5 -Cvopt -pi expin=util.f \
-I /sx5/usr/include \
-Wf"-pvctl noassume loopcnt=99999999 fullmsg vr256 \
vwork=static vworksz=4M novlchk noverrchk"'
LFLAGS='$(FFLAGS) -Wl"-h lib_cyclic -h muldefs" \
-L/apps/mathkeisan/lib -llapack_64 -lblas_64'
CPP='/usr/ccs/lib/cpp -P'
CPPFLAGS='-D__NEC -USX -DFFT_DEFAULT -DLAPACK -D__VECTOR'
AR='sxar'
RANLIB='touch'
AWK='/usr/xpg4/bin/awk'
if [ $debug ]; then
echo "No debug version for ${Configuration}" >&2
exit 1
else
CC='sxcc -clear'
FC='sxf90 -clear -c'
LD='sxf90 -clear'
fi
;;
"NEC-SX5-MPI")
IRAT=1
FFLAGS_GROMOS='-Dgood_luck'
FFLAGS='-sx5 -ew -float0 -f0 -Pstatic \
-V -R5 -Cvopt -pi expin=util.f \
-I /sx5/usr/include \
-Wf"-pvctl noassume loopcnt=99999999 fullmsg vr256 \
vwork=static vworksz=4M novlchk noverrchk"'
LFLAGS='$(FFLAGS) -Wl"-h lib_cyclic -h muldefs" -L/apps/mathkeisan/lib
-llapack_64 -lblas_64 -lmpiw'
CPP='/usr/ccs/lib/cpp -P'
CPPFLAGS='-D__NEC -USX -DFFT_DEFAULT -DLAPACK -D__VECTOR -DPARALLEL
-DMP_LIBRARY=__MPI'
AR='sxar'
RANLIB='touch'
AWK='/usr/xpg4/bin/awk'
if [ $debug ]; then
echo "No debug version for ${Configuration}" >&2
exit 1
else
CC='sxcc -clear'
FC='sxf90 -clear -c'
LD='sxf90 -clear'
fi
;;
"FUJITSU-VPP5000")
#Fujitsu VPP5000 - Sequential Version - Grenoble
IRAT=2
FFLAGS=''
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-L/usr/lan/lib64 -llapackvp -lblasvp'
CPP='/lib/cpp -P'
CPPFLAGS='-DPOINTER8 -DMALLOC8 -DLAPACK -DFFT_DEFAULT -D_vpp_ -D__VECTOR'
CFLAGS=' $(CPPFLAGS)'
AR='ar'
RANLIB='ranlib'
if [ $debug ]; then
FC='frt -c -g -Da -Ds -On'
LD='frt -g -Da -Ds -On'
else
#for vpsi.F use -Ob instead of -Of because of Segmentation fault
FC='frt -Aw -Sw -c -Of -Kfast -X7'
LD='frt -Of -Kfast -X7'
fi
;;
"FUJITSU-VPP")
#Fujitsu VPP700 - Sequential Version - Grenoble
IRAT=2
FFLAGS=''
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-L/usr/local/lib -llapack -lblas'
CPP='/lib/cpp -P'
CPPFLAGS='-DLAPACK -DFFT_DEFAULT -D_vpp_ -D__VECTOR'
CFLAGS=' $(CPPFLAGS)'
AR='ar'
RANLIB='ranlib'
if [ $debug ]; then
FC='frt -c -g -Da -Ds -On'
LD='frt -g -Da -Ds -On'
else
#for vpsi.F use -Ob instead of -Of because of Segmentation fault
FC='frt -Aw -Sw -c -Of -Kfast -X7 -Neg'
LD='frt -Of -Kfast -X7 -Ne'
fi
;;
"FUJITSU-VPP-JPN")
#Fujitsu VPP700 - Sequential Version - Japan
#Warning: on japanese VPP comment out OBJ_CC and
# shmemory & sysdepend
IRAT=2
FFLAGS=''
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-L/opt/lib -llapackvp -lblasvp'
CPP='/usr/ccs/lib/cpp -P'
CPPFLAGS='-DLAPACK -DFFT_DEFAULT -D_vpp_ -D_vpp_old -D__VECTOR \
-DFDATE_=FDATE -DGETUID=GETPID'
CFLAGS=' $(CPPFLAGS)'
AR='ar'
RANLIB='ranlib'
if [ $debug ]; then
FC='frtpx -c -g -Da -Ds -On'
LD='vppld -g -Da -Ds -On'
else
#for vpsi.F use -Ob instead of -Of because of Segmentation fault
FC='frtpx -c -Ob -Sw -Kfast -X7 -Ne -Aabw2y'
LD='vppld -Ob -Kfast -X7 -Ne -Aabw2y'
fi
;;
"FUJITSU-VPP-MPI")
#Fujitsu VPP700 - Parallel Version - Grenoble
IRAT=2
FFLAGS=''
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-Wl,-P,-J -dn \
-L/usr/lang/mpi2/lib -lmpi -lmp -lcvp \
-L/usr/local/lib -llapack -lblas'
CPP='/lib/cpp -P'
CPPFLAGS='-DLAPACK -DFFT_DEFAULT -D_vpp_ -D__VECTOR \
-DPARALLEL -DMP_LIBRARY=__MPI'
CFLAGS=' $(CPPFLAGS)'
AR='ar'
RANLIB='ranlib'
if [ $debug ]; then
FC='frt -c -g -Da -Ds -On -I/usr/lang/mpi2/include'
LD='frt -g -Da -Ds -On'
else
#for vpsi.F use -Ob instead of -Of because of Segmentation fault
#/usr/lang/mpi/include
FC='frt -Aw -Sw -c -Ob -Kfast -X7 -Ne -I/usr/lang/mpi2/include'
LD='frt -Of -Kfast -X7 -Ne'
fi
;;
"FUJITSU-VPP-MPJP")
#Fujitsu VPP700 - Parallel Version - Japan
#Warning: on japanese VPP comment out OBJ_CC and
# shmemory & sysdepend
IRAT=2
FFLAGS=''
FFLAGS_GROMOS='-Dgood_luck'
LFLAGS='-Wl,-P,-J,-dy -L/usr/lang/lib -llapackvp -lblasvp \
-L/usr/lang/mpi2/lib -lmpi -lmp -lspfs -lpx -lelf \
-lgen -lm -lc -lrpcsvc -lsocket -lnsl -lcvp'
CPP='/usr/ccs/lib/cpp -P'
CPPFLAGS='-DLAPACK -DFFT_DEFAULT -D_vpp_ -D_vpp_old -D__VECTOR \
-DFDATE_=FDATE -DGETUID=GETPID \
-DPARALLEL -DMP_LIBRARY=__MPI'
CFLAGS=' $(CPPFLAGS)'
AR='ar'
RANLIB='ranlib'
if [ $debug ]; then
FC='frtpx -c -g -Da -Ds -On -I/opt/local/include/vppmpi2'
LD='vppld -g -Da -Ds -On'
else
#for vpsi.F use -Ob instead of -Of because of Segmentation fault
#/usr/lang/mpi/include
FC='frtpx -c -Ob -Sw -Kfast -X7 -Ne -Aabw2y
-I/opt/local/include/vppmpi2'
LD='vppld -Ob -Kfast -X7 -Ne -Aabw2y'
fi
;;
"PC-PGI")
IRAT=2
CFLAGS=''
CPP='/lib/cpp -P -C -traditional'
CPPFLAGS='-D__Linux -D__PGI -DLAPACK -DFFT_DEFAULT'
#install 1
# FFLAGS=''
# LFLAGS='-llapack -lblas'
#install 2
# FFLAGS=''
# LFLAGS='-llapack -lf77blas -latlas -lf2c \
#install 3
FFLAGS='-Mr8 -pc64 -Msignextend -Msecond_underscore'
LFLAGS='-llapack -lf77blas -latlas'
FFLAGS_GROMOS='-Dgood_luck'
if [ $debug ]; then
FC='pgf77 -c -g'
CC='gcc -g -Wall'
LD='pgf77 -g'
else
FC='pgf77 -c -fast'
CC='gcc -O2 -Wall'
LD='pgf77 -fast'
fi
;;
"PC-PGI-MPI")
IRAT=2
CFLAGS=''
CPP='/lib/cpp -P -C -traditional'
CPPFLAGS='-D__Linux -D__PGI -DLAPACK -DFFT_DEFAULT \
-DPARALLEL -DMP_LIBRARY=__MPI -DMYRINET'
#install 1
# FFLAGS='-I/usr/local/mpich/include/'
# LFLAGS='-llapack -lblas -lpgc -lpgftnrtl'
#install 2
# FFLAGS='-I/usr/local/mpich/include/'
# LFLAGS='-L/usr/pgi/linux86/lib \
# -L/usr/local/mpich/build/LINUX/ch_p4/lib/ -lmpich \
# -llapack -lintelblas -lpgc -lpgftnrtl'
#install 3
# FFLAGS='-Mr8 -pc64 -Msignextend -Msecond_underscore'
# LFLAGS='-llapack -lblas'
#install 4
FFLAGS='-Mr8 -pc64 -byteswapio -Msignextend -Msecond_underscore'
LFLAGS='-llapack -lf77blas -latlas -byteswapio'
FFLAGS_GROMOS=' -r8'
if [ $debug ]; then
# FC='pgf90 -c -g -w '
# CC='cc -g -sb -C -errtags'
# LD='pgf90 -g'
FC='mpif77 -c -g'
CC='mpicc -g'
LD='mpif77 -g'
else
# FC='pgf90 -c -O4 -w -fast '
# CC='cc -O'
# LD='pgf90 -O4'
FC='mpif77 -c -fast'
CC='mpicc -O2 -Wall'
LD='mpif77 -fast'
fi
;;
"PC-ABSOFT")
IRAT=2
CFLAGS=''
#CPP='pgf90 -F'
CPP='/lib/cpp -P -C'
CPPFLAGS='-D__NOINT8 -D__Linux -D__ABSOFT -DLAPACK -DFFT_DEFAULT'
#-sb is to use Workshop package
FFLAGS=''
FFLAGS_GROMOS='-Dgood_luck'
# LFLAGS='-L/usr/lib/lapack -L/usr/absoft/lib -lm -llapack -lblas \
# -lU77 -lf2c'
LFLAGS='-L/usr/absoft/lib -llapack -lblas -lU77'
if [ $debug ]; then
FC='f90 -c -B108 -YEXT_NAMES=LCS -g'
CC='cc -g -sb -C -errtags'
LD='f90 -g -X-Bstatic'
else
# -B108: append underscore; -B100: PentiumII or higher;
# -YEXT_NAMES=LCS: fold to lowercase
FC='f90 -c -B108 -B100 -YEXT_NAMES=LCS -O'
CC='cc -g -sb -C -errtags'
LD='f90 -O -X-Bstatic'
CC='cc -O'
fi
;;
"PC-ABSOFT-MPI")
IRAT=2
CFLAGS=''
#CPP='pgf90 -F'
CPP='/lib/cpp -P -C'
CPPFLAGS='-D__NOINT8 -D__Linux -D__ABSOFT -DLAPACK -DFFT_DEFAULT \
-DPARALLEL -DMP_LIBRARY=__MPI'
#-sb is to use Workshop package
#-sb is to use Workshop package
FFLAGS='-I/usr/local/mpich/include/'
FFLAGS_GROMOS='-Dgood_luck'
# LFLAGS='-L/usr/lib/lapack -L/usr/absoft/lib -lm -llapack -lblas \
# -lU77 -lf2c -L/usr/local/mpich/build/LINUX/ch_p4/lib/ -lmpich'
LFLAGS='-L/usr/absoft/lib -llapack -lblas -lU77\
-L/usr/local/mpich/build/LINUX/ch_p4/lib/ -lmpich'
if [ $debug ]; then
FC='f90 -c -B108 -YEXT_NAMES=LCS -g'
CC='cc -g -sb -C -errtags'
LD='f90 -g -X-Bstatic'
else
# -B108: append underscore; -B100: PentiumII or higher;
# -YEXT_NAMES=LCS: fold to lowercase
FC='f90 -c -B108 -B100 -YEXT_NAMES=LCS -O'
CC='cc -g -sb -C -errtags'
LD='f90 -O -X-Bstatic'
CC='cc -O'
fi
;;
"PC-IFC")
MKL_LIB=/opt/intel/mkl/lib/64/
echo 'We use the Intel Library Kernel.' >&2
if [ "${MKL_LIB}" = "" ]; then
echo "The variable MKL_LIB gives the location of this library." >&2
echo "The variable MKL_LIB does not exist or is empty." >&2
exit 2
fi
IRAT=2
CFLAGS=''
CPP='/lib/cpp -P -C -traditional'
CPPFLAGS='-D__Linux -D__PGI -DLAPACK -DFFT_DEFAULT -DLINUX_IFC'
#install 1
# FFLAGS=''
# LFLAGS='-llapack -lblas'
#install 2
# FFLAGS=''
# LFLAGS='-llapack -lf77blas -latlas -lf2c \
#install 3
# FFLAGS=' -pc64 -unroll -w90 -w95'
FFLAGS=' -pc64 -w90 -w95'
# LFLAGS='-llapack -lf77blas -latlas -Vaxlib'
LFLAGS='-L${MKL_LIB} -lmkl_lapack -lmkl_itp -lpthread -Vaxlib'
FFLAGS_GROMOS='-Dgood_luck'
if [ $debug ]; then
FC='ifc -c -g'
CC='gcc -g -Wall'
LD='ifc -g'
else
FC='ifc -c -O3 -tpp6 -axiM'
CC='gcc -O2 -Wall'
LD='ifc -O3 -tpp6 -axiM'
fi
;;
"ITANIUM-EFC")
echo 'We use the Intel Library Kernel.' >&2
if [ "${MKL_LIB}" = "" ]; then
echo "The variable MKL_LIB gives the location of this library." >&2
echo "The variable MKL_LIB does not exist or is empty." >&2
exit 2
fi
IRAT=2
CFLAGS=''
CPP='/lib/cpp -P -C -traditional'
CPPFLAGS='-D__Linux -D__PGI -DLAPACK -DFFT_DEFAULT -DLINUX_IFC
-DPOINTER8'
FFLAGS=' -pc64 -w90 -w95'
LFLAGS='-L${MKL_LIB} -lmkl_lapack -lmkl_itp -lpthread -Vaxlib'
FFLAGS_GROMOS='-Dgood_luck'
if [ $debug ]; then
FC='efc -c -g'
CC='gcc -g -Wall'
LD='efc -g'
else
FC='efc -c -O3'
CC='gcc -O2 -Wall'
LD='efc -O3'
fi
;;
*)
echo "Configure: Unknown configuration '${Configuration}'" >&2
Message
exit 2
;;
esac
#--------------------------------------------------------------------#
#End of Configurations #
#--------------------------------------------------------------------#
# File descriptor usage:
# 0 standard input
# 1 file creation (standard output or makefile)
# 2 errors and warnings
# 3 Makefile if $makefile or &1
echo "Default configuration for $Configuration." >&2
if [ $debug ]; then
echo "Debug option is used." >&2
fi
#Default DEST is .
DEST=${DEST:-'.'}
#Check if DEST directory exists.
if [ ! -d ${DEST} ]; then
echo "The directory ${DEST} does not exist" >&2
exit 1
fi
if [ ! -w ${DEST} ]; then
echo "The directory ${DEST} has no write permission" >&2
exit 1
fi
#Create Makefile if output
if [ $makefile ]; then
echo "Creation of Makefile: ${DEST}/Makefile" >&2
exec 3>${DEST}/Makefile
else
echo "Use standard output for the Makefile." >&2
exec 3>&1
fi
cat << END >&3
#----------------------------------------------------------------------------
# Makefile for cpmd.x (plane wave electronic calculation)
# Configuration: ${Configuration}
# Creation of Makefile: `date '+%b %e %Y'`
# on `uname -a`
# Author: `who am i | cut -d' ' -f 1`
#----------------------------------------------------------------------------
#
SHELL = /bin/sh
#
#--------------- Default Configuration for $Configuration ---------------
SRC = .
DEST = .
BIN = .
END
if [ $qmmm ]; then
if [ -f QMMM_OBJECTS ]; then
QMMM_FLAGS='-D__GROMOS'
else
printf "\nThe file QMMM_OBJECTS does not exist.\n" >&2
echo "The file QMMM_OBJECTS does not exist" >&2
exit 1
fi
else
QMMM_FLAGS=' '
CPPFLAGS_GROMOS=' '
FFLAGS_GROMOS=' '
fi
cat << END >&3
#QMMM_FLAGS = -D__QMECHCOUPL
#QMMM_LIBS = -L. -lmm
FFLAGS = ${FFLAGS}
LFLAGS = ${LFLAGS} \$(QMMM_LIBS)
CFLAGS = ${CFLAGS}
CPP = ${CPP}
CPPFLAGS = ${CPPFLAGS} ${QMMM_FLAGS}
END
if [ $qmmm ]; then
cat << END >&3
CPPFLAGS_GROMOS = ${CPPFLAGS_GROMOS}
FFLAGS_GROMOS = ${FFLAGS_GROMOS}
END
fi
cat << END >&3
CC = ${CC}
FC = ${FC}
LD = ${LD}
AR = ${AR}
#----------------------------------------------------------------------------
END
#There is Personal Configuration.
if [ $opt -eq 1 ]; then
printf "Personal configurations..." >&2
#Check the options and personal variables
cat << END >&3
#----------------------------------------------------------------------------
# Personal Configuration
#----------------------------------------------------------------------------
END
i=1
while [ $i -le $# ];
do
eval option=\$$i
case $option in
-DEST=*)
#Special case for DEST (only used for makefile)
;;
-*=*)
var=`echo $option | cut -c2- | cut -d= -f 1`
val=`echo $option | cut -c2- | cut -d= -f 2`
echo "$var = $val" >&3
eval $var='$val'
;;
*)
;;
esac
i=`expr $i + 1`
done
#Default personal option
if [ $DEST != "." ]; then
if [ -z "$SRC" ]; then
SRC=`pwd`
echo "SRC = $SRC" >&3
fi
fi
if [ -n "$SRC" ]; then
echo "FC = $FC -I\$(SRC)" >&3
fi
cat << END >&3
#----------------------------------------------------------------------------
# End of Personal Configuration
#----------------------------------------------------------------------------
END
echo "done." >&2
if [ -n "$BIN" ]; then
echo "cpmd.x executable will be in: $BIN" >&2
fi
fi #End of Personal Configuration.
#Default SRC is .
SRC=${SRC:-'.'}
echo "The source directory is: $SRC" >&2
echo "The object directory is: $DEST" >&2
#Now we change irat if necessary
if [ -f ${DEST}/irat.inc ]; then
iratfile="${DEST}/irat.inc"
else
iratfile="irat.inc"
fi
irat=`awk -F= '/PARAMETER/ { print substr($2,1,1) }' $iratfile`
if [ ${irat} != ${IRAT} -o ! -f ${DEST}/irat.inc ]; then
echo "We change the file $iratfile " \
"[old irat=${irat}, new irat=${IRAT}]" >&2
if [ -w /dev/null ]; then
exec 4> /dev/null
else
exec 4>&2
fi
irw=1; if [ ! -w $iratfile ]; then chmod u+w $iratfile; irw=0; fi
ed -s $iratfile << END >&4
/PARAMETER
d
i
PARAMETER(IRAT=${IRAT})
.
w ${DEST}/irat.inc
q
END
iratchk=`awk -F= '/PARAMETER/ { print substr($2,1,1) }' $iratfile`
if [ $iratchk -eq $IRAT ]; then
echo "The file ${DEST}/irat.inc has been correctly changed." >&2
else
echo "ERROR: could not change file \"irat.inc\"" >&2
exit 1
fi
if [ $irw -eq 0 ]; then chmod u-w $iratfile; fi
else
echo "The file ${DEST}/irat.inc is correct." >&2
fi
#We change gromos.h if necessary
if [ -f ${DEST}/gromos.h ]; then
gromosfile="${DEST}/gromos.h"
else
gromosfile="gromos.h"
fi
comm=`awk 'BEGIN{comm=0}
{if (index(toupper($0),"INCLUDE") != 0) {if (toupper($1)=="c" || $1=="!")
comm=1}}
END{ print comm}' ${gromosfile}`
if [ $qmmm ]; then
if [ $comm -eq 1 -o ! -f ${DEST}/gromos.h ]; then
#if gromos not writable give the good right.
if [ -f ${DEST}/gromos.h -a ! -w ${DEST}/gromos.h ]; then
echo "+ chmod u+w ${DEST}/gromos.h" >&2
chmod u+w ${DEST}/gromos.h
fi
cat << END > ${DEST}/gromos.h
include 'Gromos/toposz.h'
include 'Gromos/topoar.h'
include 'Gromos/coordsz.h'
include 'Gromos/box.h'
END
echo "The file ${DEST}/gromos.h is changed." >&2
else
echo "The file ${DEST}/gromos.h is consistent with qmmm." >&2
fi
else
if [ $comm -eq 0 -o ! -f ${DEST}/gromos.h ]; then
#if gromos not writable give the good right.
if [ -f ${DEST}/gromos.h -a ! -w ${DEST}/gromos.h ]; then
echo "+ chmod u+w ${DEST}/gromos.h" >&2
chmod u+w ${DEST}/gromos.h
fi
cat << END > ${DEST}/gromos.h
! include 'Gromos/toposz.h'
! include 'Gromos/topoar.h'
! include 'Gromos/coordsz.h'
! include 'Gromos/box.h'
END
echo "The file ${DEST}/gromos.h is changed." >&2
else
echo "The file ${DEST}/gromos.h is consistent with normal qm." >&2
fi
fi
#Now DEST is always ./
DEST='.'
#Default SRC
SRC=${SRC:-'.'}
#Print OBJECTS
if [ -f OBJECTS ]; then
printf "Add OBJECTS (object files)..." >&2
cat OBJECTS >&3
echo "done." >&2
else
printf "\nThe file OBJECTS does not exist.\n" >&2
echo "The file OBJECTS does not exist" >&2
exit 1
fi
#QMMM OBJECTS
if [ $qmmm ]; then
printf "Add QMMM_OBJECTS (object files)..." >&2
cat QMMM_OBJECTS >&3
echo "done." >&2
fi
#Include files
printf "Add INCFILES (include files)..." >&2
IncludeFile=`ls *.inc`
printf "INCFILES = " >&3
i=0
for name in ${IncludeFile}
do
if [ $i -eq 6 ]; then
printf "\\\\\n " >&3
i=0
fi
i=`expr $i + 1`
printf "%s " ${name} >&3
done
printf "\n\n" >&3
echo "done." >&2
#QMMM Include files
if [ $qmmm ]; then
printf "Add Gromos INCFILES (include files)..." >&2
IncludeFile=`ls Gromos/*.h`
printf "QMMM_INCFILES = " >&3
i=0
for name in ${IncludeFile}
do
if [ $i -eq 6 ]; then
printf "\\\\\n " >&3
i=0
fi
i=`expr $i + 1`
printf "%s " ${name} >&3
done
printf "\n\n" >&3
echo "done." >&2
printf "INCFILES = \$(INCFILES) \$(QMMM_INCFILES) \n" >&3
fi
printf "Add explicit rules..." >&2
if [ $qmmm ]; then
OBJ_GRM='$(OBJECTS_GROMOS)'
else
OBJ_GRM=' '
fi
cat << END >&3
#----------------------------------------------------------------------------
# Compile cpmd.x
#----------------------------------------------------------------------------
cpmd.x : \$(OBJECTS) ${OBJ_GRM} \$(OBJ_CC)
rm -f timetag.f
\$(CPP) \$(CPPFLAGS) \$(SRC)/timetag.F \$(DEST)/timetag.f
\$(FC) \$(FFLAGS) \$(DEST)/timetag.f
rm -f cpmd.x
if [ "\$(BIN)" != "." ]; then ln -s \$(BIN)/cpmd.x cpmd.x; fi
\$(LD) -o \$(BIN)/cpmd.x timetag.o \$(OBJECTS) \$(OBJ_CC) \$(LFLAGS)
${OBJ_GRM}
#----------------------------------------------------------------------------
# Generate library libcpmd.a
#----------------------------------------------------------------------------
lib : \$(OBJ_LIB)
rm -f timetag.f
\$(CPP) \$(CPPFLAGS) \$(SRC)/timetag.F \$(DEST)/timetag.f
\$(FC) \$(FFLAGS) \$(DEST)/timetag.f
\$(AR) libcpmd.a timetag.o \$(OBJ_LIB)
\$(RANLIB) libcpmd.a
#----------------------------------------------------------------------------
# Generate the manual
#----------------------------------------------------------------------------
doc : manual.ps
docpdf: manual.pdf
manual.ps: manual.dvi
dvips manual.dvi
manual.dvi: \$(SRC)/manual.tex
latex \$(SRC)/manual.tex
makeindex manual
latex \$(SRC)/manual.tex
manual.pdf: \$(SRC)/manual.tex
pdflatex \$(SRC)/manual.tex
makeindex manual
pdflatex \$(SRC)/manual.tex
#----------------------------------------------------------------------------
# Remove all *.o and *.f
#----------------------------------------------------------------------------
clean :
rm -f \$(OBJECTS) \$(OBJ_CC) \$(DEST)/\$(OBJECTS:.o=.f)
rm -f *~ .*~ *.o *.f
rm -f *.aux *.brf *.dvi *.idx *.ilg *.ind *.log
rm -f *.out *.ps *.pdf *.toc
#----------------------------------------------------------------------------
# Explicit rules
#----------------------------------------------------------------------------
.SUFFIXES:
.SUFFIXES: .o .f .F
\$(OBJECTS:.o=.f) :
rm -f \$@
\$(CPP) \$(CPPFLAGS) \$(SRC)/\$(@:.f=.F) \$(DEST)/\$@
\$(OBJECTS) :
\$(FC) \$(FFLAGS) \$(DEST)/\$< -o \$(DEST)/\$@
\$(OBJ_CC) :
\$(CC) \$(CPPFLAGS) \$(CFLAGS) -c \$(SRC)/\$(@:.o=.c)
END
if [ $qmmm ]; then
cat << END >&3
\$(OBJECTS_GROMOS:.o=.f) :
rm -f \$@
\$(CPP) \$(CPPFLAGS_GROMOS) \$(SRC)/\$(@:.f=.F) \$(DEST)/\$@
\$(OBJECTS_GROMOS) :
\$(FC) \$(FFLAGS_GROMOS) \$(DEST)/\$< -o \$(DEST)/\$@
END
fi
#----------------------------------------------------------------------------
cat << END >&3
#----------------------------------------------------------------------------
# Dependencies
#----------------------------------------------------------------------------
END
echo "done." >&2
printf "Create dependencies..." >&2
FortranFiles=`ls *.F *.c `
for name in ${FortranFiles}
do
if [ $verbose ]; then
printf "[%s]" $name
fi
${AWK} -v qmmm=${qmmm} 'NR==1 { Ninclude = 2;
OldInclude["pimd.inc"] = 0;
OldInclude["mpif.h"] = 0;
MaxLength=60;
ll = length(FILENAME);
prefix = substr(FILENAME,1,ll-2);
suffix = substr(FILENAME,ll-1,2);
src = "$(SRC)";
dest = "$(DEST)";
#To have the quote.
quote = sprintf("%c",39);
if (suffix == ".F") {
line = sprintf("%s.f:", prefix);
printf "%-16s%s/%s%s\n", line,src,prefix,suffix;
suffix = ".f";
}
line = sprintf("%s.o:", prefix);
if (suffix == ".c") {
line = sprintf("%-16s%s/%s%s",line,src,prefix,suffix);
} else {
line = sprintf("%-16s%s%s",line,prefix,suffix);
}
}
/^[ ]*INCLUDE/ || /^[ ]*include/ {
split($0,a,quote);
Name = a[2];
no = 0;
if (Ninclude != 0) {
for ( Include in OldInclude ) {
if (Include == Name ) {
no = 1;
break;
}
}
}
if((Name == "gromos.h") && (qmmm == 1))
Name=sprintf("Gromos/toposz.h $(SRC)/Gromos/topoar.h
$(SRC)/Gromos/coordsz.h $(SRC)/Gromos/box.h")
if (no != 1) {
Ninclude=Ninclude+1;
OldInclude[Name] = 0;
lline = length(line);
if (lline+2 >= MaxLength) {
printf "%s \\\n", line;
line = sprintf("%-15s"," ");
}
if (Name == "irat.inc") {
line=sprintf("%s %s/%s",line,dest,Name)
} else {
line=sprintf("%s %s/%s",line,src,Name)
}
}
}
END { printf "%s\n", line }' ${name} >&3
done
echo "done dep main." >&2
if [ $qmmm ]; then
printf "create gromos dependencies \n" >&2
FortranFiles=`ls Gromos/*.F `
for name in ${FortranFiles}
do
if [ $verbose ]; then
printf "[%s]" $name
fi
awk 'NR==1 { Ninclude = 2;
OldInclude["pimd.inc"] = 0;
OldInclude["mpif.h"] = 0;
MaxLength=60;
ll = length(FILENAME);
prefix = substr(FILENAME,1,ll-2);
suffix = substr(FILENAME,ll-1,2);
src = "$(SRC)/Gromos";
dest = "$(DEST)";
#To have the quote.
quote = sprintf("%c",39);
if (suffix == ".F") {
src = "$(SRC)";
line = sprintf("%s.f:", prefix);
printf "%-16s%s/%s%s\n", line,src,prefix,suffix;
suffix = ".f";
src = "$(SRC)/Gromos";
}
line = sprintf("%s.o:", prefix);
if (suffix == ".c") {
line = sprintf("%-16s%s/%s%s",line,src,prefix,suffix);
} else {
line = sprintf("%-16s%s%s",line,prefix,suffix);
}
}
/^[ ]*INCLUDE/ || /^[ ]*include/ {
split($0,a,quote);
Name = a[2];
no = 0;
if(Name=="") no=1;
if(Name==" ") no=1;
if (Ninclude != 0) {
for ( Include in OldInclude ) {
if (Include == Name ) {
no = 1;
break;
}
}
}
if (no != 1) {
Ninclude=Ninclude+1;
OldInclude[Name] = 0;
lline = length(line);
if (lline+2 >= MaxLength) {
printf "%s \\\n", line;
line = sprintf("%-15s"," ");
}
if (Name == "irat.inc") {
line=sprintf("%s %s/%s",line,dest,Name)
} else {
line=sprintf("%s %s/%s",line,src,Name)
}
}
}
END { printf "%s\n", line }' ${name} >&3
done
FortranFiles=`ls MM_Interface/*.F`
printf "create mm_interface dependencies \n" >&2
for name in ${FortranFiles}
do
if [ $verbose ]; then
printf "[%s]" $name
fi
awk 'NR==1 { Ninclude = 2;
OldInclude["pimd.inc"] = 0;
OldInclude["mpif.h"] = 0;
MaxLength=60;
ll = length(FILENAME);
prefix = substr(FILENAME,1,ll-2);
suffix = substr(FILENAME,ll-1,2);
src = "$(SRC)/MM_Interface";
dest = "$(DEST)";
#To have the quote.
quote = sprintf("%c",39);
if (suffix == ".F") {
src = "$(SRC)";
line = sprintf("%s.f:", prefix);
printf "%-16s%s/%s%s\n", line,src,prefix,suffix;
suffix = ".f";
src = "$(SRC)/MM_Interface";
}
line = sprintf("%s.o:", prefix);
if (suffix == ".c") {
line = sprintf("%-16s%s/%s%s",line,src,prefix,suffix);
} else {
line = sprintf("%-16s%s%s",line,prefix,suffix);
}
}
/^[ ]*INCLUDE/ || /^[ ]*include/ {
split($0,a,quote);
Name = a[2];
no = 0;
if (Ninclude != 0) {
for ( Include in OldInclude ) {
if (Include == Name ) {
no = 1;
break;
}
}
}
if (no != 1) {
Ninclude=Ninclude+1;
OldInclude[Name] = 0;
lline = length(line);
if (lline+2 >= MaxLength) {
printf "%s \\\n", line;
line = sprintf("%-15s"," ");
}
if (Name == "irat.inc") {
line=sprintf("%s %s/%s",line,dest,Name)
} else {
line=sprintf("%s %s/%s",line,src,Name)
}
}
}
END { printf "%s\n", line }' ${name} >&3
done
cat << END >&3
tar :
tar -cvf code.tar Configure *OBJ* */mm_diff */QMMMHELP.html *F *inc *c *h
*/*F */*h
echo 'code.tar created'
END
fi
echo "done." >&2
echo "O.K." >&2
exit 0
More information about the CPMD-list
mailing list