# MAKEFILE for conversion to GRIB1 # # # Define the fortran compiler and options #FFLAGS0= -O3 -fp-model strict -convert big_endian -traceback -debug -check -warn #FFLAGS0= -O3 -fp-model strict -convert big_endian -traceback -debug -check #FFLAGS0= -O3 -fp-model strict -convert big_endian -traceback -check FFLAGS0= -O3 -fp-model strict -convert big_endian -traceback FFLAGS1= -integer-size 64 -real-size 64 FFLAGS2= -free LDFLAGS = -m64 LIBS2 = ${G2_LIB4} ${W3NCO_LIB4} ${BACIO_LIB4} LIBS3 = ${JASPER_LIB} ${PNG_LIB} ${Z_LIB} LIBS4 = -mkl=sequential -lmpi #-lessl DEBUG_OPT ?= 1 ifeq ($(DEBUG_OPT), 1) FFLAGS0 += -g endif CMD = rtma_post CMAIN = post.f90 FC1 = ftn FC2 = ftn OBJ1 = w3fb11_8.o w3fb06_8.o w3fb08_8.o SORC1 = w3fb11_8.f w3fb06_8.f w3fb08_8.f ${OBJ1}:${SORC1} ${FC1} ${FFLAGS0} ${FFLAGS1} -c ${SORC1} OBJ2 = kinds.o controlvars.o mpitaskmod.o SORC2 = kinds.f90 controlvars.f90 mpitaskmod.f90 ${OBJ2}:${SORC2} ${FC1} ${FFLAGS0} ${FFLAGS2} -c ${SORC2} OBJ3 = domain_dims.o proj_info.o \ latlon_to_grid.o constants.o \ psichi2uv_reg_V2.o get_stndewpt_r4.o \ get_ob_lists.o streamline_for_rjlist.o SORC3 = domain_dims.f proj_info.f \ latlon_to_grid.f \ constants.f90 \ psichi2uv_reg_V2.f get_stndewpt_r4.f \ get_ob_lists.f streamline_for_rjlist.f ${OBJ3}:${SORC3} ${FC1} ${FFLAGS0} ${FFLAGS2} -c ${SORC3} OBJ4 = derive_xbvar_mpi.o run_biascor.o cressanl_common.o \ errs_common.o \ cnv_to_grib2_mpi.o create_rjlist.o bias_rmse_cv_mpi.o SORC4 = derive_xbvar_mpi.f90 run_biascor.f90 cressanl_common.f90\ errs_common.f90 \ cnv_to_grib2_mpi.f90 create_rjlist.f90 bias_rmse_cv_mpi.f90 ${OBJ4}:${SORC4} ${FC2} ${FFLAGS0} -c ${SORC4} LINK-OBJS = $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4) all: $(CMD) $(CMD): ${LINK-OBJS} ${FC2} ${FFLAGS0} ${LDFLAGS} -o $(CMD) ${CMAIN} ${LINK-OBJS} ${LIBS2} ${LIBS3} ${LIBS4} clean: /bin/rm -f *.o *.mod *_genmod.f90 $(CMD)