1 --- UMFPACK/Demo/Makefile.orig 2012-06-27 20:05:32.088316770 +0200
2 +++ UMFPACK/Demo/Makefile 2012-06-27 20:08:28.351642710 +0200
5 LIBS = $(BLAS) $(XERBLA) $(LIB) $(LIB_WITH_CHOLMOD) $(LIB_WITH_PARTITION)
9 ( cd ../Lib ; $(MAKE) )
11 -../../AMD/Lib/libamd.a:
12 - ( cd ../../AMD ; $(MAKE) library )
14 -../../SuiteSparse_config/libsuitesparseconfig.a:
15 - ( cd ../../SuiteSparse_config ; $(MAKE) library )
17 -../../CHOLMOD/Lib/libcholmod.a:
18 - - ( cd ../../CHOLMOD && $(MAKE) library )
20 -../../COLAMD/Lib/libcolamd.a:
21 - - ( cd ../../COLAMD && $(MAKE) library )
24 -../../CCOLAMD/Lib/libccolamd.a:
25 - - ( cd ../../CCOLAMD && $(MAKE) library )
27 -../../CAMD/Lib/libcamd.a:
28 - - ( cd ../../CAMD && $(MAKE) library )
31 - ( cd $(METIS_PATH) && $(MAKE) )
33 -UMFPACK = ../Lib/libumfpack.a ../../AMD/Lib/libamd.a \
34 - ../../SuiteSparse_config/libsuitesparseconfig.a \
35 - $(LIB_WITH_CHOLMOD) $(LIB_WITH_PARTITION)
36 +UMFPACK = ../Lib/libumfpack.la
41 dist: umfpack_di_demo.c umfpack_dl_demo.c umfpack_zi_demo.c umfpack_zl_demo.c
43 umfpack_simple: umfpack_simple.c $(INC) $(UMFPACK)
44 - $(C) -o umfpack_simple umfpack_simple.c $(UMFPACK) $(LIBS)
45 + libtool --tag=CC --mode=link $(CC) $(LDFLAGS) $(CFLAGS) $(UMFPACK_CONFIG) -I../Include -I/usr/include/amd -o umfpack_simple umfpack_simple.c $(UMFPACK) $(LIBS)
47 # the GNU rules are simpler:
48 # umfpack_%_demo.c: umfpack_xx_demo.c umfpack_%_demo.sed
50 - sed -f umfpack_di_demo.sed < umfpack_xx_demo.c > umfpack_di_demo.c
52 umfpack_di_demo: umfpack_di_demo.c $(INC) $(UMFPACK)
53 - $(C) -o umfpack_di_demo umfpack_di_demo.c $(UMFPACK) $(LIBS)
54 + libtool --tag=CC --mode=link $(C) $(LDFLAGS) -o umfpack_di_demo umfpack_di_demo.c $(UMFPACK) $(LIBS)
56 # double-precision, SuiteSparse_long verion:
57 umfpack_dl_demo.c: umfpack_xx_demo.c umfpack_dl_demo.sed
58 - sed -f umfpack_dl_demo.sed < umfpack_xx_demo.c > umfpack_dl_demo.c
60 umfpack_dl_demo: umfpack_dl_demo.c $(INC) $(UMFPACK)
61 - $(C) -o umfpack_dl_demo umfpack_dl_demo.c $(UMFPACK) $(LIBS)
62 + libtool --tag=CC --mode=link $(C) $(LDFLAGS) -o umfpack_dl_demo umfpack_dl_demo.c $(UMFPACK) $(LIBS)
64 # complex, int verion:
65 umfpack_zi_demo.c: umfpack_xx_demo.c umfpack_zi_demo.sed
66 - sed -f umfpack_zi_demo.sed < umfpack_xx_demo.c > umfpack_zi_demo.c
68 umfpack_zi_demo: umfpack_zi_demo.c $(INC) $(UMFPACK)
69 - $(C) -o umfpack_zi_demo umfpack_zi_demo.c $(UMFPACK) $(LIBS)
70 + libtool --tag=CC --mode=link $(C) $(LDFLAGS) -o umfpack_zi_demo umfpack_zi_demo.c $(UMFPACK) $(LIBS)
72 # complex, SuiteSparse_long verion:
73 umfpack_zl_demo.c: umfpack_xx_demo.c umfpack_zl_demo.sed
74 - sed -f umfpack_zl_demo.sed < umfpack_xx_demo.c > umfpack_zl_demo.c
76 umfpack_zl_demo: umfpack_zl_demo.c $(INC) $(UMFPACK)
77 - $(C) -o umfpack_zl_demo umfpack_zl_demo.c $(UMFPACK) $(LIBS)
78 + libtool --tag=CC --mode=link $(C) $(LDFLAGS) -o umfpack_zl_demo umfpack_zl_demo.c $(UMFPACK) $(LIBS)
80 run: umfpack_di_demo umfpack_zi_demo umfpack_dl_demo umfpack_zl_demo umfpack_simple
85 umf4: umf4.c $(UMFPACK)
86 - $(C) -o umf4 umf4.c $(UMFPACK) $(LIBS)
87 + libtool --tag=CC --mode=link $(C) -o umf4 umf4.c $(UMFPACK) $(LIBS)
90 - $(F77) $(F77FLAGS) -o readhb readhb.f $(F77LIB)
91 + libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o readhb readhb.f $(F77LIB)
93 readhb_size: readhb_size.f
94 - $(F77) $(F77FLAGS) -o readhb_size readhb_size.f $(F77LIB)
95 + libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o readhb_size readhb_size.f $(F77LIB)
97 readhb_nozeros: readhb_nozeros.f
98 - $(F77) $(F77FLAGS) -o readhb_nozeros readhb_nozeros.f $(F77LIB)
99 + libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o readhb_nozeros readhb_nozeros.f $(F77LIB)
101 #-------------------------------------------------------------------------------
102 # compile the FORTRAN interface and demo
103 @@ -183,17 +159,17 @@
105 # This doesn't seem to work on the Mac (Snow Leopard, OS X 10.6.1)
106 fortran: $(UMFPACK) umf4hb.f umf4_f77wrapper.o umf4zhb.f umf4_f77zwrapper.o $(UMFPACK)
107 - $(F77) $(F77FLAGS) -o umf4hb umf4hb.f umf4_f77wrapper.o \
108 + libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o umf4hb umf4hb.f umf4_f77wrapper.o \
110 - ./umf4hb < HB/west0067.rua > my_umf4hb.out
111 - diff my_umf4hb.out umf4hb.out
112 - $(F77) $(F77FLAGS) -o umf4zhb umf4zhb.f umf4_f77zwrapper.o \
113 + libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o umf4zhb umf4zhb.f umf4_f77zwrapper.o \
115 - ./umf4zhb < HB/qc324.cua > my_umf4zhb.out
116 - diff my_umf4zhb.out umf4zhb.out
118 fortran64: $(UMFPACK) umf4hb64.f umf4_f77wrapper64.o umf4_f77zwrapper64.o $(UMFPACK)
119 - $(F77) $(F77FLAGS) -o umf4hb64 umf4hb64.f umf4_f77wrapper64.o \
120 + libtool --tag=F77 --mode=link $(F77) $(F77FLAGS) -o umf4hb64 umf4hb64.f umf4_f77wrapper64.o \
122 - ./umf4hb64 < HB/west0067.rua > my_umf4hb64.out
123 - diff my_umf4hb64.out umf4hb64.out
124 --- UMFPACK/Lib/GNUmakefile.orig 2012-01-06 09:13:28.336801011 +0100
125 +++ UMFPACK/Lib/GNUmakefile 2012-01-06 09:43:51.583528725 +0100
127 # UMFPACK Makefile for compiling on Unix systems (for GNU Make)
128 #-------------------------------------------------------------------------------
130 -default: libumfpack.a
131 +default: libumfpack.la
133 include /usr/share/misc/SuiteSparse_config.mk
135 # UMFPACK can use CHOLMOD by default as an ordering option
136 ifneq (,$(findstring -DNCHOLMOD, $(UMFPACK_CONFIG)))
137 I = -I../Include -I../Source -I/usr/include/amd
138 + LIBS = -lamd -lblas
140 I = -I../Include -I../Source -I/usr/include/amd \
141 -I/usr/include/cholmod
142 + LIBS = -lcholmod -lamd -lblas
145 C = $(CC) $(CF) $(UMFPACK_CONFIG) $(I)
147 $(addprefix ../Source/, $(addsuffix .h,$(UMFCH))) \
148 $(addprefix ../Source/, $(addsuffix .h,$(UMFINT))) \
149 $(addprefix ../Include/, $(addsuffix .h,$(USER))) \
150 - $(addprefix ../Include/, $(addsuffix .h,$(GENERIC))) \
151 - ../../AMD/Include/amd_internal.h ../../AMD/Include/amd.h
152 + $(addprefix ../Include/, $(addsuffix .h,$(GENERIC)))
154 #-------------------------------------------------------------------------------
155 # object files for each version
156 @@ -98,171 +99,171 @@
157 #-------------------------------------------------------------------------------
159 umf_i_%.o: ../Source/umf_%.c $(INC)
160 - $(C) -DDINT -c $< -o $@
161 + libtool --tag=CC --mode=compile $(C) -DDINT -c $< -o $@
163 umf_l_%.o: ../Source/umf_%.c $(INC)
164 - $(C) -DDLONG -c $< -o $@
165 + libtool --tag=CC --mode=compile $(C) -DDLONG -c $< -o $@
167 #-------------------------------------------------------------------------------
168 # compile each routine in the DI version
169 #-------------------------------------------------------------------------------
171 umf_di_%.o: ../Source/umf_%.c $(INC)
172 - $(C) -DDINT -c $< -o $@
173 + libtool --tag=CC --mode=compile $(C) -DDINT -c $< -o $@
175 umf_di_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
176 - $(C) -DDINT -DCONJUGATE_SOLVE -c $< -o $@
177 + libtool --tag=CC --mode=compile $(C) -DDINT -DCONJUGATE_SOLVE -c $< -o $@
179 umf_di_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
180 - $(C) -DDINT -DDO_MAP -DDO_VALUES -c $< -o $@
181 + libtool --tag=CC --mode=compile $(C) -DDINT -DDO_MAP -DDO_VALUES -c $< -o $@
183 umf_di_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
184 - $(C) -DDINT -DDO_MAP -c $< -o $@
185 + libtool --tag=CC --mode=compile $(C) -DDINT -DDO_MAP -c $< -o $@
187 umf_di_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
188 - $(C) -DDINT -DDO_VALUES -c $< -o $@
189 + libtool --tag=CC --mode=compile $(C) -DDINT -DDO_VALUES -c $< -o $@
191 umf_di_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
192 - $(C) -DDINT -c $< -o $@
193 + libtool --tag=CC --mode=compile $(C) -DDINT -c $< -o $@
195 umf_di_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
196 - $(C) -DDINT -DFIXQ -c $< -o $@
197 + libtool --tag=CC --mode=compile $(C) -DDINT -DFIXQ -c $< -o $@
199 umf_di_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
200 - $(C) -DDINT -DDROP -c $< -o $@
201 + libtool --tag=CC --mode=compile $(C) -DDINT -DDROP -c $< -o $@
203 umfpack_di_wsolve.o: ../Source/umfpack_solve.c $(INC)
204 - $(C) -DDINT -DWSOLVE -c $< -o $@
205 + libtool --tag=CC --mode=compile $(C) -DDINT -DWSOLVE -c $< -o $@
207 umfpack_di_%.o: ../Source/umfpack_%.c $(INC)
208 - $(C) -DDINT -c $< -o $@
209 + libtool --tag=CC --mode=compile $(C) -DDINT -c $< -o $@
211 #-------------------------------------------------------------------------------
212 # compile each routine in the DL version
213 #-------------------------------------------------------------------------------
215 umf_dl_%.o: ../Source/umf_%.c $(INC)
216 - $(C) -DDLONG -c $< -o $@
217 + libtool --tag=CC --mode=compile $(C) -DDLONG -c $< -o $@
219 umf_dl_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
220 - $(C) -DDLONG -DCONJUGATE_SOLVE -c $< -o $@
221 + libtool --tag=CC --mode=compile $(C) -DDLONG -DCONJUGATE_SOLVE -c $< -o $@
223 umf_dl_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
224 - $(C) -DDLONG -DDO_MAP -DDO_VALUES -c $< -o $@
225 + libtool --tag=CC --mode=compile $(C) -DDLONG -DDO_MAP -DDO_VALUES -c $< -o $@
227 umf_dl_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
228 - $(C) -DDLONG -DDO_MAP -c $< -o $@
229 + libtool --tag=CC --mode=compile $(C) -DDLONG -DDO_MAP -c $< -o $@
231 umf_dl_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
232 - $(C) -DDLONG -DDO_VALUES -c $< -o $@
233 + libtool --tag=CC --mode=compile $(C) -DDLONG -DDO_VALUES -c $< -o $@
235 umf_dl_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
236 - $(C) -DDLONG -c $< -o $@
237 + libtool --tag=CC --mode=compile $(C) -DDLONG -c $< -o $@
239 umf_dl_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
240 - $(C) -DDLONG -DFIXQ -c $< -o $@
241 + libtool --tag=CC --mode=compile $(C) -DDLONG -DFIXQ -c $< -o $@
243 umf_dl_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
244 - $(C) -DDLONG -DDROP -c $< -o $@
245 + libtool --tag=CC --mode=compile $(C) -DDLONG -DDROP -c $< -o $@
247 umfpack_dl_wsolve.o: ../Source/umfpack_solve.c $(INC)
248 - $(C) -DDLONG -DWSOLVE -c $< -o $@
249 + libtool --tag=CC --mode=compile $(C) -DDLONG -DWSOLVE -c $< -o $@
251 umfpack_dl_%.o: ../Source/umfpack_%.c $(INC)
252 - $(C) -DDLONG -c $< -o $@
253 + libtool --tag=CC --mode=compile $(C) -DDLONG -c $< -o $@
255 #-------------------------------------------------------------------------------
256 # compile each routine in the ZI version
257 #-------------------------------------------------------------------------------
259 umf_zi_%.o: ../Source/umf_%.c $(INC)
260 - $(C) -DZINT -c $< -o $@
261 + libtool --tag=CC --mode=compile $(C) -DZINT -c $< -o $@
263 umf_zi_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
264 - $(C) -DZINT -DCONJUGATE_SOLVE -c $< -o $@
265 + libtool --tag=CC --mode=compile $(C) -DZINT -DCONJUGATE_SOLVE -c $< -o $@
267 umf_zi_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
268 - $(C) -DZINT -DDO_MAP -DDO_VALUES -c $< -o $@
269 + libtool --tag=CC --mode=compile $(C) -DZINT -DDO_MAP -DDO_VALUES -c $< -o $@
271 umf_zi_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
272 - $(C) -DZINT -DDO_MAP -c $< -o $@
273 + libtool --tag=CC --mode=compile $(C) -DZINT -DDO_MAP -c $< -o $@
275 umf_zi_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
276 - $(C) -DZINT -DDO_VALUES -c $< -o $@
277 + libtool --tag=CC --mode=compile $(C) -DZINT -DDO_VALUES -c $< -o $@
279 umf_zi_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
280 - $(C) -DZINT -c $< -o $@
281 + libtool --tag=CC --mode=compile $(C) -DZINT -c $< -o $@
283 umf_zi_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
284 - $(C) -DZINT -DFIXQ -c $< -o $@
285 + libtool --tag=CC --mode=compile $(C) -DZINT -DFIXQ -c $< -o $@
287 umf_zi_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
288 - $(C) -DZINT -DDROP -c $< -o $@
289 + libtool --tag=CC --mode=compile $(C) -DZINT -DDROP -c $< -o $@
291 umfpack_zi_wsolve.o: ../Source/umfpack_solve.c $(INC)
292 - $(C) -DZINT -DWSOLVE -c $< -o $@
293 + libtool --tag=CC --mode=compile $(C) -DZINT -DWSOLVE -c $< -o $@
295 umfpack_zi_%.o: ../Source/umfpack_%.c $(INC)
296 - $(C) -DZINT -c $< -o $@
297 + libtool --tag=CC --mode=compile $(C) -DZINT -c $< -o $@
299 #-------------------------------------------------------------------------------
300 # compile each routine in the ZL version
301 #-------------------------------------------------------------------------------
303 umf_zl_%.o: ../Source/umf_%.c $(INC)
304 - $(C) -DZLONG -c $< -o $@
305 + libtool --tag=CC --mode=compile $(C) -DZLONG -c $< -o $@
307 umf_zl_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
308 - $(C) -DZLONG -DCONJUGATE_SOLVE -c $< -o $@
309 + libtool --tag=CC --mode=compile $(C) -DZLONG -DCONJUGATE_SOLVE -c $< -o $@
311 umf_zl_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
312 - $(C) -DZLONG -DDO_MAP -DDO_VALUES -c $< -o $@
313 + libtool --tag=CC --mode=compile $(C) -DZLONG -DDO_MAP -DDO_VALUES -c $< -o $@
315 umf_zl_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
316 - $(C) -DZLONG -DDO_MAP -c $< -o $@
317 + libtool --tag=CC --mode=compile $(C) -DZLONG -DDO_MAP -c $< -o $@
319 umf_zl_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
320 - $(C) -DZLONG -DDO_VALUES -c $< -o $@
321 + libtool --tag=CC --mode=compile $(C) -DZLONG -DDO_VALUES -c $< -o $@
323 umf_zl_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
324 - $(C) -DZLONG -c $< -o $@
325 + libtool --tag=CC --mode=compile $(C) -DZLONG -c $< -o $@
327 umf_zl_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
328 - $(C) -DZLONG -DFIXQ -c $< -o $@
329 + libtool --tag=CC --mode=compile $(C) -DZLONG -DFIXQ -c $< -o $@
331 umf_zl_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
332 - $(C) -DZLONG -DDROP -c $< -o $@
333 + libtool --tag=CC --mode=compile $(C) -DZLONG -DDROP -c $< -o $@
335 umfpack_zl_wsolve.o: ../Source/umfpack_solve.c $(INC)
336 - $(C) -DZLONG -DWSOLVE -c $< -o $@
337 + libtool --tag=CC --mode=compile $(C) -DZLONG -DWSOLVE -c $< -o $@
339 umfpack_zl_%.o: ../Source/umfpack_%.c $(INC)
340 - $(C) -DZLONG -c $< -o $@
341 + libtool --tag=CC --mode=compile $(C) -DZLONG -c $< -o $@
343 #-------------------------------------------------------------------------------
344 # Create the generic routines (GN) using a generic rule
345 #-------------------------------------------------------------------------------
347 umfpack_gn_%.o: ../Source/umfpack_%.c $(INC)
349 + libtool --tag=CC --mode=compile $(C) -c $< -o $@
351 #-------------------------------------------------------------------------------
352 # Create the libumfpack.a library
353 #-------------------------------------------------------------------------------
355 -libumfpack.a: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
356 - $(ARCHIVE) libumfpack.a $^
357 - - $(RANLIB) libumfpack.a
358 +libumfpack.la: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
359 + libtool --tag=CC --mode=link $(CC) $(LDFLAGS) -o libumfpack.la -rpath $(libdir) $(^:.o=.lo) $(LIBS) -lm
361 -so: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
362 - gcc -shared -Wl,-soname,libumfpack.so -o libumfpack.so $^
363 +install: libumfpack.la
364 + install -d $(DESTDIR)$(libdir)
365 + libtool --mode=install install libumfpack.la $(DESTDIR)$(libdir)
367 #-------------------------------------------------------------------------------
368 # Remove all but the files in the original distribution
369 #-------------------------------------------------------------------------------
372 - - $(RM) libumfpack.a
373 + - $(RM) libumfpack.la