1 |
heimbach |
1.2 |
|
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 |
|
|
|