Blame view
Makefile
2.19 KB
ec05a677c git-svn-id: https... |
1 |
|
19e954a45 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 git-svn-id: https... |
3 |
|
19e954a45 ChW : added modul... |
4 5 6 |
ifdef SOPHIA objects = fvnlib_sophia.o else |
ec05a677c git-svn-id: https... |
7 |
objects = fvnlib.o |
19e954a45 ChW : added modul... |
8 9 |
endif modobjects = $(objects) |
59ae88e06 git-svn-id: https... |
10 |
library = libfvn$(libext) |
ec05a677c git-svn-id: https... |
11 |
|
b93026039 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 ChW : added modul... |
19 |
ifndef SOPHIA |
b93026039 git-svn-id: https... |
20 |
( cd fvn_sparse && make && make install ) |
19e954a45 ChW : added modul... |
21 |
endif |
b93026039 git-svn-id: https... |
22 23 |
( cd fvn_fnlib && make && make install ) ( cd fvn_misc && make && make install ) |
19e954a45 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 git-svn-id: https... |
39 40 |
clean: |
25c42432d git-svn-id: https... |
41 |
rm -f {*.o,*.oo,*.ipo,*.a,*.mod} |
b93026039 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 git-svn-id: https... |
49 50 |
install: |
38581db0c git-svn-id: https... |
51 |
cp fvn.mod $(BTREE)/modules |
59ae88e06 git-svn-id: https... |
52 |
cp $(library) $(BTREE)/lib |
422234dc3 git-svn-id: https... |
53 |
|
ec05a677c git-svn-id: https... |
54 |
%.o: %.f90 |
59ae88e06 git-svn-id: https... |
55 |
$(F95) $(F95FLAGS) -c $< -o $@ |
ec05a677c git-svn-id: https... |
56 |
|
19e954a45 ChW : added modul... |
57 58 |
# cette ligne est elle utile et nécessaire? #$(objects):fvnlib.f90 |
b93026039 git-svn-id: https... |
59 60 |
$(library): $(objects) sub |
ec05a677c git-svn-id: https... |
61 |
$(AR) rcu $@ $(objects) |
b93026039 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 git-svn-id: https... |
71 |
$(RANLIB) $@ |
ec05a677c git-svn-id: https... |
72 |