################################################################################ # # Makefile for Eta Coordinate Post # # Use: # make - build the executable # make clean - start with a clean slate # # The following macros will be of interest: # # TARGET - name of the executable # FC - name of Fortran compiler # CPP - name of CPP # ARCH - architecture # CPPFLAGS - CPP flags # OPTS - compiler code optimizations # LIST - source listing # SMP - threading # TRAPS - runtime traps for floating point exceptions # PROFILE - source code profiling ( -pg ) # DEBUG - -g # MEM - user data area and stack size # MAP - load map # W3LIB - w3lib # BACIO - bacio lib # ESSL - ESSL library # MASS - MASS library # SEARCH - library search location # ################################################################################# # # Define the name of the executable # ####################################### #include ../eta/src/configure/make.inc #TO FC = xlf #TO CC = /lib/cpp -P #TO FFLAGS = -O2 -qmaxmem=-1 CFLAGS = ####################################### TARGET = ../../exe/etapost.x # # CPP, Compiler, and Linker Options # # FC = f90 #TO CPP = /lib/cpp -P FC = f90 CC = cc FFLAGS = CPPFLAGS = OPTS = $(FFLAGS) W3LIB = ../../../libraries/w3lib BACIO = ../../../libraries/bacio # # Assemble Options # # FFLAGS = $(OPTS) FFLAGST = $(OPTS) LDFLAGS = LIBS = $(W3LIB) $(BACIO) # # # Non-threaded object files # # OBJS= CALCAPE.o MISCLN.o NGMFLD2.o # # Threaded object files # OBJST= BLOSFC2.o BNDLYR2.o BOUND.o CALCAPE.o CALDRG.o \ CALDWP2.o CALEKM.o CALEKM2.o CALHEL.o CALLCL.o \ CALMCVG.o CALMXW.o CALPOT2.o CALPW.o CALRCH.o \ CALRH2.o CALSTRM.o CALTAU.o CALTHTE.o CALVIS.o \ CALVOR.o CALWXT.o CETLIH4.o CHR2INT.o CLDRAD.o \ CLMAX.o COEFI.o COEFJ.o DEWPOINT.o DIR.o \ E2OUT.o E2TLL.o EFILL.o EFILT.o ETA2P.o \ ETAFLD2.o ETAPOST.o EUVGUV.o EXTEND.o FDLVL.o \ FILLH.o FILLV.o FILTER.o FIXED.o FRZLVL.o \ FRZLVL2.o GD2EG.o GD2EGK.o GD2TLL.o GENBIL.o \ GETGDEF.o \ GENEUV.o GENLL.o GET_BITS.o GRIBIT.o H2V.o \ INITPOST.ssib.o INTERP3.o LFMFLD.o LL2EG.o MINMAX.o \ MISCLN.o MIXLEN.o NETAL.o NGMFLD2.o NGMSLP2.o \ NOPACK.o OTLIFT2.o OTLFT2.o OUTPUT.o P2FILT.o \ P2FLTV.o POSTDATA.o PROCESS.o RDRST2D.o \ READCNTRL2.o SCLFLD.o SURFCE2.ssib.o TRNSEG.o TRNSGD.o \ TRPAUS.o TTBLEX.o WDIR.o WETBULB.o # # Includes # INCLUDES= parm.tbl parmeta parmout parmsoil cuparm # # Common Blocks # COMMS= ACMCLD.comm BITMAP.comm DYNAMD.comm IOUNIT.comm OMGAOT.comm PHYS2.comm \ ACMCLH.comm BOCO.comm E2PFLG.comm LLGRDS.comm OPTIONS.comm PVRBLS.comm \ ACMPRE.comm CLDWTR.comm EGRID.comm LOOPS.comm OUTFIL.comm RQSTFLD.comm \ ACMRDL.comm CNVCLD.comm EXTRA.comm MAPOT.comm OUTGRD.comm SOIL.comm \ ACMRDS.comm CTLBLK.comm GRBDAT.comm MAPOT1.comm PHYS.comm SRFDSP.comm \ ACMSFC.comm DYNAM.comm INDX.comm MASKS.comm PHYS1.comm VRBLS.comm \ CALMCVGT.ssib.com COMSPOST.ssib.com DEPS= $(COMMS) $(INCLUDES) .SUFFIXES: .F .f .o .F.f: $(CPP) $(CPPFLAGS) $< > $*.f # $(TARGET): $(OBJS) $(OBJST) $(TARGET): $(OBJST) $(FC) $(LDFLAGS) -o $@ $(OBJST) $(LIBS) # $(OBJST): $(DEPS) .f.o: $(FC) $(FFLAGST) -c $< clean: /bin/rm -f $(TARGET) *.lst *.o #