]>
Commit | Line | Data |
---|---|---|
1 | --- UMFPACK/Demo/Makefile.orig 2012-01-06 09:13:28.333467677 +0100 | |
2 | +++ UMFPACK/Demo/Makefile 2012-01-06 09:18:09.170143746 +0100 | |
3 | @@ -48,30 +48,10 @@ | |
4 | ||
5 | LIBS = $(BLAS) $(XERBLA) $(LIB) $(LIB_WITH_CHOLMOD) $(LIB_WITH_PARTITION) | |
6 | ||
7 | -../Lib/libumfpack.a: | |
8 | +../Lib/libumfpack.la: | |
9 | ( cd ../Lib ; $(MAKE) ) | |
10 | ||
11 | -../../AMD/Lib/libamd.a: | |
12 | - ( cd ../../AMD ; $(MAKE) library ) | |
13 | - | |
14 | -../../CHOLMOD/Lib/libcholmod.a: | |
15 | - - ( cd ../../CHOLMOD && $(MAKE) library ) | |
16 | - | |
17 | -../../COLAMD/Lib/libcolamd.a: | |
18 | - - ( cd ../../COLAMD && $(MAKE) library ) | |
19 | - | |
20 | - | |
21 | -../../CCOLAMD/Lib/libccolamd.a: | |
22 | - - ( cd ../../CCOLAMD && $(MAKE) library ) | |
23 | - | |
24 | -../../CAMD/Lib/libcamd.a: | |
25 | - - ( cd ../../CAMD && $(MAKE) library ) | |
26 | - | |
27 | -$(METIS): | |
28 | - ( cd $(METIS_PATH) && $(MAKE) ) | |
29 | - | |
30 | -UMFPACK = ../Lib/libumfpack.a ../../AMD/Lib/libamd.a \ | |
31 | - $(WITH_CHOLMOD) $(WITH_PARTITION) | |
32 | +UMFPACK = ../Lib/libumfpack.la | |
33 | ||
34 | libs: $(UMFPACK) | |
35 | ||
36 | @@ -82,7 +62,7 @@ | |
37 | dist: umfpack_di_demo.c umfpack_dl_demo.c umfpack_zi_demo.c umfpack_zl_demo.c | |
38 | ||
39 | umfpack_simple: umfpack_simple.c $(INC) $(UMFPACK) | |
40 | - $(C) -o umfpack_simple umfpack_simple.c $(UMFPACK) $(LIBS) | |
41 | + libtool --tag=CC --mode=link $(CC) $(LDFLAGS) $(CFLAGS) $(UMFPACK_CONFIG) -I../Include -I/usr/include/amd -o umfpack_simple umfpack_simple.c $(UMFPACK) $(LIBS) | |
42 | ||
43 | # the GNU rules are simpler: | |
44 | # umfpack_%_demo.c: umfpack_xx_demo.c umfpack_%_demo.sed | |
45 | @@ -99,28 +79,28 @@ | |
46 | - sed -f umfpack_di_demo.sed < umfpack_xx_demo.c > umfpack_di_demo.c | |
47 | ||
48 | umfpack_di_demo: umfpack_di_demo.c $(INC) $(UMFPACK) | |
49 | - $(C) -o umfpack_di_demo umfpack_di_demo.c $(UMFPACK) $(LIBS) | |
50 | + libtool --tag=CC --mode=link $(CC) $(LDFLAGS) $(CFLAGS) $(UMFPACK_CONFIG) -I../Include -I/usr/include/amd -o umfpack_di_demo umfpack_di_demo.c $(UMFPACK) $(LIBS) | |
51 | ||
52 | # double-precision, UF_long verion: | |
53 | umfpack_dl_demo.c: umfpack_xx_demo.c umfpack_dl_demo.sed | |
54 | - sed -f umfpack_dl_demo.sed < umfpack_xx_demo.c > umfpack_dl_demo.c | |
55 | ||
56 | umfpack_dl_demo: umfpack_dl_demo.c $(INC) $(UMFPACK) | |
57 | - $(C) -o umfpack_dl_demo umfpack_dl_demo.c $(UMFPACK) $(LIBS) | |
58 | + libtool --tag=CC --mode=link $(CC) $(LDFLAGS) $(CFLAGS) $(UMFPACK_CONFIG) -I../Include -I/usr/include/amd -o umfpack_dl_demo umfpack_dl_demo.c $(UMFPACK) $(LIBS) | |
59 | ||
60 | # complex, int verion: | |
61 | umfpack_zi_demo.c: umfpack_xx_demo.c umfpack_zi_demo.sed | |
62 | - sed -f umfpack_zi_demo.sed < umfpack_xx_demo.c > umfpack_zi_demo.c | |
63 | ||
64 | umfpack_zi_demo: umfpack_zi_demo.c $(INC) $(UMFPACK) | |
65 | - $(C) -o umfpack_zi_demo umfpack_zi_demo.c $(UMFPACK) $(LIBS) | |
66 | + libtool --tag=CC --mode=link $(CC) $(LDFLAGS) $(CFLAGS) $(UMFPACK_CONFIG) -I../Include -I/usr/include/amd -o umfpack_zi_demo umfpack_zi_demo.c $(UMFPACK) $(LIBS) | |
67 | ||
68 | # complex, UF_long verion: | |
69 | umfpack_zl_demo.c: umfpack_xx_demo.c umfpack_zl_demo.sed | |
70 | - sed -f umfpack_zl_demo.sed < umfpack_xx_demo.c > umfpack_zl_demo.c | |
71 | ||
72 | umfpack_zl_demo: umfpack_zl_demo.c $(INC) $(UMFPACK) | |
73 | - $(C) -o umfpack_zl_demo umfpack_zl_demo.c $(UMFPACK) $(LIBS) | |
74 | + libtool --tag=CC --mode=link $(CC) $(LDFLAGS) $(CFLAGS) $(UMFPACK_CONFIG) -I../Include -I/usr/include/amd -o umfpack_zl_demo umfpack_zl_demo.c $(UMFPACK) $(LIBS) | |
75 | ||
76 | run: umfpack_di_demo umfpack_zi_demo umfpack_dl_demo umfpack_zl_demo umfpack_simple | |
77 | ./umfpack_simple | |
78 | @@ -162,16 +142,16 @@ | |
79 | - ./umf4 a 1e-6 | |
80 | ||
81 | umf4: umf4.c $(UMFPACK) | |
82 | - $(C) -o umf4 umf4.c $(UMFPACK) $(LIBS) | |
83 | + libtool --tag=CC --mode=link $(C) -o umf4 umf4.c $(UMFPACK) $(LIBS) | |
84 | ||
85 | readhb: readhb.f | |
86 | - $(F77) $(F77FLAGS) -o readhb readhb.f $(F77LIB) | |
87 | + libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o readhb readhb.f $(F77LIB) | |
88 | ||
89 | readhb_size: readhb_size.f | |
90 | - $(F77) $(F77FLAGS) -o readhb_size readhb_size.f $(F77LIB) | |
91 | + libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o readhb_size readhb_size.f $(F77LIB) | |
92 | ||
93 | readhb_nozeros: readhb_nozeros.f | |
94 | - $(F77) $(F77FLAGS) -o readhb_nozeros readhb_nozeros.f $(F77LIB) | |
95 | + libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o readhb_nozeros readhb_nozeros.f $(F77LIB) | |
96 | ||
97 | #------------------------------------------------------------------------------- | |
98 | # compile the FORTRAN interface and demo | |
99 | @@ -179,17 +159,17 @@ | |
100 | ||
101 | # This doesn't seem to work on the Mac (Snow Leopard, OS X 10.6.1) | |
102 | fortran: $(UMFPACK) umf4hb.f umf4_f77wrapper.o umf4zhb.f umf4_f77zwrapper.o $(UMFPACK) | |
103 | - $(F77) $(F77FLAGS) -o umf4hb umf4hb.f umf4_f77wrapper.o \ | |
104 | + libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o umf4hb umf4hb.f umf4_f77wrapper.o \ | |
105 | $(UMFPACK) $(LIBS) | |
106 | - ./umf4hb < HB/west0067.rua > my_umf4hb.out | |
107 | - diff my_umf4hb.out umf4hb.out | |
108 | - $(F77) $(F77FLAGS) -o umf4zhb umf4zhb.f umf4_f77zwrapper.o \ | |
109 | + libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o umf4zhb umf4zhb.f umf4_f77zwrapper.o \ | |
110 | $(UMFPACK) $(LIBS) | |
111 | - ./umf4zhb < HB/qc324.cua > my_umf4zhb.out | |
112 | - diff my_umf4zhb.out umf4zhb.out | |
113 | ||
114 | fortran64: $(UMFPACK) umf4hb64.f umf4_f77wrapper64.o umf4_f77zwrapper64.o $(UMFPACK) | |
115 | - $(F77) $(F77FLAGS) -o umf4hb64 umf4hb64.f umf4_f77wrapper64.o \ | |
116 | + libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o umf4hb64 umf4hb64.f umf4_f77wrapper64.o \ | |
117 | $(UMFPACK) $(LIBS) | |
118 | - ./umf4hb64 < HB/west0067.rua > my_umf4hb64.out | |
119 | - diff my_umf4hb64.out umf4hb64.out | |
120 | --- UMFPACK/Lib/GNUmakefile.orig 2012-01-06 09:13:28.336801011 +0100 | |
121 | +++ UMFPACK/Lib/GNUmakefile 2012-01-06 09:43:51.583528725 +0100 | |
122 | @@ -2,16 +2,18 @@ | |
123 | # UMFPACK Makefile for compiling on Unix systems (for GNU Make) | |
124 | #------------------------------------------------------------------------------- | |
125 | ||
126 | -default: libumfpack.a | |
127 | +default: libumfpack.la | |
128 | ||
129 | include /usr/share/misc/UFconfig.mk | |
130 | ||
131 | # UMFPACK can use CHOLMOD by default as an ordering option | |
132 | ifneq (,$(findstring -DNCHOLMOD, $(UMFPACK_CONFIG))) | |
133 | I = -I../Include -I../Source -I/usr/include/amd | |
134 | + LIBS = -lamd -lblas | |
135 | else | |
136 | I = -I../Include -I../Source -I/usr/include/amd \ | |
137 | -I/usr/include/cholmod | |
138 | + LIBS = -lcholmod -lamd -lblas | |
139 | endif | |
140 | ||
141 | C = $(CC) $(CF) $(UMFPACK_CONFIG) $(I) | |
142 | @@ -78,8 +80,7 @@ | |
143 | $(addprefix ../Source/, $(addsuffix .h,$(UMFCH))) \ | |
144 | $(addprefix ../Source/, $(addsuffix .h,$(UMFINT))) \ | |
145 | $(addprefix ../Include/, $(addsuffix .h,$(USER))) \ | |
146 | - $(addprefix ../Include/, $(addsuffix .h,$(GENERIC))) \ | |
147 | - ../../AMD/Include/amd_internal.h ../../AMD/Include/amd.h | |
148 | + $(addprefix ../Include/, $(addsuffix .h,$(GENERIC))) | |
149 | ||
150 | #------------------------------------------------------------------------------- | |
151 | # object files for each version | |
152 | @@ -98,171 +99,171 @@ | |
153 | #------------------------------------------------------------------------------- | |
154 | ||
155 | umf_i_%.o: ../Source/umf_%.c $(INC) | |
156 | - $(C) -DDINT -c $< -o $@ | |
157 | + libtool --tag=CC --mode=compile $(C) -DDINT -c $< -o $@ | |
158 | ||
159 | umf_l_%.o: ../Source/umf_%.c $(INC) | |
160 | - $(C) -DDLONG -c $< -o $@ | |
161 | + libtool --tag=CC --mode=compile $(C) -DDLONG -c $< -o $@ | |
162 | ||
163 | #------------------------------------------------------------------------------- | |
164 | # compile each routine in the DI version | |
165 | #------------------------------------------------------------------------------- | |
166 | ||
167 | umf_di_%.o: ../Source/umf_%.c $(INC) | |
168 | - $(C) -DDINT -c $< -o $@ | |
169 | + libtool --tag=CC --mode=compile $(C) -DDINT -c $< -o $@ | |
170 | ||
171 | umf_di_%hsolve.o: ../Source/umf_%tsolve.c $(INC) | |
172 | - $(C) -DDINT -DCONJUGATE_SOLVE -c $< -o $@ | |
173 | + libtool --tag=CC --mode=compile $(C) -DDINT -DCONJUGATE_SOLVE -c $< -o $@ | |
174 | ||
175 | umf_di_triplet_map_x.o: ../Source/umf_triplet.c $(INC) | |
176 | - $(C) -DDINT -DDO_MAP -DDO_VALUES -c $< -o $@ | |
177 | + libtool --tag=CC --mode=compile $(C) -DDINT -DDO_MAP -DDO_VALUES -c $< -o $@ | |
178 | ||
179 | umf_di_triplet_map_nox.o: ../Source/umf_triplet.c $(INC) | |
180 | - $(C) -DDINT -DDO_MAP -c $< -o $@ | |
181 | + libtool --tag=CC --mode=compile $(C) -DDINT -DDO_MAP -c $< -o $@ | |
182 | ||
183 | umf_di_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC) | |
184 | - $(C) -DDINT -DDO_VALUES -c $< -o $@ | |
185 | + libtool --tag=CC --mode=compile $(C) -DDINT -DDO_VALUES -c $< -o $@ | |
186 | ||
187 | umf_di_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC) | |
188 | - $(C) -DDINT -c $< -o $@ | |
189 | + libtool --tag=CC --mode=compile $(C) -DDINT -c $< -o $@ | |
190 | ||
191 | umf_di_assemble_fixq.o: ../Source/umf_assemble.c $(INC) | |
192 | - $(C) -DDINT -DFIXQ -c $< -o $@ | |
193 | + libtool --tag=CC --mode=compile $(C) -DDINT -DFIXQ -c $< -o $@ | |
194 | ||
195 | umf_di_store_lu_drop.o: ../Source/umf_store_lu.c $(INC) | |
196 | - $(C) -DDINT -DDROP -c $< -o $@ | |
197 | + libtool --tag=CC --mode=compile $(C) -DDINT -DDROP -c $< -o $@ | |
198 | ||
199 | umfpack_di_wsolve.o: ../Source/umfpack_solve.c $(INC) | |
200 | - $(C) -DDINT -DWSOLVE -c $< -o $@ | |
201 | + libtool --tag=CC --mode=compile $(C) -DDINT -DWSOLVE -c $< -o $@ | |
202 | ||
203 | umfpack_di_%.o: ../Source/umfpack_%.c $(INC) | |
204 | - $(C) -DDINT -c $< -o $@ | |
205 | + libtool --tag=CC --mode=compile $(C) -DDINT -c $< -o $@ | |
206 | ||
207 | #------------------------------------------------------------------------------- | |
208 | # compile each routine in the DL version | |
209 | #------------------------------------------------------------------------------- | |
210 | ||
211 | umf_dl_%.o: ../Source/umf_%.c $(INC) | |
212 | - $(C) -DDLONG -c $< -o $@ | |
213 | + libtool --tag=CC --mode=compile $(C) -DDLONG -c $< -o $@ | |
214 | ||
215 | umf_dl_%hsolve.o: ../Source/umf_%tsolve.c $(INC) | |
216 | - $(C) -DDLONG -DCONJUGATE_SOLVE -c $< -o $@ | |
217 | + libtool --tag=CC --mode=compile $(C) -DDLONG -DCONJUGATE_SOLVE -c $< -o $@ | |
218 | ||
219 | umf_dl_triplet_map_x.o: ../Source/umf_triplet.c $(INC) | |
220 | - $(C) -DDLONG -DDO_MAP -DDO_VALUES -c $< -o $@ | |
221 | + libtool --tag=CC --mode=compile $(C) -DDLONG -DDO_MAP -DDO_VALUES -c $< -o $@ | |
222 | ||
223 | umf_dl_triplet_map_nox.o: ../Source/umf_triplet.c $(INC) | |
224 | - $(C) -DDLONG -DDO_MAP -c $< -o $@ | |
225 | + libtool --tag=CC --mode=compile $(C) -DDLONG -DDO_MAP -c $< -o $@ | |
226 | ||
227 | umf_dl_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC) | |
228 | - $(C) -DDLONG -DDO_VALUES -c $< -o $@ | |
229 | + libtool --tag=CC --mode=compile $(C) -DDLONG -DDO_VALUES -c $< -o $@ | |
230 | ||
231 | umf_dl_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC) | |
232 | - $(C) -DDLONG -c $< -o $@ | |
233 | + libtool --tag=CC --mode=compile $(C) -DDLONG -c $< -o $@ | |
234 | ||
235 | umf_dl_assemble_fixq.o: ../Source/umf_assemble.c $(INC) | |
236 | - $(C) -DDLONG -DFIXQ -c $< -o $@ | |
237 | + libtool --tag=CC --mode=compile $(C) -DDLONG -DFIXQ -c $< -o $@ | |
238 | ||
239 | umf_dl_store_lu_drop.o: ../Source/umf_store_lu.c $(INC) | |
240 | - $(C) -DDLONG -DDROP -c $< -o $@ | |
241 | + libtool --tag=CC --mode=compile $(C) -DDLONG -DDROP -c $< -o $@ | |
242 | ||
243 | umfpack_dl_wsolve.o: ../Source/umfpack_solve.c $(INC) | |
244 | - $(C) -DDLONG -DWSOLVE -c $< -o $@ | |
245 | + libtool --tag=CC --mode=compile $(C) -DDLONG -DWSOLVE -c $< -o $@ | |
246 | ||
247 | umfpack_dl_%.o: ../Source/umfpack_%.c $(INC) | |
248 | - $(C) -DDLONG -c $< -o $@ | |
249 | + libtool --tag=CC --mode=compile $(C) -DDLONG -c $< -o $@ | |
250 | ||
251 | #------------------------------------------------------------------------------- | |
252 | # compile each routine in the ZI version | |
253 | #------------------------------------------------------------------------------- | |
254 | ||
255 | umf_zi_%.o: ../Source/umf_%.c $(INC) | |
256 | - $(C) -DZINT -c $< -o $@ | |
257 | + libtool --tag=CC --mode=compile $(C) -DZINT -c $< -o $@ | |
258 | ||
259 | umf_zi_%hsolve.o: ../Source/umf_%tsolve.c $(INC) | |
260 | - $(C) -DZINT -DCONJUGATE_SOLVE -c $< -o $@ | |
261 | + libtool --tag=CC --mode=compile $(C) -DZINT -DCONJUGATE_SOLVE -c $< -o $@ | |
262 | ||
263 | umf_zi_triplet_map_x.o: ../Source/umf_triplet.c $(INC) | |
264 | - $(C) -DZINT -DDO_MAP -DDO_VALUES -c $< -o $@ | |
265 | + libtool --tag=CC --mode=compile $(C) -DZINT -DDO_MAP -DDO_VALUES -c $< -o $@ | |
266 | ||
267 | umf_zi_triplet_map_nox.o: ../Source/umf_triplet.c $(INC) | |
268 | - $(C) -DZINT -DDO_MAP -c $< -o $@ | |
269 | + libtool --tag=CC --mode=compile $(C) -DZINT -DDO_MAP -c $< -o $@ | |
270 | ||
271 | umf_zi_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC) | |
272 | - $(C) -DZINT -DDO_VALUES -c $< -o $@ | |
273 | + libtool --tag=CC --mode=compile $(C) -DZINT -DDO_VALUES -c $< -o $@ | |
274 | ||
275 | umf_zi_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC) | |
276 | - $(C) -DZINT -c $< -o $@ | |
277 | + libtool --tag=CC --mode=compile $(C) -DZINT -c $< -o $@ | |
278 | ||
279 | umf_zi_assemble_fixq.o: ../Source/umf_assemble.c $(INC) | |
280 | - $(C) -DZINT -DFIXQ -c $< -o $@ | |
281 | + libtool --tag=CC --mode=compile $(C) -DZINT -DFIXQ -c $< -o $@ | |
282 | ||
283 | umf_zi_store_lu_drop.o: ../Source/umf_store_lu.c $(INC) | |
284 | - $(C) -DZINT -DDROP -c $< -o $@ | |
285 | + libtool --tag=CC --mode=compile $(C) -DZINT -DDROP -c $< -o $@ | |
286 | ||
287 | umfpack_zi_wsolve.o: ../Source/umfpack_solve.c $(INC) | |
288 | - $(C) -DZINT -DWSOLVE -c $< -o $@ | |
289 | + libtool --tag=CC --mode=compile $(C) -DZINT -DWSOLVE -c $< -o $@ | |
290 | ||
291 | umfpack_zi_%.o: ../Source/umfpack_%.c $(INC) | |
292 | - $(C) -DZINT -c $< -o $@ | |
293 | + libtool --tag=CC --mode=compile $(C) -DZINT -c $< -o $@ | |
294 | ||
295 | #------------------------------------------------------------------------------- | |
296 | # compile each routine in the ZL version | |
297 | #------------------------------------------------------------------------------- | |
298 | ||
299 | umf_zl_%.o: ../Source/umf_%.c $(INC) | |
300 | - $(C) -DZLONG -c $< -o $@ | |
301 | + libtool --tag=CC --mode=compile $(C) -DZLONG -c $< -o $@ | |
302 | ||
303 | umf_zl_%hsolve.o: ../Source/umf_%tsolve.c $(INC) | |
304 | - $(C) -DZLONG -DCONJUGATE_SOLVE -c $< -o $@ | |
305 | + libtool --tag=CC --mode=compile $(C) -DZLONG -DCONJUGATE_SOLVE -c $< -o $@ | |
306 | ||
307 | umf_zl_triplet_map_x.o: ../Source/umf_triplet.c $(INC) | |
308 | - $(C) -DZLONG -DDO_MAP -DDO_VALUES -c $< -o $@ | |
309 | + libtool --tag=CC --mode=compile $(C) -DZLONG -DDO_MAP -DDO_VALUES -c $< -o $@ | |
310 | ||
311 | umf_zl_triplet_map_nox.o: ../Source/umf_triplet.c $(INC) | |
312 | - $(C) -DZLONG -DDO_MAP -c $< -o $@ | |
313 | + libtool --tag=CC --mode=compile $(C) -DZLONG -DDO_MAP -c $< -o $@ | |
314 | ||
315 | umf_zl_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC) | |
316 | - $(C) -DZLONG -DDO_VALUES -c $< -o $@ | |
317 | + libtool --tag=CC --mode=compile $(C) -DZLONG -DDO_VALUES -c $< -o $@ | |
318 | ||
319 | umf_zl_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC) | |
320 | - $(C) -DZLONG -c $< -o $@ | |
321 | + libtool --tag=CC --mode=compile $(C) -DZLONG -c $< -o $@ | |
322 | ||
323 | umf_zl_assemble_fixq.o: ../Source/umf_assemble.c $(INC) | |
324 | - $(C) -DZLONG -DFIXQ -c $< -o $@ | |
325 | + libtool --tag=CC --mode=compile $(C) -DZLONG -DFIXQ -c $< -o $@ | |
326 | ||
327 | umf_zl_store_lu_drop.o: ../Source/umf_store_lu.c $(INC) | |
328 | - $(C) -DZLONG -DDROP -c $< -o $@ | |
329 | + libtool --tag=CC --mode=compile $(C) -DZLONG -DDROP -c $< -o $@ | |
330 | ||
331 | umfpack_zl_wsolve.o: ../Source/umfpack_solve.c $(INC) | |
332 | - $(C) -DZLONG -DWSOLVE -c $< -o $@ | |
333 | + libtool --tag=CC --mode=compile $(C) -DZLONG -DWSOLVE -c $< -o $@ | |
334 | ||
335 | umfpack_zl_%.o: ../Source/umfpack_%.c $(INC) | |
336 | - $(C) -DZLONG -c $< -o $@ | |
337 | + libtool --tag=CC --mode=compile $(C) -DZLONG -c $< -o $@ | |
338 | ||
339 | #------------------------------------------------------------------------------- | |
340 | # Create the generic routines (GN) using a generic rule | |
341 | #------------------------------------------------------------------------------- | |
342 | ||
343 | umfpack_gn_%.o: ../Source/umfpack_%.c $(INC) | |
344 | - $(C) -c $< -o $@ | |
345 | + libtool --tag=CC --mode=compile $(C) -c $< -o $@ | |
346 | ||
347 | #------------------------------------------------------------------------------- | |
348 | # Create the libumfpack.a library | |
349 | #------------------------------------------------------------------------------- | |
350 | ||
351 | -libumfpack.a: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL) | |
352 | - $(ARCHIVE) libumfpack.a $^ | |
353 | - - $(RANLIB) libumfpack.a | |
354 | +libumfpack.la: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL) | |
355 | + libtool --tag=CC --mode=link $(CC) $(LDFLAGS) -o libumfpack.la -rpath $(libdir) $(^:.o=.lo) $(LIBS) -lm | |
356 | ||
357 | -so: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL) | |
358 | - gcc -shared -Wl,-soname,libumfpack.so -o libumfpack.so $^ | |
359 | +install: libumfpack.la | |
360 | + install -d $(DESTDIR)$(libdir) | |
361 | + libtool --mode=install install libumfpack.la $(DESTDIR)$(libdir) | |
362 | ||
363 | #------------------------------------------------------------------------------- | |
364 | # Remove all but the files in the original distribution | |
365 | #------------------------------------------------------------------------------- | |
366 | ||
367 | purge: clean | |
368 | - - $(RM) libumfpack.a | |
369 | + - $(RM) libumfpack.la | |
370 | ||
371 | clean: | |
372 | - $(RM) $(CLEAN) |