SHELL=/bin/sh # # This makefile was produced by /usr/bin/fmgen at 11:21:32 AM on 04/12/96 # If it is invoked by the command line # make -f makefile # it will compile the fortran modules indicated by SRCS into the object # modules indicated by OBJS and produce an executable named a.out. # # If it is invoked by the command line # make -f makefile a.out.prof # it will compile the fortran modules indicated by SRCS into the object # modules indicated by OBJS and produce an executable which profiles # named a.out.prof. # # To remove all the objects but leave the executables use the command line # make -f makefile clean # # To remove everything but the source files use the command line # make -f makefile clobber # # To remove the source files created by /usr/bin/fmgen and this makefile # use the command line # make -f makefile void # # The parameters SRCS and OBJS should not need to be changed. If, however, # you need to add a new module add the name of the source module to the # SRCS parameter and add the name of the resulting object file to the OBJS # parameter. The new modules are not limited to fortran, but may be C, YACC, # LEX, or CAL. An explicit rule will need to be added for PASCAL modules. # SRCS= mrmsprep.f wrvtgd_cnvt.f # OBJS= $(patsubst %.f,%.o,$(filter %.f,$(SRCS))) # # Tunable parameters # # CF Name of the fortran compiling system to use # LDFLAGS Flags to the loader # LIBS List of libraries # CMD Name of the executable # PROFLIB Library needed for profiling # #INCS = -I. -I$(NETCDF_INC) INCS = -I. -I$(NetCDF_LIBRARIES) LIBS = $(LMP_LIB4) $(LMPMDL_LIB4) $(W3NCO_LIB4) $(W3EMC_LIB4) CMD = lmp_mrmsprep BINDIR = ../../exec FFLAGS = -O3 -nofree -fpscomp logicals -fp-model precise -integer-size 32 -real-size 32 -assume byterecl DEBUG = -DDEBUG -g -traceback -check all #LDFLAGS = -L$(NETCDF_LIB) -lnetcdf -lnetcdff LDFLAGS = -L$(NetCDF_LIBRARIES) -lnetcdf -lnetcdff # # Lines from here on down should not need to be changed. They are the # actual rules which make uses to build a.out. # all: $(CMD) $(CMD): $(OBJS) $(FC) $(FFLAGS) -o $(@) $^ $(INCS) -Wl,--start-group $(LIBS) -Wl,--end-group $(LDFLAGS) debug: FFLAGS += $(DEBUG) debug: all %.o: %.f $(FC) $(FFLAGS) -c $(INCS) $^ %.o: %.f90 $(FC) $(FFLAGS) -c $(INCS) $^ %.mod: %.f90 $(FC) $(FFLAGS) -c $(INCS) $^ .PHONY: clean cleanall clean: -rm -f $(OBJS) cleanall: -rm -f $(OBJS) $(MOD_OBJS) $(CMD) *.mod *.optrpt install: -mv $(CMD) ${BINDIR}/ test: $(CMD) < input.txt > output.txt diff output.txt valid_output.txt