/[MITgcm]/MITgcm/tools/genmake2
ViewVC logotype

Diff of /MITgcm/tools/genmake2

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.76 by edhill, Thu Apr 8 21:32:11 2004 UTC revision 1.81 by cnh, Wed Jun 30 00:58:06 2004 UTC
# Line 1  Line 1 
1  #! /usr/bin/env bash  #! /usr/bin/env sh
2  #  #
3  # $Header$  # $Header$
4  #  #
# Line 97  EOF Line 97  EOF
97      RETVAL=$?      RETVAL=$?
98      if test "x$RETVAL" != x0 ; then      if test "x$RETVAL" != x0 ; then
99          if test "x$FS" = x ; then          if test "x$FS" = x ; then
100              FS='fs'              FS='for'
101              FS90='fs90'              FS90='fr9'
102              check_for_broken_Ff              check_for_broken_Ff
103          else          else
104              cat <<EOF 2>&1              cat <<EOF 2>&1
# Line 124  EOF Line 124  EOF
124  EOF  EOF
125      test -e Makefile  &&  mv -f Makefile Makefile.bak      test -e Makefile  &&  mv -f Makefile Makefile.bak
126      cat <<EOF >> Makefile      cat <<EOF >> Makefile
127    %.$tfs : %.F
128  .SUFFIXES:  .SUFFIXES:
129  genmake_hello.$tfs: genmake_hello.F  genmake_hello.$tfs: genmake_hello.F
130          $LN genmake_hello.F genmake_hello.$tfs          $LN genmake_hello.F genmake_hello.$tfs
# Line 132  EOF Line 133  EOF
133      RETVAL=$?      RETVAL=$?
134      if test "x$RETVAL" != x0 -o ! -e "genmake_hello."$tfs ; then      if test "x$RETVAL" != x0 -o ! -e "genmake_hello."$tfs ; then
135          if test "x$FS" = x ; then          if test "x$FS" = x ; then
136              FS='fs'              FS='for'
137              FS90='fs9'              FS90='fr9'
138              check_for_broken_Ff              check_for_broken_Ff
139          else          else
140              cat <<EOF 2>&1              cat <<EOF 2>&1
# Line 167  find_possible_configs()  { Line 168  find_possible_configs()  {
168      tmp2=`echo $tmp1 | sed -e 's/i[3-6]86/ia32/' | sed -e 's/athlon/ia32/'`      tmp2=`echo $tmp1 | sed -e 's/i[3-6]86/ia32/' | sed -e 's/athlon/ia32/'`
169      tmp3=`echo $tmp2 | sed -e 's/cray sv1/craysv1/'`      tmp3=`echo $tmp2 | sed -e 's/cray sv1/craysv1/'`
170      PLATFORM=$tmp3      PLATFORM=$tmp3
171        echo $PLATFORM | grep cygwin > /dev/null 2>&1  &&  PLATFORM=cygwin_ia32
172      OFLIST=`(cd $ROOTDIR/tools/build_options; ls | grep "^$PLATFORM")`      OFLIST=`(cd $ROOTDIR/tools/build_options; ls | grep "^$PLATFORM")`
173      echo "  The platform appears to be:  $PLATFORM"      echo "  The platform appears to be:  $PLATFORM"
174            
# Line 206  find_possible_configs()  { Line 208  find_possible_configs()  {
208      #      #
209      if test "x${MAKEDEPEND}" = x ; then      if test "x${MAKEDEPEND}" = x ; then
210        which makedepend > /dev/null 2>&1        which makedepend > /dev/null 2>&1
211        RETVAL=$?        RV0=$?
212        if test ! "x${RETVAL}" = x0 ; then        cat <<EOF >> genmake_tc.f
213          program test
214          write(*,*) 'test'
215          stop
216          end
217    EOF
218          makedepend genmake_tc.f > /dev/null 2>&1
219          RV1=$?
220          if test ! "x${RV0}${RV1}" = x00 ; then
221           echo "    a system-default makedepend was not found."           echo "    a system-default makedepend was not found."
222    
223           #  Try to build the cyrus impl           #  Try to build the cyrus impl
# Line 215  find_possible_configs()  { Line 225  find_possible_configs()  {
225           (           (
226               cd $ROOTDIR/tools/cyrus-imapd-makedepend  \               cd $ROOTDIR/tools/cyrus-imapd-makedepend  \
227                   &&  ./configure > /dev/null 2>&1  \                   &&  ./configure > /dev/null 2>&1  \
228                   &&  make > /dev/null 2>&1  \                   &&  make > /dev/null 2>&1
229                   &&  ./makedepend ifparser.c > /dev/null 2>&1  \               if test -x ./makedepend.exe ; then
230                     $LN ./makedepend.exe ./makedepend
231                 fi
232                 ./makedepend ifparser.c > /dev/null 2>&1  \
233                   &&  echo "true"                   &&  echo "true"
234           ) > ./genmake_cy_md           ) > ./genmake_cy_md
235           grep true ./genmake_cy_md > /dev/null 2>&1           grep true ./genmake_cy_md > /dev/null 2>&1
# Line 358  Usage: "$0" [OPTIONS] Line 371  Usage: "$0" [OPTIONS]
371      -help | --help | -h | --h      -help | --help | -h | --h
372            Print this help message and exit.            Print this help message and exit.
373    
374        -adoptfile NAME | --adoptfile NAME | -adof NAME | --adof NAME
375          -adoptfile=NAME | --adoptfile=NAME | -adof=NAME | --adof=NAME
376              Use "NAME" as the adoptfile.  By default, the file at
377              "tools/adjoint_options/adjoint_default" will be used.
378    
379      -nooptfile | --nooptfile      -nooptfile | --nooptfile
380        -optfile NAME | --optfile NAME | -of NAME | --of NAME        -optfile NAME | --optfile NAME | -of NAME | --of NAME
381        -optfile=NAME | --optfile=NAME | -of=NAME | --of=NAME        -optfile=NAME | --optfile=NAME | -of=NAME | --of=NAME
# Line 664  HAVE_FDATE= Line 682  HAVE_FDATE=
682  FC_NAMEMANGLE=  FC_NAMEMANGLE=
683  HAVE_CLOC=  HAVE_CLOC=
684  HAVE_NETCDF=  HAVE_NETCDF=
685    HAVE_ETIME=
686    
687  MODS=  MODS=
688  TOOLSDIR=  TOOLSDIR=
# Line 714  gm_s3="LN S64 KPP LINK PACKAGES MAKEDEPE Line 733  gm_s3="LN S64 KPP LINK PACKAGES MAKEDEPE
733  gm_s4="CFLAGS KFLAGS1 KFLAGS2 LIBS KPPFILES NOOPTFILES NOOPTFLAGS"  gm_s4="CFLAGS KFLAGS1 KFLAGS2 LIBS KPPFILES NOOPTFILES NOOPTFLAGS"
734  gm_s5="TOOLSDIR SOURCEDIRS INCLUDEDIRS PWD MAKE THISHOSTNAME THISDATE MACHINE"  gm_s5="TOOLSDIR SOURCEDIRS INCLUDEDIRS PWD MAKE THISHOSTNAME THISDATE MACHINE"
735  gm_s6="EXECUTABLE EXEHOOK EXEDIR PACKAGES_CONF"  gm_s6="EXECUTABLE EXEHOOK EXEDIR PACKAGES_CONF"
736  gm_s7="HAVE_SYSTEM HAVE_FDATE FC_NAMEMANGLE"  gm_s7="HAVE_SYSTEM HAVE_FDATE FC_NAMEMANGLE HAVE_ETIME"
737    
738  #  The following are all related to adjoint/tangent-linear stuff  #  The following are all related to adjoint/tangent-linear stuff
739  gm_s10="AUTODIFF_PKG_USED AD_OPTFILE TAMC TAF AD_TAMC_FLAGS AD_TAF_FLAGS"  gm_s10="AUTODIFF_PKG_USED AD_OPTFILE TAMC TAF AD_TAMC_FLAGS AD_TAF_FLAGS"
# Line 987  if test "x$OPTFILE" != xNONE ; then Line 1006  if test "x$OPTFILE" != xNONE ; then
1006  fi  fi
1007    
1008  #  Check for broken systems that cannot correctly distinguish *.F and *.f files  #  Check for broken systems that cannot correctly distinguish *.F and *.f files
1009  check_for_broken_Ff  # check_for_broken_Ff
1010    
1011  echo "  getting AD_OPTFILE information:  "  echo "  getting AD_OPTFILE information:  "
1012  if test "x${AD_OPTFILE}" = x ; then  if test "x${AD_OPTFILE}" = x ; then
# Line 1086  EOF Line 1105  EOF
1105  fi  fi
1106  rm -f genmake_test_ln genmake_tlink  rm -f genmake_test_ln genmake_tlink
1107    
1108    #  Check for broken *.F/*.f handling and fix if possible
1109    check_for_broken_Ff
1110    
1111  if test ! "x$MPI" = x ; then  if test ! "x$MPI" = x ; then
1112        echo "  Turning on MPI cpp macros"        echo "  Turning on MPI cpp macros"
1113        DEFINES="$DEFINES -DALLOW_USE_MPI -DALWAYS_USE_MPI"        DEFINES="$DEFINES -DALLOW_USE_MPI -DALWAYS_USE_MPI"
# Line 1131  else Line 1153  else
1153  fi  fi
1154  rm -f genmake_tcomp*  rm -f genmake_tcomp*
1155    
1156    printf "  Do we have the etime() command using $FC...  "
1157    cat > genmake_tcomp.f <<EOF
1158          program hello
1159          REAL*4 TARRAY(2)
1160          call etime( tarray )
1161          print *, tarray
1162          end
1163    EOF
1164    $FC $FFLAGS $DEFINES -o genmake_tcomp genmake_tcomp.f > genmake_tcomp.log 2>&1
1165    RETVAL=$?
1166    if test "x$RETVAL" = x0 ; then
1167        HAVE_ETIME=t
1168        DEFINES="$DEFINES -DHAVE_ETIME"
1169        echo "yes"
1170    else
1171        HAVE_ETIME=
1172        echo "no"
1173    fi
1174    rm -f genmake_tcomp*
1175    
1176  printf "  Can we call simple C routines (here, \"cloc()\") using $FC...  "  printf "  Can we call simple C routines (here, \"cloc()\") using $FC...  "
1177  check_HAVE_CLOC  check_HAVE_CLOC
1178  if test "x$HAVE_CLOC" != x ; then  if test "x$HAVE_CLOC" != x ; then
# Line 1789  CLEAN: Line 1831  CLEAN:
1831          -find \$(EXEDIR) -name "*.meta" -exec rm {} \;          -find \$(EXEDIR) -name "*.meta" -exec rm {} \;
1832          -find \$(EXEDIR) -name "*.data" -exec rm {} \;          -find \$(EXEDIR) -name "*.data" -exec rm {} \;
1833          -find \$(EXEDIR) -name "fort.*" -exec rm {} \;          -find \$(EXEDIR) -name "fort.*" -exec rm {} \;
1834          -rm -f \$(EXECUTABLE) output.txt          -rm -f \$(EXECUTABLE) output.txt STD*
1835    
1836  #eh3 Makefile: makefile  #eh3 Makefile: makefile
1837  makefile:  makefile:

Legend:
Removed from v.1.76  
changed lines
  Added in v.1.81

  ViewVC Help
Powered by ViewVC 1.1.22