########################################################### # Makefile for Most Tsunami Spliting (MOST) Model Program # # # # Now editting any *.f file will update the executable # # without re-compiling the whole code (also added target # # "clean"). # # # # If you add a new file, add "filename.o" to the OBJS var # # (they are grouped by operation) # # # # # # note: to compile on tgrid01-04 (32-bit machines), # # replace all "64" with "32" in NETCDFINC and # # NETCDFLIB (pgi will need "-Bstatic -tp p7" added # # to FFLAGS # # note: added a C-preprocessor "cpp" directives, which # # allows a switch for PGI (to catch TERM signal) # # and a switch for SMALLMEM to make the default # # array sizes smaller (default for operational) # # # ########################################################### .SUFFIXES: .f .fpp # tgrid machines portland group (operational) FC = pgf95 EXE = most3_facts_nc_pgi_64_v2376 NETCDFINC = /usr/local/netcdf-3.6.1-pgi64/include NETCDFLIB = /usr/local/netcdf-3.6.1-pgi64/lib -lnetcdf CPPFLAGS = -DPGI FFLAGS = -O3 -Mipa=fast -Minfo -Bstatic #FFLAGS = -O -Mbounds -Bstatic # tgrid machines portland group (mac operational) # FC = pgf95 # EXE = most3_facts_nc_mac_pgi_64_v2376 # NETCDFINC = /usr/local/netcdf-3.6.3-pgi64/include # NETCDFLIB = /usr/local/netcdf-3.6.3-pgi64/lib -lnetcdf # CPPFLAGS = -DPGI #-DSMALLMEM # FFLAGS = -O3 -Mipa=fast -Minfo # zeus intel compiler #FC = ifort #EXE = most3_facts_nc_intl_64 #NETCDFINC = ${NETCDF}/include #NETCDFLIB = ${NETCDF}/lib -lnetcdf #CPPFLAGS = -DIFORT #FFLAGS = -O3 -xSSE4.2 -ip # tgrid machines or Max OSX gnu77/gfortran #FC = gfortran #EXE = most3_facts_nc_g77_x86_64 #NETCDFINC = /usr/local/netcdf-3.6.2-gcc64/include #NETCDFLIB = /usr/local/netcdf-3.6.2-gcc64/lib -lnetcdf ##CPPFLAGS = -DSMALLMEM #FFLAGS = -O2 -static -funroll-loops -fbounds-check -Wunused #FFLAGS = -g -O -static -fbounds-check #FFLAGS = -O3 -funroll-loops # tgrid machines for 32-bit executable #FC = pgf95 #EXE = most3_facts_nc_pgi_32 #NETCDFINC = /usr/local/netcdf-3.6.1-pgi32/include #NETCDFLIB = /usr/local/netcdf-3.6.1-pgi32/lib -lnetcdf #CPPFLAGS = -DPGI -DSMALLMEM #FFLAGS = -O3 -Mipa=fast -Minfo -Bstatic -tp p7 # tgrid machines, using opendap #FC = f77 # this doesn't seem to work? #EXE = most3_facts_nc_dods #NETCDFINC = /usr/local/include #NETCDFLIB = /usr/local/libdap-3.6.2-gcc64/lib -L/usr/local/libnc-dap-3.6.0-gcc64/lib -lnc-dap -ldap -lnc-dap -ldap -Wl,--rpath -Wl,/usr/local/libdap-3.6.2-gcc64/lib -Wl,--rpath -Wl,/usr/local/libnc-dap-3.6.0-gcc64/lib #CPPFLAGS = -DSMALLMEM #FFLAGS = -O3 -funroll-loops -fbounds-check # windows (mingw, cygwin required. See details in V2.0.notes) #FC = gfortran #EXE = most3_facts_nc_g77.exe #NETCDFINC = /home/Administrator/mostWindows/netcdf-3.6.3-g77/include #NETCDFLIB = /home/Administrator/mostWindows/netcdf-3.6.3-g77/lib -lnetcdf #CPPFLAGS = -DSMALLMEM #LDFLAGS = -Wl,--stack=1024000 #FFLAGS = -O2 -static -funroll-loops -mno-cygwin #FFLAGS = -O3 -static OBJS = \ most3_facts_nc.o \ bath_read.o indx.o indx_off.o remove_islands.o \ surf_write.o \ rgrd1.o rgrd2.o \ timestep.o timestep_n.o swlat_n.o swlon_n.o swrun.o bounds.o \ timestep_nr.o swrun_lat.o swrun_lon.o bounds_nr.o \ check_err.o check_var.o freadNC.o fgenNC.o read_recs.o write_recs.o read_deform.o \ max_value.o write_max.o max_slab.o save4restart.o read4restart.o sig_handler.o \ sift_create_max.o sift_create.o sift_read.o sift_save.o sift_save_max.o \ max_speed.o writeinunflag.o countinun.o .fpp.o: cpp -P -traditional-cpp ${CPPFLAGS} $*.fpp > $*.f ${FC} ${FFLAGS} -I${NETCDFINC} -c $*.f -o $@ ${RM} $*.f .f.o: ${FC} ${FFLAGS} -I${NETCDFINC} -c $< -o $@ ${EXE}: ${OBJS} $(FC) ${FFLAGS} ${LDFLAGS} ${OBJS} -L${NETCDFLIB} -o ${EXE} clean: ${RM} *.o *.oo *.ipo ${EXE} most3_facts_nc.f