File: Makefile

package info (click to toggle)
mumps 5.1.2-5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 15,704 kB
  • sloc: fortran: 310,672; ansic: 12,364; xml: 521; makefile: 469
file content (313 lines) | stat: -rw-r--r-- 10,759 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
#
#  This file is part of MUMPS 5.1.2, released
#  on Mon Oct  2 07:37:01 UTC 2017
#
#
#  This file is part of MUMPS 5.0beta, built on Tue Jan 10 16:43:31 UTC 2012
#
topdir = ..
libdir = $(topdir)/lib

default:	d

.PHONY: default s d c z mumps_lib clean

s:
	$(MAKE) ARITH=s mumps_lib
d:
	$(MAKE) ARITH=d mumps_lib
c:
	$(MAKE) ARITH=c mumps_lib
z:
	$(MAKE) ARITH=z mumps_lib

include $(topdir)/Makefile.inc

mumps_lib:    $(libdir)/libmumps_common$(PLAT).a \
              $(libdir)/libmumps_common$(PLAT).so \
              $(libdir)/lib$(ARITH)mumps$(PLAT).a \
              $(libdir)/lib$(ARITH)mumps$(PLAT).so

OBJS_COMMON_MOD = \
        lr_common.o \
        ana_omp_m.o\
        ana_orderings_wrappers_m.o\
	mumps_memory_mod.o\
        mumps_static_mapping.o\
        mumps_sol_es.o\
	fac_future_niv2_mod.o\
        mumps_comm_ibcast.o\
	mumps_ooc_common.o\
        double_linked_list.o\
        fac_asm_build_sort_index_m.o\
        fac_asm_build_sort_index_ELT_m.o\
        omp_tps_common_m.o\
        mumps_l0_omp_m.o\
        front_data_mgt_m.o\
        fac_maprow_data_m.o\
        fac_descband_data_m.o\
        fac_ibct_data_m.o

OBJS_COMMON_OTHER = \
        ana_orderings.o\
        ana_AMDMF.o\
        bcast_errors.o\
        estim_flops.o\
        mumps_type_size.o \
        mumps_type2_blocking.o \
        mumps_version.o \
        tools_common.o \
        mumps_print_defined.o \
        mumps_common.o\
        mumps_pord.o\
        mumps_metis.o\
        mumps_metis64.o\
        mumps_metis_int.o\
        mumps_scotch.o\
        mumps_scotch64.o\
        mumps_scotch_int.o\
        mumps_size.o\
        mumps_io.o\
        mumps_io_basic.o\
        mumps_io_thread.o\
        mumps_io_err.o\
        ana_set_ordering.o\
        mumps_numa.o \
        mumps_thread.o \
	mumps_save_restore_C.o

OBJS_MOD =   \
        $(ARITH)ana_aux_par.o \
        $(ARITH)ana_lr.o\
        $(ARITH)fac_asm_master_m.o\
        $(ARITH)fac_asm_master_ELT_m.o\
        $(ARITH)omp_tps_m.o\
        $(ARITH)mumps_comm_buffer.o\
        $(ARITH)mumps_load.o\
        $(ARITH)mumps_lr_data_m.o\
        $(ARITH)mumps_ooc_buffer.o\
        $(ARITH)mumps_ooc.o\
        $(ARITH)mumps_struc_def.o\
        $(ARITH)static_ptr_m.o\
        $(ARITH)lr_core.o\
	$(ARITH)lr_type.o\
	$(ARITH)lr_stats.o\
        $(ARITH)fac_lr.o\
        $(ARITH)fac_omp_m.o\
        $(ARITH)fac_par_m.o\
        $(ARITH)fac_front_LU_type1.o\
        $(ARITH)fac_front_LU_type2.o\
        $(ARITH)fac_front_LDLT_type1.o\
        $(ARITH)fac_front_LDLT_type2.o\
        $(ARITH)fac_front_aux.o\
        $(ARITH)fac_front_type2_aux.o\
	$(ARITH)mumps_save_restore_files.o\
	$(ARITH)mumps_save_restore.o

