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 |
4 |
#----------------------------------------------------------------- |
5 |
# |
6 |
# Version : lsoptv1 2.1.0 |
7 |
# |
8 |
# Author : Ralf Giering 22-Mar-1995 |
9 |
# Modified : Michael Peters 28-Aug-1995 |
10 |
# Rewritten : Patrick Heimbach (MIT/EAPS) 25-Feb-2000 |
11 |
# ECCO : Christian Eckert (MIT/EAPS) 10-Mar-2000 |
12 |
# |
13 |
#----------------------------------------------------------------- |
14 |
|
15 |
SRC = lsopt_top.F lsupdxx.F lsline.F \ |
16 |
hessupd.F cubic.F dgscale.F \ |
17 |
instore.F dostore.F outstore.F \ |
18 |
lswri.F |
19 |
|
20 |
ECCOSRC = lsopt_top.F lsupdxx.F lsline.F \ |
21 |
hessupd.F cubic.F dgscale.F \ |
22 |
instore.F dostore.F outstore.F \ |
23 |
lswri.F |
24 |
|
25 |
# SUN double precision. |
26 |
FFLAGS = -u -r8 -e -g |
27 |
CPPFLAGS = -I. -DIS_DOUBLE -DINTEGER_BYTE=4 -DONLINE |
28 |
|
29 |
# Note for MIT users: |
30 |
# ------------------- |
31 |
# LAPACK/BLAS routines can be obtained directly from e.g. |
32 |
# /opt/SUNWspro/SC4.2/lib/v7. |
33 |
# --> man lapack |
34 |
|
35 |
# SUN single precision. |
36 |
#FFLAGS = -u |
37 |
#CPPFLAGS = -I. -DREAL_BYTE=4 -DINTEGER_BYTE=4 |
38 |
|
39 |
# Cray. |
40 |
#FC = f90 |
41 |
#FFLAGS = -I. -e0 -N132 -O scalar3,vector3,task3 |
42 |
#CPPFLAGS = -Wp"-DREAL_BYTE=8 -DINTEGER_BYTE=8" |
43 |
|
44 |
|
45 |
OBJECTS = $(SRC:.F=.o) |
46 |
ECCOOBJECTS = $(ECCOSRC:.F=.o) |
47 |
|
48 |
OPTLIB = liblsopt.a |
49 |
ECCOOPTLIB = liblsopt_ecco.a |
50 |
LIB = . |
51 |
|
52 |
ARFLAGS = rv |
53 |
RM = rm -f |
54 |
CPP = /lib/cpp |
55 |
# RANLIB on SUN: |
56 |
#RANLIB = /usr/ccs/bin/ranlib |
57 |
# RANLIB on linux: |
58 |
RANLIB = /usr/bin/ranlib |
59 |
|
60 |
#----------------------------------------------------------------- |
61 |
# Rules |
62 |
#----------------------------------------------------------------- |
63 |
|
64 |
# Generate the lsopt library. |
65 |
all: $(OPTLIB) |
66 |
|
67 |
$(OPTLIB): $(OBJECTS) |
68 |
$(AR) $(ARFLAGS) $@ $? |
69 |
$(RANLIB) $@ |
70 |
chmod a+r $@ |
71 |
|
72 |
install: $(OPTLIB) |
73 |
cp $(OPTLIB) $(LIB)/$(OPTLIB) |
74 |
|
75 |
# Generate the ECCO lsopt library. |
76 |
ecco: $(ECCOOPTLIB) |
77 |
|
78 |
$(ECCOOPTLIB): $(ECCOOBJECTS) |
79 |
$(AR) $(ARFLAGS) $@ $? |
80 |
$(RANLIB) $@ |
81 |
chmod a+r $@ |
82 |
|
83 |
ecco_install: $(ECCOOPTLIB) |
84 |
cp $(OPTLIB) $(LIB)/$(OPTLIB) |
85 |
|
86 |
# Generating object files. |
87 |
.o: |
88 |
$(FC) -o $@ $(FFLAGS) $(CPPFLAGS) $(LDFLAGS) $< $(OBJECT) $(LDLIBS) |
89 |
|
90 |
# File removal. |
91 |
clean: |
92 |
$(RM) $(OBJECTS) $(ECCOOBJECTS) |
93 |
$(RM) *~ |
94 |
|
95 |
scratch: clean |
96 |
$(RM) $(OPTLIB) |
97 |
|
98 |
|