You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
3.0 KiB
96 lines
3.0 KiB
# Makefile template for SGI MIPSpro f90 |
|
#typical use with netCDF: |
|
# mkmf -t template.sgi -c"-Duse_libMPI -Duse_netCDF" path_names /usr/local/include |
|
|
|
FC = f90 |
|
CPPFLAGS = -macro_expand |
|
#FFLAGS = -64 -mips4 -i4 -r8 -d8 -O2 -OPT:Olimit=0 #optimized |
|
FFLAGS = -64 -mips4 -i4 -r8 -d8 -woff134,200,787,1670 -ansi -DEBUG:conform_check=YES:subscript_check=ON:trap_uninitialized=ON:verbose_runtime=ON -g #for debugging |
|
LIST = -listing |
|
|
|
#to debug shmem codes, you need the dbfork library |
|
#TOTALVIEW = -L/opt/totalview/4.1.0-3/irix6-mips/lib -ldbfork_n64 |
|
#TOTALVIEW = -ldbfork_n64 |
|
#TOTALVIEW = -L/sw/mel/totalview/lib -ldbfork_n64 |
|
|
|
LD = f90 |
|
LDFLAGS = -64 -mips4 -v -show $(LIBS) # this is verbose |
|
#LDFLAGS = -64 -mips4 -dont_warn_unused $(LIBS) |
|
#LIBS must be customized for your site |
|
LIBS = $(TOTALVIEW) -L/usr/local/lib -lnetcdf -lmpi -lsma -lexc -lscs |
|
|
|
#--------------------------------------------------------------------------- |
|
# you should never need to change any lines below. |
|
|
|
# see the MIPSPro F90 manual for more details on some of the file extensions |
|
# discussed here. |
|
# this makefile template recognizes fortran sourcefiles with extensions |
|
# .f, .f90, .F, .F90. Given a sourcefile <file>.<ext>, where <ext> is one of |
|
# the above, this provides a number of default actions: |
|
|
|
# make <file>.T create a CIF file |
|
# make <file>.L create a compiler listing |
|
# make <file>.o create an object file |
|
# make <file>.s create an assembly listing |
|
# make <file>.x create an executable file, assuming standalone |
|
# source |
|
|
|
# make <file>.i create a preprocessed file (only for .F and .F90 |
|
# extensions) |
|
|
|
# The macro TMPFILES is provided to slate files like the above for removal. |
|
|
|
RM = rm -f |
|
SHELL = /bin/csh |
|
TMPFILES = .*.m *.B *.L *.i *.l *.s *.mod |
|
|
|
.SUFFIXES: .F .F90 .H .L .T .f .f90 .h .i .o .s .x |
|
|
|
.f.L: |
|
$(FC) $(FFLAGS) -c $(LIST) $*.f |
|
.f.T: |
|
$(FC) $(FFLAGS) -c -cif $*.f |
|
.f.o: |
|
$(FC) $(FFLAGS) -c $*.f |
|
.f.s: |
|
$(FC) $(FFLAGS) -S $*.f |
|
.f.x: |
|
$(FC) $(FFLAGS) -o $*.x $*.f *.o $(LDFLAGS) |
|
.f90.L: |
|
$(FC) $(FFLAGS) -c $(LIST) $*.f90 |
|
.f90.T: |
|
$(FC) $(FFLAGS) -c -cif $*.f90 |
|
.f90.o: |
|
$(FC) $(FFLAGS) -c $*.f90 |
|
.f90.s: |
|
$(FC) $(FFLAGS) -c -S $*.f90 |
|
.f90.x: |
|
$(FC) $(FFLAGS) -o $*.x $*.f90 *.o $(LDFLAGS) |
|
.F.L: |
|
$(FC) $(CPPDEFS) $(CPPFLAGS) $(FFLAGS) -c $(LIST) $*.F |
|
.F.T: |
|
$(FC) $(CPPDEFS) $(CPPFLAGS) $(FFLAGS) -c -cif $*.F |
|
.F.f: |
|
$(CPP) $(CPPDEFS) $(CPPFLAGS) $*.F > $*.f |
|
.F.i: |
|
$(FC) $(CPPDEFS) $(CPPFLAGS) -P $*.F |
|
.F.o: |
|
$(FC) $(CPPDEFS) $(CPPFLAGS) $(FFLAGS) -c $*.F |
|
.F.s: |
|
$(FC) $(CPPDEFS) $(CPPFLAGS) $(FFLAGS) -c -S $*.F |
|
.F.x: |
|
$(FC) $(CPPDEFS) $(CPPFLAGS) $(FFLAGS) -o $*.x $*.F *.o $(LDFLAGS) |
|
.F90.L: |
|
$(FC) $(CPPDEFS) $(CPPFLAGS) $(FFLAGS) -c $(LIST) $*.F90 |
|
.F90.T: |
|
$(FC) $(CPPDEFS) $(CPPFLAGS) $(FFLAGS) -c -cif $*.F90 |
|
.F90.f90: |
|
$(CPP) $(CPPDEFS) $(CPPFLAGS) $*.F90 > $*.f90 |
|
.F90.i: |
|
$(FC) $(CPPDEFS) $(CPPFLAGS) -P $*.F90 |
|
.F90.o: |
|
$(FC) $(CPPDEFS) $(CPPFLAGS) $(FFLAGS) -c $*.F90 |
|
.F90.s: |
|
$(FC) $(CPPDEFS) $(CPPFLAGS) $(FFLAGS) -c -S $*.F90 |
|
.F90.x: |
|
$(FC) $(CPPDEFS) $(CPPFLAGS) $(FFLAGS) -o $*.x $*.F90 *.o $(LDFLAGS)
|
|
|