OBJS_OTHER = \
        $(ARITH)ini_driver.o\
        $(ARITH)ana_driver.o\
        $(ARITH)fac_driver.o\
        $(ARITH)sol_driver.o\
        $(ARITH)end_driver.o\
        $(ARITH)ana_aux_ELT.o\
        $(ARITH)ana_aux.o\
        $(ARITH)ana_dist_m.o\
        $(ARITH)ana_LDLT_preprocess.o\
        $(ARITH)ana_reordertree.o\
        $(ARITH)arrowheads.o\
        $(ARITH)bcast_int.o\
        $(ARITH)fac_asm_ELT.o\
        $(ARITH)fac_asm.o\
        $(ARITH)fac_b.o\
        $(ARITH)fac_distrib_distentry.o\
        $(ARITH)fac_distrib_ELT.o\
        $(ARITH)fac_lastrtnelind.o\
        $(ARITH)fac_mem_alloc_cb.o\
        $(ARITH)fac_mem_compress_cb.o\
        $(ARITH)fac_mem_free_block_cb.o\
        $(ARITH)fac_mem_stack_aux.o\
        $(ARITH)fac_mem_stack.o\
        $(ARITH)fac_process_band.o\
        $(ARITH)fac_process_blfac_slave.o\
        $(ARITH)fac_process_blocfacto_LDLT.o\
        $(ARITH)fac_process_blocfacto.o\
        $(ARITH)fac_process_bf.o\
        $(ARITH)fac_process_end_facto_slave.o\
        $(ARITH)fac_process_contrib_type1.o\
        $(ARITH)fac_process_contrib_type2.o\
        $(ARITH)fac_process_contrib_type3.o\
        $(ARITH)fac_process_maprow.o\
        $(ARITH)fac_process_master2.o\
        $(ARITH)fac_process_message.o\
        $(ARITH)fac_process_root2slave.o\
        $(ARITH)fac_process_root2son.o\
        $(ARITH)fac_process_rtnelind.o\
        $(ARITH)fac_root_parallel.o\
        $(ARITH)fac_scalings.o\
        $(ARITH)fac_determinant.o\
        $(ARITH)fac_scalings_simScaleAbs.o\
        $(ARITH)fac_scalings_simScale_util.o\
        $(ARITH)fac_sol_pool.o\
        $(ARITH)fac_type3_symmetrize.o\
        $(ARITH)ini_defaults.o\
        $(ARITH)mumps_c.o\
        $(ARITH)mumps_driver.o\
        $(ARITH)mumps_f77.o\
        $(ARITH)mumps_iXamax.o\
        $(ARITH)ana_mtrans.o\
        $(ARITH)ooc_panel_piv.o\
        $(ARITH)rank_revealing.o\
        $(ARITH)sol_aux.o\
        $(ARITH)sol_bwd_aux.o\
        $(ARITH)sol_bwd.o\
        $(ARITH)sol_c.o\
        $(ARITH)sol_fwd_aux.o\
        $(ARITH)sol_fwd.o\
        $(ARITH)sol_matvec.o\
        $(ARITH)sol_root_parallel.o\
        $(ARITH)tools.o\
        $(ARITH)type3_root.o

$(libdir)/libmumps_common$(PLAT).a:      $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER)
	$(AR) $@ $?
	$(RANLIB) $@

$(libdir)/libmumps_common$(PLAT).so:      $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER)
	$(FC) -shared $^ -Wl,-soname,libmumps_common$(PLAT)-5.1.2.so -L$(libdir) $(LORDERINGS) -lpthread $(MPIFLIB) $(MPICLIB) -o $(libdir)/libmumps_common$(PLAT)-5.1.2.so -Wl,-z,defs
	ln -s libmumps_common$(PLAT)-5.1.2.so $@

