~logan/ubuntu/trusty/suitesparse/4.2.1-3ubuntu1

« back to all changes in this revision

Viewing changes to UMFPACK/Lib/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../Source -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
        ../Source/umf_config.h ../Source/umf_version.h \
 
70
        ../Source/umf_internal.h ../Source/umf_triplet.h \
 
71
        $(addprefix ../Source/,  $(addsuffix .h,$(UMFCH))) \
 
72
        $(addprefix ../Source/,  $(addsuffix .h,$(UMFINT))) \
 
73
        $(addprefix ../Include/, $(addsuffix .h,$(USER))) \
 
74
        $(addprefix ../Include/, $(addsuffix .h,$(GENERIC))) \
 
75
        ../../AMD/Include/amd_internal.h ../../AMD/Include/amd.h
 
76
 
 
77
#-------------------------------------------------------------------------------
 
78
# object files for each version
 
79
#-------------------------------------------------------------------------------
 
80
 
 
81
DI = $(addsuffix .o, $(subst umf_,umf_di_,$(UMF)) $(subst umfpack_,umfpack_di_,$(USER)))
 
82
DL = $(addsuffix .o, $(subst umf_,umf_dl_,$(UMF)) $(subst umfpack_,umfpack_dl_,$(USER)))
 
83
ZI = $(addsuffix .o, $(subst umf_,umf_zi_,$(UMF)) $(subst umfpack_,umfpack_zi_,$(USER)))
 
84
ZL = $(addsuffix .o, $(subst umf_,umf_zl_,$(UMF)) $(subst umfpack_,umfpack_zl_,$(USER)))
 
85
II = $(addsuffix .o, $(subst umf_,umf_i_,$(UMFINT)))
 
86
LL = $(addsuffix .o, $(subst umf_,umf_l_,$(UMFINT)))
 
87
GN = $(addsuffix .o, $(subst umfpack_,umfpack_gn_,$(GENERIC)))
 
88
 
 
89
#-------------------------------------------------------------------------------
 
90
# compile each int and UF_long routine (with no real/complex version)
 
91
#-------------------------------------------------------------------------------
 
92
 
 
93
umf_i_%.o: ../Source/umf_%.c $(INC)
 
94
        $(C) -DDINT -c $< -o $@
 
95
 
 
96
umf_l_%.o: ../Source/umf_%.c $(INC)
 
97
        $(C) -DDLONG -c $< -o $@
 
98
 
 
99
#-------------------------------------------------------------------------------
 
100
# compile each routine in the DI version
 
101
#-------------------------------------------------------------------------------
 
102
 
 
103
umf_di_%.o: ../Source/umf_%.c $(INC)
 
104
        $(C) -DDINT -c $< -o $@
 
105
 
 
106
umf_di_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
 
107
        $(C) -DDINT -DCONJUGATE_SOLVE -c $< -o $@
 
108
 
 
109
umf_di_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
 
110
        $(C) -DDINT -DDO_MAP -DDO_VALUES -c $< -o $@
 
111
 
 
112
umf_di_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
 
113
        $(C) -DDINT -DDO_MAP -c $< -o $@
 
114
 
 
115
umf_di_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
 
116
        $(C) -DDINT -DDO_VALUES -c $< -o $@
 
117
 
 
118
umf_di_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
 
119
        $(C) -DDINT -c $< -o $@
 
120
 
 
121
umf_di_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
 
122
        $(C) -DDINT -DFIXQ -c $< -o $@
 
123
 
 
124
umf_di_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
 
125
        $(C) -DDINT -DDROP -c $< -o $@
 
126
 
 
127
umfpack_di_wsolve.o: ../Source/umfpack_solve.c $(INC)
 
128
        $(C) -DDINT -DWSOLVE -c $< -o $@
 
129
 
 
130
umfpack_di_%.o: ../Source/umfpack_%.c $(INC)
 
131
        $(C) -DDINT -c $< -o $@
 
132
 
 
133
#-------------------------------------------------------------------------------
 
134
# compile each routine in the DL version
 
135
#-------------------------------------------------------------------------------
 
136
 
 
137
umf_dl_%.o: ../Source/umf_%.c $(INC)
 
138
        $(C) -DDLONG -c $< -o $@
 
139
 
 
140
umf_dl_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
 
141
        $(C) -DDLONG -DCONJUGATE_SOLVE -c $< -o $@
 
142
 
 
143
umf_dl_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
 
144
        $(C) -DDLONG -DDO_MAP -DDO_VALUES -c $< -o $@
 
145
 
 
146
umf_dl_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
 
147
        $(C) -DDLONG -DDO_MAP -c $< -o $@
 
148
 
 
149
umf_dl_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
 
150
        $(C) -DDLONG -DDO_VALUES -c $< -o $@
 
151
 
 
152
umf_dl_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
 
153
        $(C) -DDLONG -c $< -o $@
 
