/[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.2 by heimbach, Fri Nov 15 04:03:24 2002 UTC revision 1.4 by heimbach, Wed May 5 19:50:46 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          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:  # O3K
37  # -------------------  #---------
38  #   LAPACK/BLAS routines can be obtained directly from e.g.  #CPPFLAGS       = -DIS_DOUBLE
39  #   /opt/SUNWspro/SC4.2/lib/v7.  #FC              = f77
40  #   --> man lapack  #FFLAGS          = -extend_source -bytereclen -mips4 -r8 -static
41    
42  # SUN single precision.  # Linux
43  #FFLAGS      = -u  #---------
44  #CPPFLAGS    = -I. -DREAL_BYTE=4  -DINTEGER_BYTE=4  CPPFLAGS        = -DIS_DOUBLE
45    FC              = f77
46    FFLAGS          =
47    
48    # SUN double precision.
49    #---------
50    #FFLAGS      = -u -r8 -e -g
51    #CPPFLAGS    = -I. -DIS_DOUBLE -DINTEGER_BYTE=4 -DONLINE
52    
53  # Cray.  # Cray.
54    #---------
55  #FC          = f90  #FC          = f90
56  #FFLAGS      = -I. -e0 -N132 -O scalar3,vector3,task3  #FFLAGS      = -I. -e0 -N132 -O scalar3,vector3,task3
57  #CPPFLAGS    = -Wp"-DREAL_BYTE=8  -DINTEGER_BYTE=8"  #CPPFLAGS    = -Wp"-DREAL_BYTE=8  -DINTEGER_BYTE=8"
58    
59    # File removal.
60    RM              = rm -f
61    
62  OBJECTS     = $(SRC:.F=.o)  F77FILES = $(SRC:.F=.f)
63  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 $@  
64    
65  install: $(OPTLIB)  .SUFFIXES: .o .f .F
         cp $(OPTLIB) $(LIB)/$(OPTLIB)  
66    
67  # Generate the ECCO lsopt library.  all: $(ECCOOPTLIB)
 ecco: $(ECCOOPTLIB)  
68    
69  $(ECCOOPTLIB): $(ECCOOBJECTS)  $(ECCOOPTLIB): $(OBJ) $(F77FILES)
70            $(FC) -c $(FFLAGS) $(F77FILES)
71          $(AR) $(ARFLAGS) $@ $?          $(AR) $(ARFLAGS) $@ $?
         $(RANLIB) $@  
         chmod a+r $@  
72    
73  ecco_install: $(ECCOOPTLIB)  depend:
74          cp $(OPTLIB) $(LIB)/$(OPTLIB)          makedepend -o .f $(SRC)
75    
76  # Generating object files.  # The normal chain of rules is (  .F - .f - .o  )
77  .o:  .F.f:
78          $(FC) -o $@ $(FFLAGS) $(CPPFLAGS) $(LDFLAGS) $< $(OBJECT) $(LDLIBS)          $(CPP) $(CPPFLAGS) > $@
79    .f.o:
80            $(FC) $(FFLAGS) -c $<
81    
82  # File removal.  # Cleaning options.
83  clean:  clean:
84          $(RM) $(OBJECTS) $(ECCOOBJECTS)          $(RM) *.o *.f
85          $(RM) *~  # DO NOT DELETE
   
 scratch: clean  
         $(RM) $(OPTLIB)  
   
86    
87    lsupdxx.f: blas1.h
88    lsline.f: blas1.h
89    hessupd.f: blas1.h
90    dgscale.f: blas1.h

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22