/[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.3 by heimbach, Thu Mar 4 17:59:18 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  #-----------------------------------------------------------------  #***********************************************************************
11    
12  SRC         = lsopt_top.F   lsupdxx.F     lsline.F   \  # The optimization routines.
13                hessupd.F     cubic.F       dgscale.F  \  SRC = lsopt_top.F       \
14                instore.F     dostore.F     outstore.F \          lsupdxx.F       \
15                lswri.F          lsline.F        \
16            hessupd.F       \
17  ECCOSRC     = lsopt_top.F   lsupdxx.F     lsline.F   \          cubic.F         \
18                hessupd.F     cubic.F       dgscale.F  \          dgscale.F       \
19                instore.F     dostore.F     outstore.F \          instore.F       \
20                lswri.F          dostore.F       \
21            outstore.F      \
22            lswri.F
23    
24    # Location of cpp preprocessor
25    # default is (Linux)
26    CPP             = cat $< | /lib/cpp -P -traditional
27    # on SUNOS
28    # CPP           = cat $< | /usr/ccs/lib/cpp
29    
30  # SUN double precision.  ARFLAGS     = rv
31  FFLAGS      = -u -r8 -e -g  ECCOOPTLIB  = liblsopt_ecco.a
32  CPPFLAGS    = -I. -DIS_DOUBLE -DINTEGER_BYTE=4 -DONLINE  
33    # O3K
34    #---------
35    #CPPFLAGS       = -DIS_DOUBLE
36    #FC              = f77
37    #FFLAGS          = -extend_source -bytereclen -mips4 -r8 -static
38    
39    # Linux
40    #---------
41    CPPFLAGS        = -DIS_DOUBLE
42    FC              = f77
43    FFLAGS          =
44    
45  # Note for MIT users:  # SUN double precision.
46  # -------------------  #---------
47  #   LAPACK/BLAS routines can be obtained directly from e.g.  #FFLAGS      = -u -r8 -e -g
48  #   /opt/SUNWspro/SC4.2/lib/v7.  #CPPFLAGS    = -I. -DIS_DOUBLE -DINTEGER_BYTE=4 -DONLINE
 #   --> man lapack  
   
 # SUN single precision.  
 #FFLAGS      = -u  
 #CPPFLAGS    = -I. -DREAL_BYTE=4  -DINTEGER_BYTE=4  
49    
50  # Cray.  # Cray.
51    #---------
52  #FC          = f90  #FC          = f90
53  #FFLAGS      = -I. -e0 -N132 -O scalar3,vector3,task3  #FFLAGS      = -I. -e0 -N132 -O scalar3,vector3,task3
54  #CPPFLAGS    = -Wp"-DREAL_BYTE=8  -DINTEGER_BYTE=8"  #CPPFLAGS    = -Wp"-DREAL_BYTE=8  -DINTEGER_BYTE=8"
55    
56    # File removal.
57    RM              = rm -f
58    
59  OBJECTS     = $(SRC:.F=.o)  F77FILES = $(SRC:.F=.f)
60  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 $@  
61    
62  install: $(OPTLIB)  .SUFFIXES: .o .f .F
         cp $(OPTLIB) $(LIB)/$(OPTLIB)  
63    
64  # Generate the ECCO lsopt library.  all: $(ECCOOPTLIB)
 ecco: $(ECCOOPTLIB)  
65    
66  $(ECCOOPTLIB): $(ECCOOBJECTS)  $(ECCOOPTLIB): $(OBJ) $(F77FILES)
67            $(FC) -c $(FFLAGS) $(F77FILES)
68          $(AR) $(ARFLAGS) $@ $?          $(AR) $(ARFLAGS) $@ $?
         $(RANLIB) $@  
         chmod a+r $@  
69    
70  ecco_install: $(ECCOOPTLIB)  depend:
71          cp $(OPTLIB) $(LIB)/$(OPTLIB)          makedepend -o .f $(SRC)
72    
73  # Generating object files.  # The normal chain of rules is (  .F - .f - .o  )
74  .o:  .F.f:
75          $(FC) -o $@ $(FFLAGS) $(CPPFLAGS) $(LDFLAGS) $< $(OBJECT) $(LDLIBS)          $(CPP) $(CPPFLAGS) > $@
76    .f.o:
77            $(FC) $(FFLAGS) -c $<
78    
79  # File removal.  # Cleaning options.
80  clean:  clean:
81          $(RM) $(OBJECTS) $(ECCOOBJECTS)          $(RM) *.o *.f
82          $(RM) *~  # DO NOT DELETE
   
 scratch: clean  
         $(RM) $(OPTLIB)  
   
83    
84    lsupdxx.f: blas1.h
85    lsline.f: blas1.h
86    hessupd.f: blas1.h
87    dgscale.f: blas1.h

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

  ViewVC Help
Powered by ViewVC 1.1.22