New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
AA_make in trunk/EXTERNAL/XMLIO_SERVER – NEMO

source: trunk/EXTERNAL/XMLIO_SERVER/AA_make @ 1570

Last change on this file since 1570 was 1570, checked in by smasson, 15 years ago

IOSERVER working with NVTK, see ticket:510

File size: 12.8 KB
Line 
1VPATH=../src/IOSERVER:../src/XMLIO
2MAKE_NAM = $(MAKE)
3ifneq ($(MAKE_NAM),$(M_K))
4 @$(error You must invoke this Makefile with the $(M_K) command)
5endif
6USER_DIR = $(shell /bin/pwd)
7MAKE_DIR = '??'
8ifneq ($(USER_DIR),$(MAKE_DIR))
9 @$(error You must invoke this Makefile from its directory)
10endif
11#-
12#-Q- aix6 F_O = $(F_P) -O3 -qextname -qsuffix=cpp=F90 -qsuffix=f=f90  -qmoddir=$(MODDIR) -I $(MODDIR)
13#-Q- aix F_O = $(F_P) -O3 -qextname -qsuffix=cpp=F90 -qsuffix=f=f90  -qmoddir=$(MODDIR) -I $(MODDIR)
14#-Q- osxxlf F_O = $(F_P) -O3 -qextname -qsuffix=cpp=F90 -qsuffix=f=f90  -qmoddir=$(MODDIR) -I $(MODDIR)
15F_O := $(F_O) -I../../../lib
16P_O := $(P_O) -traditional
17#-Q- aix6 L_O = $(F_P) -q64 -O3
18#-Q- aix L_O = $(F_P) -q64 -O3
19prefix=''
20#-Q- aix6 prefix='-WF,'
21#-Q- aix prefix='-WF,'
22override P_P := $(P_P:%=$(prefix)%)
23
24#---------------------------------------------------------------------
25#- Create libioserver and libxmlio
26#---------------------------------------------------------------------
27
28.PRECIOUS : $(MODEL_LIB1) $(MODEL_LIB2)
29SXMODEL_LIB1 = $(MODEL_LIB1)
30SXMODEL_LIB2 = $(MODEL_LIB2)
31ifeq ($(L_X),1)
32SXMODEL_LIB1 = $(LIBDIR)/libsxioserver.a
33SXMODEL_LIB2 = $(LIBDIR)/libsxxmlio.a
34.PRECIOUS : $(SXMODEL_LIB1) $(SXMODEL_LIB2)
35endif
36
37MODS1 =  ../src/IOSERVER/mod_ioclient_para.F90 \
38   ../src/IOSERVER/mod_ioserver_para.F90 ../src/IOSERVER/mpi_mod.F90 \
39   ../src/IOSERVER/mpi_wrapper.F90 ../src/IOSERVER/mpitrace.F90 \
40   ../src/IOSERVER/init_vampir.f90 ../src/IOSERVER/main.f90 \
41   ../src/IOSERVER/mod_box_grid.f90 ../src/IOSERVER/mod_boxed_domain.f90 \
42   ../src/IOSERVER/mod_event_client.f90 \
43   ../src/IOSERVER/mod_event_parameters.f90 \
44   ../src/IOSERVER/mod_event_server.f90 \
45   ../src/IOSERVER/mod_field_bufferize.f90 \
46   ../src/IOSERVER/mod_global_memory.f90 \
47   ../src/IOSERVER/mod_interface_ioipsl.f90 \
48   ../src/IOSERVER/mod_ioclient.f90 ../src/IOSERVER/mod_iomanager.f90 \
49   ../src/IOSERVER/mod_ioserver_namelist.f90 \
50   ../src/IOSERVER/mod_mpi_buffer_client.f90 \
51   ../src/IOSERVER/mod_mpi_buffer_parameters.f90 \
52   ../src/IOSERVER/mod_mpi_buffer_server.f90 \
53   ../src/IOSERVER/mod_pack.f90 ../src/IOSERVER/mod_prec.f90 \
54   ../src/IOSERVER/mod_wait.f90 ../src/IOSERVER/pack_f.f90 \
55   ../src/IOSERVER/server.f90
56
57OBJSMODS1 = mod_ioclient_para.o mod_ioserver_para.o mpi_mod.o mpi_wrapper.o \
58   mpitrace.o init_vampir.o main.o mod_box_grid.o mod_boxed_domain.o \
59   mod_event_client.o mod_event_parameters.o mod_event_server.o \
60   mod_field_bufferize.o mod_global_memory.o mod_interface_ioipsl.o \
61   mod_ioclient.o mod_iomanager.o mod_ioserver_namelist.o \
62   mod_mpi_buffer_client.o mod_mpi_buffer_parameters.o \
63   mod_mpi_buffer_server.o mod_pack.o mod_prec.o mod_wait.o pack_f.o
64
65MODS2 =  ../src/XMLIO/mod_axis.f90 ../src/XMLIO/mod_axis_definition.f90 \
66   ../src/XMLIO/mod_axis_group.f90 ../src/XMLIO/mod_context.f90 \
67   ../src/XMLIO/mod_dependency.f90 ../src/XMLIO/mod_domain.f90 \
68   ../src/XMLIO/mod_error_msg.f90 ../src/XMLIO/mod_field.f90 \
69   ../src/XMLIO/mod_field_definition.f90 \
70   ../src/XMLIO/mod_field_group.f90 ../src/XMLIO/mod_file.f90 \
71   ../src/XMLIO/mod_file_definition.f90 ../src/XMLIO/mod_file_group.f90 \
72   ../src/XMLIO/mod_grid.f90 ../src/XMLIO/mod_grid_definition.f90 \
73   ../src/XMLIO/mod_grid_group.f90 ../src/XMLIO/mod_parse_xml.f90 \
74   ../src/XMLIO/mod_sorted_list.f90 ../src/XMLIO/mod_time_parameters.f90 \
75   ../src/XMLIO/mod_xmlio_parameters.f90 ../src/XMLIO/mod_zoom.f90 \
76   ../src/XMLIO/string_function.f90 ../src/XMLIO/test_xmlio.f90 \
77   ../src/XMLIO/xmlio.f90
78
79OBJSMODS2 = mod_axis.o mod_axis_definition.o mod_axis_group.o mod_context.o \
80   mod_dependency.o mod_domain.o mod_error_msg.o mod_field.o \
81   mod_field_definition.o mod_field_group.o mod_file.o \
82   mod_file_definition.o mod_file_group.o mod_grid.o \
83   mod_grid_definition.o mod_grid_group.o mod_parse_xml.o \
84   mod_sorted_list.o mod_time_parameters.o mod_xmlio_parameters.o \
85   mod_zoom.o string_function.o  xmlio.o
86
87.SUFFIXES: .f90 .F90
88
89all: libioipsl libxmlf90 dirxml $(MODEL_LIB2)($(OBJSMODS2)) key $(MODEL_LIB1)($(OBJSMODS1)) server.o EXEC_BIN
90   @echo IOSERVER is OK
91
92key :
93   -@if [ "`cat KEY_CPP`" != "$(P_P)" ] ; then \
94   echo "$(P_P)" > KEY_CPP ; fi
95
96ifneq  (,$(findstring NO_MPI,$(P_P)))
97EXEC_BIN :
98server.o :
99else
100EXEC_BIN : server.o
101   $(F_L) $(L_O) -o ../../../bin/ioserver server.o $(MODEL_LIB1) $(MODEL_LIB2) ../../../lib/libioipsl.a $(NCDF_LIB) ../../../lib/libxmlio_server/libxmlf90.a
102server.o :       ../src/IOSERVER/server.f90
103   @$(F_C) $(F_O) -c ../src/IOSERVER/server.f90
104endif
105
106#Rules for ioserver
107#---- Using VPATH instead $(MODEL_LIB1)(%.o): ../src/IOSERVER/%.f90
108$(MODEL_LIB1)(%.o): %.f90
109   $(F_C) $(F_O) -I$(NCDF_INC) $<
110   $(A_C) $(MODEL_LIB1) $*.o
111ifeq ($(L_X),1)
112   $(A_X) $(SXMODEL_LIB1) $*.o
113endif
114#-Q- sgi6       mv $(shell echo $* | tr '[:lower:]' '[:upper:]').mod $(MODDIR)
115ifeq ($(M_M),1)
116   @mv -f *.mod $(MODDIR)  2> /dev/null || true
117endif
118   $(RM) $*.o
119
120#Rules for ioserver
121#---- Using VPATH instead $(MODEL_LIB1)(%.o): ../src/IOSERVER/%.F90
122$(MODEL_LIB1)(%.o): %.F90 KEY_CPP
123   $(F_C) $(F_O) $(P_P) -I$(NCDF_INC) -I../src/IOSERVER $<
124   $(A_C) $(MODEL_LIB1) $*.o
125ifeq ($(L_X),1)
126   $(A_X) $(SXMODEL_LIB1) $*.o
127endif
128#-Q- sgi6       mv $(shell echo $* | tr '[:lower:]' '[:upper:]').mod $(MODDIR)
129ifeq ($(M_M),1)
130   @mv -f *.mod $(MODDIR)  2> /dev/null || true
131endif
132   $(RM) $*.o
133
134#Rules for xmlio
135#---- Using VPATH instead $(MODEL_LIB1)(%.o): ../src/XMLIO/%.F90
136$(MODEL_LIB2)(%.o): %.f90
137   $(F_C) $(F_O) -I$(NCDF_INC) -I../src/XMLIO $<
138   $(A_C) $(MODEL_LIB2) $*.o
139ifeq ($(L_X),1)
140   $(A_X) $(SXMODEL_LIB2) $*.o
141endif
142#-Q- sgi6       mv $(shell echo $* | tr '[:lower:]' '[:upper:]').mod $(MODDIR)
143ifeq ($(M_M),1)
144   @mv -f *.mod $(MODDIR)  2> /dev/null || true
145endif
146   $(RM) $*.o
147
148dirxml:
149   @if [ ! -d ../../../lib/libxmlio_server ] ; then mkdir ../../../lib/libxmlio_server ; fi
150
151# IOIPSL library
152libioipsl :
153   (cd ../../IOIPSL/src ; $(M_K) -f Makefile )
154
155# XMLF90 library
156libxmlf90 :
157   (cd ../../XMLF90/external ; $(M_K) -f Makefile )
158
159clean:
160   $(RM) *.*~ Makefile~ core *.o *.mod i.*.L *.L
161   $(RM) server.o $(MODEL_LIB1) $(MODEL_LIB2)
162
163$(MODEL_LIB1)(init_vampir.o): $(MODEL_LIB1)(mpitrace.o)
164$(MODEL_LIB1)(main.o): $(MODEL_LIB1)(mod_pack.o) $(MODEL_LIB1)(mod_wait.o)
165$(MODEL_LIB1)(mod_event_client.o): $(MODEL_LIB1)(mod_event_parameters.o) \
166   $(MODEL_LIB1)(mod_iomanager.o) $(MODEL_LIB1)(mod_ioserver_namelist.o) \
167   $(MODEL_LIB1)(mod_mpi_buffer_client.o) $(MODEL_LIB1)(mod_pack.o)
168$(MODEL_LIB1)(mod_event_server.o): $(MODEL_LIB1)(mod_event_parameters.o) \
169   $(MODEL_LIB1)(mod_iomanager.o) $(MODEL_LIB1)(mod_pack.o)
170$(MODEL_LIB1)(mod_global_memory.o): $(MODEL_LIB1)(mpi_mod.o)
171$(MODEL_LIB1)(mod_interface_ioipsl.o): $(MODEL_LIB1)(mod_ioserver_para.o) \
172   $(MODEL_LIB2)
173$(MODEL_LIB1)(mod_ioclient.o): $(MODEL_LIB1)(mod_event_client.o) \
174   $(MODEL_LIB1)(mod_ioclient_para.o) $(MODEL_LIB1)(mod_iomanager.o) \
175   $(MODEL_LIB1)(mod_ioserver_namelist.o) \
176   $(MODEL_LIB1)(mod_mpi_buffer_client.o) $(MODEL_LIB1)(mod_wait.o) \
177   $(MODEL_LIB1)(mpi_mod.o)
178$(MODEL_LIB1)(mod_iomanager.o): $(MODEL_LIB1)(mod_field_bufferize.o) \
179   $(MODEL_LIB1)(mod_interface_ioipsl.o) $(MODEL_LIB2)
180$(MODEL_LIB1)(mod_mpi_buffer_client.o): $(MODEL_LIB1)(mod_global_memory.o) \
181   $(MODEL_LIB1)(mod_ioclient_para.o) \
182   $(MODEL_LIB1)(mod_mpi_buffer_parameters.o) $(MODEL_LIB1)(mod_pack.o) \
183   $(MODEL_LIB1)(mod_wait.o) $(MODEL_LIB1)(mpi_mod.o) \
184   $(MODEL_LIB1)(mpitrace.o)
185$(MODEL_LIB1)(mod_mpi_buffer_parameters.o): $(MODEL_LIB1)(mod_ioserver_namelist.o)
186$(MODEL_LIB1)(mod_mpi_buffer_server.o): $(MODEL_LIB1)(mod_event_server.o) \
187   $(MODEL_LIB1)(mod_global_memory.o) $(MODEL_LIB1)(mod_ioserver_para.o) \
188   $(MODEL_LIB1)(mod_mpi_buffer_parameters.o) $(MODEL_LIB1)(mod_pack.o) \
189   $(MODEL_LIB1)(mod_wait.o) $(MODEL_LIB1)(mpi_mod.o) \
190   $(MODEL_LIB1)(mpitrace.o)
191$(MODEL_LIB1)(pack_f.o): $(MODEL_LIB1)(mod_prec.o)
192$(MODEL_LIB1)(server.o): $(MODEL_LIB1)(mod_global_memory.o) \
193   $(MODEL_LIB1)(mod_interface_ioipsl.o) $(MODEL_LIB1)(mod_iomanager.o) \
194   $(MODEL_LIB1)(mod_ioserver_namelist.o) \
195   $(MODEL_LIB1)(mod_ioserver_para.o) \
196   $(MODEL_LIB1)(mod_mpi_buffer_server.o) $(MODEL_LIB1)(mod_wait.o)
197$(MODEL_LIB1)(mod_ioclient_para.o): $(MODEL_LIB1)(mod_ioserver_namelist.o) \
198   $(MODEL_LIB1)(mpi_mod.o) $(MODEL_LIB1)(mpitrace.o)
199$(MODEL_LIB1)(mod_ioserver_para.o): $(MODEL_LIB1)(mod_ioserver_namelist.o) \
200   $(MODEL_LIB1)(mpi_mod.o) $(MODEL_LIB1)(mpitrace.o)
201$(MODEL_LIB1)(mpi_mod.o):
202$(MODEL_LIB1)(mpitrace.o):
203$(MODEL_LIB2)(mod_axis.o): $(MODEL_LIB2)(mod_error_msg.o) \
204   $(MODEL_LIB2)(mod_sorted_list.o) \
205   $(MODEL_LIB2)(mod_xmlio_parameters.o) \
206   $(MODEL_LIB2)(string_function.o) ../src/XMLIO/vector_axis_def.inc
207$(MODEL_LIB2)(mod_axis_definition.o): $(MODEL_LIB2)(mod_axis_group.o)
208$(MODEL_LIB2)(mod_axis_group.o): $(MODEL_LIB2)(mod_axis.o) \
209   $(MODEL_LIB2)(mod_xmlio_parameters.o) \
210   $(MODEL_LIB2)(string_function.o) \
211   ../src/XMLIO/vector_axis_group_def.inc
212$(MODEL_LIB2)(mod_context.o): $(MODEL_LIB2)(mod_axis.o) \
213   $(MODEL_LIB2)(mod_axis_definition.o) $(MODEL_LIB2)(mod_axis_group.o) \
214   $(MODEL_LIB2)(mod_dependency.o) $(MODEL_LIB2)(mod_field.o) \
215   $(MODEL_LIB2)(mod_field_definition.o) \
216   $(MODEL_LIB2)(mod_field_group.o) $(MODEL_LIB2)(mod_file.o) \
217   $(MODEL_LIB2)(mod_file_definition.o) $(MODEL_LIB2)(mod_file_group.o) \
218   $(MODEL_LIB2)(mod_grid.o) $(MODEL_LIB2)(mod_grid_definition.o) \
219   $(MODEL_LIB2)(mod_grid_group.o) $(MODEL_LIB2)(mod_sorted_list.o) \
220   $(MODEL_LIB2)(mod_time_parameters.o) \
221   $(MODEL_LIB2)(mod_xmlio_parameters.o) $(MODEL_LIB2)(mod_zoom.o) \
222   $(MODEL_LIB2)(string_function.o) ../src/XMLIO/vector_context_def.inc
223$(MODEL_LIB2)(mod_dependency.o): $(MODEL_LIB2)(mod_axis.o) \
224   $(MODEL_LIB2)(mod_field.o) $(MODEL_LIB2)(mod_file.o) \
225   $(MODEL_LIB2)(mod_file_definition.o) $(MODEL_LIB2)(mod_file_group.o) \
226   $(MODEL_LIB2)(mod_grid.o) $(MODEL_LIB2)(mod_sorted_list.o) \
227   $(MODEL_LIB2)(mod_zoom.o) $(MODEL_LIB2)(string_function.o) \
228   ../src/XMLIO/vector_field_dep_def.inc
229$(MODEL_LIB2)(mod_domain.o): $(MODEL_LIB2)(mod_error_msg.o) \
230   $(MODEL_LIB2)(mod_xmlio_parameters.o) \
231   ../src/XMLIO/vector_domain_def.inc
232$(MODEL_LIB2)(mod_error_msg.o): $(MODEL_LIB2)(mod_xmlio_parameters.o)
233$(MODEL_LIB2)(mod_field.o): $(MODEL_LIB2)(mod_axis.o) \
234   $(MODEL_LIB2)(mod_error_msg.o) $(MODEL_LIB2)(mod_grid.o) \
235   $(MODEL_LIB2)(mod_sorted_list.o) \
236   $(MODEL_LIB2)(mod_xmlio_parameters.o) $(MODEL_LIB2)(mod_zoom.o) \
237   $(MODEL_LIB2)(string_function.o) ../src/XMLIO/vector_field_def.inc
238$(MODEL_LIB2)(mod_field_definition.o): $(MODEL_LIB2)(mod_field_group.o)
239$(MODEL_LIB2)(mod_field_group.o): $(MODEL_LIB2)(mod_field.o) \
240   $(MODEL_LIB2)(mod_xmlio_parameters.o) \
241   $(MODEL_LIB2)(string_function.o) \
242   ../src/XMLIO/vector_field_group_def.inc
243$(MODEL_LIB2)(mod_file.o): $(MODEL_LIB2)(mod_error_msg.o) \
244   $(MODEL_LIB2)(mod_field_group.o) $(MODEL_LIB2)(mod_sorted_list.o) \
245   $(MODEL_LIB2)(mod_xmlio_parameters.o) \
246   $(MODEL_LIB2)(string_function.o) ../src/XMLIO/vector_file_def.inc
247$(MODEL_LIB2)(mod_file_definition.o): $(MODEL_LIB2)(mod_file_group.o)
248$(MODEL_LIB2)(mod_file_group.o): $(MODEL_LIB2)(mod_file.o) \
249   $(MODEL_LIB2)(mod_xmlio_parameters.o) \
250   $(MODEL_LIB2)(string_function.o) \
251   ../src/XMLIO/vector_file_group_def.inc
252$(MODEL_LIB2)(mod_grid.o): $(MODEL_LIB2)(mod_domain.o) \
253   $(MODEL_LIB2)(mod_sorted_list.o) \
254   $(MODEL_LIB2)(mod_xmlio_parameters.o) $(MODEL_LIB2)(mod_zoom.o) \
255   $(MODEL_LIB2)(string_function.o) ../src/XMLIO/vector_grid_def.inc
256$(MODEL_LIB2)(mod_grid_definition.o): $(MODEL_LIB2)(mod_grid_group.o)
257$(MODEL_LIB2)(mod_grid_group.o): $(MODEL_LIB2)(mod_grid.o) \
258   $(MODEL_LIB2)(mod_xmlio_parameters.o) \
259   $(MODEL_LIB2)(string_function.o) \
260   ../src/XMLIO/vector_grid_group_def.inc
261$(MODEL_LIB2)(mod_parse_xml.o): $(MODEL_LIB2)(mod_axis.o) \
262   $(MODEL_LIB2)(mod_axis_definition.o) $(MODEL_LIB2)(mod_axis_group.o) \
263   $(MODEL_LIB2)(mod_context.o) $(MODEL_LIB2)(mod_error_msg.o) \
264   $(MODEL_LIB2)(mod_field.o) $(MODEL_LIB2)(mod_field_definition.o) \
265   $(MODEL_LIB2)(mod_field_group.o) $(MODEL_LIB2)(mod_file.o) \
266   $(MODEL_LIB2)(mod_file_definition.o) $(MODEL_LIB2)(mod_file_group.o) \
267   $(MODEL_LIB2)(mod_grid.o) $(MODEL_LIB2)(mod_grid_definition.o) \
268   $(MODEL_LIB2)(mod_grid_group.o) $(MODEL_LIB2)(mod_zoom.o) \
269   $(MODEL_LIB2)(string_function.o)
270$(MODEL_LIB2)(mod_sorted_list.o): ../src/XMLIO/vector_node_def.inc
271$(MODEL_LIB2)(mod_zoom.o): $(MODEL_LIB2)(mod_sorted_list.o) \
272   $(MODEL_LIB2)(mod_xmlio_parameters.o) \
273   $(MODEL_LIB2)(string_function.o) ../src/XMLIO/vector_zoom_def.inc
274$(MODEL_LIB2)(string_function.o): $(MODEL_LIB2)(mod_error_msg.o)
275$(MODEL_LIB2)(test_xmlio.o): $(MODEL_LIB2)(mod_interface_ioipsl.o) \
276   $(MODEL_LIB2)(xmlio.o)
277$(MODEL_LIB2)(xmlio.o): $(MODEL_LIB2)(mod_axis.o) \
278   $(MODEL_LIB2)(mod_axis_definition.o) $(MODEL_LIB2)(mod_axis_group.o) \
279   $(MODEL_LIB2)(mod_context.o) $(MODEL_LIB2)(mod_dependency.o) \
280   $(MODEL_LIB2)(mod_error_msg.o) $(MODEL_LIB2)(mod_field.o) \
281   $(MODEL_LIB2)(mod_field_definition.o) \
282   $(MODEL_LIB2)(mod_field_group.o) $(MODEL_LIB2)(mod_file.o) \
283   $(MODEL_LIB2)(mod_file_definition.o) $(MODEL_LIB2)(mod_file_group.o) \
284   $(MODEL_LIB2)(mod_grid.o) $(MODEL_LIB2)(mod_grid_definition.o) \
285   $(MODEL_LIB2)(mod_grid_group.o) $(MODEL_LIB2)(mod_parse_xml.o) \
286   $(MODEL_LIB2)(mod_time_parameters.o) $(MODEL_LIB2)(string_function.o)
Note: See TracBrowser for help on using the repository browser.