# *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* # ** Copyright UCAR (c) 1992 - 2005 # ** University Corporation for Atmospheric Research(UCAR) # ** National Center for Atmospheric Research(NCAR) # ** Research Applications Lab (RAL) # ** P.O.Box 3000, Boulder, Colorado, 80307-3000, USA # *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* ############################################################################### # # Makefile for the Model Evaluation Tools Project # for use with the GNU Compilers # ############################################################################### ############################################################################### # # Begin Variables to be modified before building # ############################################################################### # Path to GNU Make command MAKE = /usr/bin/make # Architecture flags ARCH_FLAGS = # Path to the C++ Compiler # C++ compiler flags # Any additional required libraries CXX = /usr/bin/g++ CXX_FLAGS = -Wall -Wshadow -static # -g -m32 CXX_LIBS = # Path to the Fortran Compiler # Fortran compiler flags # Any additional required libraries FC = /usr/bin/g77 FC_FLAGS = -Wall -Wshadow -static # -g -m32 FC_LIBS = # -lgfortran # Make print options PRINT_OPTS = --no-print-directory # Top level directory for the NetCDF library # NetCDF include directory specified as: -I/your/include/path # NetCDF library directory specified as: -L/your/library/path #NETCDF_BASE = /pd6/score/MET/MET_releases/external_libs/netcdf/netcdf-3.6.2 NETCDF_BASE = /home/kurumin/netcdf-3.6.2 NETCDF_INCS = -I$(NETCDF_BASE)/include NETCDF_LIBS = -L$(NETCDF_BASE)/lib # Top level directory for BUFRLIB # BUFRLIB include directory specified as: -I/your/include/path # BUFRLIB library directory specified as: -L/your/library/path #BUFR_BASE = /pd6/score/MET/MET_releases/external_libs/bufrlib/bufrlib_gnu BUFR_BASE = /usr/local/lib/BUFRLIB BUFR_INCS = -I$(BUFR_BASE) BUFR_LIBS = -L$(BUFR_BASE) # Top level directory for the GNU Scientific Library (GSL) if it's not # installed in a standard location. # GSL include directory specified as: -I/your/include/path # GSL library directory specified as: -L/your/library/path #GSL_BASE = /pd6/score/MET/MET_releases/external_libs/gsl/gsl-1.9 GSL_BASE = /home/kurumin/gsl-1.9 GSL_INCS = -I$(GSL_BASE)/include GSL_LIBS = -L$(GSL_BASE)/lib # Top level directory for the F2C or G2C Library if it's not installed in a # standard location. # F2C include directory specified as: -I/your/include/path # F2C library directory containing libf2c.a or libg2c.a and specified as: # -L/your/library/path # Name of the library to be used: -lf2c or -lg2c F2C_BASE = /usr/lib F2C_INCS = F2C_LIBS = #F2C_LIBNAME = -lg2c F2C_LIBNAME = -lf2c # Optional flags to disable the compilation of MET tools # Specify a non-zero value to disable the compilation of the tool DISABLE_PCP_COMBINE = 0 DISABLE_MODE = 0 DISABLE_GRID_STAT = 0 DISABLE_PB2NC = 0 DISABLE_ASCII2NC = 0 DISABLE_POINT_STAT = 0 DISABLE_VSDB_ANALYSIS = 0 DISABLE_MODE_ANALYSIS = 0 ############################################################################### # # End Variables to be modified before building # ############################################################################### ############################################################################### # # Export variables to be used by submakes # ############################################################################### export MAKE export ARCH_FLAGS export CXX export CXX_FLAGS export CXX_LIBS export FC export FC_FLAGS export FC_LIBS export MET_BASE export NETCDF_INCS export NETCDF_LIBS export BUFR_INCS export BUFR_LIBS export GSL_INCS export GSL_LIBS export F2C_INCS export F2C_LIBS export F2C_LIBNAME # Top level directory for the MET build MET_BASE = ${PWD} export MET_BASE ############################################################################### # # End export variables to be used by submakes # ############################################################################### FAKES = all clean libs targets LIB_DIR = lib INC_DIR = lib SRC_DIR = src OUT_DIR = out VX_AFM = $(LIB_DIR)/vx_afm VX_ANALYSIS_UTIL= $(LIB_DIR)/vx_analysis_util VX_CAL = $(LIB_DIR)/vx_cal VX_COLOR = $(LIB_DIR)/vx_color VX_CONTABLE = $(LIB_DIR)/vx_contable VX_DATA_GRIDS = $(LIB_DIR)/vx_data_grids VX_ECONFIG = $(LIB_DIR)/vx_econfig VX_GNOMON = $(LIB_DIR)/vx_gnomon VX_GRIB_CLASSES = $(LIB_DIR)/vx_grib_classes VX_GSL_PROB = $(LIB_DIR)/vx_gsl_prob VX_MATH = $(LIB_DIR)/vx_math VX_MET_UTIL = $(LIB_DIR)/vx_met_util VX_NAV = $(LIB_DIR)/vx_nav VX_PLOT_UTIL = $(LIB_DIR)/vx_plot_util VX_PS = $(LIB_DIR)/vx_ps VX_PXM = $(LIB_DIR)/vx_pxm VX_RENDER = $(LIB_DIR)/vx_render VX_UTIL = $(LIB_DIR)/vx_util VX_WRFDATA = $(LIB_DIR)/vx_wrfdata VX_WRFMODE = $(LIB_DIR)/vx_wrfmode PCP_COMBINE = $(SRC_DIR)/pcp_combine MODE = $(SRC_DIR)/mode GRID_STAT = $(SRC_DIR)/grid_stat PB2NC = $(SRC_DIR)/pb2nc ASCII2NC = $(SRC_DIR)/ascii2nc POINT_STAT = $(SRC_DIR)/point_stat VSDB_ANALYSIS = $(SRC_DIR)/vsdb_analysis MODE_ANALYSIS = $(SRC_DIR)/mode_analysis all: @ echo @ echo "*** Making the Model Evaluation Tools Project ***" @ echo @ $(MAKE) libs $(PRINT_OPTS) @ $(MAKE) targets $(PRINT_OPTS) @ echo @ echo "*** Finished Making the Model Evaluation Tools Project ***" @ echo libs: @ cd $(VX_AFM); $(MAKE) $(PRINT_OPTS) @ cd $(VX_ANALYSIS_UTIL);$(MAKE) $(PRINT_OPTS) @ cd $(VX_CAL); $(MAKE) $(PRINT_OPTS) @ cd $(VX_COLOR); $(MAKE) $(PRINT_OPTS) @ cd $(VX_CONTABLE); $(MAKE) $(PRINT_OPTS) @ cd $(VX_DATA_GRIDS); $(MAKE) $(PRINT_OPTS) @ cd $(VX_ECONFIG); $(MAKE) $(PRINT_OPTS) @ cd $(VX_GNOMON); $(MAKE) $(PRINT_OPTS) @ cd $(VX_GRIB_CLASSES); $(MAKE) $(PRINT_OPTS) @ cd $(VX_GSL_PROB); $(MAKE) $(PRINT_OPTS) @ cd $(VX_MATH); $(MAKE) $(PRINT_OPTS) @ cd $(VX_MET_UTIL); $(MAKE) $(PRINT_OPTS) @ cd $(VX_NAV); $(MAKE) $(PRINT_OPTS) @ cd $(VX_PLOT_UTIL); $(MAKE) $(PRINT_OPTS) @ cd $(VX_PS); $(MAKE) $(PRINT_OPTS) @ cd $(VX_PXM); $(MAKE) $(PRINT_OPTS) @ cd $(VX_RENDER); $(MAKE) $(PRINT_OPTS) @ cd $(VX_UTIL); $(MAKE) $(PRINT_OPTS) @ cd $(VX_WRFDATA); $(MAKE) $(PRINT_OPTS) @ cd $(VX_WRFMODE); $(MAKE) $(PRINT_OPTS) targets: ifeq ($(DISABLE_PCP_COMBINE), 0) @ cd $(PCP_COMBINE); $(MAKE) $(PRINT_OPTS) endif ifeq ($(DISABLE_MODE), 0) @ cd $(MODE); $(MAKE) $(PRINT_OPTS) endif ifeq ($(DISABLE_GRID_STAT), 0) @ cd $(GRID_STAT); $(MAKE) $(PRINT_OPTS) endif ifeq ($(DISABLE_PB2NC), 0) @ cd $(PB2NC); $(MAKE) $(PRINT_OPTS) endif ifeq ($(DISABLE_ASCII2NC), 0) @ cd $(ASCII2NC); $(MAKE) $(PRINT_OPTS) endif ifeq ($(DISABLE_POINT_STAT), 0) @ cd $(POINT_STAT); $(MAKE) $(PRINT_OPTS) endif ifeq ($(DISABLE_VSDB_ANALYSIS), 0) @ cd $(VSDB_ANALYSIS); $(MAKE) $(PRINT_OPTS) endif ifeq ($(DISABLE_MODE_ANALYSIS), 0) @ cd $(MODE_ANALYSIS); $(MAKE) $(PRINT_OPTS) endif clean: @ cd $(VX_AFM); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_ANALYSIS_UTIL);$(MAKE) clean $(PRINT_OPTS) @ cd $(VX_CAL); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_COLOR); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_CONTABLE); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_DATA_GRIDS); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_ECONFIG); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_GNOMON); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_GRIB_CLASSES); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_GSL_PROB); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_MATH); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_MET_UTIL); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_NAV); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_PLOT_UTIL); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_PS); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_PXM); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_RENDER); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_UTIL); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_WRFDATA); $(MAKE) clean $(PRINT_OPTS) @ cd $(VX_WRFMODE); $(MAKE) clean $(PRINT_OPTS) @ cd $(PCP_COMBINE); $(MAKE) clean $(PRINT_OPTS) @ cd $(MODE); $(MAKE) clean $(PRINT_OPTS) @ cd $(GRID_STAT); $(MAKE) clean $(PRINT_OPTS) @ cd $(PB2NC); $(MAKE) clean $(PRINT_OPTS) @ cd $(ASCII2NC); $(MAKE) clean $(PRINT_OPTS) @ cd $(POINT_STAT); $(MAKE) clean $(PRINT_OPTS) @ cd $(VSDB_ANALYSIS); $(MAKE) clean $(PRINT_OPTS) @ cd $(MODE_ANALYSIS); $(MAKE) clean $(PRINT_OPTS) @ cd $(OUT_DIR); rm -f */* rm -r -f *.a *.o junk temp core log c.ps a.out .PHONY: $(FAKES)