/[MITgcm]/MITgcm/lsopt/Makefile
ViewVC logotype

Diff of /MITgcm/lsopt/Makefile

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

revision 1.1.2.1 by heimbach, Tue Feb 5 20:34:33 2002 UTC revision 1.5 by heimbach, Thu Sep 9 15:51:26 2004 UTC
# Line 1  Line 1 
1    
2  #-----------------------------------------------------------------  #***********************************************************************
3  #       L A R G E   S C A L E   O P T I M I Z A T I O N  # Makefile for the ECCO off-line large scale optimization.
 #-----------------------------------------------------------------  
4  #  #
5  # Version   : lsoptv1  2.1.0  # started: Patrick Heimbach heimbach@mit.edu 19-Jun-2000
6  #  #
7  # Author    : Ralf Giering                 22-Mar-1995  # prebuilt Fortran77 reference implementation BLAS libraries at
8  # Modified  : Michael Peters               28-Aug-1995  # http://www.netlib.org/blas/archives/
 # Rewritten : Patrick Heimbach (MIT/EAPS)  25-Feb-2000  
 # ECCO      : Christian Eckert (MIT/EAPS)  10-Mar-2000  
9  #  #
10  #-----------------------------------------------------------------  # Further high-performance BLAS libraries by Kazushige Goto at
11    # http://www.cs.utexas.edu/users/kgoto/
12    #
13    #***********************************************************************
14    
15  SRC         = lsopt_top.F   lsupdxx.F     lsline.F   \  # The optimization routines.
16                hessupd.F     cubic.F       dgscale.F  \  SRC = lsopt_top.F       \
17                instore.F     dostore.F     outstore.F \          lsupdxx.F       \
18                lswri.F       write_control.F          lsline.F        \
19            hessupd.F       \
20  ECCOSRC     = lsopt_top.F   lsupdxx.F     lsline.F   \          cubic.F         \
21                hessupd.F     cubic.F       dgscale.F  \          dgscale.F       \
22                instore.F     dostore.F     outstore.F \          instore.F       \
23                lswri.F          dostore.F       \
24            outstore.F      \
25            lswri.F
26    
27    # Location of cpp preprocessor
28    # default is (Linux)
29    CPP             = cat $< | /lib/cpp -P -traditional
30    # on SUNOS
31    # CPP           = cat $< | /usr/ccs/lib/cpp
32    
33  # SUN double precision.  ARFLAGS     = rv
34  FFLAGS      = -u -r8 -e -g  ECCOOPTLIB  = liblsopt_ecco.a
 CPPFLAGS    = -I. -DIS_DOUBLE -DINTEGER_BYTE=4 -DONLINE  
35    
36  # Note for MIT users:  # Altix
37  # -------------------  #---------
38  #   LAPACK/BLAS routines can be obtained directly from e.g.  #CPPFLAGS      = -DIS_DOUBLE
39  #   /opt/SUNWspro/SC4.2/lib/v7.  #FC              = ifort
40  #   --> man lapack  #FFLAGS          = -mp -132 -r8 -i4 -w95 -W0 -WB -CB -fpe0 -traceback
41    
42  # SUN single precision.  # O3K
43  #FFLAGS      = -u  #---------
44  #CPPFLAGS    = -I. -DREAL_BYTE=4  -DINTEGER_BYTE=4  #CPPFLAGS       = -DIS_DOUBLE
45    #FC              = f77
46    #FFLAGS          = -extend_source -bytereclen -mips4 -r8 -static
47    
48    # Linux
49    #---------
50    CPPFLAGS        = -DIS_DOUBLE
51    FC              = f77
52    FFLAGS          =
53    
54    # SUN double precision.
55    #---------
56    #FFLAGS      = -u -r8 -e -g
57    #CPPFLAGS    = -I. -DIS_DOUBLE -DINTEGER_BYTE=4 -DONLINE
58    
59  # Cray.  # Cray.
60    #---------
61  #FC          = f90  #FC          = f90
62  #FFLAGS      = -I. -e0 -N132 -O scalar3,vector3,task3  #FFLAGS      = -I. -e0 -N132 -O scalar3,vector3,task3
63  #CPPFLAGS    = -Wp"-DREAL_BYTE=8  -DINTEGER_BYTE=8"  #CPPFLAGS    = -Wp"-DREAL_BYTE=8  -DINTEGER_BYTE=8"
64    
65    # File removal.
66    RM              = rm -f
67    
68  OBJECTS     = $(SRC:.F=.o)  F77FILES = $(SRC:.F=.f)
69  ECCOOBJECTS = $(ECCOSRC:.F=.o)  OBJ      = $(SRC:.F=.o)
   
 OPTLIB      = liblsopt.a  
 ECCOOPTLIB  = liblsopt_ecco.a  
 LIB         = .  
   
 ARFLAGS     = rv  
 RM          = rm -f  
 CPP         = /lib/cpp  
 # RANLIB on SUN:  
 #RANLIB      = /usr/ccs/bin/ranlib  
 # RANLIB on linux:  
 RANLIB      = /usr/bin/ranlib  
   
 #-----------------------------------------------------------------  
 # Rules  
 #-----------------------------------------------------------------  
   
 # Generate the lsopt library.  
 all: $(OPTLIB)  
   
 $(OPTLIB): $(OBJECTS)  
         $(AR) $(ARFLAGS) $@ $?  
         $(RANLIB) $@  
         chmod a+r $@  
70    
71  install: $(OPTLIB)  .SUFFIXES: .o .f .F
         cp $(OPTLIB) $(LIB)/$(OPTLIB)  
72    
73  # Generate the ECCO lsopt library.  all: $(ECCOOPTLIB)
 ecco: $(ECCOOPTLIB)  
74    
75  $(ECCOOPTLIB): $(ECCOOBJECTS)  $(ECCOOPTLIB): $(OBJ) $(F77FILES)
76            $(FC) -c $(FFLAGS) $(F77FILES)
77          $(AR) $(ARFLAGS) $@ $?          $(AR) $(ARFLAGS) $@ $?
         $(RANLIB) $@  
         chmod a+r $@  
78    
79  ecco_install: $(ECCOOPTLIB)  depend:
80          cp $(OPTLIB) $(LIB)/$(OPTLIB)          makedepend -o .f $(SRC)
81    
82  # Generating object files.  # The normal chain of rules is (  .F - .f - .o  )
83  .o:  .F.f:
84          $(FC) -o $@ $(FFLAGS) $(CPPFLAGS) $(LDFLAGS) $< $(OBJECT) $(LDLIBS)          $(CPP) $(CPPFLAGS) > $@
85    .f.o:
86            $(FC) $(FFLAGS) -c $<
87    
88  # File removal.  # Cleaning options.
89  clean:  clean:
90          $(RM) $(OBJECTS) $(ECCOOBJECTS)          $(RM) *.o *.f
91          $(RM) *~  # DO NOT DELETE
   
 scratch: clean  
         $(RM) $(OPTLIB)  
   
92    
93    lsupdxx.f: blas1.h
94    lsline.f: blas1.h
95    hessupd.f: blas1.h
96    dgscale.f: blas1.h

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

  ViewVC Help
Powered by ViewVC 1.1.22