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/XMLF90 – NEMO

source: trunk/EXTERNAL/XMLF90/AA_make @ 1547

Last change on this file since 1547 was 1547, checked in by rblod, 15 years ago

Add external directory to be able to compiler IO_SERVER with or without fcm, see ticket #497

File size: 6.0 KB
Line 
1MAKE_NAM = $(MAKE)
2ifneq ($(MAKE_NAM),$(M_K))
3 @$(error You must invoke this Makefile with the $(M_K) command)
4endif
5USER_DIR = $(shell /bin/pwd)
6MAKE_DIR = '??'
7ifneq ($(USER_DIR),$(MAKE_DIR))
8 @$(error You must invoke this Makefile from its directory)
9endif
10#-
11#-Q- sxdkrz F_O = $(F_D) $(F_P) -C vsafe -size_t64 -I $(MODDIR)
12#-Q- eshpux F_O = $(F_D) $(F_P) -C vsafe -I $(MODDIR)
13#-Q- sx8brodie F_O = $(F_D) $(F_P) -I $(MODDIR)
14#-Q- sx6nec F_O = $(F_D) $(F_P) -size_t64 -Wf,"-pvctl loopcnt=999999" -I $(MODDIR)
15#-Q- sx8mercure F_O = $(F_D) $(F_P) -size_t64 -Wf,"-pvctl loopcnt=999999" -I $(MODDIR)
16#---------------------------------------------------------------------
17#- Create libxmlf90
18#---------------------------------------------------------------------
19
20.PRECIOUS : $(MODEL_LIB)
21SXMODEL_LIB = $(MODEL_LIB)
22ifeq ($(L_X),1)
23SXMODEL_LIB = $(LIBDIR)/libsxxmlf90.a
24.PRECIOUS : $(SXMODEL_LIB)
25endif
26
27MODS1 =  src/cml/flib_cml.f90 src/cml/m_cmlw.f90 src/cml/m_stmw.f90 \
28   src/dom/flib_dom.f90 src/dom/m_dom_attribute.f90 \
29   src/dom/m_dom_debug.f90 src/dom/m_dom_document.f90 \
30   src/dom/m_dom_element.f90 src/dom/m_dom_error.f90 \
31   src/dom/m_dom_namednodemap.f90 src/dom/m_dom_node.f90 \
32   src/dom/m_dom_nodelist.f90 src/dom/m_dom_parse.f90 \
33   src/dom/m_dom_types.f90 src/dom/m_dom_utils.f90 src/sax/flib_sax.f90 \
34   src/sax/m_buffer.f90 src/sax/m_charset.f90 src/sax/m_converters.f90 \
35   src/sax/m_debug.f90 src/sax/m_dictionary.f90 src/sax/m_elstack.f90 \
36   src/sax/m_entities.f90 src/sax/m_fsm.f90 src/sax/m_io.f90 \
37   src/sax/m_reader.f90 src/sax/m_xml_error.f90 src/sax/m_xml_parser.f90 \
38   src/strings/m_strings.f90 src/wxml/flib_wxml.f90 \
39   src/wxml/m_wxml_buffer.f90 src/wxml/m_wxml_core.f90 \
40   src/wxml/m_wxml_dictionary.f90 src/wxml/m_wxml_elstack.f90 \
41   src/wxml/m_wxml_text.f90 src/xpath/flib_xpath.f90 \
42   src/xpath/m_path.f90 src/xpath/m_path_orig.f90 \
43   src/xpath/match_tester.f90
44
45OBJSMODS1 = flib_cml.o m_cmlw.o m_stmw.o flib_dom.o m_dom_attribute.o \
46   m_dom_debug.o m_dom_document.o m_dom_element.o m_dom_error.o \
47   m_dom_namednodemap.o m_dom_node.o m_dom_nodelist.o m_dom_parse.o \
48   m_dom_types.o m_dom_utils.o flib_sax.o m_buffer.o m_charset.o \
49   m_converters.o m_debug.o m_dictionary.o m_elstack.o m_entities.o \
50   m_fsm.o m_io.o m_reader.o m_xml_error.o m_xml_parser.o m_strings.o \
51   flib_wxml.o m_wxml_buffer.o m_wxml_core.o m_wxml_dictionary.o \
52   m_wxml_elstack.o m_wxml_text.o flib_xpath.o m_path.o m_path_orig.o \
53   match_tester.o
54
55all: dirxml $(MODEL_LIB)($(OBJSMODS1))
56   @echo XMLF90 is OK
57
58$(MODEL_LIB)(%.o): */*/%.f90
59   $(F_C) $(F_O) -I$(NCDF_INC) $<
60   $(A_C) $(MODEL_LIB) $*.o
61ifeq ($(L_X),1)
62   $(A_X) $(SXMODEL_LIB) $*.o
63endif
64#-Q- sgi6       mv $(shell echo $* | tr '[:lower:]' '[:upper:]').mod $(MODDIR)
65ifeq ($(M_M),1)
66   @mv -f *.mod $(MODDIR)  2> /dev/null || true
67endif
68   $(RM) $*.o
69
70dirxml:
71   @if [ ! -d ../../lib/libxmlio_server ] ; then mkdir ../../lib/libxmlio_server ; fi
72
73clean:
74   $(RM) *.*~ Makefile~ core *.o *.mod i.*.L *.L
75   $(RM)  $(MODEL_LIB)
76
77$(MODEL_LIB)(flib_cml.o): $(MODEL_LIB)(m_cmlw.o) $(MODEL_LIB)(m_stmw.o)
78$(MODEL_LIB)(m_cmlw.o): $(MODEL_LIB)(m_stmw.o) $(MODEL_LIB)(flib_wxml.o)
79$(MODEL_LIB)(m_stmw.o): $(MODEL_LIB)(flib_wxml.o)
80$(MODEL_LIB)(flib_dom.o): $(MODEL_LIB)(m_dom_attribute.o) \
81   $(MODEL_LIB)(m_dom_document.o) $(MODEL_LIB)(m_dom_element.o) \
82   $(MODEL_LIB)(m_dom_namednodemap.o) $(MODEL_LIB)(m_dom_node.o) \
83   $(MODEL_LIB)(m_dom_nodelist.o) $(MODEL_LIB)(m_dom_parse.o) \
84   $(MODEL_LIB)(m_dom_types.o) $(MODEL_LIB)(m_dom_utils.o) \
85   $(MODEL_LIB)(m_strings.o)
86$(MODEL_LIB)(m_dom_attribute.o): $(MODEL_LIB)(m_dom_node.o) \
87   $(MODEL_LIB)(m_dom_types.o) $(MODEL_LIB)(m_strings.o)
88$(MODEL_LIB)(m_dom_document.o): $(MODEL_LIB)(m_dom_types.o) \
89   $(MODEL_LIB)(m_strings.o)
90$(MODEL_LIB)(m_dom_element.o): $(MODEL_LIB)(m_dom_attribute.o) \
91   $(MODEL_LIB)(m_dom_debug.o) $(MODEL_LIB)(m_dom_document.o) \
92   $(MODEL_LIB)(m_dom_namednodemap.o) $(MODEL_LIB)(m_dom_node.o) \
93   $(MODEL_LIB)(m_dom_nodelist.o) $(MODEL_LIB)(m_dom_types.o) \
94   $(MODEL_LIB)(m_strings.o)
95$(MODEL_LIB)(m_dom_namednodemap.o): $(MODEL_LIB)(m_dom_types.o) \
96   $(MODEL_LIB)(m_strings.o)
97$(MODEL_LIB)(m_dom_node.o): $(MODEL_LIB)(m_dom_debug.o) \
98   $(MODEL_LIB)(m_dom_error.o) $(MODEL_LIB)(m_dom_namednodemap.o) \
99   $(MODEL_LIB)(m_dom_nodelist.o) $(MODEL_LIB)(m_dom_types.o) \
100   $(MODEL_LIB)(m_strings.o)
101$(MODEL_LIB)(m_dom_nodelist.o): $(MODEL_LIB)(m_dom_types.o)
102$(MODEL_LIB)(m_dom_parse.o): $(MODEL_LIB)(m_dom_debug.o) \
103   $(MODEL_LIB)(m_dom_document.o) $(MODEL_LIB)(m_dom_element.o) \
104   $(MODEL_LIB)(m_dom_node.o) $(MODEL_LIB)(m_dom_types.o) \
105   $(MODEL_LIB)(flib_sax.o)
106$(MODEL_LIB)(m_dom_types.o): $(MODEL_LIB)(m_strings.o)
107$(MODEL_LIB)(m_dom_utils.o): $(MODEL_LIB)(m_dom_debug.o) \
108   $(MODEL_LIB)(m_dom_document.o) $(MODEL_LIB)(m_dom_element.o) \
109   $(MODEL_LIB)(m_dom_namednodemap.o) $(MODEL_LIB)(m_dom_node.o) \
110   $(MODEL_LIB)(m_dom_types.o) $(MODEL_LIB)(m_strings.o) \
111   $(MODEL_LIB)(flib_wxml.o)
112$(MODEL_LIB)(flib_sax.o): $(MODEL_LIB)(m_converters.o) \
113   $(MODEL_LIB)(m_dictionary.o) $(MODEL_LIB)(m_xml_error.o) \
114   $(MODEL_LIB)(m_xml_parser.o)
115$(MODEL_LIB)(m_converters.o): $(MODEL_LIB)(m_debug.o)
116$(MODEL_LIB)(m_dictionary.o): $(MODEL_LIB)(m_buffer.o)
117$(MODEL_LIB)(m_elstack.o): $(MODEL_LIB)(m_buffer.o)
118$(MODEL_LIB)(m_entities.o): $(MODEL_LIB)(m_buffer.o)
119$(MODEL_LIB)(m_fsm.o): $(MODEL_LIB)(m_buffer.o) $(MODEL_LIB)(m_charset.o) \
120   $(MODEL_LIB)(m_dictionary.o) $(MODEL_LIB)(m_elstack.o) \
121   $(MODEL_LIB)(m_entities.o)
122$(MODEL_LIB)(m_reader.o): $(MODEL_LIB)(m_io.o)
123$(MODEL_LIB)(m_xml_error.o): $(MODEL_LIB)(m_elstack.o)
124$(MODEL_LIB)(m_xml_parser.o): $(MODEL_LIB)(m_buffer.o) \
125   $(MODEL_LIB)(m_debug.o) $(MODEL_LIB)(m_dictionary.o) \
126   $(MODEL_LIB)(m_elstack.o) $(MODEL_LIB)(m_entities.o) \
127   $(MODEL_LIB)(m_fsm.o) $(MODEL_LIB)(m_reader.o) \
128   $(MODEL_LIB)(m_xml_error.o)
129$(MODEL_LIB)(flib_wxml.o): $(MODEL_LIB)(m_wxml_core.o) \
130   $(MODEL_LIB)(m_wxml_text.o)
131$(MODEL_LIB)(m_wxml_core.o): $(MODEL_LIB)(m_wxml_buffer.o) \
132   $(MODEL_LIB)(m_wxml_dictionary.o) $(MODEL_LIB)(m_wxml_elstack.o)
133$(MODEL_LIB)(flib_xpath.o): $(MODEL_LIB)(flib_sax.o) \
134   $(MODEL_LIB)(m_path_orig.o)
135$(MODEL_LIB)(m_path.o): $(MODEL_LIB)(flib_sax.o)
136$(MODEL_LIB)(m_path_orig.o): $(MODEL_LIB)(flib_sax.o)
Note: See TracBrowser for help on using the repository browser.