#------------------------------------------------------------------------- # Makefile for the merge program # # History: 04/07/30 Gross, J. created from awipsprblty Makefile # Modified: 12/26/2012 A. Krautkramer - Migration to WCOSS # 02/15/2017 C. Mattocks - added 'install' target, # removed IBM Power settings, cleaned up # 03/09/2018 C. Mattocks - Replaced LIBS variables with # environmental variable names. # #------------------------------------------------------------------------- # -------------------- # Define default shell # -------------------- SHELL = /bin/sh # ------------------------------ # Source/Object/Executable files # ------------------------------ SRCM = merge.f OBJM = merge.o INCM = SRCS = dtgutils.f OBJS = dtgutils.o CMD = merge.x # ----------------- # Compiler / Linker # ----------------- # COMP=intel COMP=cray # COMP=pgi # COMP=gnu # ------------ # Common Flags # ------------ ifeq ($(COMP),intel) FC = ifort FFLAGS = -O2 -align all -static-intel -fp-model strict LDFLAGS = DEBUG = -ftrapuv -check all -traceback -g else ifeq ($(COMP),cray) FC = ftn # FFLAGS = -O2 -align all -static-intel -fp-model strict FFLAGS = -O2 -align all -fp-model strict LDFLAGS = DEBUG = -ftrapuv -check_all -traceback -g else ifeq ($(COMP),pgi) FC = pgf90 FFLAGS = -m32 -nomp -O4 -fastsse -Mipa=fast,inline -Bstatic_pgi -w LDFLAGS = DEBUG= else FC = gfortran FFLAGS = -m64 -Ofast -mavx -funroll-loops -w # FFLAGS = -O0 -g -fbacktrace -ffpe-trap=invalid,zero,overflow,underflow -Wall -Wextra -pedantic LDFLAGS = DEBUG = -g -Wall -pedantic -fbounds-check -ffpe-trap=invalid,overflow,zero endif # --------- # # Libraries # --------- LDFLAGS = #LIBS = -L/nwprod/lib -lg2_4 -lbacio_4 -ljasper -lpng -lz -lw3nco_4 # Replace the LIBS settings with environmental variables LIBS = $(W3NCO_LIB4) $(BACIO_LIB4) $(G2_LIB4) $(JASPER_LIB) $(PNG_LIB) $(Z_LIB) # ------------- # Make program # ------------- $(CMD): $(SRCM) $(OBJS) $(FC) $(FFLAGS) $(LDFLAGS) $(SRCM) $(OBJS) $(LIBS) -o $(CMD) dtgutils.o: dtgutils.f $(FC) -c $(FFLAGS) dtgutils.f # ------------- # Targets # ------------- all: $(CMD) debug: FFLAGS += $(DEBUG) debug: all # ------------------ # Install executable # ------------------ install: all mkdir -p ../../exec/; cp -f $(CMD) ../../exec/ # -------- # Clean up # -------- clean: -rm -f $(OBJM) $(OBJS) clobber: clean -rm -f $(CMD) ../../exec/$(CMD)