# # Makefile for archive processing # # --- usage: make -f Makefile # To create specific executables in this file # # # --- usage: make -f Makefile # To create specific executables in this file # --- usage: make -f Makefile programs=hycom_subset # # ------------------------------------------------------------------------ # common definitions for IBM SMP Power3, single processor, real*4, 64-bit. # ------------------------------------------------------------------------ # # MACROS DESCRIPTIONS: # # FC: Fortran 90 compiler. # FCFFLAGS: Fortran 90 compilation flags. # CC: C compiler. # CCFLAGS: C compilation flags. # CPP: cpp preprocessor (may be implied by FC). # CPPFLAGS: cpp -D macro flags. # LD: Loader. # LDFLAGS: Loader flags. # EXTRALIBS: Extra local libraries (if any). # FC = ifort FCFFLAGS = -c -assume byterecl -convert big_endian -cm -vec_report0 -w -O2 -xSSE4.2 -ip -tpp7 -xW -r8 -lmpi -O -fixed -fp-model strict FLIBS = CC = icc CCFLAGS = -O CPP = cpp -P CPPFLAGS = -DIA32 -DREAL4 LD = $(FC) LDFLAGS = -assume byterecl -convert big_endian -cm -vec_report0 -w -O2 -xSSE4.2 -ip -tpp7 -xW -r8 -O -fixed -fp-model strict # # --- generic make definitions # SHELL = /bin/sh RM = \rm -f # # rules. # .SUFFIXES: .SUFFIXES: .c .F .f .o .c.o: $(CC) $(CPPFLAGS) $(CCFLAGS) -c $*.c .f.o: $(FC) $(FCFFLAGS) -c $*.f .F.o: $(RM) $<.f $(CPP) $(CPPFLAGS) $< | sed -e '/^ *$$/d' > $<.f $(FC) $(FCFFLAGS) -c $<.f -\mv $<.o $*.o $(RM) $<.f #include ../../config/$(ARCH)_setup programs= rtofs_et_WPAb_subset # # --------------------------------------------------------------------- # Standard part of the Makefile starts here # --------------------------------------------------------------------- # all: ${programs} clean: /bin/rm -f *.o out $(programs) OBJS = hycom_endian_io.o parse.o # # --- executables. # $(programs): $(OBJS) hycom_subset.o $(LD) $(LDFLAGS) -o ../../exec/$(programs) hycom_subset.o $(OBJS) hycom_endian_io.o: hycom_endian_io.F parse.o: parse.c