SHELL=/bin/sh # # This makefile was produced by /usr/bin/fmgen at 08:09:54 AM on 05/10/96 # 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 a.out. # # If it is invoked by the command line # make -f makefile a.out.prof # it will compile the fortran modules indicated by SRCS into the object # modules indicated by OBJS and produce an executable which profiles # named a.out.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= accstp.f acquire.f acrrh2.f addiag.f \ adheel.f adjust.f advec.f advecl.f \ advecv.f advnce.f aion.f alocbf.f \ amiepa.f aurht.f bdotdh.f bdzdvb.f \ bion.f blktri.f bndcmp.f bndry.f \ bndry2.f bndrya.f bndryz.f bndyc.f \ cbcor2.f ceee.f chapmn.f clear.f \ cmpch4.f cmpclx.f cmpco.f cmpco2.f \ cmph2.f cmph2o.f cmphox.f cmpmeta.f \ cmpn4s.f cmpnoz.f cmpox.f cnm.f \ cnstnt.f co2fix.f coef.f colath.f \ comp.f compart.f con.f cor2.f \ count.f cpktkm.f crosp.f cub1.f \ cub2.f dalocb.f dfact.f diffus.f \ disptp.f divb.f divide.f divrg.f \ dldp.f dt.f duv.f dyn.f \ edges.f elden.f factri.f factrp.f \ fcrcl2.f filter.f filter2.f flip.f \ flowv1.f flowv2.f flowv3.f flowx0.f \ flowxx.f flwv32.f fogcm.f glp.f \ glpl.f gravwu.f gravwv.f grdint.f \ grdtrp.f gtm.f gwsource.f hdif.f \ heelis.f hoxchem.f hoxpion.f hres2cr.f \ htrpex.f ichk.f init.f input.f \ intgrls.f istpck.f itera.f kcrcl2.f \ lamdas.f lfk.f lfk1.f lfp.f \ ln1.f ln2.f lncor2.f lsqdsq.f \ lstr.f magdyn.f minor.f minor2.f \ mud.f mud2c1.f mud2cr.f new.f \ newto3p.f newton.f opflux.f oplus.f \ orora.f output.f pde2.f polht.f \ potm.f prj1.f ptbdry.f ptbdry2.f \ ptbdrya.f qaa0.f qam0.f qam1.f \ qam2.f qinite.f qjion.f qjnno.f \ qma0.f qma1.f qma2.f qma5.f \ qmm0.f qmm1.f qms0.f qp.f \ qrj.f qsa0.f qsm0.f qsm1.f \ qtieff.f qvadd0.f qvadd1.f qvdiv0.f \ qvdiv2.f qvmpy0.f qvmpy2.f qvsub0.f \ qvsub1.f radcool.f rate.f rates.f \ rcrax2.f rcrpt2.f res1cr.f res2cr.f \ rite.f ritet.f rotate.f rrk.f \ rths.f runtgcm.f runtime.f savep.f \ scrcf2.f scrnx2.f scrny2.f settei.f \ solaruv.f ssflux.f start.f stencil.f \ stenmod.f summry.f sun.f swdot.f \ tail.f terp.f threed.f tr1tc.f \ tr2tc.f transf.f trnsfr.f trscf2.f \ trsfc2.f trsolv.f tstadj.f tuvbnd.f \ unlcck.f unlcrd.f unlcwt.f vdotdh.f \ vdrift.f vdrift2.f vexp.f viccool.f \ vlog.f vquart.f wdhdz.f xray.f \ clearstr.f flips.f fsave.f getgpi.f \ getms.f ichiyd.f inciyd.f isec2hms.f \ iyd2date.f iyddif.f lenstr.f mkfsech.f \ orogdat.f putms.f rdgpi.f setmpdir.f \ solgar_bndry.f solgar_import.f timeterp.f wtsave.f OBJS= accstp.o acquire.o acrrh2.o addiag.o \ adheel.o adjust.o advec.o advecl.o \ advecv.o advnce.o aion.o alocbf.o \ amiepa.o aurht.o bdotdh.o bdzdvb.o \ bion.o blktri.o bndcmp.o bndry.o \ bndry2.o bndrya.o bndryz.o bndyc.o \ cbcor2.o ceee.o chapmn.o clear.o \ cmpch4.o cmpclx.o cmpco.o cmpco2.o \ cmph2.o cmph2o.o cmphox.o cmpmeta.o \ cmpn4s.o cmpnoz.o cmpox.o cnm.o \ cnstnt.o co2fix.o coef.o colath.o \ comp.o compart.o con.o cor2.o \ count.o cpktkm.o crosp.o cub1.o \ cub2.o dalocb.o dfact.o diffus.o \ disptp.o divb.o divide.o divrg.o \ dldp.o dt.o duv.o dyn.o \ edges.o elden.o factri.o factrp.o \ fcrcl2.o filter.o filter2.o flip.o \ flowv1.o flowv2.o flowv3.o flowx0.o \ flowxx.o flwv32.o fogcm.o glp.o \ glpl.o gravwu.o gravwv.o grdint.o \ grdtrp.o gtm.o gwsource.o hdif.o \ heelis.o hoxchem.o hoxpion.o hres2cr.o \ htrpex.o ichk.o init.o input.o \ intgrls.o istpck.o itera.o kcrcl2.o \ lamdas.o lfk.o lfk1.o lfp.o \ ln1.o ln2.o lncor2.o lsqdsq.o \ lstr.o magdyn.o minor.o minor2.o \ mud.o mud2c1.o mud2cr.o new.o \ newto3p.o newton.o opflux.o oplus.o \ orora.o output.o pde2.o polht.o \ potm.o prj1.o ptbdry.o ptbdry2.o \ ptbdrya.o qaa0.o qam0.o qam1.o \ qam2.o qinite.o qjion.o qjnno.o \ qma0.o qma1.o qma2.o qma5.o \ qmm0.o qmm1.o qms0.o qp.o \ qrj.o qsa0.o qsm0.o qsm1.o \ qtieff.o qvadd0.o qvadd1.o qvdiv0.o \ qvdiv2.o qvmpy0.o qvmpy2.o qvsub0.o \ qvsub1.o radcool.o rate.o rates.o \ rcrax2.o rcrpt2.o res1cr.o res2cr.o \ rite.o ritet.o rotate.o rrk.o \ rths.o runtgcm.o runtime.o savep.o \ scrcf2.o scrnx2.o scrny2.o settei.o \ solaruv.o ssflux.o start.o stencil.o \ stenmod.o summry.o sun.o swdot.o \ tail.o terp.o threed.o tr1tc.o \ tr2tc.o transf.o trnsfr.o trscf2.o \ trsfc2.o trsolv.o tstadj.o tuvbnd.o \ unlcck.o unlcrd.o unlcwt.o vdotdh.o \ vdrift.o vdrift2.o vexp.o viccool.o \ vlog.o vquart.o wdhdz.o xray.o \ clearstr.o flips.o fsave.o getgpi.o \ getms.o ichiyd.o inciyd.o isec2hms.o \ iyd2date.o iyddif.o lenstr.o mkfsech.o \ orogdat.o putms.o rdgpi.o setmpdir.o \ solgar_bndry.o solgar_import.o timeterp.o wtsave.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 # CF = cf77 LIBS = -L /usr/lib,/usr/local/lib,/lib \ -l mv1,ncarg,ncarg_gks,ncarg_c,ncarg_loc,X11,ncarm, \ -l ncaro,mss,alfpack,ecmfft,fitpack,fishpak,fftpack,hpf LDFLAGS = -Wl"-f indef" CMD = tgcm20.x NEWLIB = tgcm20.a PROFLIB = -lprof # 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 = #FFLAGS = -F #FFLAGS = -Wf"-ez" # # Lines from here on down should not need to be changed. They are the # actual rules which make uses to build a.out. # all: $(CMD) $(CMD): $(OBJS) $(CF) $(LDFLAGS) -o $(@) $(OBJS) $(LIBS) # Make the profiled version of the command and call it a.out.prof # $(CMD).prof: $(OBJS) $(CF) $(LDFLAGS) -o $(@) $(OBJS) $(PROFLIB) $(LIBS) # # Make library from objects: $(NEWLIB): $(OBJS) bld -r $(NEWLIB) $(OBJS) clean: -rm -f $(OBJS) clobber: clean -rm -f $(CMD) $(CMD).prof void: clobber -rm -f $(SRCS) makefile