1
+ # # Library Versions ##
2
+
3
+ LLVM_VER = 2.9
4
+ READLINE_VER = 6.2
5
+ PCRE_VER = 8.12
6
+ OPENBLAS_VER = v0.1alpha2
7
+ LAPACK_VER = 3.3.1
8
+ ARPACK_VER = 96
9
+ FFTW_VER = 3.2.2
10
+ MONGOOSE_VER = 3.0
11
+
12
+ # # High-Level Setup ##
13
+
1
14
JULIAHOME = $(shell pwd) /..
2
15
include ../Make.inc
3
16
4
17
OS = $(shell uname)
5
18
ARCH = $(shell uname -m)
6
- LIBS = llvm pcre fdlibm lapack arpack fftw mongoose readline
19
+ LIBS = llvm pcre fdlibm openblas lapack arpack fftw mongoose readline
7
20
8
21
default : install
9
22
compile : $(addprefix compile-, $(LIBS ) )
@@ -21,7 +34,7 @@ compile-llvm: $(LLVM_OBJ_SOURCE)
21
34
install-llvm : $(LLVM_OBJ_TARGET )
22
35
23
36
llvm-$(LLVM_VER ) .tgz :
24
- $( DOWNLOAD ) http://llvm.org/releases/$(LLVM_VER ) /$@
37
+ curl -O http://llvm.org/releases/$(LLVM_VER ) /$@
25
38
llvm-$(LLVM_VER ) /configure : llvm-$(LLVM_VER ) .tgz
26
39
tar zxf $<
27
40
touch $@
@@ -48,7 +61,7 @@ compile-readline: $(READLINE_OBJ_SOURCE)
48
61
install-readline : $(READLINE_OBJ_TARGET )
49
62
50
63
readline-$(READLINE_VER ) .tar.gz :
51
- $( DOWNLOAD ) ftp://ftp.gnu.org/gnu/readline/$@
64
+ curl -O ftp://ftp.gnu.org/gnu/readline/$@
52
65
readline-$(READLINE_VER ) /configure : readline-$(READLINE_VER ) .tar.gz
53
66
tar zxf $<
54
67
touch $@
@@ -75,9 +88,9 @@ compile-pcre: install-pcre
75
88
install-pcre : $(PCRE_OBJ_TARGET )
76
89
77
90
pcre-$(PCRE_VER ) .tar.bz2 :
78
- $( DOWNLOAD ) ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/$@
91
+ curl -O ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/$@
79
92
pcre-$(PCRE_VER ) /configure : pcre-$(PCRE_VER ) .tar.bz2
80
- tar jxvf $<
93
+ tar jxf $<
81
94
touch $@
82
95
pcre-$(PCRE_VER ) /config.status : pcre-$(PCRE_VER ) /configure
83
96
cd pcre-$(PCRE_VER ) && \
@@ -102,7 +115,7 @@ install-fdlibm: $(FDLIBM_OBJ_TARGET)
102
115
103
116
$(FDLIBM_OBJ_SOURCE ) : fdlibm/* .c
104
117
cd fdlibm && \
105
- make CC=$(CC ) CFLAGS=" -D_IEEE_LIBM -Dx86 -fPIC -O2 -mtune=native $( CONFIG) " && \
118
+ make CC=$(CC ) CFLAGS=" -D_IEEE_LIBM -Dx86 -fPIC -O2 $( CONFIG) " && \
106
119
$(CC ) -shared * .o -o libfdm.$(SHLIB_EXT )
107
120
$(FDLIBM_OBJ_TARGET ) : $(FDLIBM_OBJ_SOURCE )
108
121
mkdir -p $(EXTROOTLIB )
@@ -115,23 +128,23 @@ distclean-fdlibm: clean-fdlibm
115
128
116
129
# # OpenBLAS ##
117
130
118
- OPENBLAS_OBJ_SOURCE = openblas/libopenblas.a
131
+ OPENBLAS_OBJ_SOURCE = openblas- $( OPENBLAS_VER ) /libopenblas.a
119
132
120
133
compile-openblas : $(OPENBLAS_OBJ_SOURCE )
134
+ install-openblas : compile-openblas
121
135
122
- openblas.tar.gz :
123
- $(DOWNLOAD ) -Lk https://github.com/xianyi/OpenBLAS/tarball/develop
124
- mv develop $@
125
- openblas/Makefile : openblas.tar.gz
126
- mkdir -p openblas && tar --strip-components 1 -C openblas -xf $<
136
+ openblas-$(OPENBLAS_VER ) .tar.gz :
137
+ curl -Lk https://github.com/xianyi/OpenBLAS/tarball/$(OPENBLAS_VER ) > $@
138
+ openblas-$(OPENBLAS_VER ) /Makefile : openblas-$(OPENBLAS_VER ) .tar.gz
139
+ mkdir -p openblas-$(OPENBLAS_VER ) && tar -C openblas-$(OPENBLAS_VER ) --strip-components 1 -xf $<
127
140
touch $@
128
- $(OPENBLAS_OBJ_SOURCE ) : openblas/Makefile
129
- make -C openblas USE_THREAD=0 NO_CBLAS=1 NO_LAPACK=1 CC=$(CC ) FC=$(FC )
141
+ $(OPENBLAS_OBJ_SOURCE ) : openblas- $( OPENBLAS_VER ) /Makefile
142
+ make -C openblas- $( OPENBLAS_VER ) USE_THREAD=0 NO_CBLAS=1 NO_LAPACK=1 CC=$(CC ) FC=$(FC )
130
143
131
144
clean-openblas :
132
- make -C openblas clean
145
+ make -C openblas- $( OPENBLAS_VER ) clean
133
146
distclean-openblas :
134
- rm -rf openblas.tar.gz openblas
147
+ rm -rf openblas- $( OPENBLAS_VER ) .tar.gz openblas- $( OPENBLAS_VER )
135
148
136
149
# # LAPACK ##
137
150
@@ -142,14 +155,16 @@ compile-lapack: $(LAPACK_OBJ_SOURCE)
142
155
install-lapack : $(LAPACK_OBJ_TARGET )
143
156
144
157
lapack-$(LAPACK_VER ) .tgz :
145
- $( DOWNLOAD ) http://www.netlib.org/lapack/$@
158
+ curl -O http://www.netlib.org/lapack/$@
146
159
lapack-$(LAPACK_VER ) /Makefile : lapack-$(LAPACK_VER ) .tgz
147
160
tar zxf $<
148
161
touch $@
149
- $( LAPACK_OBJ_SOURCE ) : lapack-$(LAPACK_VER ) /Makefile $( OPENBLAS_OBJ_SOURCE )
162
+ lapack- $( LAPACK_VER ) /INSTALL/dlamch.o : lapack-$(LAPACK_VER ) /Makefile
150
163
cd lapack-$(LAPACK_VER ) && \
151
164
cp INSTALL/make.inc.gfortran ./make.inc && \
152
- make lapacklib NOOPT=" -O0 -fPIC" OPTS=" -O2 -fPIC" FORTRAN=$(FC ) && \
165
+ make lapacklib NOOPT=" -O0 -fPIC" OPTS=" -O2 -fPIC" FORTRAN=$(FC )
166
+ $(LAPACK_OBJ_SOURCE ) : lapack-$(LAPACK_VER ) /INSTALL/dlamch.o $(OPENBLAS_OBJ_SOURCE )
167
+ cd lapack-$(LAPACK_VER ) && \
153
168
$(FC ) -shared SRC/* .o INSTALL/dlamch.o INSTALL/dsecnd_INT_ETIME.o INSTALL/ilaver.o INSTALL/slamch.o ../$(OPENBLAS_OBJ_SOURCE ) -o libLAPACK.$(SHLIB_EXT )
154
169
$(LAPACK_OBJ_TARGET ) : $(LAPACK_OBJ_SOURCE )
155
170
mkdir -p $(EXTROOTLIB )
@@ -170,9 +185,9 @@ compile-arpack: $(ARPACK_OBJ_SOURCE)
170
185
install-arpack : $(ARPACK_OBJ_TARGET )
171
186
172
187
arpack$(ARPACK_VER ) .tar.gz :
173
- $( DOWNLOAD ) http://www.caam.rice.edu/software/ARPACK/SRC/$@
188
+ curl -O http://www.caam.rice.edu/software/ARPACK/SRC/$@
174
189
arpack-patch.tar.gz :
175
- $( DOWNLOAD ) http://www.caam.rice.edu/software/ARPACK/SRC/patch.tar.gz
190
+ curl -O http://www.caam.rice.edu/software/ARPACK/SRC/patch.tar.gz
176
191
mv patch.tar.gz $@
177
192
ARPACK/Makefile : arpack$(ARPACK_VER ) .tar.gz arpack-patch.tar.gz
178
193
for x in $^; do tar zxf $$ x; done
@@ -201,7 +216,7 @@ compile-fftw: install-fftw
201
216
install-fftw : $(FFTW_OBJ_TARGET )
202
217
203
218
fftw-$(FFTW_VER ) .tar.gz :
204
- $( DOWNLOAD ) http://www.fftw.org/$@
219
+ curl -O http://www.fftw.org/$@
205
220
fftw-$(FFTW_VER ) /configure : fftw-$(FFTW_VER ) .tar.gz
206
221
tar zxf $<
207
222
touch $@
@@ -226,7 +241,7 @@ compile-mongoose: mongoose/Makefile
226
241
install-mongoose : compile-mongoose
227
242
228
243
mongoose-$(MONGOOSE_VER ) .tgz :
229
- $( DOWNLOAD ) http://mongoose.googlecode.com/files/mongoose-$(MONGOOSE_VER ) .tgz
244
+ curl -O http://mongoose.googlecode.com/files/mongoose-$(MONGOOSE_VER ) .tgz
230
245
mongoose/Makefile : mongoose-$(MONGOOSE_VER ) .tgz
231
246
tar zxf $<
232
247
touch $@
0 commit comments