# Makefile to produce the RCM executable for coupling # to the LFM. # # # Include compiler information from the distribution # architecture-dependend Makefile: include ../../env/Make.$(MACHINE) include ../env/Make.$(MACHINE) #.SUFFIXES: .F .c .o .f .f90 .C #.f.o : # $(F90) -c $< #.f90.o : # $(F90) -c $< #.F.o : # $(F90) -c $< #This Makefile: MKFILE=./Makefile #Machine-dependent Makefile: MKFILE_INC=../env/Make.$(MACHINE) TIMEOBJS = utio.o julian.o date_doy.o hms_sod.o mjd2ut.o #Include files for the RCM-only code: RCM_INC = rcm_include.h rcmdir.h RCM_OBJ = rcm_subs.o claw.o erf.o read_alam.o EXE_FILES= RCM-LFM rcmu2-tec rcmu-tec rcm-tecplot #--------- Driver program: RCM-LFM: rcm_subs.o claw.o modules.o intercomm.o torcm.o read_alam.o tomhd.o erf.o rcm_lfm.o\ rcm_interfaces.o $(TIMEOBJS) $(MKFILE) $(MKFILE_INC) $(ld) -o $@ rcm_lfm.o modules.o intercomm.o rcm_subs.o claw.o erf.o \ torcm.o read_alam.o tomhd.o rcm_interfaces.o $(TIMEOBJS) \ $(ICPVMFLAGS) $(ICPVMLIBS) rcm_lfm.o: rcm_lfm.f90 modules.o intercomm.o rcm_subs.o rcm_interfaces.o $(MKFILE) $(MKFILE_INC) $(F90) rcm_lfm.f90 -o rcm_lfm.o #========= End of driver code. #-------- Code to transfer data between RCM and LFM: modules.o: modules.f90 $(RCM_INC) $(MKFILE) $(MKFILE_INC) $(F90) modules.f90 -o modules.o intercomm.o: intercomm.f90 $(RCM_INC) $(MKFILE) $(MKFILE_INC) $(F90) intercomm.f90 -o intercomm.o torcm.o: torcm.f90 modules.o $(RCM_INC) $(MKFILE) $(MKFILE_INC) $(F90) torcm.f90 -o torcm.o tomhd.o: tomhd.f90 modules.o $(RCM_INC) $(MKFILE) $(MKFILE_INC) $(F90) tomhd.f90 -o tomhd.o rcm_interfaces.o: rcm_interfaces.f90 modules.o $(RCM_INC) $(MKFILE) $(MKFILE_INC) $(F90) rcm_interfaces.f90 -o rcm_interfaces.o #======== End of transfer data code. #--------- This is RCM proper: rcm_subs.o: rcm_subs.f90 $(RCM_INC) $(MKFILE) $(MKFILE_INC) $(F90) rcm_subs.f90 -o rcm_subs.o read_alam.o: read_alam.f90 $(RCM_INC) $(MKFILE) $(MKFILE_INC) $(F90) read_alam.f90 -o read_alam.o claw.o: claw.f $(MKFILE) $(MKFILE_INC) $(F90) $(F90_77FLAGS) claw.f -o claw.o erf.o: erf.f $(MKFILE) $(MKFILE_INC) $(F77) erf.f -o erf.o #========= End of RCM proper. #-------- Code to handle UTIO and related functions: utio.o: utio.F $(MKFILE) $(MKFILE_INC) $(F77) utio.F -o utio.o julian.o: julian.F $(MKFILE) $(MKFILE_INC) $(F77) julian.F -o julian.o date_doy.o: date_doy.F $(MKFILE) $(MKFILE_INC) $(F77) date_doy.F -o date_doy.o hms_sod.o: hms_sod.F $(MKFILE) $(MKFILE_INC) $(F77) hms_sod.F -o hms_sod.o mjd2ut.o: mjd2ut.F $(MKFILE) $(MKFILE_INC) $(F77) mjd2ut.F -o mjd2ut.o #========== End of UTIO code. #========== Postprocessing programs ================ rcmu2-tec: rcmu2-tec.o $(RCM_INC) $(RCM_OBJ) $(MKFILE) $(MKFILE_INC) $(ld) -o rcmu2-tec rcmu2-tec.o $(RCM_OBJ) rcmu2-tec.o: rcmu2-tec.f90 $(RCM_INC) $(RCM_OBJ) $(MKFILE) $(MKFILE_INC) $(F90) -o rcmu2-tec.o rcmu2-tec.f90 rcmu-tec: rcmu-tec.o $(RCM_INC) $(RCM_OBJ) $(MKFILE) $(MKFILE_INC) $(ld) -o rcmu-tec rcmu-tec.o $(RCM_OBJ) rcmu-tec.o: rcmu-tec.f90 $(RCM_INC) $(RCM_OBJ) $(MKFILE) $(MKFILE_INC) $(F90) -o rcmu-tec.o rcmu-tec.f90 rcm-tecplot: rcm-tecplot.o $(RCM_INC) $(RCM_OBJ) $(MKFILE) $(MKFILE_INC) $(ld) -o rcm-tecplot rcm-tecplot.o $(RCM_OBJ) rcm-tecplot.o: rcm-tecplot.f90 $(RCM_INC) $(RCM_OBJ) $(MKFILE) $(MKFILE_INC) $(F90) -o rcm-tecplot.o rcm-tecplot.f90 #========== End of Postprocessing programs ========= clean: rm -f *.o *.mod *.l core $(EXE_FILES) distclean: clean