Blame view

Makefile 2.19 KB
ec05a677c   daniau   git-svn-id: https...
1

19e954a45   cwaterkeyn   ChW : added modul...
2
  include $(BTREE)/Make.inc	#définir dans Make.inc une variable sophia, et prévoir F95FLAGS ad hoc pour compil et modules
ec05a677c   daniau   git-svn-id: https...
3

19e954a45   cwaterkeyn   ChW : added modul...
4
5
6
  ifdef SOPHIA
  objects = fvnlib_sophia.o
  else
ec05a677c   daniau   git-svn-id: https...
7
  objects = fvnlib.o
19e954a45   cwaterkeyn   ChW : added modul...
8
9
  endif
  modobjects = $(objects)
59ae88e06   daniau   git-svn-id: https...
10
  library = libfvn$(libext)
ec05a677c   daniau   git-svn-id: https...
11

b93026039   daniau   git-svn-id: https...
12
13
14
15
16
17
18
  all: sub $(library)
  
  sub:
  		( cd fvn_common && make && make install )
  		( cd fvn_linear && make && make install )
  		( cd fvn_integ && make && make install )
  		( cd fvn_interpol && make && make install )
19e954a45   cwaterkeyn   ChW : added modul...
19
  ifndef SOPHIA
b93026039   daniau   git-svn-id: https...
20
  		( cd fvn_sparse && make && make install )
19e954a45   cwaterkeyn   ChW : added modul...
21
  endif
b93026039   daniau   git-svn-id: https...
22
23
  		( cd fvn_fnlib && make && make install )
  		( cd fvn_misc && make && make install )
19e954a45   cwaterkeyn   ChW : added modul...
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
  submodules:
  #builds only modules local to fvn: go to sub-project, build sub-project modules, transfer them back here
  #if sub-project depend on another, it is built after, and its proper make searches modules here, not in the install tree
  		( cd fvn_common && make modules && mv *.mod .. )
  		( cd fvn_linear && make modules F95FLAGS="$(F95FLAGS) -M.." && mv *.mod .. )
  		( cd fvn_integ && make modules F95FLAGS="$(F95FLAGS) -M.." && mv *.mod .. )
  		( cd fvn_interpol && make modules F95FLAGS="$(F95FLAGS) -M.." && mv *.mod .. )
  ifndef SOPHIA
  		( cd fvn_sparse && make modules F95FLAGS="$(F95FLAGS) -M.." && mv *.mod .. )
  endif
  		( cd fvn_fnlib && make modules F95FLAGS="$(F95FLAGS) -M.." && mv *.mod .. )
  		( cd fvn_misc && make modules F95FLAGS="$(F95FLAGS) -M.." && mv *.mod .. )
  
  modules: submodules $(modobjects)
  		rm -f $(modobjects)
ec05a677c   daniau   git-svn-id: https...
39
40
  
  clean:
25c42432d   daniau   git-svn-id: https...
41
  		rm -f {*.o,*.oo,*.ipo,*.a,*.mod}
b93026039   daniau   git-svn-id: https...
42
43
44
45
46
47
48
  		( cd fvn_common && make clean )
  		( cd fvn_linear && make clean )
  		( cd fvn_integ && make clean )
  		( cd fvn_interpol && make clean )
  		( cd fvn_sparse && make clean )
  		( cd fvn_fnlib && make clean )
  		( cd fvn_misc && make clean)
ec05a677c   daniau   git-svn-id: https...
49
50
  
  install:
38581db0c   daniau   git-svn-id: https...
51
  		cp fvn.mod $(BTREE)/modules
59ae88e06   daniau   git-svn-id: https...
52
  		cp $(library) $(BTREE)/lib
422234dc3   daniau   git-svn-id: https...
53

ec05a677c   daniau   git-svn-id: https...
54
  %.o: %.f90
59ae88e06   daniau   git-svn-id: https...
55
  		$(F95) $(F95FLAGS) -c $< -o $@
ec05a677c   daniau   git-svn-id: https...
56

19e954a45   cwaterkeyn   ChW : added modul...
57
58
  # cette ligne est elle utile et nécessaire?
  #$(objects):fvnlib.f90
b93026039   daniau   git-svn-id: https...
59
60
  
  $(library): $(objects) sub
ec05a677c   daniau   git-svn-id: https...
61
  		$(AR) rcu $@ $(objects)
b93026039   daniau   git-svn-id: https...
62
63
64
65
66
67
68
69
70
  		$(AR) ru $@ fvn_common/*.o
  		$(AR) ru $@ fvn_linear/*.o
  		$(AR) ru $@ fvn_integ/*.o
  		$(AR) ru $@ fvn_interpol/*.o
  		$(AR) ru $@ fvn_sparse/*.o
  		$(AR) ru $@ fvn_sparse/AMD/Lib/*.o
  		$(AR) ru $@ fvn_sparse/UMFPACK/Lib/*.o
  		$(AR) ru $@ fvn_fnlib/*.o
  		$(AR) ru $@ fvn_misc/*.o
59ae88e06   daniau   git-svn-id: https...
71
  		$(RANLIB) $@
ec05a677c   daniau   git-svn-id: https...
72