1 | #- Creation des elements relatifs a AGRIF (lib, config) |
---|
2 | #--------------------------------------------------------------------- |
---|
3 | SHELL = /bin/sh |
---|
4 | #--------------------------------------------------------------------- |
---|
5 | |
---|
6 | DIR_OBJS = AGRIF_OBJS |
---|
7 | DIR_FILES = AGRIF_FILES |
---|
8 | DIR_YOURFILES = AGRIF_YOURFILES |
---|
9 | |
---|
10 | FILENAMES = modprocs modtypes modseq modmask modinterpbasic modupdatebasic modgrids \ |
---|
11 | modarrays modlinktomodel modmpp modinit moduserfunctions moduservariables \ |
---|
12 | modupdate modinitvars modsauv modcluster modinterp modbc moduserinterpolation \ |
---|
13 | modbcfunction moduserhierarchy moduserupdate modutil |
---|
14 | |
---|
15 | |
---|
16 | OBJS=$(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(FILENAMES))) |
---|
17 | FILES=$(addsuffix .F90,$(addprefix $(DIR_FILES)/,$(FILENAMES))) |
---|
18 | |
---|
19 | SOURCEFILES = FILES |
---|
20 | FORTRANCOMPILER = $(FC) |
---|
21 | |
---|
22 | |
---|
23 | |
---|
24 | |
---|
25 | all: conv libagrif.a |
---|
26 | @echo |
---|
27 | @echo =================================================== |
---|
28 | @echo AGRIF is OK |
---|
29 | @echo =================================================== |
---|
30 | @echo |
---|
31 | |
---|
32 | .PHONY: conv |
---|
33 | |
---|
34 | conv: |
---|
35 | @echo |
---|
36 | @echo =================================================== |
---|
37 | @echo Compile conv... |
---|
38 | @echo =================================================== |
---|
39 | $(MAKE) -C LIB conv |
---|
40 | mv -f LIB/conv . |
---|
41 | |
---|
42 | libagrif.a : prep_lib $(OBJS) |
---|
43 | $(AR) -r $@ $(OBJS) |
---|
44 | ranlib $@ |
---|
45 | |
---|
46 | prep_lib: |
---|
47 | @echo |
---|
48 | @echo =================================================== |
---|
49 | @echo Compile Agrif library... |
---|
50 | @echo =================================================== |
---|
51 | mkdir -p $(DIR_YOURFILES) |
---|
52 | mkdir -p $(DIR_OBJS) |
---|
53 | |
---|
54 | $(DIR_OBJS)/%.o: $(DIR_FILES)/%.F90 |
---|
55 | $(RM) $(DIR_YOURFILES)/$(*F).F90 |
---|
56 | $(CPP) $(CPPFLAGS) $(DIR_FILES)/$(*F).F90 > $(DIR_YOURFILES)/$(*F).F90 |
---|
57 | $(FC) $(FFLAGS) -I.. -c $(DIR_YOURFILES)/$(*F).F90 -o $(DIR_OBJS)/$(*F).o |
---|
58 | |
---|
59 | |
---|
60 | $(DIR_OBJS)/modutil.o agrif_util.mod: $(DIR_OBJS)/moduserhierarchy.o \ |
---|
61 | $(DIR_OBJS)/moduservariables.o \ |
---|
62 | $(DIR_OBJS)/moduserfunctions.o \ |
---|
63 | $(DIR_OBJS)/moduserinterpolation.o \ |
---|
64 | $(DIR_OBJS)/moduserupdate.o |
---|
65 | |
---|
66 | $(DIR_OBJS)/moduserupdate.o agrif_user_update.mod: $(DIR_OBJS)/modupdate.o \ |
---|
67 | $(DIR_OBJS)/modsauv.o |
---|
68 | |
---|
69 | $(DIR_OBJS)/moduserhierarchy.o agrif_user_hierarchy.mod: $(DIR_OBJS)/modcluster.o \ |
---|
70 | $(DIR_OBJS)/modinit.o \ |
---|
71 | $(DIR_OBJS)/moduserfunctions.o |
---|
72 | |
---|
73 | $(DIR_OBJS)/modbcfunction.o agrif_bcfunction.mod: $(DIR_OBJS)/moduservariables.o |
---|
74 | |
---|
75 | $(DIR_OBJS)/moduserinterpolation.o agrif_user_interpolation.mod: $(DIR_OBJS)/modbc.o \ |
---|
76 | $(DIR_OBJS)/moduservariables.o |
---|
77 | |
---|
78 | $(DIR_OBJS)/modbc.o agrif_boundary.mod: $(DIR_OBJS)/modinterp.o \ |
---|
79 | $(DIR_OBJS)/moduserfunctions.o |
---|
80 | |
---|
81 | $(DIR_OBJS)/modinterp.o agrif_interpolation.mod: $(DIR_OBJS)/modinit.o \ |
---|
82 | $(DIR_OBJS)/modarrays.o \ |
---|
83 | $(DIR_OBJS)/modinterpbasic.o \ |
---|
84 | $(DIR_OBJS)/moduserfunctions.o \ |
---|
85 | $(DIR_OBJS)/modmask.o |
---|
86 | |
---|
87 | $(DIR_OBJS)/modcluster.o agrif_clustering.mod: $(DIR_OBJS)/modinitvars.o \ |
---|
88 | $(DIR_OBJS)/modsauv.o \ |
---|
89 | $(DIR_OBJS)/modinit.o |
---|
90 | |
---|
91 | $(DIR_OBJS)/modsauv.o agrif_save.mod: $(DIR_OBJS)/modtypes.o \ |
---|
92 | $(DIR_OBJS)/modlinktomodel.o \ |
---|
93 | $(DIR_OBJS)/modarrays.o \ |
---|
94 | $(DIR_OBJS)/moduservariables.o |
---|
95 | |
---|
96 | $(DIR_OBJS)/modinitvars.o agrif_init_vars.mod: $(DIR_OBJS)/modlinktomodel.o \ |
---|
97 | $(DIR_OBJS)/modgrids.o \ |
---|
98 | $(DIR_OBJS)/modtypes.o |
---|
99 | |
---|
100 | $(DIR_OBJS)/modupdate.o agrif_update.mod: $(DIR_OBJS)/modupdatebasic.o \ |
---|
101 | $(DIR_OBJS)/modarrays.o \ |
---|
102 | $(DIR_OBJS)/moduserfunctions.o \ |
---|
103 | $(DIR_OBJS)/modinit.o \ |
---|
104 | $(DIR_OBJS)/modmask.o |
---|
105 | |
---|
106 | $(DIR_OBJS)/moduservariables.o agrif_user_variables.mod: $(DIR_OBJS)/moduserfunctions.o |
---|
107 | |
---|
108 | $(DIR_OBJS)/moduserfunctions.o agrif_user_functions.mod: $(DIR_OBJS)/modinit.o \ |
---|
109 | $(DIR_OBJS)/modgrids.o |
---|
110 | |
---|
111 | $(DIR_OBJS)/modinit.o agrif_init.mod: $(DIR_OBJS)/modlinktomodel.o \ |
---|
112 | $(DIR_OBJS)/modgrids.o $(DIR_OBJS)/modmpp.o |
---|
113 | |
---|
114 | $(DIR_OBJS)/modmpp.o agrif_mpp.mod: $(DIR_OBJS)/modarrays.o \ |
---|
115 | $(DIR_OBJS)/modgrids.o |
---|
116 | |
---|
117 | $(DIR_OBJS)/modlinktomodel.o agrif_link.mod: $(DIR_OBJS)/modgrids.o |
---|
118 | |
---|
119 | $(DIR_OBJS)/modarrays.o agrif_arrays.mod: $(DIR_OBJS)/modtypes.o $(DIR_OBJS)/modgrids.o |
---|
120 | |
---|
121 | $(DIR_OBJS)/modgrids.o agrif_grids.mod: $(DIR_OBJS)/modtypes.o |
---|
122 | |
---|
123 | $(DIR_OBJS)/modupdatebasic.o agrif_updatebasic.mod: $(DIR_OBJS)/modtypes.o |
---|
124 | |
---|
125 | $(DIR_OBJS)/modinterpbasic.o agrif_interpbasic.mod: $(DIR_OBJS)/modtypes.o |
---|
126 | |
---|
127 | $(DIR_OBJS)/modmask.o agrif_mask.mod: $(DIR_OBJS)/modtypes.o |
---|
128 | |
---|
129 | $(DIR_OBJS)/modseq.o agrif_seq.mod: $(DIR_OBJS)/modprocs.o $(DIR_OBJS)/modinit.o |
---|
130 | |
---|
131 | $(DIR_OBJS)/modtypes.o agrif_types.mod: $(DIR_OBJS)/modprocs.o |
---|
132 | |
---|
133 | $(DIR_OBJS)/modprocs.o agrif_procs.mod: $(DIR_FILES)/modprocs.F90 |
---|
134 | |
---|
135 | |
---|
136 | .PHONY: doc |
---|
137 | |
---|
138 | doc: |
---|
139 | (cd doc ; doxygen Doxyfile ) |
---|
140 | |
---|
141 | doc_user: |
---|
142 | (cd Userdoc ; doxygen Doxyfile_user ) |
---|
143 | |
---|
144 | clean: clean-conv |
---|
145 | $(RM) libagrif.a *.mod $(DIR_OBJS)/* $(DIR_YOURFILES)/* |
---|
146 | |
---|
147 | clean-all: clean |
---|
148 | $(MAKE) -C LIB clean-all |
---|
149 | |
---|
150 | clean-conv: |
---|
151 | $(MAKE) -C LIB clean |
---|
152 | $(RM) conv |
---|