# # SCCS IDENTIFICATION: $HeadURL$ # SCCS IDENTIFICATION: @(#)$Id$ #include ../../config/use_couple #TOPDIR := $(shell cd ../../../ 1>/dev/null 2>&1 && pwd) OCNDIR := $(shell cd ../ 1>/dev/null 2>&1 && pwd) #OCNDIR := $(shell cd ../../ 1>/dev/null 2>&1 && pwd) OBJDIR = $(OCNDIR)/obj/src FCSDIR = $(OCNDIR)/src ifdef USE_OCN LIB = $(OCNDIR)/lib/ocn.a else LIB = $(OCNDIR)/lib/hycom.a endif INCFLAG = $(addprefix -I,$(FCSDIR)) $(INCLDIR) MODFLAG = $(addprefix -I,$(OBJDIR)) .SUFFIXES : .c .F90 MAKEFILE = Makefile.NUOPC include $(OCNDIR)/config/CONFIG_NUOPC machine=$(shell hostname) NOFMA= ifeq ($(findstring conrad,$(machine)),conrad) NOFMA= -no-fma endif ifeq ($(findstring gordon,$(machine)),gordon) NOFMA= -no-fma endif OBJS = \ mod_dimensions.o mod_xc.o mod_za.o mod_cb_arrays.o mod_pipe.o \ mod_incupd.o \ mod_floats.o mod_stokes.o mod_tides.o mod_mean.o mod_archiv.o \ mod_tsadvc.o mod_momtum.o mod_barotp.o mod_asselin.o mod_restart.o\ bigrid.o blkdat.o cnuity.o convec.o \ diapfl.o dpthuv.o dpudpv.o forfun.o geopar.o hybgen.o \ icloan.o inicon.o inigiss.o inikpp.o inimy.o latbdy.o \ matinv.o mxkprf.o mxkrt.o mxkrtm.o mxpwp.o \ overtn.o poflat.o prtmsk.o psmoo.o \ thermf.o trcupd.o \ machine.o wtime.o machi_c.o isnan.o s8gefs.o OBJS := $(addprefix $(OBJDIR)/,$(OBJS)) TARGET: $(OBJS) modmv %.o $(OBJDIR)/%.o : %.F90 $(FCMPI) -c $(FFLAGS) $(NOFMA) $(CPPFLAGS) $(CPLFLAG) $(MODFLAG) $(INCFLAG) $< -o $@ $(AR) $(LIB) $@ %.o $(OBJDIR)/%.o : %.c $(CC) -c $(CPPFLAGS) $(CCFLAGS) $< -o $@ $(AR) $(LIB) $@ archive : $(OBJS) rm -f $(LIB) $(AR) -r $(LIB) $(OBJS) modmv: mods=`ls *.mod 2>/dev/null`; \ if [ "$${mods}" != "" ]; then mv $${mods} $(OBJDIR)/.; fi info: -@echo "OCNDIR: $(OCNDIR) " # -@echo "OBJDIR: $(OBJDIR) " # -@echo "OBJS: $(OBJS) " # ----------------------------------------------------------------------------- # ----------------------------------------------------------------------------- .PHONY: clean clean: rm -f $(OBJDIR)/*.o $(OBJDIR)/*.mod rm -f $(LIB)