/[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.5 by cnh, Tue Sep 29 21:22:33 1998 UTC revision 1.6 by cnh, Wed Oct 28 03:11:38 1998 UTC
# Line 43  while ($#allargs) Line 43  while ($#allargs)
43   endsw   endsw
44   shift allargs   shift allargs
45  end  end
46    
47  if ($?platform == 0) set platform = (`uname -p`)  if ($?platform == 0) then
48     set platform = (`uname`)
49    endif
50  if ($?mfile == 0) set mfile = ( Makefile.$platform )  if ($?mfile == 0) set mfile = ( Makefile.$platform )
51  set mach  = ( `uname -a` )  set mach  = ( `uname -a` )
52  echo Operating system: $mach  echo Operating system: $mach
# Line 91  endif Line 93  endif
93    
94  # Platform specific options  # Platform specific options
95  switch ($platform$USEMPI)  switch ($platform$USEMPI)
96    case alpha:    case OSF1:
97    case alpha+mpi:    case OSF1+mpi:
98      echo "Configuring for DEC Alpha"      echo "Configuring for DEC Alpha"
99      set CPP        = ( '/usr/bin/cpp -P' )      set CPP        = ( '/usr/bin/cpp -P' )
100      set DEFINES    = ( ${DEFINES}  '-DTARGET_DEC' )      set DEFINES    = ( ${DEFINES}  '-DTARGET_DEC' )
# Line 107  switch ($platform$USEMPI) Line 109  switch ($platform$USEMPI)
109      set NOOPTFILES = ( 'barrier.F different_multiple.F load_external_fields.F')      set NOOPTFILES = ( 'barrier.F different_multiple.F load_external_fields.F')
110      set RMFILES    = ( '*.p.out' )      set RMFILES    = ( '*.p.out' )
111      breaksw      breaksw
112    case mips+mpi:    case IRIX64+mpi:
113      echo "Configuring for SGI Mips with MPI"      echo "Configuring for SGI Mips with MPI"
114      set DEFINES    = ( ${DEFINES} '-DTARGET_SGI' )      set DEFINES    = ( ${DEFINES} '-DTARGET_SGI' )
115      set INCLUDES   = ( '-I/usr/local/mpi/include' )      set INCLUDES   = ( '-I/usr/local/mpi/include' )
# Line 117  switch ($platform$USEMPI) Line 119  switch ($platform$USEMPI)
119      set FOPTIM     = ( '-O3' )      set FOPTIM     = ( '-O3' )
120      set RMFILES    = ( 'rii_files' )      set RMFILES    = ( 'rii_files' )
121      breaksw      breaksw
122    case mips:    case IRIX64:
123      echo "Configuring for SGI Mips"      echo "Configuring for SGI Mips"
124      set DEFINES    = ( ${DEFINES} '-DTARGET_SGI' )      set DEFINES    = ( ${DEFINES} '-DTARGET_SGI' )
125      set INCLUDES   = ( '-I/usr/local/mpi/include' )      set INCLUDES   = ( '-I/usr/local/mpi/include' )
# Line 128  switch ($platform$USEMPI) Line 130  switch ($platform$USEMPI)
130                         'load_external_fields.F' )                         'load_external_fields.F' )
131      set RMFILES    = ( 'rii_files' )      set RMFILES    = ( 'rii_files' )
132      breaksw      breaksw
133    case sparc:    case SunOS:
134        set LN         = ( '/usr/bin/ln -fs' )
135        set CPP        = ( '/usr/ccs/lib/cpp -P' )
136        set DEFINES    = ( ${DEFINES} '-DTARGET_SUN' )
137        set FFLAGS     = ( '-stackvar -explicitpar -vpara -e -u -noautopar')
138        set FOPTIM     = ( '-O5 -fast' )
139        set NOOPTFLAGS = ( '-O0' )
140        set NOOPTFILES = ( 'barrier.F different_multiple.F load_external_fields.F')
141        breaksw
142      case SunOS+mpi:
143      set LN         = ( '/usr/bin/ln -fs' )      set LN         = ( '/usr/bin/ln -fs' )
144      set CPP        = ( '/usr/ccs/lib/cpp -P' )      set CPP        = ( '/usr/ccs/lib/cpp -P' )
145      set DEFINES    = ( ${DEFINES} '-DTARGET_SUN' )      set DEFINES    = ( ${DEFINES} '-DTARGET_SUN' )
146      set INCLUDES   = ( '-I/usr/local/mpi/include' )      set INCLUDES   = ( '-I/usr/local/mpi/include' )
147      set FFLAGS     = ( '-stackvar -explicitpar -vpara -e -u -noautopar')      set FFLAGS     = ( '-stackvar -explicitpar -vpara -e -u -noautopar')
148      set FOPTIM     = ( '-O5' )      set FOPTIM     = ( '-O5 -fast' )
149      set NOOPTFLAGS = ( '-O0' )      set NOOPTFLAGS = ( '-O0' )
150      set LIBS       = ( '-L/usr/local/mpi/lib/solaris/ch_shmem -lmpi -lthread' \      set LIBS       = ( '-L/usr/local/mpi/lib/solaris/ch_shmem -lmpi -lthread' \
151                         '-lsocket -lnsl -fast' )                         '-lsocket -lnsl' )
152      set NOOPTFILES = ( 'barrier.F different_multiple.F load_external_fields.F')      set NOOPTFILES = ( 'barrier.F different_multiple.F load_external_fields.F')
153      breaksw      breaksw
154    case onyx:    case IRIX32:
   case onyx+mpi:  
