# Lower level Makefile for obsproc # Compilation macros include ../../../configure.wrf MODULES = module_date.o \ module_namelist.o MODULES_OBS = \ module_type.o \ module_func.o \ module_inside.o \ module_obs_merge.o \ module_per_type.o \ module_duplicate.o \ module_sort.o \ module_write.o \ module_complete.o \ module_recoverp.o \ module_diagnostics.o \ module_recoverh.o \ module_icao.o \ module_qc.o \ module_err_afwa.o \ module_err_ncep.o \ module_thin_ob.o MODULES_GTS = module_decoded.o \ module_stntbl.o MODULES_MM5 = module_mm5.o \ module_map.o \ module_map_utils.o \ module_intp.o OBJS = error_handler.o \ fm_decoder.o \ sort_platform.o \ qc_reduction.o \ check_obs.o \ setup.o BUFR_LIB = ../../external/bufr/libbufr.a # Source code dependencies cray dec hp ibm sgi sun default: default # @echo "you need to be up a directory and then enter: 'make your_platform'" default: obsproc.exe all: obsproc.exe obsproc.exe: $(MODULES) $(MODULES_MM5) $(MODULES_OBS) \ $(MODULES_GTS) \ $(OBJS) \ obsproc.o if [ "$(BUFR)" = "-DBUFR" ] ; then \ $(SFC) -o $@ \ $(MODULES) $(MODULES_MM5) $(MODULES_OBS) \ $(MODULES_GTS) \ $(OBJS) \ obsproc.o $(LDFLAGS) $(LOCAL_LIBRARIES) $(BUFR_LIB); \ else \ $(SFC) -o $@ \ $(MODULES) $(MODULES_MM5) $(MODULES_OBS) \ $(MODULES_GTS) \ $(OBJS) \ obsproc.o $(LDFLAGS) $(LOCAL_LIBRARIES) ; \ fi #------------------------------------------------------------------------------ check_obs.o : check_obs.F90 platform_interface.inc missing.inc module_per_type.o module_func.o module_type.o error_handler.o : error_handler.F90 fm_decoder.o : fm_decoder.F90 module_complete.o : module_complete.F90 platform_interface.inc missing.inc module_per_type.o module_func.o module_type.o module_date.o : module_date.F90 module_decoded.o : module_decoded.F90 platform_interface.inc missing.inc module_obs_merge.o module_icao.o module_per_type.o module_date.o module_namelist.o module_inside.o module_func.o module_type.o module_stntbl.o module_diagnostics.o : module_diagnostics.F90 constants.inc missing.inc module_intp.o module_map.o module_mm5.o module_func.o module_type.o module_duplicate.o : module_duplicate.F90 platform_interface.inc module_per_type.o module_obs_merge.o module_date.o module_func.o module_type.o module_err_afwa.o : module_err_afwa.F90 constants.inc missing.inc platform_interface.inc module_namelist.o module_intp.o module_err_ncep.o module_func.o module_type.o module_err_ncep.o : module_err_ncep.F90 constants.inc missing.inc module_intp.o module_func.o module_type.o module_func.o : module_func.F90 module_date.o module_type.o module_gpspw.o : module_gpspw.F90 module_gpspw_gst.o module_gpspw_caa.o module_gpspw_caa.o : module_gpspw_caa.F90 missing.inc module_per_type.o module_inside.o module_type.o module_date.o module_gpspw_gst.o : module_gpspw_gst.F90 missing.inc module_per_type.o module_inside.o module_type.o module_date.o module_icao.o : module_icao.F90 missing.inc constants.inc module_inside.o : module_inside.F90 module_date.o module_map.o module_namelist.o module_map_utils.o module_mm5.o module_func.o module_type.o module_intp.o : module_intp.F90 module_map.o : module_map.F90 constants.inc module_mm5.o module_map_utils.o : module_map_utils.F90 module_mm5.o : module_mm5.F90 constants.inc module_namelist.o : module_namelist.F90 missing.inc module_map_utils.o module_mm5.o module_date.o module_obs_merge.o : module_obs_merge.F90 missing.inc module_func.o module_type.o module_per_type.o : module_per_type.F90 module_qc.o : module_qc.F90 constants.inc missing.inc platform_interface.inc module_mm5.o module_per_type.o module_func.o module_type.o module_recoverh.o : module_recoverh.F90 constants.inc platform_interface.inc missing.inc module_mm5.o module_per_type.o module_func.o module_type.o module_recoverp.o : module_recoverp.F90 platform_interface.inc missing.inc module_mm5.o module_func.o module_type.o module_sort.o : module_sort.F90 module_func.o module_type.o module_stntbl.o : module_stntbl.F90 module_thin_ob.o : module_thin_ob.F90 module_namelist.o module_map_utils.o module_map.o module_mm5.o module_func.o module_type.o module_type.o : module_type.F90 module_write.o : module_write.F90 constants.inc module_map.o module_decoded.o module_date.o module_func.o module_type.o obsproc.o : obsproc.F90 module_write.o module_thin_ob.o module_complete.o module_err_afwa.o module_err_ncep.o module_qc.o module_diagnostics.o module_recoverh.o module_recoverp.o module_per_type.o module_duplicate.o module_sort.o module_icao.o module_func.o module_type.o module_decoded.o module_namelist.o module_map_utils.o module_map.o module_mm5.o qc_reduction.o : qc_reduction.F90 missing.inc module_func.o module_type.o module_stntbl.o setup.o : setup.F90 constants.inc sort_platform.o : sort_platform.F90 platform_interface.inc module_type.o # The user should not need to modify any of this. # Suffixes with which the Makefiles are to be concerned. .SUFFIXES: .F .F90 .i .o .f .c # Build rules for the OBSPROC programs. .f.o: $(RM) $@ $(SFC) -c $(FCFLAGS) -I../../build $*.f $(RM) $*.f .F90.f: $(RM) $@ $(CPP) $(CPPFLAGS) $*.F90 > $@ #-----------------------------------------------------------------------------# clean: $(RM) *.o *.f core *.kmo ctmi* *.mod *.lst \ *_out_* output *.out \ obsproc.exe