/[MITgcm]/MITgcm/tools/genmake
ViewVC logotype

Diff of /MITgcm/tools/genmake

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

revision 1.16 by adcroft, Fri Mar 24 19:28:46 2000 UTC revision 1.22 by adcroft, Thu Nov 30 19:58:13 2000 UTC
# Line 60  echo Operating system: $mach Line 60  echo Operating system: $mach
60  #   copy everything in ../eesupp/src, ../model/src,  #   copy everything in ../eesupp/src, ../model/src,
61  #   ../eesupp/inc and ../model/inc into a directory and then  #   ../eesupp/inc and ../model/inc into a directory and then
62  #   edit the paths below to ./  #   edit the paths below to ./
63  set SOURCEDIRS  = ( ../eesupp/src/ ../model/src/ ../diags/src/)  set SOURCEDIRS  = ( ../eesupp/src/ ../model/src/ ../diags/src/ ../pkg/*/ )
64  set INCLUDEDIRS = ( ../eesupp/inc/ ../model/inc/ ../diags/inc/)  set INCLUDEDIRS = ( ./ ../eesupp/inc/ ../model/inc/ ../diags/inc/ ../pkg/*/ )
65  set BUILDDIR    = ( ../bin/ )  set BUILDDIR    = ( ../bin/ )
66  set EXEDIR      = ( ../exe/ )  set EXEDIR      = ( ../exe/ )
67  set EXECUTABLE  = ( mitgcmuv )  set EXECUTABLE  = ( mitgcmuv )
# Line 109  switch ($platform$USEMPI) Line 109  switch ($platform$USEMPI)
109      set FOPTIM     = ( '-O5 -fast -tune host -inline all' )      set FOPTIM     = ( '-O5 -fast -tune host -inline all' )
110      set NOOPTFLAGS = ( '-O0' )      set NOOPTFLAGS = ( '-O0' )
111      set LIBS       = ( '-lfmpi -lmpi -lkmp_osfp10 -pthread' )      set LIBS       = ( '-lfmpi -lmpi -lkmp_osfp10 -pthread' )
112      set NOOPTFILES = ( 'barrier.F different_multiple.F load_external_fields.F')      set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F')
113      set RMFILES    = ( '*.p.out' )      set RMFILES    = ( '*.p.out' )
114      breaksw      breaksw
115    case IRIX64+mpi:    case IRIX64+mpi:
# Line 130  switch ($platform$USEMPI) Line 130  switch ($platform$USEMPI)
130      set FOPTIM     = ( '-O3' )      set FOPTIM     = ( '-O3' )
131  #   set NOOPTFLAGS = ( '-O0' )  #   set NOOPTFLAGS = ( '-O0' )
132  #   set NOOPTFILES = ( 'barrier.F different_multiple.F ' \  #   set NOOPTFILES = ( 'barrier.F different_multiple.F ' \
133  #                      'load_external_fields.F' )  #                      'external_fields_load.F' )
134      set RMFILES    = ( 'rii_files' )      set RMFILES    = ( 'rii_files' )
135      breaksw      breaksw
136      case o2:
137      case IRIX:
138        echo "Configuring for SGI O2 running IRIX 6.5"
139        set DEFINES    = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' )
140        set FFLAGS     = ( '-extend_source -bytereclen -r10000 -mips4' )
141        set FOPTIM     = ( '-O2' )
142        set NOOPTFLAGS = ( '-O0' )
143        breaksw
144      case o2+mpi:
145      case IRIX+mpi:
146        echo "Configuring for SGI O2 running IRIX 6.5 with MPI"
147        set DEFINES    = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' )
148        set FFLAGS     = ( '-extend_source -bytereclen -r10000 -mips4' )
149        set FOPTIM     = ( '-O2' )
150        set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F' )
151        set NOOPTFLAGS = ( '-O0' )
152        set LIBS       = ( '-lmpi' )
153        breaksw
154      case o2k+mpi:
155        echo "Configuring for SGI Origin2000 running IRIX 6.5"
156        set DEFINES    = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' )
157        set INCLUDES   = ( '-I/usr/include' )
158        set FFLAGS     = ( '-n32 -extend_source -bytereclen' )
159        set FOPTIM     = ( '-O2' )
160        set NOOPTFILES = ( 'calc_mom_rhs.F' )
161        set NOOPTFLAGS = ( '-O1' )
162        set LIBS       = ( '-lmpi -lscs' )
163        breaksw
164      case onyx:
165      case onyx+mpi:
166        echo "Configuring for SGI ONYX running IRIX64"
167        set DEFINES    = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' )
168        set FFLAGS     = ( '-extend_source -bytereclen -r10000 -64' )
169        set FOPTIM     = ( '-O2' )
170        set NOOPTFLAGS = ( '-O0' )
171        set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F' )
172        set LIBS       = ( '-lmpi' )
173        breaksw
174    case SunOS:    case SunOS:
175      set LN         = ( '/usr/bin/ln -fs' )      set LN         = ( '/usr/bin/ln -fs' )
176      set CPP        = ( '/usr/ccs/lib/cpp -P' )      set CPP        = ( '/usr/ccs/lib/cpp -P' )
177      set DEFINES    = ( ${DEFINES} '-DTARGET_SUN -DWORDLENGTH=4' )      set DEFINES    = ( ${DEFINES} '-DTARGET_SUN -DWORDLENGTH=4' )
178      set FFLAGS     = ( '-stackvar -explicitpar -vpara -e -u -noautopar')      set FFLAGS     = ( '-stackvar -explicitpar -vpara -e -u -noautopar')
179      set FOPTIM     = ( '-fast -O4' )      set FOPTIM     = ( '-fast -O3' )
180      set NOOPTFLAGS = ( '-O0' )      set NOOPTFLAGS = ( '-O0' )
181      set NOOPTFILES = ( 'barrier.F different_multiple.F load_external_fields.F ini_vertical_grid.F')      set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F ini_vertical_grid.F')
182      breaksw      breaksw
183    case SunOS+mpi:    case SunOS+mpi:
184      set LN         = ( '/usr/bin/ln -fs' )      set LN         = ( '/usr/bin/ln -fs' )
# Line 148  switch ($platform$USEMPI) Line 186  switch ($platform$USEMPI)
186      set DEFINES    = ( ${DEFINES} '-DTARGET_SUN -DWORDLENGTH=4' )      set DEFINES    = ( ${DEFINES} '-DTARGET_SUN -DWORDLENGTH=4' )
187      set INCLUDES   = ( '-I/usr/local/mpi/include' )      set INCLUDES   = ( '-I/usr/local/mpi/include' )
188      set FFLAGS     = ( '-stackvar -explicitpar -vpara -e -u -noautopar')      set FFLAGS     = ( '-stackvar -explicitpar -vpara -e -u -noautopar')
189      set FOPTIM     = ( '-fast -O4' )      set FOPTIM     = ( '-fast -O3' )
190      set NOOPTFLAGS = ( '-O0' )      set NOOPTFLAGS = ( '-O0' )
191      set LIBS       = ( '-L/usr/local/mpi/lib/solaris/ch_shmem -lmpi -lthread' \      set LIBS       = ( '-L/usr/local/mpi/lib/solaris/ch_shmem -lmpi -lthread' \
192                         '-lsocket -lnsl' )                         '-lsocket -lnsl' )
193      set NOOPTFILES = ( 'barrier.F different_multiple.F load_external_fields.F ini_vertical_grid.F')      set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F ini_vertical_grid.F')
194      breaksw      breaksw
195    case IRIX32:    case IRIX32:
196      echo "Configuring for SGI ONYX running IRIX64"      echo "Configuring for SGI ONYX running IRIX64"
# Line 162  switch ($platform$USEMPI) Line 200  switch ($platform$USEMPI)
200      set FOPTIM     = ( '-O2' )      set FOPTIM     = ( '-O2' )
201      set NOOPTFLAGS = ( '-O0' )      set NOOPTFLAGS = ( '-O0' )
202      set NOOPTFILES = ( 'barrier.F different_multiple.F ' \      set NOOPTFILES = ( 'barrier.F different_multiple.F ' \
203                         'load_external_fields.F' )                         'external_fields_load.F' )
204      set LIBS       = ( '-lmpi' )      set LIBS       = ( '-lmpi' )
205      breaksw      breaksw
206    case HP-UX+mpi:    case HP-UX+mpi:
# Line 178  switch ($platform$USEMPI) Line 216  switch ($platform$USEMPI)
216      set FOPTIM     = ( '+O2' )      set FOPTIM     = ( '+O2' )
217      set NOOPTFLAGS = ( '+O0' )      set NOOPTFLAGS = ( '+O0' )
218      set NOOPTFILES = ( 'barrier.F different_multiple.F' \      set NOOPTFILES = ( 'barrier.F different_multiple.F' \
219                         'load_external_fields.F' )                         'external_fields_load.F' )
220      breaksw      breaksw
221    case Linux+mpi:    case Linux+mpi:
222      set LIBS       = ( '-L/usr/local/lib/LINUX/ch_p4/ -lfmpich -lmpich' )      set LIBS       = ( '-L/usr/local/lib/LINUX/ch_p4/ -lfmpich -lmpich' )
# Line 217  switch ($platform$USEMPI) Line 255  switch ($platform$USEMPI)
255      set LINK       = ( 'f90' )      set LINK       = ( 'f90' )
256      set FFLAGS     = ( '-O 2,fusion' )      set FFLAGS     = ( '-O 2,fusion' )
257      breaksw      breaksw
258      case T90:
259      case sn7113:
260        set FC         = ( 'f90' )
261        set LINK       = ( 'f90' )
262        set LN         = ( '/bin/ln -fs' )
263        set CPP        = ( '/opt/ctl/bin/cpp -N -P' )
264        set DEFINES    = ( ${DEFINES} '-DTARGET_CRAY_VECTOR -DWORDLENGTH=4' )
265        set FFLAGS     = ( '-m3 -Rabc -N 132')
266        set FOPTIM     = ( '-O0' )
267        set NOOPTFLAGS = ( '-O0' )
268        set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F')
269        breaksw
270      case SV1:
271      case sn3002:
272        set FC         = ( 'f90' )
273        set LINK       = ( 'f90' )
274        set LN         = ( '/bin/ln -fs' )
275        set CPP        = ( '/opt/ctl/bin/cpp -N -P' )
276        set DEFINES    = ( ${DEFINES} '-DTARGET_CRAY_VECTOR -DWORDLENGTH=4' )
277        set FFLAGS     = ( '-m3 -Rabc -ei -eI -s cf77types -N 132')
278        set FOPTIM     = ( '-O0' )
279        set NOOPTFLAGS = ( '-O0' )
280        set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F')
281        breaksw
282    default:    default:
283      echo "Error: platform not recognized: uname -p = " $platform$USEMPI      echo "Error: platform not recognized: uname -p = " $platform$USEMPI
284      exit      exit
# Line 233  endsw Line 295  endsw
295  # Create list of files  # Create list of files
296  set flist = `ls -1 ${SOURCEDIRS} | grep '.*\.[F]$'`  set flist = `ls -1 ${SOURCEDIRS} | grep '.*\.[F]$'`
297  if ( $#flist ) then  if ( $#flist ) then
298   echo -n "SRCFILES = " > srclist.inc   echo -n 'SRCFILES = ' > srclist.inc
  echo -n "F77FILES = " > f77list.inc  
  echo -n "OBJFILES = " > objlist.inc  
299   foreach ff ( ${flist} )   foreach ff ( ${flist} )
300    set fname = ( ${ff:t}       )    set fname = ( ${ff:t}       )
301    echo ' \' >> srclist.inc    echo    ' \'                       >> srclist.inc
302    echo -n "           " ${fname:r}.F >> srclist.inc    echo -n "           " ${fname:r}.F >> srclist.inc
   echo ' \' >> f77list.inc  
   echo -n "           " ${fname:r}.f >> f77list.inc  
   echo ' \' >> objlist.inc  
   echo -n "           " ${fname:r}.o >> objlist.inc  
303   end   end
304  else  else
305   echo No source files found...\!   echo No source files found...\!
306   exit   exit
307  endif  endif
308    echo " " >> srclist.inc
309    
310  set flist = `ls -1 ${SOURCEDIRS} | grep '.*\.[c]$'`  set flist = `ls -1 ${SOURCEDIRS} | grep '.*\.[c]$'`
311  if ( $#flist ) then  if ( $#flist ) then
312     echo -n 'CSRCFILES = ' > csrclist.inc
313   foreach ff ( ${flist} )   foreach ff ( ${flist} )
314    set fname = ( ${ff:t}       )    set fname = ( ${ff:t}       )
315    echo ' \' >> objlist.inc    echo    ' \'                   >> csrclist.inc
316    echo -n "           " ${fname:r}.o >> objlist.inc    echo -n "           " ${fname} >> csrclist.inc
317    else
318     echo -n 'CSRCFILES =' > csrclist.inc
319  endif  endif
320  echo " " >> srclist.inc  echo " " >> csrclist.inc
 echo " " >> f77list.inc  
 echo " " >> objlist.inc  
321    
322  # Convert lists of directories into command-line options  # Convert lists of directories into command-line options
323  foreach inc ($INCLUDEDIRS)  foreach inc ($INCLUDEDIRS)
# Line 375  LIBS = ${LIBS} \$(XLIBS) Line 434  LIBS = ${LIBS} \$(XLIBS)
434    
435  EOF  EOF
436    
437  cat srclist.inc >> ${mfile}  cat srclist.inc  >> ${mfile}
438  cat f77list.inc >> ${mfile}  cat csrclist.inc >> ${mfile}
439  cat objlist.inc >> ${mfile}  echo 'F77FILES =  $(SRCFILES:.F=.f)'                    >> ${mfile}
440  rm -f srclist.inc f77list.inc objlist.inc  echo 'OBJFILES =  $(SRCFILES:.F=.o) $(CSRCFILES:.c=.o)' >> ${mfile}
441    
442    rm -f srclist.inc csrclist.inc
443    
444  cat >> ${mfile} <<EOF  cat >> ${mfile} <<EOF
445    
# Line 393  links: Line 454  links:
454  depend:  depend:
455          @make links          @make links
456          makedepend -o .f \$(INCLUDES) \$(SRCFILES)          makedepend -o .f \$(INCLUDES) \$(SRCFILES)
457    
458    small_f: \$(F77FILES)
459    
460  clean:  clean:
461          -rm -rf *.o *.f *.p ${RMFILES}          -rm -rf *.o *.f *.p ${RMFILES}
462  Clean:  Clean:
# Line 401  Clean: Line 465  Clean:
465          -rm Makefile.bak          -rm Makefile.bak
466  CLEAN:  CLEAN:
467          @make Clean          @make Clean
468          -find ../verification/ -name "*.meta" -exec rm {} \;          -find ../verification/*/input/ -name "*.meta" -exec rm {} \;
469          -find ../verification/ -name "*.data" -exec rm {} \;          -find ../verification/*/input/ -name "*.data" -exec rm {} \;
470          -rm \$(EXECUTABLE)          -rm \$(EXECUTABLE)
471    
472  # The normal chain of rules is (  .F - .f - .o  )  # The normal chain of rules is (  .F - .f - .o  )

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.22

  ViewVC Help
Powered by ViewVC 1.1.22