154
 
 
155
umf_dl_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
 
156
        $(C) -DDLONG -DFIXQ -c $< -o $@
 
157
 
 
158
umf_dl_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
 
159
        $(C) -DDLONG -DDROP -c $< -o $@
 
160
 
 
161
umfpack_dl_wsolve.o: ../Source/umfpack_solve.c $(INC)
 
162
        $(C) -DDLONG -DWSOLVE -c $< -o $@
 
163
 
 
164
umfpack_dl_%.o: ../Source/umfpack_%.c $(INC)
 
165
        $(C) -DDLONG -c $< -o $@
 
166
 
 
167
#-------------------------------------------------------------------------------
 
168
# compile each routine in the ZI version
 
169
#-------------------------------------------------------------------------------
 
170
 
 
171
umf_zi_%.o: ../Source/umf_%.c $(INC)
 
172
        $(C) -DZINT -c $< -o $@
 
173
 
 
174
umf_zi_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
 
175
        $(C) -DZINT -DCONJUGATE_SOLVE -c $< -o $@
 
176
 
 
177
umf_zi_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
 
178
        $(C) -DZINT -DDO_MAP -DDO_VALUES -c $< -o $@
 
179
 
 
180
umf_zi_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
 
181
        $(C) -DZINT -DDO_MAP -c $< -o $@
 
182
 
 
183
umf_zi_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
 
184
        $(C) -DZINT -DDO_VALUES -c $< -o $@
 
185
 
 
186
umf_zi_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
 
187
        $(C) -DZINT -c $< -o $@
 
188
 
 
189
umf_zi_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
 
190
        $(C) -DZINT -DFIXQ -c $< -o $@
 
191
 
 
192
umf_zi_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
 
193
        $(C) -DZINT -DDROP -c $< -o $@
 
194
 
 
195
umfpack_zi_wsolve.o: ../Source/umfpack_solve.c $(INC)
 
196
        $(C) -DZINT -DWSOLVE -c $< -o $@
 
197
 
 
198
umfpack_zi_%.o: ../Source/umfpack_%.c $(INC)
 
199
        $(C) -DZINT -c $< -o $@
 
200
 
 
201
#-------------------------------------------------------------------------------
 
202
# compile each routine in the ZL version
 
203
#-------------------------------------------------------------------------------
 
204
 
 
205
umf_zl_%.o: ../Source/umf_%.c $(INC)
 
206
        $(C) -DZLONG -c $< -o $@
 
207
 
 
208
umf_zl_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
 
209
        $(C) -DZLONG -DCONJUGATE_SOLVE -c $< -o $@
 
210
 
 
211
umf_zl_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
 
212
        $(C) -DZLONG -DDO_MAP -DDO_VALUES -c $< -o $@
 
213
 
 
214
umf_zl_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
 
215
        $(C) -DZLONG -DDO_MAP -c $< -o $@
 
216
 
 
217
umf_zl_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
 
218
        $(C) -DZLONG -DDO_VALUES -c $< -o $@
 
219
 
 
220
umf_zl_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
 
221
        $(C) -DZLONG -c $< -o $@
 
222
 
 
223
umf_zl_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
 
224
        $(C) -DZLONG -DFIXQ -c $< -o $@
 
225
 
 
226
umf_zl_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
 
227
        $(C) -DZLONG -DDROP -c $< -o $@
 
228
 
 
229
umfpack_zl_wsolve.o: ../Source/umfpack_solve.c $(INC)
 
230
        $(C) -DZLONG -DWSOLVE -c $< -o $@
 
231
 
 
232
umfpack_zl_%.o: ../Source/umfpack_%.c $(INC)
 
233
        $(C) -DZLONG -c $< -o $@
 
234
 
 
235
#-------------------------------------------------------------------------------
 
236
# Create the generic routines (GN) using a generic rule
 
237
#-------------------------------------------------------------------------------
 
238
 
 
239
umfpack_gn_%.o: ../Source/umfpack_%.c $(INC)
 
240
        $(C) -c $< -o $@
 
241
 
 
242
#-------------------------------------------------------------------------------
 
243
# Create the ../Lib/libumfpack.a library
 
244
#-------------------------------------------------------------------------------
 
245
 
 
246
../Lib/libumfpack.a: $(II) $(LL) $(GN) $(DI) $(DL) $(ZI) $(ZL)
 
247
        $(AR) ../Lib/libumfpack.a $^
 
248
        - $(RANLIB) ../Lib/libumfpack.a
 
249
 
 
250
#-------------------------------------------------------------------------------
 
251
# Remove all but the files in the original distribution
 
252
#-------------------------------------------------------------------------------
 
253
 
 
254
purge: clean
 
255
        - $(RM) ../Lib/libumfpack.a
 
256
 
 
257
clean:
 
258
        - $(RM) $(CLEAN)