source: branches/publications/ORCHIDEE_gmd-2018-182/src_stomate/AA_make @ 7442

Last change on this file since 7442 was 1311, checked in by josefine.ghattas, 11 years ago

Add creation of library liborchidee.a containing all .o files. For now on, only this library needs to be linked to LMDZ or other atmospheric model. The original libraries (libsechiba.a, libstomate.a, libparameter.a, etc) are kept for retrocompatibility.

  • Property svn:keywords set to Id
File size: 6.2 KB
Line 
1#-
2#- $Id$
3#-
4PARALLEL_LIB = $(LIBDIR)/libparallel.a
5SXPARALLEL_LIB = $(PARALLEL_LIB)
6#-Q- sxnec  SXPARALLEL_LIB = $(LIBDIR)/libsxparallel.a
7#-Q- sx6nec SXPARALLEL_LIB = $(LIBDIR)/libsxparallel.a
8#-Q- eshpux SXPARALLEL_LIB = $(LIBDIR)/libsxparallel.a
9#-Q- sx8brodie SXPARALLEL_LIB = $(LIBDIR)/libsxparallel.a
10#-
11PARAM_LIB = $(LIBDIR)/libparameters.a
12SXPARAM_LIB = $(PARAM_LIB)
13#-Q- sxnec  SXPARAM_LIB = $(LIBDIR)/libsxparameters.a
14#-Q- sx6nec SXPARAM_LIB = $(LIBDIR)/libsxparameters.a
15#-Q- eshpux SXPARAM_LIB = $(LIBDIR)/libsxparameters.a
16#-Q- sx8brodie SXPARAM_LIB = $(LIBDIR)/libsxparameters.a
17#-
18ORGLOB_LIB = $(LIBDIR)/liborglob.a
19SXORGLOB_LIB = $(ORGLOB_LIB)
20#-Q- sxnec  SXORGLOB_LIB = $(LIBDIR)/libsxorglob.a
21#-Q- sx6nec SXORGLOB_LIB = $(LIBDIR)/libsxorglob.a
22#-Q- eshpux SXORGLOB_LIB = $(LIBDIR)/libsxorglob.a
23#-Q- sx8brodie SXORGLOB_LIB = $(LIBDIR)/libsxorglob.a
24#-
25MODS1 = stomate_data.f90      \
26        lpj_constraints.f90        \
27        lpj_cover.f90              \
28        lpj_crown.f90              \
29        lpj_establish.f90          \
30        lpj_fire.f90               \
31        lpj_gap.f90                \
32        lpj_kill.f90               \
33        lpj_light.f90              \
34        lpj_pftinout.f90           \
35        stomate_alloc.f90          \
36        stomate_data.f90           \
37        stomate_io.f90             \
38        stomate_litter.f90         \
39        stomate_npp.f90            \
40        stomate_phenology.f90      \
41        stomate_prescribe.f90      \
42        stomate_season.f90         \
43        stomate_soilcarbon.f90     \
44        stomate_turnover.f90       \
45        stomate_vmax.f90           \
46        stomate_assimtemp.f90      \
47        stomate_lcchange.f90       \
48        stomate_lpj.f90            \
49        stomate_resp.f90           \
50        stomate.f90
51
52OBJSMODS1 = $(MODS1:.f90=.o)
53#-
54.PRECIOUS : $(MODEL_LIB)
55#-Q- sxnec  .PRECIOUS : $(SXMODEL_LIB)
56#-Q- sx6nec .PRECIOUS : $(SXMODEL_LIB)
57#-Q- eshpux .PRECIOUS : $(SXMODEL_LIB)
58#-Q- sx8brodie .PRECIOUS : $(SXMODEL_LIB)
59#-
60all:
61        $(M_K) libparallel
62        $(M_K) libparameters
63        $(M_K) liborglob
64        $(M_K) m_all
65        @echo stomate is OK
66
67m_all: $(MODEL_LIB)($(OBJSMODS1))
68#-Q- intel m_all: WORK_MOD $(MODEL_LIB)($(OBJSMODS1))
69
70memory:
71#-Q- sxnec      @echo maximum memory must be defined on Rhodes
72#-Q- sxnec      @echo in sh or ksh : ulimit -v unlimited
73#-Q- sxnec      @echo in csh or tcsh : limit vmemoryuse unlimited
74#-Q- sxnec      -/sbin/ulimit -v unlimited
75#-Q- sxnec      -limit vmemoryuse unlimited
76
77libparallel:
78        (cd ../src_parallel; $(M_K) -f Makefile)
79
80libparameters:
81        (cd ../src_parameters; $(M_K) -f Makefile)
82
83liborglob:
84        (cd ../src_global; $(M_K) -f Makefile)
85
86$(MODEL_LIB)(%.o): %.f90
87        $(F_C) $(F_O) -I$(NCDF_INC) $*.f90
88        $(A_C) $(MODEL_LIB) $*.o
89        $(A_C) $(ORCHIDEE_LIB) $*.o
90#-Q- sxnec      $(A_X) $(SXMODEL_LIB) $*.o
91#-Q- sxnec      mv $*.mod $(MODDIR)
92#-Q- sx6nec     $(A_X) $(SXMODEL_LIB) $*.o
93#-Q- sx6nec     mv $*.mod $(MODDIR)
94#-Q- eshpux     $(A_X) $(SXMODEL_LIB) $*.o
95#-Q- eshpux     mv $*.mod $(MODDIR)
96#-Q- sx8mercure         mv $*.mod $(MODDIR)
97#-Q- sx9mercure         mv $*.mod $(MODDIR)
98#-Q- sx8brodie  $(A_X) $(SXMODEL_LIB) $*.o
99#-Q- sx8brodie  mv $*.mod $(MODDIR)
100#-Q- solaris    mv $*.mod $(MODDIR)
101        $(RM) $*.o
102#-Q- intel
103#-Q- intel WORK_MOD:
104#-Q- intel      $(RM) work.pcl
105#-Q- intel      @echo "work.pc" > work.pcl
106#-Q- intel      @echo "../src_parameters/work.pc" >> work.pcl
107#-Q- intel      @echo "../../IOIPSL/src/work.pc" >> work.pcl
108
109config:
110        $(BINDIR)/Fparser -name STOMATE $(MODS1)
111        echo 'Configuration of STOMATE done'
112
113clean:
114        $(RM) $(MODEL_LIB)
115
116$(MODEL_LIB)(stomate.o):          \
117  $(PARAM_LIB)(pft_parameters.o)  \
118  $(MODEL_LIB)(stomate_io.o)      \
119  $(MODEL_LIB)(stomate_lpj.o)
120
121$(MODEL_LIB)(stomate_data.o): \
122  $(PARAM_LIB)(pft_parameters.o)        \
123  $(PARAM_LIB)(constantes.o) 
124
125$(MODEL_LIB)(lpj_constraints.o): \
126  $(MODEL_LIB)(stomate_data.o)
127
128$(MODEL_LIB)(lpj_cover.o): \
129  $(MODEL_LIB)(stomate_data.o)
130
131$(MODEL_LIB)(lpj_crown.o): \
132  $(MODEL_LIB)(stomate_data.o)
133
134$(MODEL_LIB)(lpj_establish.o): \
135  $(MODEL_LIB)(stomate_data.o)
136
137$(MODEL_LIB)(lpj_fire.o): \
138  $(MODEL_LIB)(stomate_data.o)
139
140$(MODEL_LIB)(lpj_gap.o): \
141  $(MODEL_LIB)(stomate_data.o)
142
143$(MODEL_LIB)(lpj_kill.o): \
144  $(MODEL_LIB)(stomate_data.o)
145
146$(MODEL_LIB)(lpj_light.o): \
147  $(MODEL_LIB)(stomate_data.o)
148
149$(MODEL_LIB)(lpj_pftinout.o): \
150  $(MODEL_LIB)(stomate_data.o)
151
152$(MODEL_LIB)(stomate_alloc.o): \
153  $(PARAM_LIB)(pft_parameters.o)        \
154  $(MODEL_LIB)(stomate_data.o)
155
156$(MODEL_LIB)(stomate_io.o): \
157  $(MODEL_LIB)(stomate_data.o) \
158  $(PARALLEL_LIB)(mod_orchidee_para.o)
159
160
161$(MODEL_LIB)(stomate_litter.o): \
162  $(MODEL_LIB)(stomate_data.o)
163
164$(MODEL_LIB)(stomate_npp.o): \
165  $(MODEL_LIB)(stomate_data.o)
166
167$(MODEL_LIB)(stomate_phenology.o): \
168  $(MODEL_LIB)(stomate_data.o)
169
170$(MODEL_LIB)(stomate_prescribe.o): \
171  $(MODEL_LIB)(stomate_data.o)
172
173$(MODEL_LIB)(stomate_resp.o): \
174  $(MODEL_LIB)(stomate_data.o)
175
176$(MODEL_LIB)(stomate_season.o): \
177  $(PARAM_LIB)(pft_parameters.o)        \
178  $(MODEL_LIB)(stomate_data.o)
179
180$(MODEL_LIB)(stomate_soilcarbon.o): \
181  $(MODEL_LIB)(stomate_data.o) \
182  $(ORGLOB_LIB)(grid.o)\
183  $(ORGLOB_LIB)(solar.o)
184
185$(MODEL_LIB)(stomate_turnover.o): \
186  $(MODEL_LIB)(stomate_data.o)
187
188$(MODEL_LIB)(stomate_vmax.o): \
189  $(MODEL_LIB)(stomate_data.o)
190
191$(MODEL_LIB)(stomate_assimtemp.o): \
192  $(MODEL_LIB)(stomate_data.o)
193
194$(MODEL_LIB)(stomate_lcchange.o): \
195  $(MODEL_LIB)(stomate_data.o)
196
197$(MODEL_LIB)(stomate_lpj.o):            \
198  $(MODEL_LIB)(lpj_constraints.o)       \
199  $(MODEL_LIB)(lpj_cover.o)             \
200  $(MODEL_LIB)(lpj_crown.o)             \
201  $(MODEL_LIB)(lpj_establish.o)         \
202  $(MODEL_LIB)(lpj_fire.o)              \
203  $(MODEL_LIB)(lpj_gap.o)               \
204  $(MODEL_LIB)(lpj_kill.o)              \
205  $(MODEL_LIB)(lpj_light.o)             \
206  $(MODEL_LIB)(lpj_pftinout.o)          \
207  $(MODEL_LIB)(stomate_alloc.o)         \
208  $(MODEL_LIB)(stomate_data.o)          \
209  $(MODEL_LIB)(stomate_litter.o)        \
210  $(MODEL_LIB)(stomate_npp.o)           \
211  $(MODEL_LIB)(stomate_phenology.o)     \
212  $(MODEL_LIB)(stomate_prescribe.o)     \
213  $(MODEL_LIB)(stomate_season.o)        \
214  $(MODEL_LIB)(stomate_soilcarbon.o)    \
215  $(MODEL_LIB)(stomate_turnover.o)      \
216  $(MODEL_LIB)(stomate_vmax.o)          \
217  $(MODEL_LIB)(stomate_assimtemp.o)     \
218  $(MODEL_LIB)(stomate_resp.o)          \
219  $(MODEL_LIB)(stomate_lcchange.o)
220
Note: See TracBrowser for help on using the repository browser.