# ====================================================================== # Generic Makefile for the NOPP Nearshore Community Model # 07/25/2004 contact: Fengyan Shi fyshi@coastal.udel.edu (302)831 2449 # NOPP people: please send me your input - Fengyan # ====================================================================== # # Configuration file for Intel IFC compiler # .SUFFIXES: .f .o .f.o: $(CFT) -c $(FFLAGS) $< # CFT Name of the fortran compiler to use # FFLAGS Flags to the fortran compiler # LDR Program to load the objects into an executable # LDFLAGS Flags to the loader # RANLIB Name of ranlib command # MDEPFLAGS Flags for sfmakedepend (-s if you keep .f files) # CFT = ifc CLEAN = ./cpp_clean LDR = ifc RANLIB = ranlib LDFLAGS = FFLAGS = -O3 -w MDEPFLAGS = --cpp --fext=f90 --file=- SHELL = /bin/sh CC = cc STD_INCLUDES = StandardIncludes STD_DEFINES = EXTRA_LOAD_FLAGS = ExtraLoadFlags ICONFIGFILES = $(IRULESRC)/Imake.tmpl \ $(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES) #========================================================================== # Start of Imakefile. #========================================================================== BIN = master # ========================================================================= # Users: choose ONE module from each module group, true for chosen # if you choose FUNWAVE do not choose any wave module # ========================================================================= # --- wave module group REFDIFS = true REFDIF1 = false REFDIF_SNL = false WAVE_KENNEDY = false WAVE_HERBERS = false WAVE_TUBA = false # --- circulation module group SHORECIRC = false CURVCIRC = true POM = false FUNWAVE = false # --- sediment module group BBB = true HH = false RIB = false WAT = false # --- master program, always true MASTSC = master.f # ==================================================================== # NOPP people: put your NOPP source codes here # SUFFIXES could be .f or .f90, but .f90 must be standard ifc 90 syntax # ==================================================================== # --- wave module ifeq ($(REFDIFS),true) WAVESC = refdifsv13.f endif ifeq ($(REFDIF1),true) WAVESC = refdif1v26.f endif ifeq ($(REFDIF_SNL),true) WAVESC = refdif_snl.f endif ifeq ($(WAVE_KENNEDY),true) WAVESC = andrew_input_here.f endif ifeq ($(WAVE_HERBERS),true) WAVESC = tom_input_here.f endif ifeq ($(WAVE_OZKAN),true) WAVESC = tuba_input_here.f endif # --- circulation module ifeq ($(CURVCIRC),true) CIRCSC = curvcirc.f arrays.f endif ifeq ($(SHORECIRC),true) CIRCSC = kevin_input_here.f endif ifeq ($(POM),true) CIRCSC = priscilla_input_here.f endif ifeq ($(FUNWAVE),true) CIRCSC = wen_input_here.f endif # --- sediment module ifeq ($(BBB),true) SEDISC = sed.f endif ifeq ($(HH),true) SEDISC = kevin_input_here.f endif ifeq ($(RIB),true) SEDISC = kevin_input_here.f endif ifeq ($(WAT),true) SEDISC = kevin_input_here.f endif SRCS = $(MASTSC) $(WAVESC) $(CIRCSC) $(SEDISC) OBJS = $(SRCS:.f=.o) #-------------------------------------------------------------------------- # Target for model executable. #-------------------------------------------------------------------------- $(BIN): $(OBJS) $(LDR) $(LDFLAGS) -o $(BIN) $(OBJS) $(LIBS) # ------------------------------------------------------------------------ # dependences: NOPP people should input this part # ------------------------------------------------------------------------ master.o: master.f pass.h interp.h ini_logical.f refdif1v26.o: refdif1v26.f param.h pass.h common.h refdifsv13.o: refdifsv13.f param.h pass.h common.h curvcirc.o: curvcirc.f arrays.f pass.h # ------------------------------------------------------------------------- # Clean up .o. # ------------------------------------------------------------------------- clean: rm -f *.o