/[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.163 by mlosch, Fri May 25 14:56:36 2007 UTC revision 1.173 by jmc, Sun Jul 20 18:01:05 2008 UTC
# Line 746  void FC_NAMEMANGLE(cloc) ( double *curti Line 746  void FC_NAMEMANGLE(cloc) ( double *curti
746   *curtim = *curtim/1.E6;   *curtim = *curtim/1.E6;
747  }  }
748  EOF  EOF
749      make genmake_tc_1.o >> genmake_warnings 2>&1      COMM="$CC $CFLAGS -c genmake_tc_1.c"
750        echo $COMM >> genmake_warnings
751        $COMM >> genmake_warnings 2>&1
752      RET_C=$?      RET_C=$?
753      cat <<EOF > genmake_tc_2.$FS      cat <<EOF > genmake_tc_2.$FS
754        program hello        program hello
# Line 805  void FC_NAMEMANGLE(sigreg) (int * aip) Line 807  void FC_NAMEMANGLE(sigreg) (int * aip)
807      return;      return;
808  }  }
809  EOF  EOF
810      make genmake_tc_1.o >> genmake_warnings 2>&1      COMM="$CC $CFLAGS -c genmake_tc_1.c"
811        echo $COMM >> genmake_warnings
812        $COMM >> genmake_warnings 2>&1
813      RET_C=$?      RET_C=$?
814      cat <<EOF > genmake_tc_2.$FS      cat <<EOF > genmake_tc_2.$FS
815        program hello        program hello
# Line 853  void FC_NAMEMANGLE(setrlstk) () Line 857  void FC_NAMEMANGLE(setrlstk) ()
857      return;      return;
858  }  }
859  EOF  EOF
860      make genmake_tc_1.o >> genmake_warnings 2>&1      COMM="$CC $CFLAGS -c genmake_tc_1.c"
861        echo $COMM >> genmake_warnings
862        $COMM >> genmake_warnings 2>&1
863      RET_C=$?      RET_C=$?
864      cat <<EOF > genmake_tc_2.$FS      cat <<EOF > genmake_tc_2.$FS
865        program hello        program hello
# Line 897  void FC_NAMEMANGLE(tfsize) ( int *nbyte Line 903  void FC_NAMEMANGLE(tfsize) ( int *nbyte
903          *nbyte = -1;          *nbyte = -1;
904  }  }
905  EOF  EOF
906      make genmake_tc_1.o >> genmake_tc.log 2>&1      COMM="$CC $CFLAGS -c genmake_tc_1.c"
907        echo $COMM >> genmake_warnings
908        $COMM >> genmake_tc.log 2>&1
909      RET_C=$?      RET_C=$?
910      cat <<EOF > genmake_tc_2.$FS      cat <<EOF > genmake_tc_2.$FS
911        program hello        program hello
# Line 1037  OPTFILE= Line 1045  OPTFILE=
1045  INCLUDES="-I. $INCLUDES"  INCLUDES="-I. $INCLUDES"
1046  FFLAGS=  FFLAGS=
1047  FOPTIM=  FOPTIM=
1048    FEXTRAFLAGS=
1049  CFLAGS=  CFLAGS=
1050  KFLAGS1=  KFLAGS1=
1051  KFLAGS2=  KFLAGS2=
# Line 1117  gm_s1="OPTFILE PDEPEND PDEFAULT MAKEFILE Line 1126  gm_s1="OPTFILE PDEPEND PDEFAULT MAKEFILE
1126  gm_s2="FC CPP IEEE TS PAPIS PCLS PAPI PCL HPMT GSL DEVEL MPI JAM DUMPSTATE STANDARDDIRS"  gm_s2="FC CPP IEEE TS PAPIS PCLS PAPI PCL HPMT GSL DEVEL MPI JAM DUMPSTATE STANDARDDIRS"
1127    
1128  #  The following state is not directly set by command-line switches  #  The following state is not directly set by command-line switches
1129  gm_s3="LN S64 KPP LINK PACKAGES MAKEDEPEND PDEPEND PDEFAULT INCLUDES FFLAGS FOPTIM "  gm_s3="LN S64 KPP LINK PACKAGES MAKEDEPEND PDEPEND PDEFAULT INCLUDES FFLAGS FOPTIM FEXTRAFLAGS"
1130  gm_s4="CFLAGS KFLAGS1 KFLAGS2 LIBS KPPFILES NOOPTFILES NOOPTFLAGS"  gm_s4="CFLAGS KFLAGS1 KFLAGS2 LIBS KPPFILES NOOPTFILES NOOPTFLAGS"
1131  gm_s5="TOOLSDIR SOURCEDIRS INCLUDEDIRS PWD MAKE THISHOST THISUSER THISDATE THISVER MACHINE"  gm_s5="TOOLSDIR SOURCEDIRS INCLUDEDIRS PWD MAKE THISHOST THISUSER THISDATE THISVER MACHINE"
1132  gm_s6="EXECUTABLE EXEHOOK EXEDIR PACKAGES_CONF"  gm_s6="EXECUTABLE EXEHOOK EXEDIR PACKAGES_CONF"
# Line 1144  EOF Line 1153  EOF
1153    
1154  echo "===  Processing options files and arguments  ==="  echo "===  Processing options files and arguments  ==="
1155  gm_local="genmake_local"  gm_local="genmake_local"
 for i in . $MODS ; do  
     if test -r $i/$gm_local ; then  
         . $i/$gm_local  
         break  
     fi  
 done  
