/[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.7 by cnh, Fri Nov 6 22:44:49 1998 UTC revision 1.12 by adcroft, Tue Mar 14 16:21:41 2000 UTC
# Line 11  set allargs=( $argv ) Line 11  set allargs=( $argv )
11  while ($#allargs)  while ($#allargs)
12   set arg = $allargs[1]   set arg = $allargs[1]
13   switch ($arg)   switch ($arg)
14   case -makefile*:   case -makefile:
15     if ($arg == "-makefile") then     set mfile = ( Makefile )
16       set mfile = ( Makefile )     breaksw
17     else   case -makefile=*:
18       set mfile = ( `echo $arg | sed 's/-makefile=//' `)     set mfile = ( `echo $arg | sed 's/-makefile=//' `)
    endif  
19     breaksw     breaksw
20   case -platform:   case -platform:
21   case -platform=:   case -platform=:
# Line 31  while ($#allargs) Line 30  while ($#allargs)
30     echo "Enabling MPI options"     echo "Enabling MPI options"
31     set USEMPI     set USEMPI
32     breaksw     breaksw
33     case -jam:
34       set include_jam_libs
35       echo "Including paths to JAM libraries"
36       breaksw
37   case -help:   case -help:
38     echo "usage: $0 [-help] [-makefile[=...]] [-platform=...] [-mpi]"     echo "usage: $0 [-help] [-makefile[=...]] [-platform=...] [-mpi]"
39     exit     exit
# Line 97  switch ($platform$USEMPI) Line 100  switch ($platform$USEMPI)
100    case OSF1+mpi:    case OSF1+mpi:
101      echo "Configuring for DEC Alpha"      echo "Configuring for DEC Alpha"
102      set CPP        = ( '/usr/bin/cpp -P' )      set CPP        = ( '/usr/bin/cpp -P' )
103      set DEFINES    = ( ${DEFINES}  '-DTARGET_DEC' )      set DEFINES    = ( ${DEFINES}  '-DTARGET_DEC -DWORDLENGTH=1' )
104      set KPP        = ( 'kapf' )      set KPP        = ( 'kapf' )
105      set KPPFILES   = ( 'main.F' )      set KPPFILES   = ( 'main.F' )
106      set KFLAGS1    = ( '-scan=132 -noconc -cmp=' )      set KFLAGS1    = ( '-scan=132 -noconc -cmp=' )
# Line 111  switch ($platform$USEMPI) Line 114  switch ($platform$USEMPI)
114      breaksw      breaksw
115    case IRIX64+mpi:    case IRIX64+mpi:
116      echo "Configuring for SGI Mips with MPI"      echo "Configuring for SGI Mips with MPI"
117      set DEFINES    = ( ${DEFINES} '-DTARGET_SGI' )      set DEFINES    = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' )
118      set INCLUDES   = ( '-I/usr/local/mpi/include' )      set INCLUDES   = ( '-I/usr/local/mpi/include' )
119      set FC         = ( 'mpif77' )      set FC         = ( 'mpif77' )
120      set LINK       = ( 'mpif77' )      set LINK       = ( 'mpif77' )
121      set FFLAGS     = ( '-extend_source -bytereclen -r10000' )      set FFLAGS     = ( '-extend_source -bytereclen -r10000 -mips4' )
122      set FOPTIM     = ( '-O3' )      set FOPTIM     = ( '-O3' )
123      set RMFILES    = ( 'rii_files' )      set RMFILES    = ( 'rii_files' )
124      breaksw      breaksw
125    case IRIX64:    case IRIX64:
126      echo "Configuring for SGI Mips"      echo "Configuring for SGI Mips"
127      set DEFINES    = ( ${DEFINES} '-DTARGET_SGI' )      set DEFINES    = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' )
128      set INCLUDES   = ( '-I/usr/local/mpi/include' )      set INCLUDES   = ( '-I/usr/local/mpi/include' )
129      set FFLAGS     = ( '-extend_source -mp -mpio -bytereclen -r10000 -mips4' )      set FFLAGS     = ( '-extend_source -mp -mpio -bytereclen -r10000 -mips4' )
130      set FOPTIM     = ( '-O2' )      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' )  #                      'load_external_fields.F' )
134      set RMFILES    = ( 'rii_files' )      set RMFILES    = ( 'rii_files' )
135      breaksw      breaksw
136    case SunOS:    case SunOS:
137      set LN         = ( '/usr/bin/ln -fs' )      set LN         = ( '/usr/bin/ln -fs' )
138      set CPP        = ( '/usr/ccs/lib/cpp -P' )      set CPP        = ( '/usr/ccs/lib/cpp -P' )
139      set DEFINES    = ( ${DEFINES} '-DTARGET_SUN' )      set DEFINES    = ( ${DEFINES} '-DTARGET_SUN -DWORDLENGTH=4' )
140      set FFLAGS     = ( '-stackvar -explicitpar -vpara -e -u -noautopar')      set FFLAGS     = ( '-stackvar -explicitpar -vpara -e -u -noautopar')
141      set FOPTIM     = ( '-O5 -fast' )      set FOPTIM     = ( '-fast -O4' )
142      set NOOPTFLAGS = ( '-O0' )      set NOOPTFLAGS = ( '-O0' )
143      set NOOPTFILES = ( 'barrier.F different_multiple.F load_external_fields.F')      set NOOPTFILES = ( 'barrier.F different_multiple.F load_external_fields.F ini_vertical_grid.F')
144      breaksw      breaksw
145    case SunOS+mpi:    case SunOS+mpi:
146      set LN         = ( '/usr/bin/ln -fs' )      set LN         = ( '/usr/bin/ln -fs' )
147      set CPP        = ( '/usr/ccs/lib/cpp -P' )      set CPP        = ( '/usr/ccs/lib/cpp -P' )
148      set DEFINES    = ( ${DEFINES} '-DTARGET_SUN' )      set DEFINES    = ( ${DEFINES} '-DTARGET_SUN -DWORDLENGTH=4' )
149      set INCLUDES   = ( '-I/usr/local/mpi/include' )      set INCLUDES   = ( '-I/usr/local/mpi/include' )
150      set FFLAGS     = ( '-stackvar -explicitpar -vpara -e -u -noautopar')      set FFLAGS     = ( '-stackvar -explicitpar -vpara -e -u -noautopar')
151      set FOPTIM     = ( '-O5 -fast' )      set FOPTIM     = ( '-fast -O4' )
152      set NOOPTFLAGS = ( '-O0' )      set NOOPTFLAGS = ( '-O0' )
153      set LIBS       = ( '-L/usr/local/mpi/lib/solaris/ch_shmem -lmpi -lthread' \      set LIBS       = ( '-L/usr/local/mpi/lib/solaris/ch_shmem -lmpi -lthread' \
154                         '-lsocket -lnsl' )                         '-lsocket -lnsl' )
155      set NOOPTFILES = ( 'barrier.F different_multiple.F load_external_fields.F')      set NOOPTFILES = ( 'barrier.F different_multiple.F load_external_fields.F ini_vertical_grid.F')
156      breaksw      breaksw
157    case IRIX32:    case IRIX32:
158      echo "Configuring for SGI ONYX running IRIX64"      echo "Configuring for SGI ONYX running IRIX64"
159      set DEFINES    = ( ${DEFINES} '-DTARGET_SGI' )      set DEFINES    = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' )
160      set INCLUDES   = ( '-I/usr/include' )      set INCLUDES   = ( '-I/usr/include' )
161      set FFLAGS     = ( '-extend_source -bytereclen -r10000 -64' )      set FFLAGS     = ( '-extend_source -bytereclen -r10000 -64' )
162      set FOPTIM     = ( '-O2' )      set FOPTIM     = ( '-O2' )
# Line 162  switch ($platform$USEMPI) Line 165  switch ($platform$USEMPI)
165                         'load_external_fields.F' )                         'load_external_fields.F' )
166      set LIBS       = ( '-lmpi' )      set LIBS       = ( '-lmpi' )
167      breaksw      breaksw
   case HP-UX:  
