wrf svn trunk commit r4103
[wrffire.git] / wrfv2_fire / var / obsproc / src / Makefile
blob87cd0c7ea771b564f3b52480bf1c52a5cf7e09f2
1 # Lower level Makefile for obsproc
3 # Compilation macros
5 include ../../../configure.wrf
8 MODULES = module_date.o \
9 module_namelist.o
12 MODULES_OBS = \
13 module_type.o \
14 module_func.o \
15 module_inside.o \
16 module_obs_merge.o \
17 module_per_type.o \
18 module_duplicate.o \
19 module_sort.o \
20 module_write.o \
21 module_complete.o \
22 module_recoverp.o \
23 module_diagnostics.o \
24 module_recoverh.o \
25 module_icao.o \
26 module_qc.o \
27 module_err_afwa.o \
28 module_err_ncep.o \
29 module_thin_ob.o
31 MODULES_GTS = module_decoded.o
33 MODULES_MM5 = module_mm5.o \
34 module_map.o \
35 module_map_utils.o \
36 module_intp.o
38 OBJS = error_handler.o \
39 fm_decoder.o \
40 sort_platform.o \
41 qc_reduction.o \
42 check_obs.o \
43 setup.o
45 BUFR_OBJS = ../../build/da_bufr.o \
46 ../../build/bort.o \
47 ../../build/irev.o \
48 ../../build/iupm.o \
49 ../../build/adn30.o \
50 ../../build/istdesc.o \
51 ../../build/restd.o \
52 ../../build/ifxy.o \
53 ../../build/nemtbb.o \
54 ../../build/numtbd.o \
55 ../../build/uptdd.o \
56 ../../build/cadn30.o \
57 ../../build/valx.o \
58 ../../build/bort_exit.o \
59 ../../build/wrdesc.o \
60 ../../build/rjust.o \
61 ../../build/bort2.o
63 # Source code dependencies
65 cray dec hp ibm sgi sun default: default
66 # @echo "you need to be up a directory and then enter: 'make your_platform'"
68 default: obsproc.exe
70 all: obsproc.exe
72 obsproc.exe: $(MODULES) $(MODULES_MM5) $(MODULES_OBS) \
73 $(MODULES_GTS) \
74 $(OBJS) \
75 obsproc.o
76 if [ "$(BUFR)" = "-DBUFR" ] ; then \
77 $(SFC) -o $@ \
78 $(MODULES) $(MODULES_MM5) $(MODULES_OBS) \
79 $(MODULES_GTS) \
80 $(OBJS) $(BUFR_OBJS) \
81 obsproc.o $(LDFLAGS) $(LOCAL_LIBRARIES) ; \
82 else \
83 $(SFC) -o $@ \
84 $(MODULES) $(MODULES_MM5) $(MODULES_OBS) \
85 $(MODULES_GTS) \
86 $(OBJS) \
87 obsproc.o $(LDFLAGS) $(LOCAL_LIBRARIES) ; \
90 #------------------------------------------------------------------------------
92 obsproc.o: module_namelist.o module_date.o \
93 module_decoded.o \
94 module_type.o \
95 module_per_type.o \
96 module_sort.o \
97 module_duplicate.o \
98 module_write.o \
99 module_complete.o \
100 module_diagnostics.o \
101 module_recoverp.o \
102 module_recoverh.o \
103 module_qc.o \
104 sort_platform.o \
105 qc_reduction.o \
106 check_obs.o \
107 setup.o \
108 module_err_afwa.o \
109 module_err_ncep.o
111 #------------------------------------------------------------------------------
113 sort_platform.o: \
114 module_type.o module_func.o
116 qc_reduction.o: missing.inc \
117 module_type.o module_func.o
119 check_obs.o: missing.inc platform_interface.inc \
120 module_type.o module_func.o \
121 module_per_type.o
123 setup.o: constants.inc
125 module_namelist.o: \
126 module_date.o error_handler.o \
127 module_mm5.o \
128 module_map.o \
129 module_map_utils.o
131 module_mm5.o: constants.inc
133 module_map.o: constants.inc \
134 module_mm5.o
136 module_map_utils.o: constants.inc
138 module_decoded.o: missing.inc \
139 module_date.o \
140 module_type.o module_func.o \
141 module_inside.o module_obs_merge.o \
142 module_per_type.o \
143 module_icao.o \
144 fm_decoder.o error_handler.o
146 module_func.o: \
147 module_date.o
149 module_inside.o: \
150 module_type.o module_func.o \
151 module_map.o module_mm5.o
153 module_obs_merge.o: missing.inc \
154 module_type.o module_func.o
157 module_sort.o: \
158 module_type.o module_func.o
160 module_duplicate.o: \
161 module_date.o \
162 module_type.o module_func.o
164 module_complete.o: missing.inc platform_interface.inc\
165 module_type.o module_func.o \
166 module_per_type.o
168 module_write.o: \
169 module_date.o \
170 module_type.o module_func.o \
171 module_decoded.o
173 module_diagnostics.o: missing.inc constants.inc \
174 module_type.o module_func.o \
175 module_map.o
177 module_qc.o: missing.inc constants.inc platform_interface.inc \
178 module_type.o module_func.o \
179 module_per_type.o
181 module_recoverp.o: missing.inc constants.inc \
182 module_type.o \
183 module_func.o \
184 module_mm5.o \
185 error_handler.o
187 module_recoverh.o: missing.inc constants.inc platform_interface.inc \
188 module_type.o \
189 module_func.o \
190 module_per_type.o \
191 module_mm5.o \
192 module_icao.o \
193 error_handler.o
195 module_err_afwa.o: missing.inc constants.inc platform_interface.inc \
196 module_type.o module_func.o \
197 module_err_ncep.o module_intp.o
199 module_err_ncep.o: missing.inc constants.inc \
200 module_type.o module_func.o \
201 module_intp.o
203 module_thin_ob.: module_mm5.o \
204 module_func.o \
205 module_type.o \
206 module_map.o
208 # The user should not need to modify any of this.
210 # Suffixes with which the Makefiles are to be concerned.
212 .SUFFIXES: .F .F90 .i .o .f .c
214 # Build rules for the OBSPROC programs.
216 .f.o:
217 $(RM) $@
218 $(SFC) -c $(FCFLAGS) -I../../build $*.f
219 $(RM) $*.f
221 .F90.f:
222 $(RM) $@
223 $(CPP) $(CPPFLAGS) $*.F90 > $@
225 #-----------------------------------------------------------------------------#
226 clean:
227 $(RM) *.o *.f core *.kmo ctmi* *.mod *.lst \
228 *_out_* output *.out \
229 obsproc.exe