1156  printf "  getting local config information:  "  printf "  getting local config information:  "
1157  if test -f $gm_local ; then  if test -f $gm_local ; then
1158      echo "using $gm_local"      echo "using $gm_local"
# Line 1564  if test ! "x$TS" = x ; then Line 1567  if test ! "x$TS" = x ; then
1567        else        else
1568              DEFINES="$DEFINES -DTIME_PER_TIMESTEP"              DEFINES="$DEFINES -DTIME_PER_TIMESTEP"
1569        fi        fi
1570          PACKAGES="$PACKAGES showflops"
1571  fi  fi
1572  if test ! "x$PAPIS" = x ; then  if test ! "x$PAPIS" = x ; then
1573        echo "  Turning on PAPI flop summary per timestep"        echo "  Turning on PAPI flop summary per timestep"
# Line 1575  if test ! "x$PAPIS" = x ; then Line 1579  if test ! "x$PAPIS" = x ; then
1579        fi        fi
1580        INCLUDES="$INCLUDES $PAPIINC"        INCLUDES="$INCLUDES $PAPIINC"
1581        LIBS="$LIBS $PAPILIB"        LIBS="$LIBS $PAPILIB"
1582          PACKAGES="$PACKAGES showflops"
1583  fi  fi
1584  if test ! "x$PCLS" = x ; then  if test ! "x$PCLS" = x ; then
1585        echo "  Turning on PCL counter summary per timestep"        echo "  Turning on PCL counter summary per timestep"
# Line 1586  if test ! "x$PCLS" = x ; then Line 1591  if test ! "x$PCLS" = x ; then
1591        fi        fi
1592        INCLUDES="$INCLUDES $PCLINC"        INCLUDES="$INCLUDES $PCLINC"
1593        LIBS="$LIBS $PCLLIB"        LIBS="$LIBS $PCLLIB"
1594          PACKAGES="$PACKAGES showflops"
1595  fi  fi
1596  if test ! "x$PAPI" = x ; then  if test ! "x$PAPI" = x ; then
1597        if test ! "x$PAPIS" = x ; then        if test ! "x$PAPIS" = x ; then
# Line 2355  for d in $alldirs ; do Line 2361  for d in $alldirs ; do
2361          echo "" >> srclinks.tmp          echo "" >> srclinks.tmp
2362          echo "#  These files are linked from $d" >> srclinks.tmp          echo "#  These files are linked from $d" >> srclinks.tmp
2363          echo "$deplist :" >> srclinks.tmp          echo "$deplist :" >> srclinks.tmp
2364          printf "\t\$(LN) %s/\$@ \$@\n" $d >> srclinks.tmp  # We need to make sure that the link isn't already there.
2365    # This may happen when make thinks that a header file has to be "remade"
2366    # because a module it depends on has changed.  In this case we do nothing.
2367            printf "\tif [ ! -L \$@ ]; then \$(LN) %s/\$@ \$@; fi\n" $d >> srclinks.tmp
2368      fi      fi
2369  done  done
2370  rm -rf .links.tmp  rm -rf .links.tmp
# Line 2458  INCLUDES = ${INCLUDES} Line 2467  INCLUDES = ${INCLUDES}
2467  KFLAGS1 = ${KFLAGS1}  KFLAGS1 = ${KFLAGS1}
2468  KFLAGS2 = ${KFLAGS2}  KFLAGS2 = ${KFLAGS2}
2469  # Optim./debug for FC  # Optim./debug for FC
2470  FFLAGS = ${FFLAGS}  FFLAGS = ${FFLAGS} ${FEXTRAFLAGS}
2471  FOPTIM = ${FOPTIM}  FOPTIM = ${FOPTIM}
2472  # Optim./debug for FC  # Optim./debug for FC
2473  F90FLAGS = ${F90FLAGS}  F90FLAGS = ${F90FLAGS}
# Line 2484  echo >> $MAKEFILE Line 2493  echo >> $MAKEFILE
2493  echo 'F77FILES =  $(SRCFILES:.F=.'$FS')'      >> $MAKEFILE  echo 'F77FILES =  $(SRCFILES:.F=.'$FS')'      >> $MAKEFILE
2494  echo 'F90FILES =  $(F90SRCFILES:.F90=.'$FS90')' >> $MAKEFILE  echo 'F90FILES =  $(F90SRCFILES:.F90=.'$FS90')' >> $MAKEFILE
2495  echo 'OBJFILES =  $(SRCFILES:.F=.o) $(CSRCFILES:.c=.o) $(F90SRCFILES:.F90=.o)' >> $MAKEFILE  echo 'OBJFILES =  $(SRCFILES:.F=.o) $(CSRCFILES:.c=.o) $(F90SRCFILES:.F90=.o)' >> $MAKEFILE
2496    echo 'FLOFILES =  $(AD_FLOW_FILES:.flow=.flowdir)' >> $MAKEFILE
2497  echo >> $MAKEFILE  echo >> $MAKEFILE
2498  echo '.SUFFIXES:' >> $MAKEFILE  echo '.SUFFIXES:' >> $MAKEFILE
2499  echo '.SUFFIXES: .o .'$FS' .p .F .c .'$FS90' .F90' >> $MAKEFILE  echo '.SUFFIXES: .o .'$FS' .p .F .c .'$FS90' .F90 .flowdir .flow' >> $MAKEFILE
2500  rm -f srclist.inc csrclist.inc hlist.inc flist.tmp clist.tmp f90srclist.inc  rm -f srclist.inc csrclist.inc hlist.inc flist.tmp clist.tmp f90srclist.inc
2501  rm -f ad_flow_files.inc  rm -f ad_flow_files.inc
2502    
# Line 2519  output.txt: \$(EXECUTABLE) Line 2529  output.txt: \$(EXECUTABLE)
2529  clean:  clean:
2530          -rm -rf *.p *.$FS90 *.mod ${RMFILES} work.{pc,pcl} *.template          -rm -rf *.p *.$FS90 *.mod ${RMFILES} work.{pc,pcl} *.template
2531          -rm -rf *.o          -rm -rf *.o
2532          -rm -rf *.$FS          -rm -rf *.$FS *.flowdir
2533  Clean:  Clean:
2534          @make clean          @make clean
2535          @make cleanlinks          @make cleanlinks
2536          -rm -f \$(SPECIAL_FILES)          -rm -f \$(SPECIAL_FILES)
2537          -rm -f genmake_state genmake_*optfile genmake_warnings make.log run.log *.bak          -rm -f genmake_state genmake_*optfile genmake_warnings make.log run.log f90mkdepend.log *.bak
2538            -rm -f taf_command taf_output taf_ad.log taf_ad_flow.log
2539  CLEAN:  CLEAN:
2540          @make Clean          @make Clean
2541          -find \$(EXEDIR) -name "*.meta" -exec rm {} \;          -find \$(EXEDIR) -name "*.meta" -exec rm {} \;
2542          -find \$(EXEDIR) -name "*.data" -exec rm {} \;          -find \$(EXEDIR) -name "*.data" -exec rm {} \;
2543          -find \$(EXEDIR) -name "fort.*" -exec rm {} \;          -find \$(EXEDIR) -name "fort.*" -exec rm {} \;
2544          -rm -f \$(EXECUTABLE) \$(EXE_AD) *.txt STD* *diagnostics.log datetime          -rm -f \$(EXECUTABLE) \$(EXE_AD) *.txt STD* *diagnostics.log datetime
2545            -rm -f *_MIT_CE_000.opt0000 costfunction*0000
2546          -rm -rf mnc_test_*          -rm -rf mnc_test_*
2547    
2548  #eh3 Makefile: makefile  #eh3 Makefile: makefile
# Line 2589  cat >>$MAKEFILE <<EOF Line 2601  cat >>$MAKEFILE <<EOF
2601          \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@          \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@
2602  .$FS.o:  .$FS.o:
2603          \$(FC) \$(FFLAGS) \$(FOPTIM) -c \$<          \$(FC) \$(FFLAGS) \$(FOPTIM) -c \$<
2604    .F.o:
2605            \$(FC) \$(FFLAGS) \$(FOPTIM) -c \$<
2606  .F90.o:    .F90.o:  
2607          \$(F90C) \$(F90FLAGS) \$(F90OPTIM) -c \$<          \$(F90C) \$(F90FLAGS) \$(F90OPTIM) -c \$<
2608  .c.o:  .c.o:
2609          \$(CC) \$(CFLAGS) \$(DEFINES) \$(INCLUDES) -c \$<          \$(CC) \$(CFLAGS) \$(DEFINES) \$(INCLUDES) -c \$<
2610    .flow.flowdir:
2611            \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@
2612    
2613  # Special exceptions that use the ( .F - .p - .$FS - .o ) rule-chain  # Special exceptions that use the ( .F - .p - .$FS - .o ) rule-chain
2614  .F.p:  .F.p:
# Line 2645  ad_input_code.$FS: \$(AD_FILES) \$(HEADE Line 2661  ad_input_code.$FS: \$(AD_FILES) \$(HEADE
2661          cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h          cmp ad_config.template AD_CONFIG.h || cat ad_config.template > AD_CONFIG.h
2662          -rm -f ad_config.template          -rm -f ad_config.template
2663          @make \$(F77FILES)          @make \$(F77FILES)
2664          @make \$(AD_FLOW_FILES)          @make \$(FLOFILES)
2665          cat \$(AD_FLOW_FILES) \$(AD_FILES) > ad_input_code.$FS          cat \$(FLOFILES) \$(AD_FILES) > ad_input_code.$FS
2666    
2667  ad_taf_output.$FS: ad_input_code.$FS  ad_taf_output.$FS: ad_input_code.$FS
2668          \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS          \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS
2669            ls -l ad_input_code_ad.$FS
2670          cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS          cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS
2671    
2672  adtafonly:  adtafonly:
2673          \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS          \$(TAF) \$(AD_TAF_FLAGS) \$(TAF_EXTRA) ad_input_code.$FS
2674            ls -l ad_input_code_ad.$FS
2675          cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS          cat ad_input_code_ad.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ad_taf_output.$FS
2676    
2677  \${EXE_AD}: ad_taf_output.o \$(OBJFILES)  \${EXE_AD}: ad_taf_output.o \$(OBJFILES)
# Line 2687  ftl_input_code.$FS: \$(AD_FILES) \$(HEAD Line 2705  ftl_input_code.$FS: \$(AD_FILES) \$(HEAD
2705    
2706  ftl_taf_output.$FS: ftl_input_code.$FS  ftl_taf_output.$FS: ftl_input_code.$FS
2707          \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.$FS          \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.$FS
2708            ls -l ftl_input_code_ftl.$FS
2709          cat ftl_input_code_ftl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS          cat ftl_input_code_ftl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS
2710    
2711  ftltafonly:  ftltafonly:
2712          \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.$FS          \$(TAF) \$(FTL_TAF_FLAGS) \$(TAF_EXTRA) ftl_input_code.$FS
2713            ls -l ftl_input_code_ftl.$FS
2714          cat ftl_input_code_ftl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS          cat ftl_input_code_ftl.$FS | sed -f \$(TOOLSDIR)/adjoint_sed > ftl_taf_output.$FS
2715    
2716  ftl_taf: ftl_taf_output.o \$(OBJFILES)  ftl_taf: ftl_taf_output.o \$(OBJFILES)

Legend:
Removed from v.1.163  
changed lines
  Added in v.1.173

  ViewVC Help
Powered by ViewVC 1.1.22