~ubuntu-branches/ubuntu/natty/suitesparse/natty

« back to all changes in this revision

Viewing changes to UMFPACK/Source/GNUmakefile

  • Committer: Bazaar Package Importer
  • Author(s): Christophe Prud'homme
  • Date: 2007-05-29 09:36:29 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20070529093629-zowquo0b7slkk6nc
Tags: 3.0.0-2
* suitesparse builds properly twice in a row
* Bug fix: "suitesparse - FTBFS: Broken build depens: libgfortran1-dev",
  thanks to Bastian Blank (Closes: #426349).
* Bug fix: "suitesparse_3.0.0-1: FTBFS: build-depends on
  libgfortran1-dev", thanks to Steve Langasek (Closes: #426354).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#-------------------------------------------------------------------------------
2
 
# UMFPACK Makefile for compiling on Unix systems (for GNU Make)
3
 
#-------------------------------------------------------------------------------
4
 
 
5
 
default: ../Lib/libumfpack.a
6
 
 
7
 
include ../../UFconfig/UFconfig.mk
8
 
 
9
 
C = $(CC) $(CFLAGS) $(UMFPACK_CONFIG) \
10
 
    -I../Include -I../../AMD/Include -I../../UFconfig
11
 
 
12
 
#-------------------------------------------------------------------------------
13
 
# source files
14
 
#-------------------------------------------------------------------------------
15
 
 
16
 
# non-user-callable umf_*.[ch] files:
17
 
UMFCH = umf_assemble umf_blas3_update umf_build_tuples umf_create_element \
18
 
        umf_dump umf_extend_front umf_garbage_collection umf_get_memory \
19
 
        umf_init_front umf_kernel umf_kernel_init umf_kernel_wrapup \
20
 
        umf_local_search umf_lsolve umf_ltsolve umf_mem_alloc_element \
21
 
        umf_mem_alloc_head_block umf_mem_alloc_tail_block \
22
 
        umf_mem_free_tail_block umf_mem_init_memoryspace \
23
 
        umf_report_vector umf_row_search umf_scale_column \
24
 
        umf_set_stats umf_solve umf_symbolic_usage umf_transpose \
25
 
        umf_tuple_lengths umf_usolve umf_utsolve umf_valid_numeric \
26
 
        umf_valid_symbolic umf_grow_front umf_start_front umf_2by2 \
27
 
        umf_store_lu umf_scale
28
 
 
29
 
# non-user-callable umf_*.[ch] files, int/UF_long versions only (no real/complex):
30
 
UMFINT = umf_analyze umf_apply_order umf_colamd umf_free umf_fsize \
31
 
        umf_is_permutation umf_malloc umf_realloc umf_report_perm \
32
 
        umf_singletons
33
 
 
34
 
# non-user-callable, created from umf_ltsolve.c, umf_utsolve.c,
35
 
# umf_triplet.c, and umf_assemble.c , with int/UF_long and real/complex versions:
36
 
UMF_CREATED = umf_lhsolve umf_uhsolve umf_triplet_map_nox \
37
 
        umf_triplet_nomap_x umf_triplet_nomap_nox umf_triplet_map_x \
38
 
        umf_assemble_fixq umf_store_lu_drop
39
 
 
40
 
# non-user-callable, int/UF_long and real/complex versions:
41
 
UMF = $(UMF_CREATED) $(UMFCH)
42
 
 
43
 
# user-callable umfpack_*.[ch] files (int/UF_long and real/complex):
44
 
UMFPACK = umfpack_col_to_triplet umfpack_defaults umfpack_free_numeric \
45
 
        umfpack_free_symbolic umfpack_get_numeric umfpack_get_lunz \
46
 
        umfpack_get_symbolic umfpack_get_determinant umfpack_numeric \
47
 
        umfpack_qsymbolic umfpack_report_control umfpack_report_info \
48
 
        umfpack_report_matrix umfpack_report_numeric umfpack_report_perm \
49
 
        umfpack_report_status umfpack_report_symbolic umfpack_report_triplet \
50
 
        umfpack_report_vector umfpack_solve umfpack_symbolic \
51
 
        umfpack_transpose umfpack_triplet_to_col umfpack_scale \
52
 
        umfpack_load_numeric umfpack_save_numeric \
53
 
        umfpack_load_symbolic umfpack_save_symbolic
54
 
 
55
 
# user-callable, created from umfpack_solve.c (umfpack_wsolve.h exists, though):
56
 
# with int/UF_long and real/complex versions:
57
 
UMFPACKW = umfpack_wsolve
58
 
 
59
 
USER = $(UMFPACKW) $(UMFPACK)
60
 
 
61
 
# user-callable, only one version for int/UF_long, real/complex, *.[ch] files:
62
 
GENERIC = umfpack_timer umfpack_tictoc umfpack_global
63
 
 
64
 
#-------------------------------------------------------------------------------
65
 
# include files:
66
 
#-------------------------------------------------------------------------------
67
 
 
68
 
INC = ../Include/umfpack.h ../../UFconfig/UFconfig.h \
69
 
        umf_config.h umf_version.h umf_internal.h umf_triplet.h \
70
 
        $(addsuffix .h,$(UMFCH)) \
71
 
        $(addsuffix .h,$(UMFINT)) \
72
 
        $(addprefix ../Include/, $(addsuffix .h,$(USER))) \
73
 
        $(addprefix ../Include/, $(addsuffix .h,$(GENERIC))) \
74
 
        ../../AMD/Include/amd_internal.h ../../AMD/Include/amd.h
75
 
 
76
 
#-------------------------------------------------------------------------------
77
 
# object files for each version
78
 
#-------------------------------------------------------------------------------
79
 
 
80
 
DI = $(addsuffix .o, $(subst umf_,umf_di_,$(UMF)) $(subst umfpack_,umfpack_di_,$(USER)))
81
 
DL = $(addsuffix .o, $(subst umf_,umf_dl_,$(UMF)) $(subst umfpack_,umfpack_dl_,$(USER)))
82
 
ZI = $(addsuffix .o, $(subst umf_,umf_zi_,$(UMF)) $(subst umfpack_,umfpack_zi_,$(USER)))
83
 
ZL = $(addsuffix .o, $(subst umf_,umf_zl_,$(UMF)) $(subst umfpack_,umfpack_zl_,$(USER)))
84
 
II = $(addsuffix .o, $(subst umf_,umf_i_,$(UMFINT)))
85
 
LL = $(addsuffix .o, $(subst umf_,umf_l_,$(UMFINT)))
86
 
GN = $(addsuffix .o, $(subst umfpack_,umfpack_gn_,$(GENERIC)))
87
 
 
88
 
#-------------------------------------------------------------------------------
89
 
# compile each int and UF_long routine (with no real/complex version)
90
 
#-------------------------------------------------------------------------------
91
 
 
92
 
umf_i_%.o: umf_%.c $(INC)
93
 
        $(C) -DDINT -c $< -o $@
94
 
 
95
 
umf_l_%.o: umf_%.c $(INC)
96
 
        $(C) -DDLONG -c $< -o $@
97
 
 
98
 
#-------------------------------------------------------------------------------
99
 
# compile each routine in the DI version
100
 
#-------------------------------------------------------------------------------
101
 
 
102
 
umf_di_%.o: umf_%.c $(INC)
103
 
        $(C) -DDINT -c $< -o $@
104
 
 
105
 
umf_di_%hsolve.o: umf_%tsolve.c $(INC)
106
 
        $(C) -DDINT -DCONJUGATE_SOLVE -c $< -o $@
107
 
 
108
 
umf_di_triplet_map_x.o: umf_triplet.c $(INC)
109
 
        $(C) -DDINT -DDO_MAP -DDO_VALUES -c $< -o $@
110
 
 
111
 
umf_di_triplet_map_nox.o: umf_triplet.c $(INC)
112
 
        $(C) -DDINT -DDO_MAP -c $< -o $@
113
 
 
114
 
umf_di_triplet_nomap_x.o: umf_triplet.c $(INC)
115
 
        $(C) -DDINT -DDO_VALUES -c $< -o $@
116
 
 
117
 
umf_di_triplet_nomap_nox.o: umf_triplet.c $(INC)
118
 
        $(C) -DDINT -c $< -o $@
119
 
 
120
 
umf_di_assemble_fixq.o: umf_assemble.c $(INC)
121
 
        $(C) -DDINT -DFIXQ -c $< -o $@
122
 
 
123
 
umf_di_store_lu_drop.o: umf_store_lu.c $(INC)
124
 
        $(C) -DDINT -DDROP -c $< -o $@
125
 
 
126
 
umfpack_di_wsolve.o: umfpack_solve.c $(INC)
127
 
        $(C) -DDINT -DWSOLVE -c $< -o $@
128
 
 
129
 
umfpack_di_%.o: umfpack_%.c $(INC)
130
 
        $(C) -DDINT -c $< -o $@
131
 
 
132
 
#-------------------------------------------------------------------------------
133
 
# compile each routine in the DL version
134
 
#-------------------------------------------------------------------------------
135
 
 
136
 
umf_dl_%.o: umf_%.c $(INC)
137
 
        $(C) -DDLONG -c $< -o $@
138
 
 
139
 
umf_dl_%hsolve.o: umf_%tsolve.c $(INC)
140
 
        $(C) -DDLONG -DCONJUGATE_SOLVE -c $< -o $@
141
 
 
142
 
umf_dl_triplet_map_x.o: umf_triplet.c $(INC)
143
 
        $(C) -DDLONG -DDO_MAP -DDO_VALUES -c $< -o $@
144
 
 
145
 
umf_dl_triplet_map_nox.o: umf_triplet.c $(INC)
146
 
        $(C) -DDLONG -DDO_MAP -c $< -o $@
147
 
 
148
 
umf_dl_triplet_nomap_x.o: umf_triplet.c $(INC)
149
 
        $(C) -DDLONG -DDO_VALUES -c $< -o $@
150
 
 
151
 
umf_dl_triplet_nomap_nox.o: umf_triplet.c $(INC)
152
 
        $(C) -DDLONG -c $< -o $@
153
 
 
154
 
umf_dl_assemble_fixq.o: umf_assemble.c $(INC)
155
 
        $(C) -DDLONG -DFIXQ -c $< -o $@
156
 
 
157
 
umf_dl_store_lu_drop.o: umf_store_lu.c $(INC)
158
 
        $(C) -DDLONG -DDROP -c $< -o $@
159
 
 
160
 
umfpack_dl_wsolve.o: umfpack_solve.c $(INC)
161
 
        $(C) -DDLONG -DWSOLVE -c $< -o $@
162
 
 
163
 
umfpack_dl_%.o: umfpack_%.c $(INC)
164
 
        $(C) -DDLONG -c $< -o $@
165
 
 
166
 
#-------------------------------------------------------------------------------
167
 
# compile each routine in the ZI version
168
 
#-------------------------------------------------------------------------------
169
 
 
170
 
umf_zi_%.o: umf_%.c $(INC)
171
 
        $(C) -DZINT -c $< -o $@
172
 
 
173
 
umf_zi_%hsolve.o: umf_%tsolve.c $(INC)
174
 
        $(C) -DZINT -DCONJUGATE_SOLVE -c $< -o $@
175
 
 
176
 
umf_zi_triplet_map_x.o: umf_triplet.c $(INC)
177
 
        $(C) -DZINT -DDO_MAP -DDO_VALUES -c $< -o $@
178
 
 
179
 
umf_zi_triplet_map_nox.o: umf_triplet.c $(INC)
180
 
        $(C) -DZINT -DDO_MAP -c $< -o $@
181
 
 
182
 
umf_zi_triplet_nomap_x.o: umf_triplet.c $(INC)
183
 
        $(C) -DZINT -DDO_VALUES -c $< -o $@
184
 
 
185
 
umf_zi_triplet_nomap_nox.o: umf_triplet.c $(INC)
186
 
        $(C) -DZINT -c $< -o $@
187
 
 
188
 
umf_zi_assemble_fixq.o: umf_assemble.c $(INC)
189
 
        $(C) -DZINT -DFIXQ -c $< -o $@
190
 
 
191
 
umf_zi_store_lu_drop.o: umf_store_lu.c $(INC)
192
 
        $(C) -DZINT -DDROP -c $< -o $@
193
 
 
194
 
umfpack_zi_wsolve.o: umfpack_solve.c $(INC)
195
 
        $(C) -DZINT -DWSOLVE -c $< -o $@
196
 
 
197
 
umfpack_zi_%.o: umfpack_%.c $(INC)
198
 
        $(C) -DZINT -c $< -o $@
199
 
 
200
 
#-------------------------------------------------------------------------------
201
 
# compile each routine in the ZL version
202
 
#-------------------------------------------------------------------------------
203
 
 
204
 
umf_zl_%.o: umf_%.c $(INC)
205
 
        $(C) -DZLONG -c $< -o $@
206
 
 
207
 
umf_zl_%hsolve.o: umf_%tsolve.c $(INC)
208
 
        $(C) -DZLONG -DCONJUGATE_SOLVE -c $< -o $@
209
 
 
210
 
umf_zl_triplet_map_x.o: umf_triplet.c $(INC)
211
 
        $(C) -DZLONG -DDO_MAP -DDO_VALUES -c $< -o $@
212
 
 
213
 
umf_zl_triplet_map_nox.o: umf_triplet.c $(INC)
214
 
        $(C) -DZLONG -DDO_MAP -c $< -o $@
215
 
 
216
 
umf_zl_triplet_nomap_x.o: umf_triplet.c $(INC)
217
 
        $(C) -DZLONG -DDO_VALUES -c $< -o $@
218
 
 
219
 
umf_zl_triplet_nomap_nox.o: umf_triplet.c $(INC)
220
 
        $(C) -DZLONG -c $< -o $@
221
 
 
222
 
umf_zl_assemble_fixq.o: umf_assemble.c $(INC)
223
 
        $(C) -DZLONG -DFIXQ -c $< -o $@
224
 
 
225
 
umf_zl_store_lu_drop.o: umf_store_lu.c $(INC)
226
 
        $(C) -DZLONG -DDROP -c $< -o $@
227
 
 
228
 
umfpack_zl_wsolve.o: umfpack_solve.c $(INC)
229
 
        $(C) -DZLONG -DWSOLVE -c $< -o $@
230
 
 
231
 
umfpack_zl_%.o: umfpack_%.c $(INC)
232
 
        $(C) -DZLONG -c $< -o $@
233
 
 
234
 
#-------------------------------------------------------------------------------
235
 
# Create the generic routines (GN) using a generic rule
236
 
#-------------------------------------------------------------------------------
237
 
 
238
 
umfpack_gn_%.o: umfpack_%.c $(INC)
239
 
        $(C) -c $< -o $@
240
 
 
241
 
#-------------------------------------------------------------------------------
242
 
# Create the libumfpack.a library
243
 
#-------------------------------------------------------------------------------
244
 
 
245
 
../Lib/libumfpack.a: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
246
 
        $(AR) ../Lib/libumfpack.a $^
247
 
        - $(RANLIB) ../Lib/libumfpack.a
248
 
 
249
 
#-------------------------------------------------------------------------------
250
 
# Remove all but the files in the original distribution
251
 
#-------------------------------------------------------------------------------
252
 
 
253
 
purge: clean
254
 
        - $(RM) ../Lib/libumfpack.a
255
 
 
256
 
clean:
257
 
        - $(RM) $(CLEAN)