mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-17 04:00:49 +01:00
1162 lines
53 KiB
Bash
Executable File
1162 lines
53 KiB
Bash
Executable File
#!/bin/bash
|
|
shopt -qs extglob
|
|
###############################################################
|
|
#
|
|
# bash script to build MRCC executables
|
|
#
|
|
###############################################################
|
|
|
|
###############################################################
|
|
#
|
|
# functions used in the build.mrcc script
|
|
# to print messages
|
|
#
|
|
###############################################################
|
|
|
|
###############################################################
|
|
# (evident) called at the begining of build.mrcc
|
|
# if there are no command line parameters present
|
|
# ||
|
|
# ||
|
|
# \/
|
|
|
|
f_print_help(){
|
|
|
|
|
|
echo "########################################################################"
|
|
|
|
# echo "Usage: build.mrcc compiler [-i32|64] [-pMPI|OMP] [-g] [-d] [-Q]"
|
|
echo "Usage:"
|
|
echo " build.mrcc <compiler> [-i32|64] [-pMPI|OMP] [-g] [-d] [-f<folder>] [-l<library>] [-L<path>] [-nomkl] [-s]"
|
|
echo " where <compiler> can be:"
|
|
echo " Intel - Intel compiler;"
|
|
echo " GNU - GNU compiler;"
|
|
echo " PGF - Portland Group Fortran compiler;"
|
|
echo " G95 - G95 Fortran 95 compiler and MKL;"
|
|
echo " PATH - Pathscale compiler;"
|
|
echo " HP - HP Fortran Compiler;"
|
|
echo " DEC - Compaq Fortran Compiler (DEC machines);"
|
|
echo " XLF - XL Fortran Compiler (IBM machines);"
|
|
echo " Solaris10 - Sun Solaris10 and Studio10 Fortran Compiler (AMD64)."
|
|
echo
|
|
echo "Optional arguments:"
|
|
echo " -i Length of integer variables: 32 or 64 bits. Default: 64 for 64-bit"
|
|
echo " machines; 32 otherwise."
|
|
echo " -p Generates parallel code using MPI (available with PGF, Intel, GNU"
|
|
echo " and Solaris10) or OpenMP (available with PGF, Intel, GNU, and HP)"
|
|
echo " technologies. Default: no parallelization."
|
|
echo " -g Codes are compiled with debugging option"
|
|
echo " -d Codes are compiled for development, no optimization is performed"
|
|
echo " -f Specifies the installation folder. Executables, basis set"
|
|
echo " libraries, etc. will be copied to directory <folder>"
|
|
echo " -l mrcc is linked with an external library, for more details see the"
|
|
echo " manual"
|
|
echo " -L Adds <path> to the library search path when linking"
|
|
echo " -nomkl Turns off linking with Intel MKL library when the Intel "
|
|
echo " compiler is used"
|
|
echo " -s mrcc is linked statically"
|
|
# echo " -Q The Q5Cost libraries are linked"
|
|
# echo " -h print out this message and exit"
|
|
echo
|
|
echo "Example:"
|
|
echo " To compile the program with Intel compiler for OpenMP parallel"
|
|
echo " execution and to install it to the /prog/mrcc directory run"
|
|
echo " build.mrcc as"
|
|
echo " build.mrcc Intel -pOMP -f/prog/mrcc"
|
|
echo "########################################################################"
|
|
}
|
|
###############################################################
|
|
# (evident) called to print out error messages
|
|
# mainly used when the not-supported combinations are checked
|
|
# ||
|
|
# ||
|
|
# \/
|
|
|
|
f_print_error(){
|
|
echo "ERROR: $2 is not supported for $1! "
|
|
}
|
|
|
|
|
|
###############################################################
|
|
# source the function definitions used in this script
|
|
# ||
|
|
# ||
|
|
# \/
|
|
|
|
#. build.mrcc.functions.messages
|
|
. build.mrcc.config
|
|
clear
|
|
echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
|
|
echo
|
|
echo -en "\\033[0;32m"
|
|
echo " MRCC installation "
|
|
echo -en "\\033[0;39m"
|
|
echo
|
|
|
|
if [ $# -lt 1 ]; # at least the compiler system is need to be specified
|
|
then
|
|
f_print_help;
|
|
exit;
|
|
fi
|
|
|
|
###############################################################
|
|
# set the default values
|
|
# ||
|
|
# ||
|
|
# \/
|
|
|
|
export bstat="yes" #build status
|
|
fls=""
|
|
para=""
|
|
debug=""
|
|
devel=""
|
|
q5cost=""
|
|
ompopt=""
|
|
intopt=""
|
|
extralibs=""
|
|
libxclib=""
|
|
libxcinc=""
|
|
pcmlib=""
|
|
pcminc=""
|
|
pcmfiles=""
|
|
pcmobj=""
|
|
xalloc="xalloc.c"
|
|
machine="unknown"
|
|
kernel="unknown"
|
|
omp="off"
|
|
mpi="off"
|
|
mpi_impl=""
|
|
static="off"
|
|
usemkl="on"
|
|
test /bin/uname && machine="`uname -m`"
|
|
test /bin/uname && kernel="`uname -s`"
|
|
|
|
mrccstuff="hessgrad embedgrad mrcc_manager mrcc_manager_main mrcc goldstone lambda sacc pert combin mem qsorti xmrcc xlambda xpert xmem dcommunicate3 dmrcc domain flush mrcc_f12 integ ecp teint dfint df3int dfintloc df2intsubs dfint_triplets brasub intsub hrrspher dfint_triplets_rangesep intsub_rangesep df2intsubs_rangesep ellip orbloc boys localize mulli scf_embed scf fock diis ccsd uccsd minp ovirt prop propcore denschol pml bopu drpa ldrpa loccis drpagrad dft calcorb calcorbd calcorbh func pssp semint_shc laplace qmmod_handler qmmod_moselect qmmod_embed qmmod_huziqmmm qmmod optim basopt cis cis2 geomopt compmod z2c freqdrv assembly mp2f12 oneint oneint_sh oneint_shc nucint nucint_shc onein1 onein1_sh onein1_shc nuceq1 nuceq1_shc nucat1 nucat1_shc mulint_shc intsub_ader hrrsub_ader intsub_bder hrrsub_bder intsub_cder hrrsub_cder brasub_1der ketsub_1der rearrsubs sphersubs dfintder1c dprscr dprscrsubs dfint_triplets_3der intsub_3der hrrsub_3der brasub_3der derspher_3der ccsdmain local driver uccsdmain ldfzvec ldfgrad subspace_solver"
|
|
mrccexe="dmrcc mrcc xmrcc goldstone integ scf orbloc ccsd uccsd ovirt minp prop drpa cis mp2f12 mulli qmmod dirac_mointegral_export"
|
|
|
|
if [ x$kernel == "xDarwin" ];
|
|
then machine="x86_64"
|
|
fi
|
|
|
|
if ([ x$machine == "xi386" ] || [ x$machine == "xi686" ] || [ x$machine == "xPower Macintosh" ]);
|
|
then int="INT32"
|
|
else int="INT64"
|
|
fi
|
|
|
|
echo $* > build.info_new
|
|
rebuild="no"
|
|
|
|
#???
|
|
test -f build.info || rebuild="yes"
|
|
#rebuild="no"
|
|
#if [ -f build.info ] || [ x$rebuild == "xyes" ]; then echo "???"
|
|
#fi
|
|
|
|
if [ x$rebuild == "xno" ];
|
|
then
|
|
if [ `diff build.info build.info_new | wc -l | sed "s/ //g"` != "0" ]; #???
|
|
then rebuild="yes"
|
|
fi
|
|
fi
|
|
mv build.info_new build.info
|
|
|
|
###############################################################
|
|
# processing the optional arguments
|
|
# ||
|
|
# ||
|
|
# \/
|
|
|
|
ii=0
|
|
for i in $*
|
|
do
|
|
ii=`expr $ii + 1`
|
|
if [ $ii -gt 1 ];
|
|
then
|
|
arv=`echo $i | sed 's/-.//' | sed 's/\///g'`
|
|
|
|
if [ x$arv == 'x' -o x$i == "x-nomkl" ];
|
|
then arg=$i
|
|
else arg=`echo $i | sed 's/\///g' | sed "s/$arv//g" | sed "s/=.*//g"`
|
|
fi
|
|
|
|
case $arg in
|
|
"-i") int="INT"$arv;;
|
|
"-p") para=`echo $arv | sed "s/=.*//"`
|
|
case $para in
|
|
"OMP")
|
|
omp="on";;
|
|
"OpenMP")
|
|
omp="on";;
|
|
"MPI")
|
|
mpi="on";
|
|
mrccexe="$mrccexe dmrcc_mpi mrcc_mpi xmrcc_mpi ccsd_mpi scf_mpi drpa_mpi mrcc_manager";
|
|
mpi_impl=`echo $arv | sed "s/MPI//" | sed "s/=//"`;;
|
|
esac ;;
|
|
"-g") debug="-g";;
|
|
"-d") devel="on";;
|
|
"-f") instdir=`echo $i | sed 's/-.//g'`;;
|
|
"-L") extralibs="$extralibs $i";;
|
|
"-l") case $arv in
|
|
"libxc")
|
|
libxcinc="-DLIBXC -I$LIBS_LIBXC/include";
|
|
libxclib="-L$LIBS_LIBXC/lib -lxcf03 -lxc -lm";
|
|
test -d $LIBS_LIBXC/lib64 && libxclib="-L$LIBS_LIBXC/lib64 -lxcf03 -lxc -lm";;
|
|
"pcm")
|
|
pcminc="-DPCM";
|
|
test -d $LIBS_PCM/lib64 && pcmlib="-L$LIBS_PCM/lib64 -lpcm" || pcmlib="-L$LIBS_PCM/lib -lpcm";
|
|
mrccstuff="$mrccstuff pcmsolver pcm"
|
|
pcmfiles="pcmsolver pcm";
|
|
pcmobj="pcmsolver.o pcm.o";;
|
|
*)
|
|
extralibs="$extralibs $i";;
|
|
esac ;;
|
|
"-nomkl") usemkl="off";;
|
|
"-Q") q5cost="on";;
|
|
"-s") static="on";;
|
|
"-h") print_help; exit;;
|
|
* ) echo "Unknown option $i"; exit;;
|
|
esac
|
|
|
|
fi
|
|
done
|
|
if [ "x$pcmlib" != "x" -a x$static != "x" ]
|
|
then
|
|
pcmlib="$pcmlib -lstdc++ -lz"
|
|
pcmlibmpi="-Bstatic $pcmlib -Bdynamic -lstdc++" # -lz"
|
|
# pcmlib="$pcmlib /usr/lib/gcc/x86_64-linux-gnu/5.4.0/libgfortran.a"
|
|
# pcmlib="$pcmlib -lquadmath"
|
|
fi
|
|
|
|
if [ x$mpi == "xon" ]
|
|
then
|
|
mpiopts="-DMPI"
|
|
if [ x$mpi_impl == "x" -a $1 == "Intel" ]
|
|
then
|
|
mpi_impl="IntelMPI"
|
|
fi
|
|
if [ x$mpi_impl == "xIntelMPI" ]
|
|
then
|
|
compileropts="$compileropts -DINTELMPI"
|
|
fi
|
|
if [ x$mpi_impl == "xOpenMPI" ]
|
|
then
|
|
compileropts="$compileropts -DOPENMPI"
|
|
fi
|
|
fi
|
|
|
|
###############################################################
|
|
# setup options for the selected compiler system
|
|
# the appropriate functions are defined in
|
|
# the build.mrcc.functions.compilers file
|
|
# ||
|
|
# ||
|
|
# \/
|
|
|
|
case $1 in
|
|
"GNU" ) f_GNU;;
|
|
"Intel" ) f_Intel;;
|
|
"PGF" ) f_PGF;;
|
|
"G95" ) f_G95;;
|
|
"PATH" ) f_PATH;;
|
|
"HP" ) f_HP;;
|
|
"DEC" ) f_DEC;;
|
|
"XLF" ) f_XLF;;
|
|
"Solaris10" ) f_Solaris10;;
|
|
* ) f_Unknown;;
|
|
esac
|
|
|
|
compileropts="$compileropts $debug -D$1 -D$int "
|
|
compileroptsmpi="$compileroptsmpi $debug -D$1 -D$int "
|
|
ccompileropts="$ccompileropts $debug -D$1 -D$int "
|
|
|
|
if [ x$omp == "xon" ];
|
|
then
|
|
ompopt="$ompopt -DOMP "
|
|
compopt="$compopt -DOMP "
|
|
fi
|
|
|
|
|
|
if [ x$q5cost != "x" ];
|
|
then
|
|
compileropts="$compileropts -I$HDF5PATH -I$Q5COSTPATH/include -DQ5Cost "
|
|
ccompileropts="$ccompileropts -DQ5Cost "
|
|
extralibs="$extralibs -L$Q5COSTPATH/lib/ -lq5cost -L$HDF5PATH -lhdf5_fortran -lhdf5 "
|
|
fi
|
|
|
|
ccompileroptsmpi="$ccompileropts -DSTATIC"
|
|
|
|
|
|
echo "Fortran compiler: $fortran "
|
|
if [ x$mpi == "xon" ];
|
|
then
|
|
echo "MPI wrapper compiler: $fortranmpi"
|
|
fi
|
|
#echo `$fortran -dumpversion`
|
|
echo "C compiler: $ccompiler "
|
|
#echo `$ccompiler -dumpversion`
|
|
echo "FC options: ${compileropts##+([[:space:]])}"
|
|
echo "CC options: ${ccompileropts##+([[:space:]])}"
|
|
if [ x$instdir != "x" ];
|
|
then
|
|
echo "Installation directory: $instdir"
|
|
fi
|
|
echo
|
|
|
|
###############################################################
|
|
# invalid and unsupported combinations of options are checked
|
|
# ||
|
|
# ||
|
|
# \/
|
|
|
|
# ERRORS ######################################################
|
|
if (([ x$int == "xINT64" ]) && ([ x$1 == "xDEC" ] || [ x$1 == "xXLF" ]));
|
|
then
|
|
f_print_error $1 "i64";
|
|
exit;
|
|
fi
|
|
|
|
if ([ x$int == "xINT32" ] && [ x$1 == "xSolaris10" ]);
|
|
then
|
|
f_print_error $1 "i32";
|
|
exit;
|
|
fi
|
|
|
|
if (([ x$omp == "xon" ]) && ([ x$1 != "xPGF" ] && [ x$1 != "xIntel" ] && [ x$1 != "xHP" ] && [ x$1 != "xPATH" ] && [ x$1 != "xGNU" ]));
|
|
then
|
|
f_print_error $1 "OpenMP";
|
|
exit;
|
|
fi
|
|
|
|
if (([ x$mpi == "xon" ]) && ([ x$1 != "xPGF" ] && [ x$1 != "xIntel" ] && [ x$1 != "xSolaris10" ] && [ x$1 != "xGNU" ]));
|
|
then
|
|
f_print_error $1 "MPI";
|
|
exit;
|
|
fi
|
|
|
|
if (([ x$q5cost == "xon" ]) && ([ x$1 == "xGNU" ]));
|
|
then
|
|
echo "ERROR: The Q5Cost library cannot be used with Fortran 77 compilers! "
|
|
exit;
|
|
fi
|
|
|
|
# WARNINGS #############################################################
|
|
if (([ x$q5cost == "xon" ]) && ([ x$(`set | grep -i HDF5PATH`) == "x" ]));
|
|
then
|
|
echo "WARNING: please set the HDF5PATH environmental variable! "
|
|
exit;
|
|
fi
|
|
|
|
if (([ x$q5cost == "xon" ]) && ([ x$(`set | grep -i Q5COSTPATH`) == "x" ]));
|
|
then
|
|
echo "WARNING: please set the Q5COSTPATH environmental variable! "
|
|
exit;
|
|
fi
|
|
|
|
#if (([ x$omp == "xon" ]) && ([ x$1 = "xGNU" ]));
|
|
#then
|
|
#echo "WARNING: OMP directives will be converted to lowercase, if it is necessary!"
|
|
#./build.mrcc.changecase.sh tolower
|
|
#fi
|
|
|
|
# Compiling to create object files #####################################
|
|
|
|
for i in $mrccstuff
|
|
do
|
|
ii=$i.f
|
|
test -f $i.f90 && ii=$i.f90
|
|
test -f $i.F90 && ii=$i.F90
|
|
tt=$rebuild
|
|
test $ii -nt $i.o -o build.mrcc -nt $i.o && tt="yes"
|
|
test MRCCCOMMON -nt $i.o && grep MRCCCOMMON $ii &> /dev/null && tt="yes"
|
|
if ([ x$i == "xccsd" -o x$i == "xccsdmain" -o x$i == "xcombin" -o x$i == "xdrpa" -o x$i == "xldrpa" -o x$i == "xmrcc" -o x$i == "xlambda" -o x$i == "xpert" -o x$i == "xdcommunicate3" -o x$i == "xxmrcc" -o x$i == "xxpert" -o x$i == "xscf" -o x$i == "xfock" -o x$i == "xteint" -o x$i == "xdf3int" -o x$i == "xdft" -o x$i == "xhessgrad" -o x$i == "xdmrcc" -o x$i == "xdriver" ] && [ x$mpi == "xon" ]) ;
|
|
then
|
|
test $ii -nt ${i}_mpi.o -o build.mrcc -nt ${i}_mpi.o && tt="yes"
|
|
test -f ${i}_mpi.o || tt="yes"
|
|
test MRCCCOMMON -nt ${i}_mpi.o && grep MRCCCOMMON $ii &> /dev/null && tt="yes"
|
|
fi
|
|
test -f $i.o || tt="yes"
|
|
test -f $ii || export bstat="no"
|
|
if [ x$mpi == "xon" ];
|
|
then
|
|
if [ x$i == "xccsd" -o x$i == "xldrpa" ];
|
|
then
|
|
test manager.mod -nt ${i}_mpi.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xmrcc_manager_main" ];
|
|
then
|
|
test manager.mod -nt ${i}.o && tt="yes"
|
|
fi
|
|
fi
|
|
if [ x$i == "xscf" ];
|
|
then
|
|
test SCFCOMMON -nt scf.o && tt="yes"
|
|
test common_mod.mod -nt scf.o && tt="yes"
|
|
test mcscf.mod -nt scf.o && tt="yes"
|
|
test scf_embed.mod -nt scf.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xqmmod" ];
|
|
then
|
|
test qmmod_handler.mod -nt qmmod.o && tt="yes"
|
|
test qmmod_moselect.mod -nt qmmod.o && tt="yes"
|
|
test qmmod_memory_handler.mod -nt qmmod.o && tt="yes"
|
|
test qmmod_embed.f -nt qmmod.o && tt="yes"
|
|
test qmmod_huziqmmm.f -nt qmmod.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xpssp" ];
|
|
then
|
|
test common_mod.mod -nt pssp.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xhessgrad" ];
|
|
then
|
|
test SCFCOMMON -nt hessgrad.o && tt="yes"
|
|
test MRCCCOMMON -nt hessgrad.o && tt="yes"
|
|
test common_mod.mod -nt hessgrad.o && tt="yes"
|
|
test mcscf.mod -nt hessgrad.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xldfgrad" ];
|
|
then
|
|
test common_mod.mod -nt ldfgrad.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xldfzvec" ];
|
|
then
|
|
test common_mod.mod -nt ldfzvec.o && tt="yes"
|
|
test domain.mod -nt ldfzvec.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xprop" ];
|
|
then
|
|
test embed_grad.mod -nt prop.o && tt="yes"
|
|
test common_mod.mod -nt prop.o && tt="yes"
|
|
test domain.mod -nt prop.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xsubspace_solver" ];
|
|
then
|
|
test common_mod.mod -nt subspace_solver.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xteint" ];
|
|
then
|
|
test common_mod.mod -nt teint.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xdfint" ];
|
|
then
|
|
test list_doublets.f -nt dfint.o && tt="yes"
|
|
test df2intvars.f -nt dfint.o && tt="yes"
|
|
test df2intvars_uc.f -nt dfint.o && tt="yes"
|
|
test list_triplets.f -nt dfint.o && tt="yes"
|
|
test dfvariables_IN_ijk_kc.f -nt dfint.o && tt="yes"
|
|
test dfvariables_OUT_ijk_kc.f -nt dfint.o && tt="yes"
|
|
test dfvariables_GHP_kc.f -nt dfint.o && tt="yes"
|
|
test dfint_call_kc.f -nt dfint.o && tt="yes"
|
|
test dfvariables_IN_ijk.f -nt dfint.o && tt="yes"
|
|
test dfvariables_OUT_ijk.f -nt dfint.o && tt="yes"
|
|
test dfvariables_GHP.f -nt dfint.o && tt="yes"
|
|
test dfint_call.f -nt dfint.o && tt="yes"
|
|
test dprimcalc_call.f -nt dfint.o && tt="yes"
|
|
test dfvariables_der.f -nt dfint.o && tt="yes"
|
|
test dfvariables_der_kc.f -nt dfint.o && tt="yes"
|
|
test dfvariables_der_IN.f -nt dfint.o && tt="yes"
|
|
test dfvariables_der_OUT.f -nt dfint.o && tt="yes"
|
|
test list_derinter.f -nt dfint.o && tt="yes"
|
|
test list_der1triplets.f -nt dfint.o && tt="yes"
|
|
test list_der3triplets.f -nt dfint.o && tt="yes"
|
|
test df_primcalc_call.f -nt dfint.o && tt="yes"
|
|
test list_triplets_rangesep.f -nt dfint.o && tt="yes"
|
|
test list_doublets_rangesep.f -nt dfint.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xdfint_triplets" ];
|
|
then
|
|
test dfint_beg_kc_IN_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_mid_kc_IN_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_end_kc_IN_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test icontr_general.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_beg_kc_OUT_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_mid_kc_OUT_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_end_kc_OUT_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test rysrw_3_vars.f -nt dfint_triplets.o && tt="yes"
|
|
test rysrw_3_sub.f -nt dfint_triplets.o && tt="yes"
|
|
test rysrw_4_vars.f -nt dfint_triplets.o && tt="yes"
|
|
test rysrw_4_sub.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_beg_IN_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_mid_IN_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_end_IN_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_beg_OUT_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_mid_OUT_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_end_OUT_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_beg_kc_GHP_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_mid_kc_GHP_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_beg_GHP_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_mid_GHP_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xdfint_triplets_rangesep" ];
|
|
then
|
|
test dfint_beg_kc_IN_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_mid_kc_IN_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_end_kc_IN_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test icontr_general.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_beg_kc_OUT_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_mid_kc_OUT_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_end_kc_OUT_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_beg_IN_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_mid_IN_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_end_IN_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_beg_OUT_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_mid_OUT_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
test dfint_end_OUT_ijk.f -nt dfint_triplets.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xdfint_triplets_3der" ];
|
|
then
|
|
test dfint_beg_kc_IN_der.f -nt dfint_triplets_3der.o && tt="yes"
|
|
test dfint_mid_kc_IN_der.f -nt dfint_triplets_3der.o && tt="yes"
|
|
test dfint_end_kc_IN_der.f -nt dfint_triplets_3der.o && tt="yes"
|
|
test icontr_general.f -nt dfint_triplets_3der.o && tt="yes"
|
|
test dfint_beg_kc_OUT_der.f -nt dfint_triplets_3der.o && tt="yes"
|
|
test dfint_mid_kc_OUT_der.f -nt dfint_triplets_3der.o && tt="yes"
|
|
test dfint_end_kc_OUT_der.f -nt dfint_triplets_3der.o && tt="yes"
|
|
test dfint_beg_IN_der.f -nt dfint_triplets_3der.o && tt="yes"
|
|
test dfint_mid_IN_der.f -nt dfint_triplets_3der.o && tt="yes"
|
|
test dfint_end_IN_der.f -nt dfint_triplets_3der.o && tt="yes"
|
|
test dfint_beg_OUT_der.f -nt dfint_triplets_3der.o && tt="yes"
|
|
test dfint_mid_OUT_der.f -nt dfint_triplets_3der.o && tt="yes"
|
|
test dfint_end_OUT_der.f -nt dfint_triplets_3der.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xintsub" ];
|
|
then
|
|
test rysrw_3_sub.f -nt intsub.o && tt="yes"
|
|
test rysrw_3_vars.f -nt intsub.o && tt="yes"
|
|
test rysrw_4_sub.f -nt intsub.o && tt="yes"
|
|
test rysrw_4_vars.f -nt intsub.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xdf2intsubs_rangesep" ];
|
|
then
|
|
test dfint_beg_tc.f -nt df2intsubs.o && tt="yes"
|
|
test dfint_beg_tc_uc.f -nt df2intsubs.o && tt="yes"
|
|
test dfint_mid_tc.f -nt df2intsubs.o && tt="yes"
|
|
test dfint_mid_tc_uc.f -nt df2intsubs.o && tt="yes"
|
|
test dfint_end_tc.f -nt df2intsubs.o && tt="yes"
|
|
test dfint_end_tc_uc.f -nt df2intsubs.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xdf2intsubs" ] || [ x$i == "xdf2intsubs_rangesep" ];
|
|
then
|
|
test dfint_beg_tc.f -nt df2intsubs.o && tt="yes"
|
|
test dfint_beg_tc_uc.f -nt df2intsubs.o && tt="yes"
|
|
test dfint_mid_tc.f -nt df2intsubs.o && tt="yes"
|
|
test dfint_mid_tc_uc.f -nt df2intsubs.o && tt="yes"
|
|
test dfint_end_tc.f -nt df2intsubs.o && tt="yes"
|
|
test dfint_end_tc_uc.f -nt df2intsubs.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xdfintder1c" ];
|
|
then
|
|
test dfint1der_beg.f -nt dfintder1c.o && tt="yes"
|
|
test dfint1der_kc_beg.f -nt dfintder1c.o && tt="yes"
|
|
test dfint1der_mid1.f -nt dfintder1c.o && tt="yes"
|
|
test dfint1der_mid1_ab.f -nt dfintder1c.o && tt="yes"
|
|
test dfint1der_mid2.f -nt dfintder1c.o && tt="yes"
|
|
test dfint1der_mid2_kc.f -nt dfintder1c.o && tt="yes"
|
|
test dfint1der_end1.f -nt dfintder1c.o && tt="yes"
|
|
test dfint1der_end1_kc.f -nt dfintder1c.o && tt="yes"
|
|
test dfint1der_end2.f -nt dfintder1c.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xdprscrsubs" ];
|
|
then
|
|
test list_dprscrinter.f -nt dprscrsubs.o && tt="yes"
|
|
test list_dprsubs.f -nt dprscrsubs.o && tt="yes"
|
|
test dprscr_abab_template.f -nt dprscrsubs.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xccsd" ];
|
|
then
|
|
test ccsd_io.f -nt ccsd.o && tt="yes"
|
|
test ccsd_pt.f -nt ccsd.o && tt="yes"
|
|
test ccsd_dfdirect.f -nt ccsd.o && tt="yes"
|
|
fi
|
|
if [ x$i == "xuccsd" ];
|
|
then
|
|
test uccsd_taaa_beg.f -nt uccsd.o && tt="yes"
|
|
test uccsd_taaa_end.f -nt uccsd.o && tt="yes"
|
|
test uccsd_tabb_beg.f -nt uccsd.o && tt="yes"
|
|
test uccsd_tabb_end.f -nt uccsd.o && tt="yes"
|
|
fi
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if ([ x$i == "xdmrcc" -o x$i == "xovirt" -o x$i == "xoptim" -o x$i == "xbasopt" -o x$i == "xgeomopt" -o x$i == "xcompmod" -o x$i == "xdriver" ]);
|
|
then
|
|
if [ x$i == "xdmrcc" -o x$i == "xdriver" ] && [ x$mpi == "xon" ]
|
|
then
|
|
echo "Compiling ${i}_mpi with options $preprocopt $compileroptsmpi $mpiopts"
|
|
$fortranmpi $preprocopt $compileroptsmpi $mpiopts -o ${i}_mpi.o -c $ii || export bstat="no"
|
|
fi
|
|
echo "Compiling $i with options $preprocopt $compileropts"
|
|
$fortran $preprocopt $compileropts -c $ii || export bstat="no"
|
|
elif ([ x$i == "xmrcc_manager" -o x$i == "xmrcc_manager_main" ] && [ x$mpi == "xon" ]);
|
|
then
|
|
echo "Compiling $i with options $preprocopt $compileroptsmpi $mpiopts"
|
|
$fortranmpi $preprocopt $compileroptsmpi $mpiopts -c $ii || export bstat="no"
|
|
elif ([ x$i == "xccsd" -o x$i == "xccsdmain" -o x$i == "xcombin" -o x$i == "xdrpa" -o x$i == "xldrpa" -o x$i == "xmrcc" -o x$i == "xlambda" -o x$i == "xpert" -o x$i == "xdcommunicate3" -o x$i == "xxmrcc" -o x$i == "xxpert" -o x$i == "xscf" -o x$i == "xfock" -o x$i == "xteint" -o x$i == "xdf3int" -o x$i == "xdft" -o x$i == "xhessgrad" ] && [ x$mpi == "xon" ]) ;
|
|
then
|
|
echo "Compiling ${i}_mpi with options $preprocopt $compileroptsmpi $mpiopts $ompopt $libxcinc $pcminc"
|
|
$fortranmpi $preprocopt $compileroptsmpi $mpiopts $ompopt $libxcinc $pcminc -o ${i}_mpi.o -c $ii || export bstat="no"
|
|
echo "Compiling $i with options $preprocopt $compileropts $ompopt $libxcinc $pcminc"
|
|
$fortran $preprocopt $compileropts $ompopt $libxcinc $pcminc -c $ii || export bstat="no"
|
|
else
|
|
echo "Compiling $i with options $preprocopt $compileropts $ompopt $libxcinc $pcminc"
|
|
$fortran $preprocopt $compileropts $ompopt $libxcinc $pcminc -c $ii || export bstat="no"
|
|
fi
|
|
fi
|
|
done
|
|
echo
|
|
|
|
# C routines ###########################################################
|
|
test -f $xalloc || export bstat="no"
|
|
test -f MRCCCOMMON || export bstat="no"
|
|
tt=$rebuild
|
|
test $xalloc -nt xalloc.o -o build.mrcc -nt xalloc.o && tt="yes"
|
|
test -f xalloc.o || tt="yes"
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
echo "Compiling xalloc with options $ccompileropts"
|
|
$ccompiler $ccompileropts -c $xalloc || export bstat="no"
|
|
fi
|
|
|
|
test -f intio.c || export bstat="no"
|
|
test -f MRCCCOMMON || export bstat="no"
|
|
tt=$rebuild
|
|
test intio.c -nt intio.o -o build.mrcc -nt intio.o && tt="yes"
|
|
test -f intio.o || tt="yes"
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
echo "Compiling intio with options $ccompileropts"
|
|
$ccompiler $ccompileropts -c intio.c || export bstat="no"
|
|
fi
|
|
|
|
test -f signal.c || export bstat="no"
|
|
tt=$rebuild
|
|
test signal.c -nt signal.o -o build.mrcc -nt signal.o && tt="yes"
|
|
test -f signal.o || tt="yes"
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
echo "Compiling signal with options $ccompileropts"
|
|
$ccompiler $ccompileropts -c signal.c || export bstat="no"
|
|
fi
|
|
|
|
test -f cfunc.c || export bstat="no"
|
|
tt=$rebuild
|
|
test cfunc.c -nt cfunc.o -o build.mrcc -nt cfunc.o && tt="yes"
|
|
test -f cfunc.o || tt="yes"
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
echo "Compiling cfunc with options $ccompileropts"
|
|
$ccompiler $ccompileropts -c cfunc.c || export bstat="no"
|
|
fi
|
|
|
|
if [ x$mpi == "xon" ]; then
|
|
test -f cfunc.c || export bstat="no"
|
|
tt=$rebuild
|
|
test cfunc.c -nt cfunc_mpi.o -o build.mrcc -nt cfunc_mpi.o && tt="yes"
|
|
test -f cfunc_mpi.o || tt="yes"
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
echo "Compiling cfunc with options $ccompileroptsmpi"
|
|
$ccompiler $ccompileroptsmpi -o cfunc_mpi.o -c cfunc.c || export bstat="no"
|
|
fi
|
|
fi
|
|
|
|
echo
|
|
|
|
#
|
|
#/bin/rm -f mrcc dmrcc xmrcc goldstone
|
|
#
|
|
|
|
# Linking goldstone ####################################################
|
|
|
|
tt=$rebuild
|
|
test -f goldstone || tt="yes"
|
|
for i in `echo "goldstone.o mem.o xalloc.o combin.o signal.o qsorti.o cfunc.o"`
|
|
do
|
|
test $i -nt goldstone && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]));
|
|
then echo "Linking goldstone with libraries: $linpacklib $extralibs"
|
|
else echo "Linking goldstone"
|
|
fi
|
|
$fortran $compileropts $ompopt -o goldstone goldstone.o mem.o xalloc.o combin.o signal.o qsorti.o cfunc.o $linpacklib $extralibs || export bstat="no"
|
|
fi
|
|
|
|
# Linking mrcc #########################################################
|
|
|
|
tt=$rebuild
|
|
test -f mrcc || tt="yes"
|
|
for i in `echo "mrcc.o lambda.o pert.o mrcc_f12.o mem.o xalloc.o combin.o signal.o $fls sacc.o dcommunicate3.o cfunc.o"`
|
|
do
|
|
test $i -nt mrcc && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]));
|
|
then echo "Linking mrcc with libraries: $linpacklib $extralibs"
|
|
else echo "Linking mrcc"
|
|
fi
|
|
$fortran $compileropts $ompopt -o mrcc mrcc.o lambda.o pert.o mrcc_f12.o mem.o xalloc.o combin.o signal.o $fls sacc.o dcommunicate3.o cfunc.o $linpacklib $extralibs || export bstat="no"
|
|
fi
|
|
|
|
# Linking mrcc_mpi #####################################################
|
|
|
|
if [ x$mpi == "xon" ]; then
|
|
tt=$rebuild
|
|
test -f mrcc_mpi || tt="yes"
|
|
for i in `echo "mrcc_mpi.o lambda_mpi.o pert_mpi.o mrcc_f12.o mem.o xalloc.o combin_mpi.o signal.o $fls sacc.o dcommunicate3_mpi.o cfunc_mpi.o"`
|
|
do
|
|
test $i -nt mrcc_mpi && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]));
|
|
then echo "Linking mrcc_mpi with libraries: $linpacklib $extralibs"
|
|
else echo "Linking mrcc_mpi"
|
|
fi
|
|
$fortranmpi $compileroptsmpi $ompopt -o mrcc_mpi mrcc_mpi.o lambda_mpi.o pert_mpi.o mrcc_f12.o mem.o xalloc.o combin_mpi.o signal.o $fls sacc.o dcommunicate3_mpi.o cfunc_mpi.o $linpacklib $extralibs || export bstat="no"
|
|
fi
|
|
fi
|
|
|
|
# Linking integ ########################################################
|
|
|
|
tt=$rebuild
|
|
test -f integ || tt="yes"
|
|
for i in `echo "integ.o teint.o ldfgrad.o domain.o ecp.o dfint.o df3int.o diis.o dfintloc.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o calcorb.o mem.o xalloc.o combin.o signal.o intio.o z2c.o oneint.o oneint_sh.o oneint_shc.o nucint.o nucint_shc.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o cfunc.o boys.o pml.o localize.o denschol.o bopu.o $fls"`
|
|
do
|
|
test $i -nt integ && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]) || ([ "x$libxclib" != "x" ]));
|
|
then echo "Linking integ with libraries: $linpacklib $extralibs $libxclib"
|
|
else echo "Linking integ"
|
|
fi
|
|
$fortran $compileropts $ompopt -o integ integ.o teint.o ldfgrad.o domain.o ecp.o dfint.o df3int.o diis.o dfintloc.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o calcorb.o mem.o xalloc.o combin.o signal.o intio.o z2c.o oneint.o oneint_sh.o oneint_shc.o nucint.o nucint_shc.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o cfunc.o boys.o pml.o localize.o denschol.o bopu.o $fls $linpacklib $extralibs $libxclib || export bstat="no"
|
|
fi
|
|
|
|
# Linking scf ##########################################################
|
|
|
|
tt=$rebuild
|
|
test -f scf || tt="yes"
|
|
for i in `echo "scf.o fock.o scf_embed.o hessgrad.o diis.o teint.o ldfgrad.o domain.o ecp.o dfint.o df3int.o dfintloc.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o dft.o calcorb.o calcorbd.o calcorbh.o func.o pssp.o semint_shc.o mem.o xalloc.o combin.o signal.o intio.o denschol.o pml.o bopu.o nucint.o nucint_shc.o oneint_sh.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o cfunc.o oneint.o oneint_shc.o boys.o localize.o $fls $pcmobj"`
|
|
do
|
|
test $i -nt scf && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]) || ([ "x$libxclib" != "x" ]) || ([ "x$pcmlib" != "x" ]));
|
|
then echo "Linking scf with libraries: $linpacklib $extralibs $libxclib $pcmlib"
|
|
else echo "Linking scf"
|
|
fi
|
|
$fortran $compileropts $ompopt -o scf scf.o fock.o scf_embed.o hessgrad.o diis.o teint.o ldfgrad.o domain.o ecp.o dfint.o df3int.o dfintloc.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o dft.o calcorb.o calcorbd.o calcorbh.o func.o pssp.o semint_shc.o mem.o xalloc.o combin.o signal.o intio.o denschol.o pml.o bopu.o nucint.o nucint_shc.o oneint_sh.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o cfunc.o oneint.o oneint_shc.o boys.o localize.o $fls $pcmobj $linpacklib $extralibs $libxclib $pcmlib|| export bstat="no"
|
|
fi
|
|
|
|
# Linking scf_mpi ######################################################
|
|
|
|
if [ x$mpi == "xon" ]; then
|
|
tt=$rebuild
|
|
test -f scf_mpi || tt="yes"
|
|
for i in `echo "scf_mpi.o fock_mpi.o scf_embed.o hessgrad_mpi.o diis.o teint_mpi.o ecp.o ldfgrad.o domain.o dfint.o df3int_mpi.o dfintloc.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o dft_mpi.o calcorb.o calcorbd.o calcorbh.o func.o pssp.o semint_shc.o mem.o xalloc.o combin_mpi.o signal.o intio.o denschol.o pml.o bopu.o nucint.o nucint_shc.o oneint_sh.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o cfunc_mpi.o oneint.o oneint_shc.o boys.o localize.o $fls $pcmobj"`
|
|
do
|
|
test $i -nt scf_mpi && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]) || ([ "x$libxclib" != "x" ]) || ([ "x$pcmlib" != "x" ]));
|
|
then echo "Linking scf_mpi with libraries: $linpacklib $extralibs $libxclib $pcmlib"
|
|
else echo "Linking scf_mpi"
|
|
fi
|
|
$fortranmpi $compileroptsmpi $ompopt -o scf_mpi scf_mpi.o fock_mpi.o scf_embed.o hessgrad_mpi.o diis.o teint_mpi.o ecp.o domain.o ldfgrad.o dfint.o df3int_mpi.o dfintloc.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o dft_mpi.o calcorb.o calcorbd.o calcorbh.o func.o pssp.o semint_shc.o mem.o xalloc.o combin_mpi.o signal.o intio.o denschol.o pml.o bopu.o nucint.o nucint_shc.o oneint_sh.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o cfunc_mpi.o oneint.o oneint_shc.o boys.o localize.o $fls $pcmobj $linpacklib $extralibs $libxclib $pcmlibmpi || export bstat="no"
|
|
fi
|
|
fi
|
|
|
|
# Linking ovirt ########################################################
|
|
|
|
tt=$rebuild
|
|
test -f ovirt || tt="yes"
|
|
for i in `echo "ovirt.o intio.o combin.o signal.o cfunc.o $fls"`
|
|
do
|
|
test $i -nt ovirt && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]));
|
|
then echo "Linking ovirt with libraries: $linpacklib $extralibs"
|
|
else echo "Linking ovirt"
|
|
fi
|
|
$fortran $compileropts $ompopt -o ovirt ovirt.o intio.o combin.o signal.o cfunc.o $fls $linpacklib $extralibs || export bstat="no"
|
|
fi
|
|
|
|
# Linking orbloc #######################################################
|
|
|
|
tt=$rebuild
|
|
test -f orbloc || tt="yes"
|
|
for i in `echo "orbloc.o mem.o xalloc.o combin.o signal.o denschol.o pml.o cfunc.o boys.o localize.o $fls"`
|
|
do
|
|
test $i -nt orbloc && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]));
|
|
then echo "Linking orbloc with libraries: $linpacklib $extralibs"
|
|
else echo "Linking orbloc"
|
|
fi
|
|
$fortran $compileropts $ompopt -o orbloc orbloc.o mem.o xalloc.o combin.o signal.o denschol.o pml.o cfunc.o boys.o localize.o $fls $linpacklib $extralibs || export bstat="no"
|
|
fi
|
|
|
|
# Linking mulli #######################################################
|
|
|
|
tt=$rebuild
|
|
test -f mulli || tt="yes"
|
|
for i in `echo "mulli.o mem.o xalloc.o combin.o signal.o bopu.o cfunc.o $fls"`
|
|
do
|
|
test $i -nt mulli && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]));
|
|
then echo "Linking mulli with libraries: $linpacklib $extralibs"
|
|
else echo "Linking mulli"
|
|
fi
|
|
$fortran $compileropts $ompopt -o mulli mulli.o mem.o xalloc.o combin.o signal.o bopu.o cfunc.o $fls $linpacklib $extralibs || export bstat="no"
|
|
fi
|
|
|
|
# Linking prop #########################################################
|
|
|
|
tt=$rebuild
|
|
test -f prop || tt="yes"
|
|
for i in `echo "prop.o propcore.o denschol.o diis.o teint.o ecp.o dfint.o df3int.o ldfzvec.o ldfgrad.o domain.o dfintloc.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o dft.o calcorb.o calcorbd.o calcorbh.o func.o pssp.o semint_shc.o pml.o mem.o xalloc.o combin.o signal.o intio.o nucint.o nucint_shc.o oneint_sh.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o cfunc.o oneint.o oneint_shc.o boys.o localize.o bopu.o hessgrad.o embedgrad.o fock.o subspace_solver.o $fls $pcmobj"`
|
|
do
|
|
test $i -nt prop && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]) || ([ "x$libxclib" != "x" ]) || ([ "x$pcmlib" != "x" ]) );
|
|
then echo "Linking prop with libraries: $linpacklib $extralibs $libxclib $pcmlib"
|
|
else echo "Linking prop"
|
|
fi
|
|
$fortran $compileropts $ompopt -o prop prop.o propcore.o denschol.o diis.o teint.o ecp.o dfint.o df3int.o ldfzvec.o ldfgrad.o domain.o dfintloc.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o dft.o calcorb.o calcorbd.o calcorbh.o func.o pssp.o semint_shc.o pml.o mem.o xalloc.o combin.o signal.o intio.o nucint.o nucint_shc.o oneint_sh.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o cfunc.o oneint.o oneint_shc.o boys.o localize.o bopu.o hessgrad.o embedgrad.o fock.o subspace_solver.o $fls $pcmobj $linpacklib $extralibs $libxclib $pcmlib|| export bstat="no"
|
|
fi
|
|
|
|
# Linking ccsd #########################################################
|
|
|
|
tt=$rebuild
|
|
test -f ccsd || tt="yes"
|
|
for i in `echo "ccsd.o ccsdmain.o diis.o laplace.o mem.o xalloc.o combin.o signal.o assembly.o cfunc.o $fls"`
|
|
do
|
|
test $i -nt ccsd && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]));
|
|
then echo "Linking ccsd with libraries: $linpacklib $extralibs"
|
|
else echo "Linking ccsd"
|
|
fi
|
|
$fortran $compileropts $ompopt -o ccsd ccsd.o ccsdmain.o diis.o laplace.o mem.o xalloc.o combin.o signal.o assembly.o cfunc.o $fls $linpacklib $extralibs || export bstat="no"
|
|
fi
|
|
|
|
# Linking ccsd_mpi #####################################################
|
|
|
|
if ([ x$mpi == "xon" ]) ;
|
|
then
|
|
tt=$rebuild
|
|
test -f ccsd_mpi || tt="yes"
|
|
for i in `echo "ccsd_mpi.o ccsdmain_mpi.o diis.o laplace.o mem.o xalloc.o combin_mpi.o signal.o assembly.o cfunc_mpi.o mrcc_manager.o manager.mod $fls"`
|
|
do
|
|
test $i -nt ccsd_mpi && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]));
|
|
then echo "Linking ccsd_mpi with libraries: $linpacklib $extralibs"
|
|
else echo "Linking ccsd_mpi"
|
|
fi
|
|
$fortranmpi $compileroptsmpi $ompopt -o ccsd_mpi ccsd_mpi.o ccsdmain_mpi.o diis.o laplace.o mem.o xalloc.o combin_mpi.o signal.o assembly.o cfunc_mpi.o mrcc_manager.o $fls $linpacklib $extralibs || export bstat="no"
|
|
fi
|
|
fi
|
|
|
|
# Linking uccsd ########################################################
|
|
|
|
tt=$rebuild
|
|
test -f uccsd || tt="yes"
|
|
for i in `echo "uccsd.o uccsdmain.o diis.o mem.o xalloc.o combin.o assembly.o signal.o laplace.o cfunc.o driver.o $fls"`
|
|
do
|
|
test $i -nt uccsd && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]));
|
|
then echo "Linking uccsd with libraries: $linpacklib $extralibs"
|
|
else echo "Linking uccsd"
|
|
fi
|
|
$fortran $compileropts $ompopt -o uccsd uccsd.o uccsdmain.o diis.o mem.o xalloc.o combin.o assembly.o signal.o laplace.o cfunc.o driver.o $fls $linpacklib $extralibs || export bstat="no"
|
|
fi
|
|
|
|
# Linking xmrcc ########################################################
|
|
|
|
tt=$rebuild
|
|
test -f xmrcc || tt="yes"
|
|
for i in `echo "xmrcc.o xlambda.o xpert.o xmem.o combin.o signal.o xalloc.o cfunc.o $fls"`
|
|
do
|
|
test $i -nt xmrcc && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]));
|
|
then echo "Linking xmrcc with libraries: $linpacklib $extralibs"
|
|
else echo "Linking xmrcc"
|
|
fi
|
|
$fortran $compileropts $ompopt -o xmrcc xmrcc.o xlambda.o xpert.o xmem.o combin.o signal.o xalloc.o cfunc.o $fls $linpacklib $extralibs || export bstat="no"
|
|
fi
|
|
|
|
# Linking xmrcc_mpi ####################################################
|
|
|
|
if [ x$mpi == "xon" ]; then
|
|
tt=$rebuild
|
|
test -f xmrcc_mpi || tt="yes"
|
|
for i in `echo "xmrcc_mpi.o xlambda.o xpert_mpi.o xmem.o combin.o signal.o xalloc.o cfunc.o $fls"`
|
|
do
|
|
test $i -nt xmrcc_mpi && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]));
|
|
then echo "Linking xmrcc_mpi with libraries: $linpacklib $extralibs"
|
|
else echo "Linking xmrcc_mpi"
|
|
fi
|
|
$fortran $compileropts $ompopt -o xmrcc_mpi xmrcc_mpi.o xlambda.o xpert_mpi.o xmem.o combin.o signal.o xalloc.o cfunc.o $fls $linpacklib $extralibs || export bstat="no"
|
|
fi
|
|
fi
|
|
# Linking drpa #########################################################
|
|
|
|
tt=$rebuild
|
|
test -f drpa || tt="yes"
|
|
for i in `echo "drpa.o ldrpa.o loccis.o drpagrad.o laplace.o teint.o ldfgrad.o ecp.o dfint.o df3int.o dfintloc.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o dft.o calcorb.o calcorbd.o calcorbh.o func.o mem.o xalloc.o combin.o signal.o intio.o bopu.o assembly.o oneint.o oneint_sh.o oneint_shc.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o ccsd.o diis.o local.o driver.o cfunc.o uccsd.o boys.o pml.o localize.o denschol.o $fls"`
|
|
do
|
|
test $i -nt drpa && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]) || ([ "x$libxclib" != "x" ]));
|
|
then echo "Linking drpa with libraries: $linpacklib $extralibs $libxclib"
|
|
else echo "Linking drpa"
|
|
fi
|
|
$fortran $compileropts $ompopt -o drpa drpa.o ldrpa.o loccis.o drpagrad.o laplace.o teint.o ldfgrad.o ecp.o dfint.o df3int.o dfintloc.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o dft.o calcorb.o calcorbd.o calcorbh.o func.o mem.o xalloc.o combin.o signal.o intio.o bopu.o assembly.o oneint.o oneint_sh.o oneint_shc.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o ccsd.o diis.o local.o driver.o cfunc.o uccsd.o boys.o pml.o localize.o denschol.o $fls $linpacklib $extralibs $libxclib || export bstat="no"
|
|
fi
|
|
|
|
# Linking drpa_mpi #########################################################
|
|
|
|
if ([ x$mpi == "xon" ]) ;
|
|
then
|
|
tt=$rebuild
|
|
test -f drpa_mpi || tt="yes"
|
|
for i in `echo "drpa_mpi.o ldrpa_mpi.o loccis.o drpagrad.o laplace.o teint_mpi.o ldfgrad.o ecp.o dfint.o df3int_mpi.o dfintloc.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o dft.o calcorb.o calcorbd.o calcorbh.o func.o mem.o xalloc.o combin_mpi.o signal.o intio.o bopu.o assembly.o oneint.o oneint_sh.o oneint_shc.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o ccsd_mpi.o diis.o local.o driver_mpi.o cfunc_mpi.o uccsd.o mrcc_manager.o manager.mod boys.o pml.o localize.o denschol.o $fls"`
|
|
do
|
|
test $i -nt drpa_mpi && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]) || ([ "x$libxclib" != "x" ]));
|
|
then echo "Linking drpa_mpi with libraries: $linpacklib $extralibs $libxclib"
|
|
else echo "Linking drpa_mpi"
|
|
fi
|
|
$fortranmpi $compileroptsmpi $ompopt -o drpa_mpi drpa_mpi.o ldrpa_mpi.o loccis.o drpagrad.o laplace.o teint_mpi.o ldfgrad.o ecp.o dfint.o df3int_mpi.o dfintloc.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o dft.o calcorb.o calcorbd.o calcorbh.o func.o mem.o xalloc.o combin_mpi.o signal.o intio.o bopu.o assembly.o oneint.o oneint_sh.o oneint_shc.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o ccsd_mpi.o diis.o local.o driver_mpi.o cfunc_mpi.o uccsd.o mrcc_manager.o boys.o pml.o localize.o denschol.o $fls $linpacklib $extralibs $libxclib || export bstat="no"
|
|
fi
|
|
fi
|
|
|
|
# Linking cis #########################################################
|
|
|
|
tt=$rebuild
|
|
test -f cis || tt="yes"
|
|
for i in `echo "cis.o cis2.o diis.o laplace.o teint.o ldfgrad.o bopu.o ecp.o dfint.o df3int.o dfintloc.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o calcorb.o mem.o xalloc.o combin.o signal.o dft.o calcorbd.o calcorbh.o func.o pssp.o semint_shc.o intio.o nucint.o nucint_shc.o oneint_sh.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o cfunc.o oneint.o oneint_shc.o boys.o pml.o localize.o denschol.o $fls"`
|
|
do
|
|
test $i -nt cis && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]) || ([ "x$libxclib" != "x" ]));
|
|
then echo "Linking cis with libraries: $linpacklib $extralibs $libxclib"
|
|
else echo "Linking cis"
|
|
fi
|
|
$fortran $compileropts $ompopt -o cis cis.o cis2.o diis.o laplace.o teint.o ldfgrad.o bopu.o ecp.o dfint.o df3int.o dfintloc.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o calcorb.o mem.o xalloc.o combin.o signal.o dft.o calcorbd.o calcorbh.o func.o pssp.o semint_shc.o intio.o nucint.o nucint_shc.o oneint_sh.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o cfunc.o oneint.o oneint_shc.o boys.o pml.o localize.o denschol.o $fls $linpacklib $extralibs $libxclib || export bstat="no"
|
|
fi
|
|
|
|
# Linking mp2f12 #######################################################
|
|
|
|
tt=$rebuild
|
|
test -f mp2f12 || tt="yes"
|
|
for i in `echo "mp2f12.o diis.o teint.o ldfgrad.o domain.o ecp.o dfint.o df3int.o dfintloc.o domain.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o mem.o xalloc.o combin.o signal.o semint_shc.o intio.o nucint.o nucint_shc.o oneint_sh.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o cfunc.o boys.o pml.o localize.o denschol.o bopu.o $fls"`
|
|
do
|
|
test $i -nt mp2f12 && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]) || ([ "x$libxclib" != "x" ]));
|
|
then echo "Linking mp2f12 with libraries: $linpacklib $extralibs $libxclib"
|
|
else echo "Linking mp2f12"
|
|
fi
|
|
$fortran $compileropts $ompopt -o mp2f12 mp2f12.o diis.o teint.o ldfgrad.o domain.o ecp.o dfint.o df3int.o dfintloc.o df2intsubs.o hrrspher.o dfint_triplets.o brasub.o intsub.o intsub_ader.o hrrsub_ader.o intsub_bder.o hrrsub_bder.o intsub_cder.o hrrsub_cder.o brasub_1der.o ketsub_1der.o rearrsubs.o sphersubs.o dfintder1c.o dprscr.o dprscrsubs.o dfint_triplets_3der.o intsub_3der.o hrrsub_3der.o brasub_3der.o derspher_3der.o dfint_triplets_rangesep.o intsub_rangesep.o df2intsubs_rangesep.o ellip.o mem.o xalloc.o combin.o signal.o semint_shc.o intio.o nucint.o nucint_shc.o oneint_sh.o onein1.o onein1_sh.o onein1_shc.o nuceq1.o nuceq1_shc.o nucat1.o nucat1_shc.o mulint_shc.o cfunc.o oneint.o oneint_shc.o boys.o pml.o localize.o denschol.o bopu.o $fls $linpacklib $extralibs $libxclib || export bstat="no"
|
|
fi
|
|
|
|
# Linking minp #########################################################
|
|
|
|
tt=$rebuild
|
|
test -f minp || tt="yes"
|
|
for i in `echo "minp.o combin.o signal.o cfunc.o $fls"`
|
|
do
|
|
test $i -nt minp && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]) || ([ "x$libxclib" != "x" ]));
|
|
then echo "Linking minp with libraries: $linpacklib $extralibs $libxclib"
|
|
else echo "Linking minp"
|
|
fi
|
|
$fortran $compileropts $ompopt -o minp minp.o combin.o signal.o cfunc.o $fls $linpacklib $extralibs $libxclib || export bstat="no"
|
|
fi
|
|
|
|
# Linking qmmod ########################################################
|
|
|
|
tt=$rebuild
|
|
test -f qmmod || tt="yes"
|
|
for i in `echo "qmmod.o qmmod_handler.o qmmod_moselect.o qmmod_embed.o qmmod_huziqmmm.o combin.o signal.o mem.o xalloc.o bopu.o cfunc.o $fls"`
|
|
do
|
|
test $i -nt qmmod && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]));
|
|
then echo "Linking qmmod with libraries: $linpacklib $extralibs"
|
|
else echo "Linking qmmod"
|
|
fi
|
|
$fortran $compileropts $ompopt -o qmmod qmmod.o qmmod_handler.o qmmod_moselect.o qmmod_embed.o qmmod_huziqmmm.o combin.o signal.o mem.o xalloc.o bopu.o cfunc.o $fls $linpacklib $extralibs || export bstat="no"
|
|
fi
|
|
|
|
# Linking dirac_mointegral_export ######################################
|
|
|
|
tt=$rebuild
|
|
test dirac_mointegral_export.F90 -nt dirac_mointegral_export && tt="yes"
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
$fortran $compileropts -o dirac_mointegral_export dirac_mointegral_export.F90 cfunc.o
|
|
fi
|
|
|
|
# Linking dmrcc ########################################################
|
|
|
|
tt=$rebuild
|
|
test -f dmrcc || tt="yes"
|
|
for i in `echo "dmrcc.o basopt.o geomopt.o optim.o combin.o signal.o z2c.o freqdrv.o cfunc.o compmod.o driver.o $fls"`
|
|
do
|
|
test $i -nt dmrcc && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]));
|
|
then echo "Linking dmrcc with libraries: $linpacklib $extralibs"
|
|
else echo "Linking dmrcc"
|
|
fi
|
|
$fortran $compileropts $ompopt -o dmrcc dmrcc.o basopt.o geomopt.o optim.o combin.o signal.o z2c.o freqdrv.o cfunc.o compmod.o driver.o $fls $linpacklib $extralibs || export bstat="no"
|
|
fi
|
|
|
|
# Linking dmrcc_mpi ####################################################
|
|
|
|
if ([ x$mpi == "xon" ]) ;
|
|
then
|
|
tt=$rebuild
|
|
test -f dmrcc_mpi || tt="yes"
|
|
for i in `echo "dmrcc_mpi.o basopt.o geomopt.o optim.o combin_mpi.o signal.o z2c.o freqdrv.o cfunc_mpi.o compmod.o driver_mpi.o $fls"`
|
|
do
|
|
test $i -nt dmrcc_mpi && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]));
|
|
then echo "Linking dmrcc_mpi with libraries: $linpacklib $extralibs"
|
|
else echo "Linking dmrcc_mpi"
|
|
fi
|
|
$fortranmpi $compileroptsmpi $ompopt -o dmrcc_mpi dmrcc_mpi.o basopt.o geomopt.o optim.o combin_mpi.o signal.o z2c.o freqdrv.o cfunc_mpi.o compmod.o driver_mpi.o $fls $linpacklib $extralibs || export bstat="no"
|
|
fi
|
|
fi
|
|
|
|
# Linking mrcc_manager #################################################
|
|
|
|
if ([ x$mpi == "xon" ]) ;
|
|
then
|
|
tt=$rebuild
|
|
test -f mrcc_manager || tt="yes"
|
|
for i in `echo "mrcc_manager_main.o mrcc_manager.o manager.mod cfunc_mpi.o combin_mpi.o signal.o $fls"`
|
|
do
|
|
test $i -nt mrcc_manager && tt="yes"
|
|
done
|
|
|
|
if [ x$tt == "xyes" ];
|
|
then
|
|
if (([ "x$extralibs" != "x" ]) || ([ "x$linpacklib" != "x" ]));
|
|
then echo "Linking mrcc_manager with libraries: $linpacklib $extralibs"
|
|
else echo "Linking mrcc_manager"
|
|
fi
|
|
$fortranmpi $compileroptsmpi -o mrcc_manager mrcc_manager_main.o mrcc_manager.o cfunc_mpi.o combin_mpi.o signal.o $fls $linpacklib $extralibs || export bstat="no"
|
|
fi
|
|
fi
|
|
|
|
# Check if compilation is successful ###################################
|
|
|
|
for i in $mrccexe
|
|
do
|
|
test -f $i || export bstat="no"
|
|
done
|
|
|
|
|
|
if [ x$bstat == "xyes" ];
|
|
then
|
|
if [ x$instdir != "x" ];
|
|
then
|
|
test -d $instdir || mkdir $instdir
|
|
for i in $mrccexe
|
|
do
|
|
cp $i $instdir
|
|
done
|
|
cp -r BASIS/ MTEST/ $instdir
|
|
fi
|
|
echo
|
|
echo
|
|
echo -en "\\033[0;32m"
|
|
echo " MRCC has been installed successfully! "
|
|
echo -en "\\033[0;39m"
|
|
echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
|
|
echo
|
|
else
|
|
echo
|
|
echo -en "\\033[0;31m"
|
|
echo " Installation of MRCC failed! "
|
|
echo -en "\\033[0;39m"
|
|
echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
|
|
echo
|
|
fi
|
|
|
|
exit;
|
|
|