- Timestamp:
- 2013-11-14T12:04:31+01:00 (11 years ago)
- Location:
- branches/2013/dev_r3867_MERCATOR1_DYN/NEMOGCM/TOOLS/COMPILE
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_r3867_MERCATOR1_DYN/NEMOGCM/TOOLS/COMPILE/Fcheck_archfile.sh
r3294 r4193 40 40 # :: 41 41 # 42 # $ ./Fcheck_archfile.sh ARCHFILE C OMPILER42 # $ ./Fcheck_archfile.sh ARCHFILE CPPFILE COMPILER 43 43 # 44 44 # … … 59 59 # 60 60 #- 61 cpeval () 62 { 63 cat > $2 << EOF 61 64 62 if [ ${#2} -eq 0 ]; then 63 if [ ! -f ${COMPIL_DIR}/$1 ]; then 64 echo "Warning !!!" 65 echo "NO compiler chosen" 66 echo "Try makenemo -h for help" 67 echo "EXITING..." 68 exit 1 69 fi 65 #========================================================== 66 # Automatically generated by Fcheck_archfile.sh from 67 # $1 68 #========================================================== 69 70 EOF 71 while read line 72 do 73 eval "echo \"$line\" >> $2" 74 done < $1 75 } 76 # cleaning related to the old version 77 rm -f $( find ${COMPIL_DIR} -type l -name $1 -print ) 78 # 79 if [ ${#3} -eq 0 ]; then # arch not specified 80 if [ ! -f ${COMPIL_DIR}/arch.history ]; then 81 echo "Warning !!!" 82 echo "NO compiler chosen" 83 echo "Try makenemo -h for help" 84 echo "EXITING..." 85 exit 1 86 else # use the arch file defined in arch.history 87 myarch=$( cat ${COMPIL_DIR}/arch.history ) 88 if [ ! -f $myarch ]; then 89 echo "Warning !!!" 90 echo "previously used arch file no more found:" 91 echo $myarch 92 echo "EXITING..." 93 exit 1 94 else 95 if [ -f ${COMPIL_DIR}/$1 ]; then 96 if [ "$2" != "nocpp" ] 97 then 98 # has the cpp keys file been changed since we copied the arch file in ${COMPIL_DIR}? 99 mycpp=$( ls -l ${COMPIL_DIR}/$2 | sed -e "s/.* -> //" ) 100 if [ "$mycpp" != "$( cat ${COMPIL_DIR}/cpp.history )" ]; then 101 echo $mycpp > ${COMPIL_DIR}/cpp.history 102 cpeval ${myarch} ${COMPIL_DIR}/$1 103 fi 104 # has the cpp keys file been updated since we copied the arch file in ${COMPIL_DIR}? 105 mycpp=$( find -L ${COMPIL_DIR} -cnewer ${COMPIL_DIR}/$1 -name $2 -print ) 106 [ ${#mycpp} -ne 0 ] && cpeval ${myarch} ${COMPIL_DIR}/$1 107 fi 108 # has myarch file been updated since we copied it in ${COMPIL_DIR}? 109 myarchdir=$( dirname ${myarch} ) 110 myarchname=$( basename ${myarch} ) 111 myarch=$( find -L $myarchdir -cnewer ${COMPIL_DIR}/$1 -name $myarchname -print ) 112 [ ${#myarch} -ne 0 ] && cpeval ${myarch} ${COMPIL_DIR}/$1 113 else 114 cpeval ${myarch} ${COMPIL_DIR}/$1 115 fi 116 fi 117 fi 118 else 119 nb=$( find ${MAIN_DIR}/ARCH -name arch-${3}.fcm -print | wc -l ) 120 if [ $nb -eq 0 ]; then # no arch file found 121 echo "Warning !!!" 122 echo "Compiler not existing" 123 echo "Try makenemo -h for help" 124 echo "EXITING..." 125 exit 1 126 fi 127 if [ $nb -gt 1 ]; then # more than 1 arch file found 128 echo "Warning !!!" 129 echo "more than 1 arch file for the same compiler have been found" 130 find ${MAIN_DIR}/ARCH -name arch-${3}.fcm -print 131 echo "keep only 1" 132 echo "EXITING..." 133 exit 1 134 fi 135 myarch=$( find ${MAIN_DIR}/ARCH -name arch-${3}.fcm -print ) 136 # we were already using this arch file ? 137 if [ "$myarch" == "$( cat ${COMPIL_DIR}/arch.history )" ]; then 138 if [ -f ${COMPIL_DIR}/$1 ]; then 139 if [ "$2" != "nocpp" ] 140 then 141 # has the cpp keys file been changed since we copied the arch file in ${COMPIL_DIR}? 142 mycpp=$( ls -l ${COMPIL_DIR}/$2 | sed -e "s/.* -> //" ) 143 if [ "$mycpp" != "$( cat ${COMPIL_DIR}/cpp.history )" ]; then 144 echo $mycpp > ${COMPIL_DIR}/cpp.history 145 cpeval ${myarch} ${COMPIL_DIR}/$1 146 fi 147 # has the cpp keys file been updated since we copied the arch file in ${COMPIL_DIR}? 148 mycpp=$( find -L ${COMPIL_DIR} -cnewer ${COMPIL_DIR}/$1 -name $2 -print ) 149 [ ${#mycpp} -ne 0 ] && cpeval ${myarch} ${COMPIL_DIR}/$1 150 fi 151 # has myarch file been updated since we copied it in ${COMPIL_DIR}? 152 myarch=$( find -L ${MAIN_DIR}/ARCH -cnewer ${COMPIL_DIR}/$1 -name arch-${3}.fcm -print ) 153 [ ${#myarch} -ne 0 ] && cpeval ${myarch} ${COMPIL_DIR}/$1 154 else 155 cpeval ${myarch} ${COMPIL_DIR}/$1 156 fi 157 else 158 if [ "$2" != "nocpp" ] 159 then 160 ls -l ${COMPIL_DIR}/$2 | sed -e "s/.* -> //" > ${COMPIL_DIR}/cpp.history 161 fi 162 echo ${myarch} > ${COMPIL_DIR}/arch.history 163 cpeval ${myarch} ${COMPIL_DIR}/$1 164 fi 165 fi 166 167 #- do we need xios library? 168 if [ "$2" != "nocpp" ] 169 then 170 use_iom=$( sed -e "s/#.*$//" ${COMPIL_DIR}/$2 | grep -c key_iomput ) 70 171 else 71 myfile=$( find ${MAIN_DIR}/ARCH -name arch-${2}.fcm -print ) 72 if [ ${#myfile} -gt 0 ]; then 73 ln -sf ${myfile} ${COMPIL_DIR}/$1 74 else 75 echo "Warning !!!" 76 echo "Compiler not existing" 77 echo "Try makenemo -h for help" 78 echo "EXITING..." 79 exit 1 80 fi 172 use_iom=0 81 173 fi 174 have_lxios=$( sed -e "s/#.*$//" ${COMPIL_DIR}/$1 | grep -c "\-lxios" ) 175 if [[ ( $use_iom -eq 0 ) && ( $have_lxios -ge 1 ) ]] 176 then 177 sed -e "s/-lxios//g" ${COMPIL_DIR}/$1 > ${COMPIL_DIR}/tmp$$ 178 mv -f ${COMPIL_DIR}/tmp$$ ${COMPIL_DIR}/$1 179 fi 180 181 #- do we need oasis libraries? 182 if [ "$2" != "nocpp" ] 183 then 184 use_oasis=$( sed -e "s/#.*$//" ${COMPIL_DIR}/$2 | grep -c key_oasis3 ) 185 else 186 use_oasis=0 187 fi 188 for liboa in psmile.MPI1 mct mpeu scrip mpp_io 189 do 190 have_liboa=$( sed -e "s/#.*$//" ${COMPIL_DIR}/$1 | grep -c "\-l${liboa}" ) 191 if [[ ( $use_oasis -eq 0 ) && ( $have_liboa -ge 1 ) ]] 192 then 193 sed -e "s/-l${liboa}//g" ${COMPIL_DIR}/$1 > ${COMPIL_DIR}/tmp$$ 194 mv -f ${COMPIL_DIR}/tmp$$ ${COMPIL_DIR}/$1 195 fi 196 done 197 -
branches/2013/dev_r3867_MERCATOR1_DYN/NEMOGCM/TOOLS/COMPILE/Flist_archfile.sh
r3294 r4193 61 61 62 62 echo "Available compilers for -m option :" 63 for file in $(ls ${MAIN_DIR}/ARCH | grep fcm)63 for file in $(ls ${MAIN_DIR}/ARCH | grep "fcm$" ) 64 64 do 65 65 zvar1=${file#arch-} … … 71 71 72 72 if [ "$1" == "all" ]; then 73 for dir in $(ls ${MAIN_DIR}/ARCH | grep -v fcm)73 for dir in $(ls ${MAIN_DIR}/ARCH | grep -v "fcm$" ) 74 74 do 75 75 echo "Available compilers at ${dir} :" 76 for file in $(ls ${MAIN_DIR}/ARCH/${dir} | grep fcm)76 for file in $(ls ${MAIN_DIR}/ARCH/${dir} | grep "fcm$" ) 77 77 do 78 78 zvar1=${file#arch-} … … 84 84 elif [ -d ${MAIN_DIR}/ARCH/${1} ]; then 85 85 echo "Available compilers at $1 :" 86 for file in $(ls ${MAIN_DIR}/ARCH/$1 | grep fcm)86 for file in $(ls ${MAIN_DIR}/ARCH/$1 | grep "fcm$" ) 87 87 do 88 88 zvar1=${file#arch-} … … 93 93 else 94 94 echo "Available consortium member sub-directories :" 95 for dir in $(ls ${MAIN_DIR}/ARCH | grep -v fcm)95 for dir in $(ls ${MAIN_DIR}/ARCH | grep -v "fcm$" ) 96 96 do 97 97 echo ${dir}
Note: See TracChangeset
for help on using the changeset viewer.