$(libdir)/lib$(ARITH)mumps$(PLAT).a:    $(OBJS_MOD) $(OBJS_OTHER)
	$(AR) $@ $?
	$(RANLIB) $@

$(libdir)/lib$(ARITH)mumps$(PLAT).so:    $(OBJS_MOD) $(OBJS_OTHER)
	$(FC) -shared $^ -Wl,-soname,lib$(ARITH)mumps$(PLAT)-5.1.2.so -L$(libdir) -lmumps_common$(PLAT) $(LORDERINGS) $(MPIFLIB) -lblas $(SCALAP) $(LAPACK) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-5.1.2.so -Wl,-z,defs
	ln -s lib$(ARITH)mumps$(PLAT)-5.1.2.so $@

# Dependencies between modules:
$(ARITH)mumps_load.o:		$(ARITH)mumps_comm_buffer.o \
				$(ARITH)mumps_struc_def.o \
				fac_future_niv2_mod.o
$(ARITH)mumps_ooc.o: 		$(ARITH)mumps_struc_def.o \
				$(ARITH)mumps_ooc_buffer.o \
				mumps_ooc_common.o
$(ARITH)mumps_ooc_buffer.o: 	mumps_ooc_common.o
$(ARITH)ana_aux_par.o:          $(ARITH)mumps_struc_def.o \
				mumps_memory_mod.o \
				ana_orderings_wrappers_m.o
$(ARITH)mumps_comm_buffer.o:	mumps_comm_ibcast.o \
                              $(ARITH)mumps_lr_data_m.o
$(ARITH)fac_asm_master_m.o:	omp_tps_common_m.o \
                                fac_ibct_data_m.o \
				$(ARITH)omp_tps_m.o \
				fac_asm_build_sort_index_m.o \
				$(ARITH)mumps_comm_buffer.o \
				$(ARITH)mumps_load.o
$(ARITH)fac_lastrtnelind.o:     $(ARITH)mumps_load.o
$(ARITH)fac_asm_master_ELT_m.o:	omp_tps_common_m.o \
                                fac_ibct_data_m.o \
				$(ARITH)omp_tps_m.o \
				fac_asm_build_sort_index_ELT_m.o \
				$(ARITH)mumps_comm_buffer.o \
				$(ARITH)mumps_load.o
$(ARITH)fac_omp_m.o:		$(ARITH)fac_asm_master_m.o\
				$(ARITH)fac_asm_master_ELT_m.o\
				$(ARITH)fac_front_LU_type1.o\
				$(ARITH)fac_front_LDLT_type1.o\
				$(ARITH)mumps_load.o\
				$(ARITH)omp_tps_m.o\
				omp_tps_common_m.o\
				mumps_l0_omp_m.o
$(ARITH)lr_core.o:              $(ARITH)lr_type.o\
				$(ARITH)mumps_lr_data_m.o\
				$(ARITH)lr_stats.o lr_common.o
$(ARITH)lr_stats.o:             $(ARITH)lr_type.o
$(ARITH)ana_lr.o:		$(ARITH)lr_core.o lr_common.o\
                                $(ARITH)lr_stats.o\
				ana_orderings_wrappers_m.o
$(ARITH)mumps_lr_data_m.o:	$(ARITH)lr_type.o\
                                $(ARITH)mumps_struc_def.o
$(ARITH)fac_lr.o:		$(ARITH)lr_core.o\
				$(ARITH)lr_type.o\
				$(ARITH)lr_stats.o\
                                $(ARITH)ana_lr.o
$(ARITH)fac_par_m.o:            $(ARITH)mumps_load.o\
				$(ARITH)mumps_ooc.o\
				$(ARITH)fac_lr.o\
				$(ARITH)fac_asm_master_m.o\
				$(ARITH)fac_asm_master_ELT_m.o\
                                $(ARITH)omp_tps_m.o\
                                $(ARITH)fac_front_LU_type1.o\
                                $(ARITH)fac_front_LU_type2.o\
                                $(ARITH)fac_front_LDLT_type1.o\
                                $(ARITH)fac_front_LDLT_type2.o\
                                omp_tps_common_m.o\
				mumps_l0_omp_m.o

