# # POM makefile # include ../configure.pom #----------------------------------------------------------------------- # Settings that depend on the system and the compiler #----------------------------------------------------------------------- # Set macros # Set libraries and include files NETCDFINC = -I$(PNETCDF)/include NETCDFLIB = -L$(PNETCDF)/lib EXEC=. MOD = latrad_mod.f cldcom_mod.f kdacom_mod.f raddiurp_mod.f rdflux_mod.f \ allocate_mod.f coszang_mod.f raddiur_mod.f rnfctn_mod.f srccom_mod.f \ swocom_mod.f tfcom_mod.f allocrad_mod.f machine.f M90 = physcons.f90 funcphys.f90 module_mp_lin.f90 hbin2dinpol.f90 \ utilities.f90 tridiagonal.f90 my25_turb.f90 dealloc_mod.f90 io_pnetcdf.F SRCNC = HDIFSN.f HORZFX.f SMDESM.f SRC = ADJUST.f DIAGNOSTIC.f \ ALATBD.f BLCK18.f BOUND.f Bdswr89.f Bdtable.f CCHECK.f CDATE.f CHECK1.f \ COMMUNICATE.f COMPJD.f CONST.f Clo89.f DIFUSE.f DYNVAL.f E1e290.f E290.f \ E2spec.f E3v88.f Exacts.f FLATBD.f FMXZST.f FRAME.f FRAMER.f FRMFND.f \ FRMSAV.f Fst88.f GRAD.f Ginit.f HISRST.f I1I2ISIE.f \ ILATBD.f INTERF.f Id1.f Id2.f Id3.f Initrad.f LARGEH.f Lwr88.f MFLUX2.f znot_m.f znot_t.f \ MINMAX.f MLATBD.f MOVEBOUND.f MOVEU.f MOVEX.f MOVEY.f NEWTBD.f Nlte.f PLATBD.f \ PLEVEL.f PRDCTN.f PSUMBD.f QDAM.f QDAMC.f QDAMM.f QGATHER.f QSCATER.f RLATBD.f \ Radconst.f Radmarch.f Radmn.f SETF.f SETUP.f SLATBD.f STDINIT.f SUMINT.f\ Sol88.f Spa88.f Swr89.f TIMERS.f TLATBD.f TLDATA.f TREAD.f TSTEP.f TWRITE.f \ Table.f VERTFX.f WRITE_DATA.f XINTGL.f ZSDJST.f Zenitha.f \ FRMIN.f FRMOUT.f FRXIN.f FRXOUT.f INSERT.f INSERT1.f INSERT2.f INSERT3.f \ INTER.f INTERX.f NEST.f RADIAT.f SSTINT.f VERTDF.f WGHT.f thet.f \ turb25.f HEIGHT.f mpi_close.f sascnv.f setconv.f shalcnv.f vinto3.f \ setcone.f convect.f tlift.f moninp.f bulkadjust.f module_bfmicrophysics.f \ gferdrive.f \ advance.f atm_ocm.f bounds_forcing.f drive_ocean.f h2dinpol.f \ hurricane_wind.f initialize.f ocm_atm.f parallel_mpi.f smoothing.f \ solver.f avgssta.f geovel.f OBJNC = ${SRCNC:.f=.o} OBJ = ${SRC:.f=.o} MBJ = ${MOD:.f=.o} M9J = ${M90:.f90=.o} FC = mpfort # # LDFLAGS = LIBS = $(NETCDFINC) $(NETCDFLIB) -lpnetcdf -shared-intel -L$(MKL) -lmkl_corea ####LIBS = -L$(MKL) -lmkl_corea CMD = $(EXEC)/gfdl_coupled_transatl # FFLAGS = -safe_cray_ptr -fp-model precise -ip -assume buffered_io -O2 -convert big_endian $(LIBS) #FFLAGS = -g -static .SUFFIXES: .o .f .f90 .f.o: $(FC) $(FFLAGS) -c $*.f .f90.o: $(FC) $(FFLAGS) -c $*.f90 # Lines from here on down should not need to be changed. They are the # actual rules which make uses to build field. # all: $(CMD) $(CMD): $(MBJ) $(M9J) $(OBJ) $(OBJNC) $(FC) $(FFLAGS) -o $(@) $(OBJNC) $(OBJ) $(MBJ) $(M9J) $(LIBS) clean: rm -f $(OBJ) $(OBJNC) $(MBJ) $(M9J) *.mod