--- MITgcm/tools/genmake2 2004/09/04 18:19:20 1.97 +++ MITgcm/tools/genmake2 2004/09/30 16:46:45 1.100 @@ -1,6 +1,6 @@ #! /usr/bin/env bash # -# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/tools/genmake2,v 1.97 2004/09/04 18:19:20 edhill Exp $ +# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/tools/genmake2,v 1.100 2004/09/30 16:46:45 edhill Exp $ # # Makefile generator for MITgcm UV codes # created by cnh 03/98 @@ -693,22 +693,26 @@ #echo "$FC $FFLAGS $FOPTIM -c genmake_tnc.f" #echo "$LINK -o genmake_tnc.o $LIBS" $CPP $DEFINES $INCLUDES genmake_tnc.for > genmake_tnc.f 2>/dev/null \ - && $FC $FFLAGS $FOPTIM -c genmake_tnc.f \ + && $FC $FFLAGS $FOPTIM -c genmake_tnc.f >> genmake_tnc.log 2>&1 \ && $LINK -o genmake_tnc genmake_tnc.o $LIBS >> genmake_tnc.log 2>&1 RET_COMPILE=$? - test -x ./genmake_tnc && ./genmake_tnc >> genmake_tnc.log 2>&1 - RETVAL=$? - if test "x$RET_COMPILE" = x0 -a "x$RETVAL" = x0 ; then + + #EH3 Remove test program execution for machines that either disallow + #EH3 execution or cannot support it (eg. cross-compilers) + #EH3 + #EH3 test -x ./genmake_tnc && ./genmake_tnc >> genmake_tnc.log 2>&1 + #EH3 RETVAL=$? + #EH3 if test "x$RET_COMPILE" = x0 -a "x$RETVAL" = x0 ; then + + if test "x$RET_COMPILE" = x0 ; then HAVE_NETCDF=t else # try again with "-lnetcdf" added to the libs $CPP $DEFINES $INCLUDES genmake_tnc.for > genmake_tnc.f 2>/dev/null \ - && $FC $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.f \ - $LIBS -lnetcdf >> genmake_tnc_2.log 2>&1 + && $FC $FFLAGS $FOPTIM -c genmake_tnc.f >> genmake_tnc.log 2>&1 \ + && $LINK -o genmake_tnc genmake_tnc.o $LIBS -lnetcdf >> genmake_tnc.log 2>&1 RET_COMPILE=$? - test -x ./genmake_tnc && ./genmake_tnc >> genmake_tnc.log 2>&1 - RETVAL=$? - if test "x$RET_COMPILE" = x0 -a "x$RETVAL" = x0 ; then + if test "x$RET_COMPILE" = x0 ; then LIBS="$LIBS -lnetcdf" HAVE_NETCDF=t else @@ -1486,6 +1490,41 @@ rm -f ./.tmp_pack echo " packages are: $PACKAGES" +# Check availability of NetCDF and then either build the MNC template +# files or delete mnc from the list of available packages. +echo $PACKAGES | grep ' mnc ' > /dev/null 2>&1 +RETVAL=$? +if test "x$RETVAL" = x0 ; then + if test "x$HAVE_NETCDF" != xt ; then + cat < make_mnc.errors 2>&1 + RETVAL=$? + if test "x${RETVAL}" = x0 ; then + rm -f make_mnc.errors + else + echo "Error: problem encountered while building source files in pkg/mnc:" + cat make_mnc.errors 1>&2 + exit 1 + fi + fi +fi + echo " applying package dependency rules" ck= while test "x$ck" != xtt ; do @@ -1570,33 +1609,6 @@ fi done -# Build MNC templates and check for ability to build and use NetCDF -echo $PACKAGES | grep ' mnc ' > /dev/null 2>&1 -RETVAL=$? -if test "x$RETVAL" = x0 ; then - ( cd $ROOTDIR"/pkg/mnc" && $MAKE templates ) > make_mnc.errors 2>&1 - RETVAL=$? - if test "x${RETVAL}" = x0 ; then - rm -f make_mnc.errors - else - echo "Error: problem encountered while building source files in pkg/mnc:" - cat make_mnc.errors 1>&2 - exit 1 - fi - if test "x$HAVE_NETCDF" != xt ; then - cat <