155      echo "Configuring for SGI ONYX running IRIX64"      echo "Configuring for SGI ONYX running IRIX64"
156      set DEFINES    = ( ${DEFINES} '-DTARGET_SGI' )      set DEFINES    = ( ${DEFINES} '-DTARGET_SGI' )
157      set INCLUDES   = ( '-I/usr/include' )      set INCLUDES   = ( '-I/usr/include' )
# Line 152  switch ($platform$USEMPI) Line 162  switch ($platform$USEMPI)
162                         'load_external_fields.F' )                         'load_external_fields.F' )
163      set LIBS       = ( '-lmpi' )      set LIBS       = ( '-lmpi' )
164      breaksw      breaksw
165    case exemplar:    case HP-UX:
166    case exemplar+mpi:    case HP-UX+mpi:
167      echo "Configuring for HP Exemplar"      echo "Configuring for HP Exemplar"
168      set CPP        = ( '/usr/ccs/lbin/cpp -P' )      set CPP        = ( '/usr/ccs/lbin/cpp -P' )
169      set DEFINES    = ( ${DEFINES}  '-DTARGET_HP' )      set DEFINES    = ( ${DEFINES}  '-DTARGET_HP' )
# Line 163  switch ($platform$USEMPI) Line 173  switch ($platform$USEMPI)
173      set FFLAGS     = ( '+es +U77 +Onoautopar +Oexemplar_model' \      set FFLAGS     = ( '+es +U77 +Onoautopar +Oexemplar_model' \
174                         '+Okernel_threads' )                         '+Okernel_threads' )
175      set FOPTIM     = ( '+O2' )      set FOPTIM     = ( '+O2' )
176      set NOOPTFLAGS = ( '-O0' )      set NOOPTFLAGS = ( '+O0' )
177      set NOOPTFILES = ( 'barrier.F different_multiple.F' \      set NOOPTFILES = ( 'barrier.F different_multiple.F' \
178                         'load_external_fields.F' )                         'load_external_fields.F' )
179      breaksw      breaksw
180      case Linux:
181        set LN         = ( '/bin/ln -fs' )
182        set CPP        = ( '/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/cpp -P' )
183        set INCLUDES   = ( '-I/usr/local/include' )
184        set FC         = ( 'g77' )
185        set FFLAGS     = ( ' ' )
186        set FOPTIM     = ( '  -O3 -funroll-loops ' )
187        set LINK       = ( 'g77' )
188        set LIBS       = ( '-L/usr/local/lib/LINUX/ch_p4/ -lfmpich -lmpich' )
189        breaksw
190      case Linux+pgi:
191        set LN         = ( '/bin/ln -fs' )
192        set CPP        = ( '/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/cpp -P' )
193        set INCLUDES   = ( '-I/usr/local/include' )
194        set FC         = ( 'pgf77' )
195        set FFLAGS     = ( '-byteswapio' )
196        set FOPTIM     = ( '-tp p6 -v -O2 -Munroll -Mvect=cachesize:512000,transform -Kieee' )
197        set LINK       = ( 'pgf77' )
198        set LIBS       = ( '-L/usr/local/lib/LINUX/ch_p4/ -lfmpich -lmpich -Kieee' )
199        breaksw
200    default:    default:
201      echo "Error: platform not recognized: uname -p = " $platform$USEMPI      echo "Error: platform not recognized: uname -p = " $platform$USEMPI
202      exit      exit
# Line 216  foreach inc ($INCLUDEDIRS) Line 246  foreach inc ($INCLUDEDIRS)
246  end  end
247  set SRCSTARS = ( )  set SRCSTARS = ( )
248  foreach dr ($SOURCEDIRS)  foreach dr ($SOURCEDIRS)
249   set SRCSTARS = ("${SRCSTARS}" $dr\*.F $dr\*.c )   set SRCSTARS = ("${SRCSTARS}" $dr\*.\[Fc\] )
250  end  end
251    
252  set THISHOSTNAME = ( `hostname` )  set THISHOSTNAME = ( `hostname` )
# Line 262  EXECUTABLE = \$(EXEDIR)${EXECUTABLE} Line 292  EXECUTABLE = \$(EXEDIR)${EXECUTABLE}
292  # Unix ln (link)  # Unix ln (link)
293  LN = ${LN}  LN = ${LN}
294  # C preprocessor  # C preprocessor
295  CPP = ${CPP}  CPP = cat \$< | ../tools/set64bitConst.sh | ${CPP}
296  # Special preprocessor (KAP on DECs, FPP on Crays)  # Special preprocessor (KAP on DECs, FPP on Crays)
297  KPP = ${KPP}  KPP = ${KPP}
298  # Fortran compiler  # Fortran compiler
# Line 308  depend: Line 338  depend:
338          makedepend -o .f \$(INCLUDES) \$(SRCFILES)          makedepend -o .f \$(INCLUDES) \$(SRCFILES)
339  clean:  clean:
340          -rm -rf *.o *.f *.p ${RMFILES}          -rm -rf *.o *.f *.p ${RMFILES}
341    Clean:
342            @make clean
343            -rm -rf *.[Fc]
344    
345  # The normal chain of rules is (  .F - .f - .o  )  # The normal chain of rules is (  .F - .f - .o  )
346  .F.f:  .F.f:
347          \$(CPP) \$(DEFINES) \$(INCLUDES) \$< > \$@          \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@
348  .f.o:  .f.o:
349          \$(FC) \$(FFLAGS) \$(FOPTIM) -c \$<          \$(FC) \$(FFLAGS) \$(FOPTIM) -c \$<
350    
351  # Special exceptions that use the ( .F - .p - .f - .o ) rule-chain  # Special exceptions that use the ( .F - .p - .f - .o ) rule-chain
352  .F.p:  .F.p:
353          \$(CPP) \$(DEFINES) \$(INCLUDES) \$< > \$@          \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@
354  .p.f:  .p.f:
355          \$(KPP) \$(KFLAGS1)\$@ \$(KFLAGS2) \$<          \$(KPP) \$(KFLAGS1)\$@ \$(KFLAGS2) \$<
356  EOF  EOF

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22