--- MITgcm/tools/genmake2 2010/12/26 01:04:45 1.218 +++ MITgcm/tools/genmake2 2011/08/03 18:14:08 1.222 @@ -1,6 +1,6 @@ #! /usr/bin/env bash # -# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/tools/genmake2,v 1.218 2010/12/26 01:04:45 jmc Exp $ +# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/tools/genmake2,v 1.222 2011/08/03 18:14:08 jmc Exp $ # $Name: $ # # Makefile generator for MITgcm UV codes @@ -96,11 +96,6 @@ will search for a working compiler by trying a list of "usual suspects" such as gcc, c89, cc, etc. - -[no]ieee | --[no]ieee - Do or don't use IEEE numerics. Note that this option - *only* works if it is supported by the OPTFILE that - is being used. - -use_real4 | -use_r4 | -ur4 | --use_real4 | --use_r4 | --ur4 Use "real*4" type for _RS variable (#undef REAL4_IS_SLOW) *only* works if CPP_EEOPTIONS.h allows this. @@ -126,10 +121,14 @@ -hpmt | --hpmt Performance analysis with the HPM Toolkit - -gsl | --gsl - Use GSL to control floating point rounding and precision + -ieee | --ieee + use IEEE numerics. Note that this option *only* works + if it is supported by the OPTFILE that is being used. -devel | --devel Add additional warning and debugging flags for development + (if supported by the OPTFILE); also switch to IEEE numerics. + -gsl | --gsl + Use GSL to control floating point rounding and precision -mpi | --mpi Include MPI header files and link to MPI libraries @@ -359,6 +358,11 @@ MAKEDEPEND= fi else + echo "${MAKEDEPEND}" | grep 'tools.xmakedepend' > /dev/null 2>&1 + RETVAL=$? + if test "x$RETVAL" = x0 ; then + MAKEDEPEND='$(TOOLSDIR)/xmakedepend' + fi echo " --> MAKEDEPEND=${MAKEDEPEND}" >> $LOGFILE fi fi @@ -1124,7 +1128,6 @@ EXECUTABLE= EXEHOOK= EXEDIR= -PACKAGES_CONF= IEEE= if test "x$MITGCM_IEEE" != x ; then IEEE=$MITGCM_IEEE @@ -1146,22 +1149,23 @@ TAMC_EXTRA= # The following state can be set directly by command-line switches -gm_s1="OPTFILE PKG_DEPEND PKG_GROUPS MAKEFILE MAKEDEPEND PLATFORM ROOTDIR MODS DISABLE ENABLE" -gm_s2="FC CC IEEE USE_R4 TS PAPIS PCLS PAPI PCL HPMT GSL DEVEL MPI OMP DUMPSTATE STANDARDDIRS" +gm_s1="OPTFILE PKG_DEPEND PKG_GROUPS DISABLE ENABLE MAKEFILE MAKEDEPEND PLATFORM" +gm_s2="FC CC MPI OMP USE_R4 TS PAPIS PCLS PAPI PCL HPMT IEEE DEVEL GSL FEXTRAFLAGS" +gm_s3="ROOTDIR STANDARDDIRS MODS DUMPSTATE" # The following state is not directly set by command-line switches -gm_s3="LN S64 LINK MAKE PACKAGES INCLUDES FFLAGS FOPTIM FEXTRAFLAGS" -gm_s4="CFLAGS LIBS KPP KFLAGS1 KFLAGS2 KPPFILES NOOPTFILES NOOPTFLAGS" -gm_s5="TOOLSDIR SOURCEDIRS INCLUDEDIRS PWD THISHOST THISUSER THISDATE THISVER MACHINE" -gm_s6="EXECUTABLE EXEHOOK EXEDIR PACKAGES_CONF" -gm_s7="FC_NAMEMANGLE HAVE_NETCDF HAVE_SYSTEM HAVE_FDATE HAVE_ETIME" +gm_s4="LN S64 LINK MAKE PACKAGES INCLUDES FFLAGS FOPTIM" +gm_s5="CFLAGS LIBS KPP KFLAGS1 KFLAGS2 KPPFILES NOOPTFILES NOOPTFLAGS" +gm_s6="TOOLSDIR SOURCEDIRS INCLUDEDIRS EXEDIR EXECUTABLE EXEHOOK" +gm_s7="PWD THISHOST THISUSER THISDATE THISVER MACHINE" +gm_s8="FC_NAMEMANGLE HAVE_NETCDF HAVE_SYSTEM HAVE_FDATE HAVE_ETIME" # The following are all related to adjoint/tangent-linear stuff gm_s10="AUTODIFF_PKG_USED AD_OPTFILE TAMC TAF AD_TAMC_FLAGS AD_TAF_FLAGS" gm_s11="FTL_TAMC_FLAGS FTL_TAF_FLAGS SVD_TAMC_FLAGS SVD_TAF_FLAGS" gm_s12="TAF_EXTRA TAMC_EXTRA" -gm_state="COMMANDL $gm_s1 $gm_s2 $gm_s3 $gm_s4 $gm_s5 $gm_s6 $gm_s7" +gm_state="COMMANDL $gm_s1 $gm_s2 $gm_s3 $gm_s4 $gm_s5 $gm_s6 $gm_s7 $gm_s8" gm_state="$gm_state $gm_s10 $gm_s11 $gm_s12" cat <> genmake_state + echo "$i='$t2'" | sed -e 's/ */ /g' >> genmake_state done fi