WRF_DIR = ../sref_wrf_v3.4.fd NETCDF=/usrx/local/NetCDF/3.6.3 CPPFLAGS = -I. -C -P -DNETCDF FC = ifort SFC = ifort FCDEBUG = -g -traceback -debug all -check all -O0 -ftrapuv -fpe0 FCDEBUG = -O3 FCFLAGS = $(FCDEBUG) -I dio -I${NETCDF}/include ${NEMSIO_INC} CPP = /lib/cpp RM = rm -f DIOLIBS = dio/dio.o dio/fbioc.o WRFLIBS = ${WRF_DIR}/frame/pack_utils.o \ ${WRF_DIR}/frame/module_machine.o \ ${WRF_DIR}/frame/module_wrf_error.o \ -L${WRF_DIR}/external/esmf_time_f90 -lesmf_time NETCDF_LIBS = ${NETCDF}/lib/libnetcdf.a LIBS = -L/nwprod/lib -lnemsio \ -L/nwprod/lib -lw3nco_v2.0.6_4 -lw3emc_v2.0.5_4 \ -L/nwprod/lib -lbacio_4 -lsp_4 \ $(NETCDF_LIBS) NEMSIO_INC = -I/nwprod/lib/incmod/nemsio .SUFFIXES: .f .f90 .F90 .f.o: $(FC) -c $(FCFLAGS) $*.f .f90.o: $(FC) -c $(FCFLAGS) $*.f90 .F90.o : $(FC) -c $(FCFLAGS) $*.F90 all: breeding_nmb.exe lbc_perturb_nmb_nompi.exe \ breeding_nmm_nompi.exe breeding_arw_nompi.exe lbc_perturb_wrf_nompi.exe module_internal_header_util.o : module_internal_header_util.f90 module_internal_header_util.f90: ln -sf $(WRF_DIR)/inc/intio_tags.h . ln -sf $(WRF_DIR)/external/io_int/module_internal_header_util.f module_internal_header_util.f90 mpiio.o : module_internal_header_util.o breeding_dio.exe: breeding_dio.o $(FC) $(FCFLAGS) breeding_dio.o -o $@ $(DIOLIBS) breeding_nmb.exe: breeding_nmb.o $(FC) $(FCFLAGS) breeding_nmb.o -o $@ ${LIBS} lbc_perturb_nmb.exe: lbc_perturb_nmb.o $(FC) $(FCFLAGS) lbc_perturb_nmb.o -o $@ $(DIOLIBS) lbc_perturb_nmb_nompi.exe: lbc_perturb_nmb_nompi.f90 $(SFC) $(FCFLAGS) lbc_perturb_nmb_nompi.f90 -o $@ $(DIOLIBS) breeding_nmm.exe: mpiio.o module_internal_header_util.o breeding_nmm.o $(FC) $(FCFLAGS) mpiio.o module_internal_header_util.o breeding_nmm.o -o $@ $(WRFLIBS) $(NETCDF_LIBS) breeding_nmm_nompi.exe: breeding_nmm_nompi.f90 $(FC) $(FCFLAGS) breeding_nmm_nompi.f90 -o $@ $(WRFLIBS) $(NETCDF_LIBS) breeding_arw.exe: mpiio.o module_internal_header_util.o breeding_arw.o $(FC) $(FCFLAGS) mpiio.o module_internal_header_util.o breeding_arw.o -o $@ $(WRFLIBS) $(NETCDF_LIBS) breeding_arw_nompi.exe: breeding_arw_nompi.f90 $(FC) $(FCFLAGS) breeding_arw_nompi.f90 -o $@ $(WRFLIBS) $(NETCDF_LIBS) lbc_perturb_wrf.exe: mpiio.o module_internal_header_util.o lbc_perturb_wrf.o $(FC) $(FCFLAGS) mpiio.o module_internal_header_util.o lbc_perturb_wrf.o -o $@ $(WRFLIBS) $(NETCDF_LIBS) lbc_perturb_wrf_nompi.exe: mpiio.o module_internal_header_util.o lbc_perturb_wrf_nompi.f90 $(SFC) $(FCFLAGS) mpiio.o module_internal_header_util.o lbc_perturb_wrf_nompi.f90 -o $@ $(WRFLIBS) $(NETCDF_LIBS) clean: $(RM) *.exe *.o *.mod intio_tags.h module_internal_header_util.f90