Makefile
1.68 KB
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
include $(BTREE)/Make.inc
objects = fvnlib.o
library = libfvn$(libext)
all: umfpack fnlib $(library)
clean:
rm -f {*.o,*.oo,*.ipo,*.a,*.mod}
( cd fvn_sparse ; rm -f {*.o,*.oo,*.ipo,*.a,*.mod} )
( cd fvn_sparse/AMD ; make clean )
( cd fvn_sparse/UMFPACK ; make clean )
( cd fvn_fnlib ; make clean )
( rm -f fvn_sparse/AMD/Lib/libamd.a )
( rm -f fvn_sparse/UMFPACK/Lib/libumfpack.a )
install:
cp fvn.mod $(BTREE)/modules
cp $(library) $(BTREE)/lib
( cd fvn_fnlib ; make install )
( cp fvn_sparse/UMFPACK/Lib/libumfpack.a $(BTREE)/lib/libumfpack.lib )
( cp fvn_sparse/AMD/Lib/libamd.a $(BTREE)/lib/libamd.lib )
%.o: %.f90
$(F95) $(F95FLAGS) -c $< -o $@
$(objects):fvnlib.f90 fvn_quadpack/dqk15_2d_inner.f fvn_quadpack/dqk31_2d_outer.f \
fvn_quadpack/d1mach.f fvn_quadpack/dqk31_2d_inner.f fvn_quadpack/dqage.f \
fvn_quadpack/dqk15.f fvn_quadpack/dqk21.f fvn_quadpack/dqk31.f fvn_quadpack/dqk41.f \
fvn_quadpack/dqk51.f fvn_quadpack/dqk61.f fvn_quadpack/dqk41_2d_outer.f \
fvn_quadpack/dqk41_2d_inner.f fvn_quadpack/dqag_2d_outer.f fvn_quadpack/dqag_2d_inner.f \
fvn_quadpack/dqpsrt.f fvn_quadpack/dqag.f fvn_quadpack/dqage_2d_outer.f \
fvn_quadpack/dqage_2d_inner.f fvn_quadpack/dqk51_2d_outer.f fvn_quadpack/dqk51_2d_inner.f \
fvn_quadpack/dqk61_2d_outer.f fvn_quadpack/dqk21_2d_outer.f fvn_quadpack/dqk61_2d_inner.f \
fvn_quadpack/dqk21_2d_inner.f fvn_quadpack/dqk15_2d_outer.f
$(library): $(objects)
$(AR) rcu $@ $(objects)
$(AR) ru $@ fvn_sparse/umfpack_wrapper.o
$(RANLIB) $@
umfpack:
( cd fvn_sparse/UMFPACK ; make )
( cd fvn_sparse ; $(CC) $(CFLAGS) -c umfpack_wrapper.c -IUMFPACK/Include -IAMD/Include -IUFconfig -o umfpack_wrapper.o)
fnlib:
( cd fvn_fnlib ; make )