168    case HP-UX+mpi:    case HP-UX+mpi:
     echo "Configuring for HP Exemplar"  
     set CPP        = ( '/usr/ccs/lbin/cpp -P' )  
     set DEFINES    = ( ${DEFINES}  '-DTARGET_HP' )  
     set INCLUDES   = ( '-I/opt/mpi/include' )  
169      set FC         = ( 'mpif77' )      set FC         = ( 'mpif77' )
170      set LINK       = ( 'mpif77' )      set LINK       = ( 'mpif77' )
171        set INCLUDES   = ( '-I/opt/mpi/include' )
172      case HP-UX:
173        echo "Configuring for HP Exemplar"
174        set CPP        = ( '/usr/ccs/lbin/cpp -P' )
175        set DEFINES    = ( ${DEFINES}  '-DTARGET_HP -DWORDLENGTH=4' )
176      set FFLAGS     = ( '+es +U77 +Onoautopar +Oexemplar_model' \      set FFLAGS     = ( '+es +U77 +Onoautopar +Oexemplar_model' \
177                         '+Okernel_threads' )                         '+Okernel_threads' )
178      set FOPTIM     = ( '+O2' )      set FOPTIM     = ( '+O2' )
# Line 177  switch ($platform$USEMPI) Line 180  switch ($platform$USEMPI)
180      set NOOPTFILES = ( 'barrier.F different_multiple.F' \      set NOOPTFILES = ( 'barrier.F different_multiple.F' \
181                         'load_external_fields.F' )                         'load_external_fields.F' )
182      breaksw      breaksw
183      case Linux+mpi:
184        set LIBS       = ( '-L/usr/local/lib/LINUX/ch_p4/ -lfmpich -lmpich' )
185    case Linux:    case Linux:
186      set LN         = ( '/bin/ln -fs' )      set LN         = ( '/bin/ln -fs' )
187      set CPP        = ( '/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/cpp  -traditional -P' )      set CPP        = ( '/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/cpp  -traditional -P' )
188        set DEFINES    = ( ${DEFINES} '-D_BYTESWAPIO -DWORDLENGTH=4' )
189      set INCLUDES   = ( '-I/usr/local/include' )      set INCLUDES   = ( '-I/usr/local/include' )
190      set FC         = ( 'g77' )      set FC         = ( 'g77' )
191      set FFLAGS     = ( ' ' )      set FFLAGS     = ( ' ' )
192      set FOPTIM     = ( '  -O3 -funroll-loops ' )      set FOPTIM     = ( '-O3 -funroll-loops ' )
193      set LINK       = ( 'g77' )      set LINK       = ( 'g77' )
     set LIBS       = ( '-L/usr/local/lib/LINUX/ch_p4/ -lfmpich -lmpich' )  
