SHELL=/usr/bin/ksh # # This makefile was produced by /usr/bin/fmgen at 02:55:49 PM on 03/15/95 # 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 axis. # # If it is invoked by the command line # make -f makefile axis.prof # it will compile the fortran modules indicated by SRCS into the object # modules indicated by OBJS and produce an executable which profiles # named axis.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= modules.f ADJUST.f akim.f BAR.f \ BOUND.f CONST.f CYCLE.f DYNVAL.f \ HDIFSN.f setconv.f sascnv.f machine.f funcphys.f \ HISRST.f HORZFX.f INIT1.f MAXMAG.f MFLXTS.f NEST.f \ PHASE.f PRDCTN.f SMDESM.f spline.f splint.f locate.f tridag.f \ TLDATA.f TWRITE.f UPDATE.f VERTDF.f VERTFX.f akim2.f monospline.f xerror.f \ XINTGL.f qdam.f tread.f twrit.f setcone.f tlift.f convect.f OBJS= ${SRCS:.f=.o} # 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 # ISIZE = 4 RSIZE = 4 CF = ncepxlf LDFLAGS = -lessl #LDFLAGS = #LDFLAGS = -lessl -bnoquiet -bloadmap:loadmap LIBS = -L/nwprod/lib -lw3_d CMD = gfdl_axisymet.oldinit PROFLIB = prof # To perform the default compilation, use the first line # To compile with flowtracing turned on, use the second line # To compile giving profile additonal information, use the third line # WARNING: SIMULTANEOUSLY PROFILING AND FLOWTRACING IS NOT RECOMMENDED ###FFLAGS = -O2 -qsave -qarch=auto -qintsize=$(ISIZE) -qrealsize=$(RSIZE) -qflttrap=ov:zero:inv:enable -qzerosize FFLAGS = -O2 -qsave -qarch=auto -qintsize=$(ISIZE) -qrealsize=$(RSIZE) -qzerosize #FFLAGS = -O -qarch=pwr3 -qintsize=4 -qrealsize=4 -qflttrap=ov:und:zero:inv:enable ##FFLAGS = -O -qarch=pwr3 -qattr -qsource -qextchk -qxref -qintsize=4 -qrealsize=8 #TMFFLAGS = -Zv -Wf" -a static" #FFLAGS = -Zv -F #FFLAGS = -Zv -Wf"-ez" # Lines from here on down should not need to be changed. They are the # actual rules which make uses to build axis. # all: $(CMD) $(CMD): $(OBJS) $(CF) $(LDFLAGS) -o $(@) $(OBJS) $(LIBS) $(OBJS): $(SRCS) $(CF) $(FFLAGS) -c $< # Make the profiled version of the command and call it axis.prof # $(CMD).prof: $(OBJS) $(CF) $(LDFLAGS) -o $(@) $(OBJS) $(PROFLIB) $(LIBS) clean: -rm -f $(OBJS) allclean: clean all clobber: clean -rm -f $(CMD) $(CMD).prof void: clobber -rm -f $(SRCS) makefile