/[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.2 by edhill, Fri Aug 22 04:07:00 2003 UTC revision 1.3 by cnh, Fri Aug 22 20:50:40 2003 UTC
# Line 757  done Line 757  done
757    
758  echo "  Setting package-specific CPP flags in CPP_OPTIONS.h:"  echo "  Setting package-specific CPP flags in CPP_OPTIONS.h:"
759  CPP_OPTIONS=  CPP_OPTIONS=
760  spaths=". $SOURCEDIRS"  spaths="$SOURCEDIRS"
761  for i in $spaths ; do  for i in $spaths ; do
762      try="$i/CPP_OPTIONS.h"      try="$i/CPP_OPTIONS.h"
763      #  echo -n "    trying $try : "      #  echo -n "    trying $try : "
# Line 888  rm -rf .links.tmp Line 888  rm -rf .links.tmp
888  mkdir .links.tmp  mkdir .links.tmp
889  echo "# This section creates symbolic links" > srclinks.tmp  echo "# This section creates symbolic links" > srclinks.tmp
890  echo "" >> srclinks.tmp  echo "" >> srclinks.tmp
891  echo -n 'SRCFILES = ' > srclist.inc  echo -n 'SRCFILES = '    > srclist.inc
892  echo -n 'CSRCFILES = ' > csrclist.inc  echo -n 'CSRCFILES = '   > csrclist.inc
893    echo -n 'F90SRCFILES = ' > f90srclist.inc
894  echo -n 'HEADERFILES = ' > hlist.inc  echo -n 'HEADERFILES = ' > hlist.inc
895  alldirs=". $SOURCEDIRS $INCLUDEDIRS"  alldirs=". $SOURCEDIRS $INCLUDEDIRS"
896  for d in $alldirs ; do  for d in $alldirs ; do
897      deplist=      deplist=
898      sfiles=`( cd $d; echo *.[h,c,F] )`      sfiles=`( cd $d; echo *.[h,c,F] )`
899        sfiles=`( echo $sfiles; cd $d; echo *.F90 )`
900      for sf in $sfiles ; do      for sf in $sfiles ; do
901          if test ! -r ".links.tmp/$sf" ; then          if test ! -r ".links.tmp/$sf" ; then
902              if test -f "$d/$sf" ; then              if test -f "$d/$sf" ; then
# Line 906  for d in $alldirs ; do Line 908  for d in $alldirs ; do
908                          echo    " \\"  >> srclist.inc                          echo    " \\"  >> srclist.inc
909                          echo -n " $sf" >> srclist.inc                          echo -n " $sf" >> srclist.inc
910                          ;;                          ;;
911                        F90)
912                            echo    " \\"  >> f90srclist.inc
913                            echo -n " $sf" >> f90srclist.inc
914                            ;;
915                      c)                      c)
916                          echo    " \\"  >> csrclist.inc                          echo    " \\"  >> csrclist.inc
917                          echo -n " $sf" >> csrclist.inc                          echo -n " $sf" >> csrclist.inc
# Line 928  done Line 934  done
934  rm -rf .links.tmp  rm -rf .links.tmp
935  echo "" >> srclist.inc  echo "" >> srclist.inc
936  echo "" >> csrclist.inc  echo "" >> csrclist.inc
937    echo "" >> f90srclist.inc
938  echo "" >> hlist.inc  echo "" >> hlist.inc
939    
940  if test -e $MAKEFILE ; then  if test -e $MAKEFILE ; then
# Line 985  MAKEDEPEND = ${MAKEDEPEND} Line 992  MAKEDEPEND = ${MAKEDEPEND}
992  KPP = ${KPP}  KPP = ${KPP}
993  # Fortran compiler  # Fortran compiler
994  FC = ${FC}  FC = ${FC}
995    # Fortran compiler
996    F90C = ${F90C}
997  # Link editor  # Link editor
998  LINK = ${LINK}  LINK = ${LINK}
999    
# Line 998  KFLAGS2 = ${KFLAGS2} Line 1007  KFLAGS2 = ${KFLAGS2}
1007  # Optim./debug for FC  # Optim./debug for FC
1008  FFLAGS = ${FFLAGS}  FFLAGS = ${FFLAGS}
1009  FOPTIM = ${FOPTIM}  FOPTIM = ${FOPTIM}
1010    # Optim./debug for FC
1011    F90FLAGS = ${F90FLAGS}
1012    F90OPTIM = ${F90OPTIM}
1013  # Flags for CC  # Flags for CC
1014  CFLAGS = ${CFLAGS}  CFLAGS = ${CFLAGS}
1015  # Files that should not be optimized  # Files that should not be optimized
# Line 1005  NOOPTFILES = ${NOOPTFILES} Line 1017  NOOPTFILES = ${NOOPTFILES}
1017  NOOPTFLAGS = ${NOOPTFLAGS}  NOOPTFLAGS = ${NOOPTFLAGS}
1018  # Flags and libraries needed for linking  # Flags and libraries needed for linking
1019  LIBS = ${LIBS} \$(XLIBS)  LIBS = ${LIBS} \$(XLIBS)
1020    # Name of the Mekfile
1021    MAKEFILE=${MAKEFILE}
1022    
1023  EOF  EOF
1024    
1025  cat srclist.inc  >> $MAKEFILE  cat srclist.inc    >> $MAKEFILE
1026  cat csrclist.inc >> $MAKEFILE  cat csrclist.inc   >> $MAKEFILE
1027  cat hlist.inc >> $MAKEFILE  cat f90srclist.inc >> $MAKEFILE
1028  echo 'F77FILES =  $(SRCFILES:.F=.f)'                    >> $MAKEFILE  cat hlist.inc      >> $MAKEFILE
1029  echo 'OBJFILES =  $(SRCFILES:.F=.o) $(CSRCFILES:.c=.o)' >> $MAKEFILE  echo 'F77FILES =  $(SRCFILES:.F=.f)'                                           >> $MAKEFILE
1030    echo 'F90FILES =  $(F90SRCFILES:.F90=.f90)'                                    >> $MAKEFILE
1031    echo 'OBJFILES =  $(SRCFILES:.F=.o) $(CSRCFILES:.c=.o) $(F90SRCFILES:.F90=.o)' >> $MAKEFILE
1032    
1033  rm -f srclist.inc csrclist.inc hlist.inc flist.tmp clist.tmp  rm -f srclist.inc csrclist.inc hlist.inc flist.tmp clist.tmp f90srclist.inc
1034    
1035  cat >>$MAKEFILE <<EOF  cat >>$MAKEFILE <<EOF
1036    
1037  .SUFFIXES:  .SUFFIXES:
1038  .SUFFIXES: .o .f .p .F .c  .SUFFIXES: .o .f .p .F .c .F90 .f90
1039    
1040  all: \$(EXECUTABLE)  all: \$(EXECUTABLE)
1041  \$(EXECUTABLE): \$(OBJFILES)  \$(EXECUTABLE): \$(OBJFILES)
# Line 1027  all: \$(EXECUTABLE) Line 1043  all: \$(EXECUTABLE)
1043  depend:  depend:
1044          @make links          @make links
1045          \$(MAKEDEPEND) -o .f \$(DEFINES) \$(INCLUDES) \$(SRCFILES)          \$(MAKEDEPEND) -o .f \$(DEFINES) \$(INCLUDES) \$(SRCFILES)
1046            ../../../tools/f90mkdepend >> \$(MAKEFILE)
1047    
1048  links: \$(SRCFILES) \$(CSRCFILES) \$(HEADERFILES)  links: \$(SRCFILES) \$(CSRCFILES) \$(HEADERFILES) \$(F90SRCFILES)
1049    
1050  small_f: \$(F77FILES)  small_f: \$(F77FILES) \$(F90FILES)
1051    
1052  output.txt: \$(EXECUTABLE)  output.txt: \$(EXECUTABLE)
1053          @printf 'running ... '          @printf 'running ... '
1054          @\$(EXECUTABLE) > \$@          @\$(EXECUTABLE) > \$@
1055    
1056  clean:  clean:
1057          -rm -rf *.o *.f *.p ${RMFILES} work.{pc,pcl}          -rm -rf *.o *.f *.p *.f90 *.mod ${RMFILES} work.{pc,pcl}
1058  Clean:  Clean:
1059          @make clean          @make clean
1060          @make cleanlinks          @make cleanlinks
# Line 1059  cleanlinks: Line 1076  cleanlinks:
1076          \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@          \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@
1077  .f.o:  .f.o:
1078          \$(FC) \$(FFLAGS) \$(FOPTIM) -c \$<          \$(FC) \$(FFLAGS) \$(FOPTIM) -c \$<
1079    .F90.f90:
1080            \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@
1081    .f90.o:
1082            \$(F90C) \$(F90FLAGS) \$(F90OPTIM) -c \$<
1083  .c.o:  .c.o:
1084          \$(CC) \$(CFLAGS) -c \$<          \$(CC) \$(CFLAGS) -c \$<
1085    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22