194      breaksw      breaksw
195    case Linux+pgi:    case Linux+pgi:
196      set LN         = ( '/bin/ln -fs' )      set LN         = ( '/bin/ln -fs' )
197      set CPP        = ( '/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/cpp -P' )      set CPP        = ( '/usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/cpp -P' )
198        set DEFINES    = ( ${DEFINES} '-DWORDLENGTH=4' )
199      set INCLUDES   = ( '-I/usr/local/include' )      set INCLUDES   = ( '-I/usr/local/include' )
200      set FC         = ( 'pgf77' )      set FC         = ( 'pgf77' )
201      set FFLAGS     = ( '-byteswapio' )      set FFLAGS     = ( '-byteswapio' )
# Line 289  INCLUDEDIRS = ${INCLUDEDIRS} Line 295  INCLUDEDIRS = ${INCLUDEDIRS}
295  EXEDIR     = ${EXEDIR}  EXEDIR     = ${EXEDIR}
296  EXECUTABLE = \$(EXEDIR)${EXECUTABLE}  EXECUTABLE = \$(EXEDIR)${EXECUTABLE}
297    
298    EOF
299    
300    
301    # JAM libraries on Hyades
302    if ($?include_jam_libs) then
303    cat >> ${mfile} <<EOF
304    # extra stuff for Hyades ............................................
305    HYADES_DIR = /u/u0/cnh/jam-lib/software
306    WORK_DIR   = \$(HYADES_DIR)
307    DEPOSIT_DIR = linux_bin
308    
309    STARTXOBJDIR = startx_util/\$(DEPOSIT_DIR)
310    STARTXOBJ = \$(WORK_DIR)/startx_util/\$(DEPOSIT_DIR)/startx_timer.o \
311                \$(WORK_DIR)/startx_util/\$(DEPOSIT_DIR)/startx_util.o \
312                \$(WORK_DIR)/startx_util/\$(DEPOSIT_DIR)/client.o \
313                \$(WORK_DIR)/startx_util/\$(DEPOSIT_DIR)/csutil.o
314    
315    JAMOBJDIR  = jam/\$(DEPOSIT_DIR)
316    JAMOBJ     = \$(WORK_DIR)/jam/\$(DEPOSIT_DIR)/jam_init.o \
317                 \$(WORK_DIR)/jam/\$(DEPOSIT_DIR)/jam_kernel.o \
318                 \$(WORK_DIR)/jam/\$(DEPOSIT_DIR)/jam_malloc.o \
319                 \$(WORK_DIR)/jam/\$(DEPOSIT_DIR)/jam_vmalloc.o \
320                 \$(WORK_DIR)/jam/\$(DEPOSIT_DIR)/jam_mutex.o
321    
322    JAMCOBJDIR = jam_collective/\$(DEPOSIT_DIR)
323    JAMCOBJ    = \$(WORK_DIR)/jam_collective/\$(DEPOSIT_DIR)/jam_collective.o
324    
325    XLIBS      = \$(STARTXOBJ) \$(JAMOBJ) \$(JAMCOBJ)
326    
327    # ..................................................................
328    
329    EOF
330    endif
331    
332    
333    cat >> ${mfile} <<EOF
334  # Unix ln (link)  # Unix ln (link)
335  LN = ${LN}  LN = ${LN}
336  # C preprocessor  # C preprocessor
# Line 340  clean: Line 382  clean:
382          -rm -rf *.o *.f *.p ${RMFILES}          -rm -rf *.o *.f *.p ${RMFILES}
383  Clean:  Clean:
384          @make clean          @make clean
385          -rm -rf *.[Fc]          -find . -type l -exec rm {} \;
386            -rm Makefile.bak
387    CLEAN:
388            @make Clean
389            -find ../verification/ -name "*.meta" -exec rm {} \;
390            -find ../verification/ -name "*.data" -exec rm {} \;
391            -rm \$(EXECUTABLE)
392    
393  # The normal chain of rules is (  .F - .f - .o  )  # The normal chain of rules is (  .F - .f - .o  )
394  .F.f:  .F.f:

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.12

  ViewVC Help
Powered by ViewVC 1.1.22