$(ARITH)fac_front_aux.o     : $(ARITH)mumps_comm_buffer.o\
                                 $(ARITH)mumps_load.o\
                                 $(ARITH)mumps_ooc.o\
                                 mumps_ooc_common.o\
                                 mumps_l0_omp_m.o\
                                 mumps_comm_ibcast.o

$(ARITH)fac_front_type2_aux.o : $(ARITH)mumps_ooc.o\
                                $(ARITH)fac_front_aux.o

$(ARITH)fac_front_LU_type1.o   : $(ARITH)fac_front_aux.o\
                                 $(ARITH)mumps_ooc.o\
                                 $(ARITH)lr_core.o\
				 $(ARITH)lr_type.o\
				 $(ARITH)lr_stats.o\
                                 $(ARITH)ana_lr.o\
                                 $(ARITH)fac_lr.o
$(ARITH)fac_front_LU_type2.o   : $(ARITH)fac_front_aux.o\
                                 $(ARITH)fac_front_type2_aux.o\
                                 $(ARITH)mumps_ooc.o\
                                 $(ARITH)lr_core.o\
				 $(ARITH)lr_type.o\
				 $(ARITH)lr_stats.o\
                                 $(ARITH)ana_lr.o\
                                 $(ARITH)fac_lr.o\
                                 fac_ibct_data_m.o

$(ARITH)fac_front_LDLT_type1.o : $(ARITH)fac_front_aux.o\
                                 $(ARITH)mumps_ooc.o

$(ARITH)fac_front_LDLT_type2.o : $(ARITH)fac_front_aux.o\
                                 $(ARITH)fac_front_type2_aux.o\
                                 $(ARITH)mumps_ooc.o\
                                 $(ARITH)mumps_load.o\
                                 fac_ibct_data_m.o

$(ARITH)mumps_save_restore_files.o : $(ARITH)mumps_struc_def.o
$(ARITH)mumps_save_restore.o       : $(ARITH)mumps_struc_def.o $(ARITH)mumps_save_restore_files.o $(ARITH)mumps_ooc.o

mumps_static_mapping.o:         lr_common.o
fac_maprow_data_m.o:            front_data_mgt_m.o
fac_descband_data_m.o:          front_data_mgt_m.o
fac_ibct_data_m.o  :            front_data_mgt_m.o
ana_omp_m.o:              	double_linked_list.o
mumps_comm_ibcast.o:		fac_future_niv2_mod.o
fac_asm_build_sort_index_m.o:	omp_tps_common_m.o
fac_asm_build_sort_index_ELT_m.o:omp_tps_common_m.o


# Compile modules before the rest
$(OBJS_COMMON_OTHER):$(OBJS_COMMON_MOD)
$(OBJS_OTHER):$(OBJS_COMMON_MOD) $(OBJS_MOD)

.SUFFIXES: .c .F .o
.F.o:
	$(FC) $(OPTF) $(INCS) $(IORDERINGSF) $(ORDERINGSF) -I. -I../include -fPIC -c $*.F $(OUTF)$*.o
.c.o:
	$(CC) $(OPTC) $(INCS) -I../include $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -fPIC -c $*.c $(OUTC)$*.o

$(ARITH)mumps_c.o:	mumps_c.c
	$(CC) $(OPTC) $(INCS) $(CDEFS) -DMUMPS_ARITH=MUMPS_ARITH_$(ARITH) \
	      $(IORDERINGSC) $(ORDERINGSC) -I../include -fPIC -c mumps_c.c $(OUTC)$@


clean:
	$(RM) *.o *.mod