[2248] | 1 | #!/bin/bash |
---|
| 2 | #set -x |
---|
| 3 | set -o posix |
---|
[3764] | 4 | #set -u |
---|
[2248] | 5 | #set -e |
---|
| 6 | #+ |
---|
| 7 | # |
---|
| 8 | # =============== |
---|
| 9 | # makenemo |
---|
| 10 | # =============== |
---|
| 11 | # |
---|
| 12 | # -------------------------- |
---|
| 13 | # Compile NEMO |
---|
| 14 | # -------------------------- |
---|
| 15 | # |
---|
| 16 | # SYNOPSIS |
---|
| 17 | # ======== |
---|
| 18 | # |
---|
| 19 | # :: |
---|
| 20 | # |
---|
| 21 | # $ makenemo |
---|
| 22 | # |
---|
| 23 | # |
---|
| 24 | # DESCRIPTION |
---|
| 25 | # =========== |
---|
| 26 | # |
---|
| 27 | # |
---|
| 28 | # This script aims : |
---|
| 29 | # |
---|
| 30 | # - to choose MYCONFIG |
---|
[3764] | 31 | # - to choose compiler options |
---|
[2248] | 32 | # - to create the CONFIG/MYCONFIG/WORK directory |
---|
| 33 | # - to compile this configuration |
---|
| 34 | # |
---|
| 35 | # Variables used : |
---|
| 36 | # |
---|
| 37 | # From user input |
---|
| 38 | # |
---|
| 39 | # - NEW_CONF : configuration to be created |
---|
[4990] | 40 | # - REF_CONF : reference configuration to build the new one from |
---|
[3764] | 41 | # - CMP_NAM : compiler name |
---|
| 42 | # - NBR_PRC : number of processes used to compile |
---|
[9651] | 43 | # - RMT_CONF : unsupported (external) configuration to build the new one from |
---|
[2248] | 44 | # - NEM_SUBDIR : NEMO subdirectory used (specified) |
---|
| 45 | # |
---|
| 46 | # Locally defined : |
---|
| 47 | # |
---|
[3764] | 48 | # - TAB : NEMO subdirectory used (read) |
---|
[2301] | 49 | # - MAIN_DIR : self explaining |
---|
[3764] | 50 | # - CONFIG_DIR : " " " |
---|
| 51 | # - MODELES_DIR : " " " |
---|
| 52 | # - TOOLS_DIR : " " " |
---|
[2248] | 53 | # - NEMO_DIR : " " " |
---|
[11723] | 54 | # - REMOTE_CTL : URL link to a remote resource list for an external configuration |
---|
[4990] | 55 | # which is not part of the reference suite |
---|
[11723] | 56 | # - LOCAL_REF : Nearest reference configuration to an external configuration |
---|
[4990] | 57 | # which is not part of the reference suite |
---|
| 58 | # (used to populate work directories if remote access is not available) |
---|
[2248] | 59 | # |
---|
| 60 | # EXAMPLES |
---|
| 61 | # ======== |
---|
| 62 | # |
---|
| 63 | # :: |
---|
| 64 | # |
---|
[9651] | 65 | # $ ./makenemo -m ifort_osx - j3 -n ORCA2_SI3_PISCES |
---|
[2248] | 66 | # |
---|
| 67 | # |
---|
| 68 | # TODO |
---|
| 69 | # ==== |
---|
| 70 | # |
---|
| 71 | # option debug |
---|
| 72 | # |
---|
| 73 | # |
---|
| 74 | # EVOLUTIONS |
---|
| 75 | # ========== |
---|
| 76 | # |
---|
| 77 | # $Id$ |
---|
| 78 | # |
---|
| 79 | # |
---|
| 80 | # |
---|
| 81 | # * creation |
---|
| 82 | # |
---|
| 83 | #- |
---|
| 84 | |
---|
[3294] | 85 | #- |
---|
[9651] | 86 | ##- Initialization of the options --- |
---|
| 87 | x_d=''; x_h=''; x_n=''; x_r=''; |
---|
| 88 | x_u=''; x_a=''; x_m=''; x_t=''; |
---|
| 89 | x_c=''; |
---|
[15758] | 90 | x_j='1'; x_e='none'; x_s='src'; x_v='1'; x_A='' |
---|
[3294] | 91 | |
---|
[9651] | 92 | ##- Local variables --- |
---|
[2248] | 93 | b_n=$(basename ${0}) |
---|
[9651] | 94 | OPTIND='1' |
---|
[2359] | 95 | MAIN_DIR=$(cd $(dirname "$0"); pwd) |
---|
[9651] | 96 | MAIN_DIR=${MAIN_DIR%/sette*} |
---|
[9598] | 97 | MAIN_DIR=${MAIN_DIR%/tools*} |
---|
| 98 | MAIN_DIR=${MAIN_DIR%/cfgs*} |
---|
[2359] | 99 | export MAIN_DIR |
---|
[2354] | 100 | # |
---|
[9598] | 101 | export CONFIG_DIR=${MAIN_DIR}/cfgs |
---|
| 102 | export TOOLS_DIR=${MAIN_DIR}/tools |
---|
| 103 | export COMPIL_DIR=${MAIN_DIR}/mk |
---|
[3294] | 104 | export NEMO_DIR=${MAIN_DIR}/${x_s} |
---|
[9651] | 105 | export AGRIFUSE='10' |
---|
| 106 | list_key='0'; chk_key='1' |
---|
| 107 | list_add_key=''; list_del_key=''; |
---|
[9680] | 108 | conf_file=ref_cfgs.txt |
---|
[2248] | 109 | #- |
---|
| 110 | #- FCM and functions location --- |
---|
[9598] | 111 | export PATH=${MAIN_DIR}/ext/FCM/bin:$PATH |
---|
[2248] | 112 | |
---|
| 113 | #- |
---|
| 114 | #- Choice of the options --- |
---|
[15758] | 115 | while getopts :hd:n:r:u:a:m:j:e:s:v:t:k:A: option; do |
---|
[9651] | 116 | |
---|
| 117 | case $option in |
---|
| 118 | ('h') cat <<EOF |
---|
| 119 | Usage: |
---|
| 120 | ------ |
---|
[11723] | 121 | ./makenemo -[aru] CONFIG -m ARCH [-[dehjntv] ...] [{list_key,clean,clean_config}] |
---|
| 122 | [{add_key,del_key} ...] |
---|
[9651] | 123 | |
---|
[11723] | 124 | Mandatory |
---|
| 125 | -m Computing architecture (./arch), FCM file describing the compilation settings |
---|
| 126 | |
---|
[10587] | 127 | and one of the following option (use 'all' arg to list available items) |
---|
[9651] | 128 | |
---|
[11723] | 129 | -r Reference configuration (./cfgs), proven with long-term support |
---|
| 130 | -a Academic test case (./tests), ready-to-use configuration with no support over time |
---|
| 131 | -u Scripted remote configuration (see ./tests/rmt_cfgs.txt) |
---|
[9651] | 132 | |
---|
[11723] | 133 | Optional |
---|
| 134 | -d New set of sub-components (subfolders from ./src directory) |
---|
| 135 | -e Path for alter patch location (default: 'MY_SRC' in configuration folder) |
---|
| 136 | -h Print this help |
---|
| 137 | -j Number of processes to compile (0: dry run with no build) |
---|
| 138 | -n Name for new configuration |
---|
| 139 | -s Path for alter source location (default: 'src' root directory) |
---|
| 140 | -t Path for alter build location (default: 'BLD' in configuration folder) |
---|
| 141 | -v Level of verbosity ([0-3]) |
---|
[15758] | 142 | -A Enable additional pre-processing ('none' by default or 'PSyclone') |
---|
[11723] | 143 | |
---|
| 144 | Examples |
---|
[9765] | 145 | ¤ Configuration creation |
---|
[11723] | 146 | Build : ./makenemo -[aru] ... [...] |
---|
[10587] | 147 | Copy : ./makenemo -n ... -[aru] ... [...] |
---|
[9651] | 148 | ¤ Configuration management |
---|
[11723] | 149 | List CPP keys : ./makenemo -n ... list_key |
---|
| 150 | Add-Remove keys: ./makenemo -n ... add_key '...' del_key '...' |
---|
| 151 | Fresh start : ./makenemo -n ... clean |
---|
| 152 | Removal : ./makenemo -n ... clean_config |
---|
[9651] | 153 | EOF |
---|
| 154 | exit 0 ;; |
---|
| 155 | ('d') x_d=${OPTARG};; ('n') x_n=${OPTARG};; ('r') x_r=${OPTARG};; ('u') x_u=${OPTARG};; |
---|
| 156 | ('a') x_a=${OPTARG};; ('m') x_m=${OPTARG};; ('j') x_j=${OPTARG};; ('t') x_t=${OPTARG};; |
---|
| 157 | ('e') x_e=${OPTARG};; ('s') x_s=${OPTARG};; ('v') x_v=${OPTARG} ;; |
---|
[15758] | 158 | ('k') chk_key=${OPTARG};; ('A') x_A=${OPTARG} ;; |
---|
[9651] | 159 | (':') echo ${b_n}" : -"${OPTARG}" option : missing value" 1>&2; exit 2 ;; |
---|
| 160 | ('?') echo ${b_n}" : -"${OPTARG}" option : not supported" 1>&2; exit 2 ;; |
---|
| 161 | esac |
---|
| 162 | |
---|
[2354] | 163 | done |
---|
[9651] | 164 | |
---|
[2248] | 165 | shift $(($OPTIND-1)); |
---|
| 166 | |
---|
[9651] | 167 | ## Get clean, clean_config options |
---|
| 168 | while [ ${#1} -gt 0 ]; do |
---|
[3764] | 169 | |
---|
[9651] | 170 | case "$1" in |
---|
| 171 | 'clean' ) x_c="--$1" ;; |
---|
| 172 | 'clean_config') . ${COMPIL_DIR}/Fclean_config.sh; exit ;; |
---|
| 173 | ## Checking if argument has anything other than whitespace |
---|
| 174 | 'add_key' ) [[ ! "$2" =~ ^\ +$ ]] && list_add_key=$2; shift;; |
---|
| 175 | 'del_key' ) [[ ! "$2" =~ ^\ +$ ]] && list_del_key=$2; shift;; |
---|
| 176 | 'list_key' ) list_key='1' ;; |
---|
| 177 | '*' ) echo " \"$1\" BAD OPTION"; exit 2 ;; |
---|
| 178 | esac |
---|
| 179 | |
---|
| 180 | shift |
---|
[2301] | 181 | done |
---|
| 182 | |
---|
[2302] | 183 | |
---|
[2248] | 184 | export NEW_CONF=${x_n} |
---|
| 185 | NBR_PRC=${x_j} |
---|
| 186 | CMP_NAM=${x_m} |
---|
| 187 | NEM_SUBDIR=${x_d} |
---|
| 188 | REF_CONF=${x_r} |
---|
[9651] | 189 | DEMO_CONF=${x_a} |
---|
| 190 | RMT_CONF=${x_u} |
---|
| 191 | TML_CONF=${REF_CONF} |
---|
[3294] | 192 | export NEMO_DIR=${MAIN_DIR}/${x_s} |
---|
[15758] | 193 | FPP_EXTRA='none'; [ "${x_A}" == 'PSyclone' ] && FPP_EXTRA='PSyclone' |
---|
| 194 | export FPP_EXTRA |
---|
[2248] | 195 | |
---|
[10587] | 196 | [ "${CMP_NAM}" == 'all' ] && . ${COMPIL_DIR}/Flist_archfile.sh all && exit |
---|
[2248] | 197 | |
---|
| 198 | |
---|
[9651] | 199 | ## No ref. cfg, demo case, nor remote cfg selected |
---|
| 200 | if [[ -z "${REF_CONF}" && -z "${DEMO_CONF}" && -z "${RMT_CONF}" ]]; then |
---|
[4990] | 201 | |
---|
[9651] | 202 | ## Reuse last configuration compiled if any (existing 'work_cfgs.txt') |
---|
[10587] | 203 | # if [[ $( find ./cfgs ./tests -name work_cfgs.txt ) ]]; then |
---|
| 204 | # CONFIG_DIR=${MAIN_DIR}/$( ls -rt */work_cfgs.txt | awk -F/ 'END{ print $1}' ) |
---|
| 205 | # TML_CONF=$( tail -1 ${CONFIG_DIR}/work_cfgs.txt | awk '{ print $1 }' ) |
---|
| 206 | # else |
---|
[9651] | 207 | ## No ${REF_CONF}, ${DEMO_CONF}, ${RMT_CONF} nor ${NEM_SUBDIR} and 1st compilation => exit |
---|
[10587] | 208 | # echo -e "\033[0;33m\nNo previous build found!" |
---|
| 209 | echo -e "\033[0;31m\nAt least a reference configuration ('-r'), a test case ('-a'), " |
---|
| 210 | echo -e "a remote configuration ('-u') has to be choosen!!!\033[0m" |
---|
[9651] | 211 | ${COMPIL_DIR}/Flist_cfgs.sh |
---|
| 212 | exit 2 |
---|
[10587] | 213 | # fi |
---|
[9651] | 214 | |
---|
| 215 | ## At least one config has been requested |
---|
[2359] | 216 | else |
---|
[9651] | 217 | |
---|
[10587] | 218 | ## 'all' arg: list all available configurations |
---|
[9651] | 219 | if [[ "${REF_CONF}" == 'all' || "${DEMO_CONF}" == 'all' || "${RMT_CONF}" == 'all' ]]; then |
---|
| 220 | ${COMPIL_DIR}/Flist_cfgs.sh |
---|
| 221 | exit 2 |
---|
[10587] | 222 | ## Probably useless but who knows? |
---|
[9651] | 223 | elif [[ -n "${REF_CONF}" && -n "${DEMO_CONF}" ]]; then |
---|
| 224 | echo -e "\033[0;31m\nYou have to choose whether you work with:" |
---|
[10587] | 225 | echo -e " - LTS configurations in ./cfgs ('-r') or" |
---|
| 226 | echo -e " - Unsupported cases in ./tests ('-a')\033[0m\n" |
---|
[9651] | 227 | exit 2 |
---|
| 228 | fi |
---|
| 229 | |
---|
| 230 | ## Remote cfg |
---|
| 231 | if [ -n "${RMT_CONF}" ]; then |
---|
[9680] | 232 | conf_file=rmt_cfgs.txt; CONFIG_DIR=${MAIN_DIR}/tests; |
---|
[9651] | 233 | |
---|
[9680] | 234 | if [[ ! $( grep ${RMT_CONF} ${CONFIG_DIR}/${conf_file} ) ]]; then |
---|
[10587] | 235 | echo -e "\033[0;31m\nThe reference configuration ('-r'), test case ('-a') or " |
---|
[9680] | 236 | echo -e "remote configuration ('-u') selected is not available!!!" |
---|
[10587] | 237 | echo -e "Check the option used and the available items in .txt files\033[0m" |
---|
[9680] | 238 | ${COMPIL_DIR}/Flist_cfgs.sh |
---|
| 239 | exit 2 |
---|
| 240 | fi |
---|
| 241 | |
---|
[9651] | 242 | ## Little tricky this one |
---|
| 243 | for word in $( grep ${RMT_CONF} ${CONFIG_DIR}/${conf_file} ); do |
---|
| 244 | words[${#words[@]}]=$word |
---|
| 245 | done |
---|
| 246 | |
---|
| 247 | TML_CONF=${words[2]}; NEM_SUBDIR=${words[4]}; URL=${words[6]} |
---|
| 248 | |
---|
| 249 | ## Demo case |
---|
| 250 | elif [ -n "${DEMO_CONF}" ]; then |
---|
[9680] | 251 | conf_file=demo_cfgs.txt; CONFIG_DIR=${MAIN_DIR}/tests; TML_CONF=${DEMO_CONF} |
---|
[9651] | 252 | fi |
---|
| 253 | |
---|
[2359] | 254 | fi |
---|
[2248] | 255 | |
---|
[9651] | 256 | ## Test if ref. cfg or demo case does exist |
---|
| 257 | if [[ ! $( grep "${TML_CONF} " ${CONFIG_DIR}/*_cfgs.txt ) ]]; then |
---|
| 258 | echo -e "\033[0;31m\nThe reference configuration ('-r'), demonstration case ('-a') or " |
---|
| 259 | echo -e "remote configuration ('-u') selected is not available!!!" |
---|
[10587] | 260 | echo -e "Check the option used and the available items in .txt files\033[0m" |
---|
[9651] | 261 | ${COMPIL_DIR}/Flist_cfgs.sh |
---|
| 262 | exit 2 |
---|
[2248] | 263 | |
---|
[9680] | 264 | else |
---|
| 265 | |
---|
[11723] | 266 | ## Reuse a working cfg |
---|
[9680] | 267 | if [[ -f ${CONFIG_DIR}/work_cfgs.txt && $( grep "${TML_CONF} " ${CONFIG_DIR}/work_cfgs.txt ) ]]; then |
---|
| 268 | conf_file=work_cfgs.txt |
---|
[9651] | 269 | fi |
---|
| 270 | |
---|
[9765] | 271 | ## If new cfg exists, work in it |
---|
[9680] | 272 | [ -z "${NEW_CONF}" ] && NEW_CONF=${TML_CONF} |
---|
| 273 | |
---|
| 274 | ## Update sub-comps if needed |
---|
[9651] | 275 | if [ -z "${NEM_SUBDIR}" ]; then |
---|
[9680] | 276 | NEM_SUBDIR=$( grep "${TML_CONF} " ${CONFIG_DIR}/${conf_file} | awk '{$1 = ""; print $0}' ) |
---|
[9651] | 277 | fi |
---|
| 278 | |
---|
| 279 | fi |
---|
| 280 | |
---|
| 281 | export NEMO_TDIR=${x_t:-$CONFIG_DIR} |
---|
| 282 | |
---|
| 283 | ## Save new configuration with sub-components set in work_cfgs.txt |
---|
| 284 | [ -f ${CONFIG_DIR}/work_cfgs.txt ] && sed -i "/${NEW_CONF} /d" ${CONFIG_DIR}/work_cfgs.txt |
---|
| 285 | echo ${NEW_CONF} "${NEM_SUBDIR}" \ |
---|
| 286 | >> ${CONFIG_DIR}/work_cfgs.txt |
---|
| 287 | |
---|
| 288 | cd ${CONFIG_DIR} |
---|
| 289 | |
---|
| 290 | printf "\nYou are installing a new configuration %s from %s " ${NEW_CONF} ${TML_CONF} |
---|
| 291 | printf "with sub-components: %s\n" "${NEM_SUBDIR}" |
---|
| 292 | |
---|
[9682] | 293 | ## Create new config even in existing one (mkdir with -p option, cp with -n) |
---|
| 294 | ${COMPIL_DIR}/Fmake_config.sh ${NEW_CONF} ${TML_CONF} |
---|
[9651] | 295 | |
---|
[9683] | 296 | ## create EXP00 if needed |
---|
| 297 | [ ! -d ${CONFIG_DIR}/${NEW_CONF}/EXP00 ] && \cp -R -n ${CONFIG_DIR}/${NEW_CONF}/EXPREF ${CONFIG_DIR}/${NEW_CONF}/EXP00 |
---|
| 298 | |
---|
[9651] | 299 | ## Get online script file for remote cfg |
---|
| 300 | [ -n "${RMT_CONF}" ] && ${COMPIL_DIR}/Ffetch_extdir.sh ${NEW_CONF} $URL |
---|
| 301 | |
---|
[2248] | 302 | #- Create the WORK --- |
---|
| 303 | #- Clean links and librairies --- |
---|
[9598] | 304 | #- Creating the good links, at first on OCE --- |
---|
[9651] | 305 | . ${COMPIL_DIR}/Fmake_WORK.sh ${x_e} ${NEW_CONF} ${NEM_SUBDIR} || exit 3 |
---|
[2248] | 306 | |
---|
[9651] | 307 | . ${COMPIL_DIR}/Fmake_bld.sh ${CONFIG_DIR} ${NEW_CONF} ${NEMO_TDIR} || exit 3 |
---|
[2248] | 308 | |
---|
[4148] | 309 | # build the complete list of the cpp keys of this configuration |
---|
[9651] | 310 | if [ ${chk_key} -eq 1 ] ; then |
---|
| 311 | |
---|
| 312 | for i in $( grep "^ *#.* key_" ${NEW_CONF}/WORK/* ); do |
---|
| 313 | echo $i | grep key_ | sed -e "s/=.*//" |
---|
| 314 | done \ |
---|
| 315 | | sort -d | uniq > ${COMPIL_DIR}/full_key_list.txt |
---|
| 316 | |
---|
| 317 | [ ${list_key} -eq 1 ] && cat ${COMPIL_DIR}/full_key_list.txt && exit 0 |
---|
| 318 | |
---|
[4148] | 319 | fi |
---|
| 320 | |
---|
[5091] | 321 | #- At this stage new configuration has been added, we add or remove keys |
---|
[5144] | 322 | [ ! -z "${list_add_key}" ] && { . ${COMPIL_DIR}/Fadd_keys.sh ${NEW_CONF} add_key ${list_add_key}; } |
---|
| 323 | [ ! -z "${list_del_key}" ] && { . ${COMPIL_DIR}/Fdel_keys.sh ${NEW_CONF} del_key ${list_del_key}; } |
---|
[2302] | 324 | |
---|
[4148] | 325 | #- check that all keys are really existing... |
---|
| 326 | if [ $chk_key -eq 1 ] ; then |
---|
[9651] | 327 | |
---|
| 328 | for kk in $( cat ${NEW_CONF}/cpp_${NEW_CONF}.fcm ); do |
---|
| 329 | |
---|
| 330 | if [ "$( echo $kk | cut -c 1-4 )" == "key_" ]; then |
---|
| 331 | kk=${kk/=*/} |
---|
| 332 | |
---|
| 333 | if [ ! $( grep $kk ${COMPIL_DIR}/full_key_list.txt ) ]; then |
---|
| 334 | echo |
---|
| 335 | echo "E R R O R : key "$kk" is not found in ${NEW_CONF}/WORK routines..." |
---|
| 336 | echo "we stop..." |
---|
| 337 | echo |
---|
| 338 | exit 1 |
---|
| 339 | fi |
---|
| 340 | |
---|
| 341 | fi |
---|
| 342 | |
---|
| 343 | done |
---|
| 344 | |
---|
[4148] | 345 | fi |
---|
| 346 | |
---|
| 347 | #- At this stage cpp keys have been updated. we can check the arch file |
---|
| 348 | #- When used for the first time, choose a compiler --- |
---|
[8526] | 349 | . ${COMPIL_DIR}/Fcheck_archfile.sh arch_nemo.fcm cpp.fcm ${CMP_NAM} || exit 3 |
---|
[4148] | 350 | |
---|
[2248] | 351 | #- At this stage the configuration has beeen chosen |
---|
[2731] | 352 | #- We coose the default light file |
---|
[3695] | 353 | export USEBLD=bldxag.cfg |
---|
[2731] | 354 | |
---|
[2248] | 355 | #- We look after agrif |
---|
[2731] | 356 | grep key_agrif ${COMPIL_DIR}/cpp.fcm && export AGRIFUSE=1 && export USEBLD=${USEBLD/xag/} |
---|
[8526] | 357 | . ${COMPIL_DIR}/Fprep_agrif.sh ${NEW_CONF} ${NEMO_TDIR} || exit 3 |
---|
[2248] | 358 | |
---|
| 359 | #- |
---|
| 360 | #_ END OF CONFIGURATION PHASE |
---|
| 361 | #_ |
---|
| 362 | |
---|
| 363 | #- |
---|
| 364 | #- Compile --- |
---|
| 365 | |
---|
[2359] | 366 | if [ "${NBR_PRC}" -gt 0 ]; then |
---|
[9651] | 367 | cd ${NEMO_TDIR}/${NEW_CONF} || cd - |
---|
[2437] | 368 | |
---|
[9651] | 369 | ## if AGRIF we do a first preprocessing |
---|
[11723] | 370 | if [[ ${#x_c} -eq 0 && "$AGRIFUSE" -eq 1 ]]; then |
---|
[9651] | 371 | fcm build --ignore-lock -j 1 ${COMPIL_DIR}/bld_preproagr.cfg ||{ cd - ; exit 1 ;} |
---|
| 372 | echo '' |
---|
| 373 | echo "---------------------------------" |
---|
| 374 | echo "CONV preprocessing successfull !!" |
---|
| 375 | echo "---------------------------------" |
---|
| 376 | echo '' |
---|
| 377 | fi |
---|
[2437] | 378 | |
---|
[9651] | 379 | fcm build ${x_c} --ignore-lock -v ${x_v} -j ${NBR_PRC} ${COMPIL_DIR}/$USEBLD ||{ cd - ; exit 1 ;} |
---|
[2437] | 380 | |
---|
[9651] | 381 | if [ -f ${NEMO_TDIR}/${NEW_CONF}/BLD/bin/nemo.exe ]; then |
---|
| 382 | ln -sf ${NEMO_TDIR}/${NEW_CONF}/BLD/bin/nemo.exe ${CONFIG_DIR}/${NEW_CONF}/EXP00/nemo |
---|
| 383 | fi |
---|
| 384 | |
---|
| 385 | ## add remove for clean option |
---|
| 386 | if [ ${#x_c} -ne 0 ]; then |
---|
| 387 | |
---|
[10587] | 388 | echo 'Cleaning in '${NEW_CONF}' the building folders' |
---|
| 389 | |
---|
| 390 | for dir in AGRIFLIB BLD EXP00 LONG NEMOFILES REPRO_* SHORT WORK; do |
---|
| 391 | rm -rf ${NEMO_TDIR}/${NEW_CONF}/$dir |
---|
| 392 | done |
---|
| 393 | |
---|
| 394 | for file in cpp.history cpp.fcm full_key_list.txt; do |
---|
| 395 | rm -f ${COMPIL_DIR}/$file |
---|
| 396 | done |
---|
| 397 | |
---|
| 398 | fi |
---|
| 399 | |
---|
[2248] | 400 | fi |
---|
| 401 | |
---|
| 402 | #- Come back to original directory --- |
---|
| 403 | cd - |
---|
| 404 | |
---|
| 405 | #- |
---|
| 406 | #- Unset variables |
---|
| 407 | ${COMPIL_DIR}/Fclean_var.sh |
---|