#!/bin/bash export ROOT=$PWD export PATH=$ROOT/tools/FCM_V1.2/bin:${PATH} compil_mode="prod" job=1 full_defined="FALSE" arch_defined="FALSE" arch_path="arch" arch_default_path="arch" arch_path_defined="FALSE" CPP_KEY="CPP_NONE" while (($# > 0)) ; do case $1 in "-h") cat < .void_file rm -rf .void_dir mkdir .void_dir if [[ "$arch_defined" == "TRUE" ]] ; then rm -f arch.path rm -f arch.fcm rm -f arch.env if [ -f $arch_path/arch-${arch}.path ] ; then ln -s $arch_path/arch-${arch}.path arch.path elif [ -f $arch_default_path/arch-${arch}.path ] ; then ln -s $arch_default_path/arch-${arch}.path arch.path else echo No arch.path is found. Exit now. exit 1 fi if [ -f $arch_path/arch-${arch}.fcm ] ; then ln -s $arch_path/arch-${arch}.fcm arch.fcm elif [ -f $arch_default_path/arch-${arch}.fcm ] ; then ln -s $arch_default_path/arch-${arch}.fcm arch.fcm fi if [ -f $arch_path/arch-${arch}.env ] ; then ln -s $arch_path/arch-${arch}.env arch.env elif [ -f $arch_default_path/arch-${arch}.env ] ; then ln -s $arch_default_path/arch-${arch}.env arch.env else ln -s .void_file arch.env fi source arch.env source arch.path else echo "You must define the architecture files using makeioipsl_fcm -arch XXX" echo "Show help using: ./makeioipsl_fcm -h" exit 1 fi LD_FLAGS="%BASE_LD" if [[ "$compil_mode" == "prod" ]] ; then COMPIL_FFLAGS="%PROD_FFLAGS" elif [[ "$compil_mode" == "dev" ]] ; then COMPIL_FFLAGS="%DEV_FFLAGS" elif [[ "$compil_mode" == "debug" ]] ; then COMPIL_FFLAGS="%DEBUG_FFLAGS" fi IOIPSL_LIB="$NETCDF_LIBDIR $NETCDF_LIB $HDF5_LIBDIR $HDF5_LIB" rm -f config.fcm echo "%COMPIL_FFLAGS $COMPIL_FFLAGS $NETCDF_INCDIR" >> config.fcm echo "%LD_FLAGS $LD_FLAGS" >> config.fcm echo "%CPP_KEY $CPP_KEY" >> config.fcm echo "%LIB $IOIPSL_LIB">> config.fcm if [[ "$full_defined" == "TRUE" ]] ; then ./build.sh --job $job --full else ./build.sh --job $job fi err=$? # Check error message from fcm build if [ $err != 0 ] ; then # Error found echo makeioipsl_fcm: Error in compiling IOIPSL : $err exit 1 fi ## Link folders created during compilation to the base directory rm -rf bin lib inc ln -s build/lib lib ln -s build/inc inc mkdir bin ; ln -s ../build/bin/rebuild bin/rebuild ; ln -s ../build/bin/flio_rbld.exe bin/flio_rbld