--- MITgcm/tools/genmake2 2004/07/17 02:52:14 1.86 +++ MITgcm/tools/genmake2 2004/07/21 16:34:46 1.89 @@ -1,6 +1,6 @@ #! /usr/bin/env bash # -# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/tools/genmake2,v 1.86 2004/07/17 02:52:14 edhill Exp $ +# $Header: /home/ubuntu/mnt/e9_copy/MITgcm/tools/genmake2,v 1.89 2004/07/21 16:34:46 edhill Exp $ # # Makefile generator for MITgcm UV codes # created by cnh 03/98 @@ -122,7 +122,7 @@ stop end EOF - test -e Makefile && mv -f Makefile Makefile.bak + test -f Makefile && mv -f Makefile Makefile.bak cat <> Makefile %.$tfs : %.F .SUFFIXES: @@ -131,7 +131,7 @@ EOF $MAKE "genmake_hello."$tfs > /dev/null 2>&1 RETVAL=$? - if test "x$RETVAL" != x0 -o ! -e "genmake_hello."$tfs ; then + if test "x$RETVAL" != x0 -o ! -f "genmake_hello."$tfs ; then if test "x$FS" = x ; then FS='for' FS90='fr9' @@ -149,7 +149,7 @@ fi fi rm -f genmake_hello.* Makefile - test -e Makefile && mv -f Makefile.bak Makefile + test -f Makefile && mv -f Makefile.bak Makefile # If we make it here, use the extensions FS=$tfs @@ -483,6 +483,12 @@ # Build a CPP macro to automate calling C routines from FORTRAN get_fortran_c_namemangling() { + + #echo "FC_NAMEMANGLE = \"$FC_NAMEMANGLE\"" + if test ! "x$FC_NAMEMANGLE" = x ; then + return 0 + fi + default_nm="#define FC_NAMEMANGLE(X) X ## _" cat > genmake_test.c < genmake_tnc.f \ + #echo "$CPP $DEFINES $INCLUDES" + $CPP $DEFINES $INCLUDES genmake_tnc.for > genmake_tnc.f \ && $FC $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.f $LIBS >> genmake_tnc.log 2>&1 RET_COMPILE=$? test -x ./genmake_tnc && ./genmake_tnc >> genmake_tnc.log 2>&1 @@ -628,7 +635,7 @@ HAVE_NETCDF=t else # try again with "-lnetcdf" added to the libs - $CPP genmake_tnc.for > genmake_tnc.f \ + $CPP $DEFINES $INCLUDES genmake_tnc.for > genmake_tnc.f \ && $FC $FFLAGS $FOPTIM -o genmake_tnc genmake_tnc.f \ $LIBS -lnetcdf >> genmake_tnc_2.log 2>&1 RET_COMPILE=$? @@ -771,7 +778,7 @@ fi done printf " getting local config information: " -if test -e $gm_local ; then +if test -f $gm_local ; then echo "using $gm_local" . $gm_local # echo "DISABLE=$DISABLE" @@ -792,7 +799,7 @@ #done #parse_options ac_prev= -for ac_option ; do +for ac_option in $@ ; do G2ARGS="$G2ARGS \"$ac_option\"" @@ -960,7 +967,8 @@ fi if test "x${ROOTDIR}" = x ; then - if test "${PWD##/*/}" = "bin" -a -d ../model -a -d ../eesup -a -d ../pkg ; then + tmp=`echo $PWD | sed -e 's/\// /g' | awk '{print $NR}'` + if test "x$tmp" = "xbin" -a -d ../model -a -d ../eesup -a -d ../pkg ; then ROOTDIR=".." else for d in . .. ../.. ../../.. ../../../.. ../../../../.. ; do @@ -1222,7 +1230,8 @@ fi if test "x${EXEDIR}" = x ; then - if test "${PWD##/*/}" = "bin" -a -d ../exe -a $ROOTDIR = .. ; then + tmp=`echo $PWD | sed -e 's/\// /g' | awk '{print $NR}'` + if test "x$tmp" = "xbin" -a -d ../exe -a $ROOTDIR = .. ; then EXEDIR=../exe else EXEDIR=. @@ -1340,7 +1349,8 @@ PACKAGES="$PACKAGES $i" done echo " before group expansion packages are: $PACKAGES" - while ! expand_pkg_groups; do echo > /dev/null; done + RET=1 + while test $RET = 1 ; do expand_pkg_groups; RET=$?; done echo " after group expansion packages are: $PACKAGES" fi fi @@ -1449,7 +1459,8 @@ echo " the dependency rules for \"$dname\"" exit 1 fi - i=$(( $i + 1 )) + i=`echo "$i + 1" | bc -l` + #i=$(( $i + 1 )) done ck=$ck"t" done @@ -1611,9 +1622,7 @@ echo "=== Creating the Makefile ===" echo " setting INCLUDES" for i in $INCLUDEDIRS ; do - if ! test -d $i ; then -# INCLUDES="$INCLUDES -I$i" -# else + if test ! -d $i ; then echo "Warning: can't find INCLUDEDIRS=\"$i\"" fi done @@ -1688,7 +1697,7 @@ echo "" >> hlist.inc echo "" >> ad_flow_files.inc -if test -e $MAKEFILE ; then +if test -f $MAKEFILE ; then mv -f $MAKEFILE "$MAKEFILE.bak" fi echo " Writing makefile: $MAKEFILE"