# jch's makefile # last revision 02/05/96 # order of libraries is important in link-loading, # e.g. dynamic loading in S should have the order # calling programs, init, bounds, gq, dist, root BOUNDSDIR=bounds BOUNDSLIB=$(BOUNDSDIR)/libbounds.a DISTDIR=dist DISTLIB=$(DISTDIR)/libdist.a FFTLIB=libfft.a INEQDIR=ineq INEQLIB=$(INEQDIR)/libineq.a INITDIR=init INITLIB=$(INITDIR)/libinit.a MAINDIR=main PQRDIR=pqr PQRLIB=$(PQRDIR)/libpqr.a QUADDIR=quad QUADLIB=$(QUADDIR)/libgq.a ROOTDIR=root ROOTLIB=$(ROOTDIR)/libroot.a SORTDIR=sort SORTLIB=$(SORTDIR)/libsort.a NUMLIB=$(ROOTLIB) $(BOUNDSLIB) $(DISTLIB) MOTIFLIB= # macros for Cray # ranlib built-in on Cray # AKEY=-ru # archive option # F77=cf77 # Fortran compiler # FFLAGS=-dp -Zv # Fortran compiler options # -dp makes double precision single precision # -Zv vectorizes but not parallelizes # IMSL=/loclib/bin/imsl # macros for DEC with DEC Fortran compiler # ranlib needed on DEC #AKEY=ru # archive option #F77=f77 # Fortran compiler #FFLAGS=-O -G 0 # -G 0 required for dyn.load2 of Splus #IMSL=/usr/lib/libimsl_G0.a #LDFLAGS=-G 0 -r -d # link-loader flags #STDLIBS=-lUfor_G0 -lfor_G0 -lutil_G0 -li_G0 -lots_G0 -lm_G0 -lc_G0 # macros for HP # ranlib built-in on HP AKEY=-ru # archive option F77=fort77 # Fortran compiler FFLAGS= -O 2 # on HP -L of f77 Lists, conflicts with -L option of ld IMSL=/usr/lib/libimsllib.a # macros for NeXT and Pyramid # NeXT and Pyramid need ranlib # AKEY=r # archive option # F77=f77 # Fortran compiler and options # IMSL=/loclib/bin/imsl # macros for SGI # ranlib not needed on SGI # AKEY=ru # archive option # F77=f77 # Fortran compiler # FFLAGS=-O -G 0 -sopt,-inline,-ind=10,-inll=10,-r=3 # -G 0 required for dyn.load2 of Splus # IMSL=/usr/lib/libimslib_G0.a # LDFLAGS=-G 0 -r -d # link-loader flags # STDLIBS=-lF77_G0 -lU77_G0 -lI77_G0 -lm_G0 -lc_G0 pmca: pmca.o $(INITLIB) $(QUADLIB) $(NUMLIB) $(F77) $(FFLAGS) -o pmca pmca.o $(INITLIB) $(QUADLIB) $(NUMLIB) pmcb: pmcb.o $(INITLIB) $(QUADLIB) $(NUMLIB) $(F77) $(FFLAGS) -o pmcb pmcb.o $(INITLIB) $(QUADLIB) $(NUMLIB) pmcc: pmcc.o $(INITLIB) $(QUADLIB) $(NUMLIB) $(F77) $(FFLAGS) -o pmcc pmcc.o $(INITLIB) $(QUADLIB) $(NUMLIB) qmca: qmca.o $(PQRLIB) $(INITLIB) $(QUADLIB) $(NUMLIB) $(F77) $(FFLAGS) -o qmca qmca.o $(PQRLIB) $(INITLIB) \ $(QUADLIB) $(NUMLIB) qmcb: qmcb.o $(PQRLIB) $(INITLIB) $(QUADLIB) $(NUMLIB) $(F77) $(FFLAGS) -o qmcb qmcb.o $(PQRLIB) $(INITLIB) \ $(QUADLIB) $(NUMLIB) qmcc: qmcc.o $(PQRLIB) $(INITLIB) $(QUADLIB) $(NUMLIB) $(F77) $(FFLAGS) -o qmcc qmcc.o $(PQRLIB) $(INITLIB) \ $(QUADLIB) $(NUMLIB) # # libraries (Note: $? evaluates to prerequisites newer than target, p.17) # $(BOUNDSLIB): $(BOUNDSDIR)/bdmcab.f \ $(BOUNDSDIR)/bdmca2.f $(BOUNDSDIR)/bdmcb1.f \ $(BOUNDSDIR)/bdmcc2.f \ $(BOUNDSDIR)/bdb11.f $(BOUNDSDIR)/bdb12.f cd $(@D); $(F77) $(FFLAGS) -c $(?F);\ ar $(AKEY) libbounds.a bdmcab.o bdmca2.o bdmcb1.o bdmcc2.o \ bdb11.o bdb12.o;\ ranlib libbounds.a $(DISTLIB): $(DISTDIR)/finvn.f $(DISTDIR)/finvt.f \ $(DISTDIR)/gamaln.f $(DISTDIR)/gamain.f \ $(DISTDIR)/ncdfv.f $(DISTDIR)/ndfcon.f \ $(DISTDIR)/ppchi2.f cd $(@D); $(F77) $(FFLAGS) -c $(?F);\ ar $(AKEY) libdist.a finvn.o finvt.o gamaln.o gamain.o \ ndfcon.o ncdfv.o ppchi2.o;\ ranlib libdist.a $(INEQLIB): $(INEQDIR)/bonf21.f $(INEQDIR)/bonf22.f \ $(INEQDIR)/dmtoms.f $(INEQDIR)/sidak2.f $(INEQDIR)/slep2.f cd $(@D); $(F77) $(FFLAGS) -c $(?F);\ ar $(AKEY) libineq.a bonf21.o bonf22.o dmtoms.o sidak2.o slep2.o;\ ranlib libineq.a $(INITLIB): $(INITDIR)/commgq.f $(INITDIR)/commft.f cd $(@D); $(F77) $(FFLAGS) -c $(?F);\ ar $(AKEY) libinit.a commgq.o commft.o;\ ranlib libinit.a $(PQRLIB): $(PQRDIR)/pvmcav.f $(PQRDIR)/pvmcbv.f $(PQRDIR)/pvmccv.f\ $(PQRDIR)/qhwbv.f $(PQRDIR)/qhwcv.f \ $(PQRDIR)/qmcav.f $(PQRDIR)/qmcbv.f $(PQRDIR)/qmccv.f cd $(@D); $(F77) $(FFLAGS) -c $(?F);\ ar $(AKEY) libpqr.a pvmcav.o pvmcbv.o pvmccv.o\ qhwbv.o qhwcv.o qmcav.o qmcbv.o qmccv.o;\ ranlib libpqr.a $(QUADLIB): $(QUADDIR)/gh1d.f $(QUADDIR)/gh2d.f \ $(QUADDIR)/gha1.f $(QUADDIR)/ghb1.f $(QUADDIR)/ghc1.f \ $(QUADDIR)/ghab0.f $(QUADDIR)/ghmcb0.f \ $(QUADDIR)/ghcn48.f $(QUADDIR)/ghcon.f \ $(QUADDIR)/glcn48.f $(QUADDIR)/glcon.f $(QUADDIR)/glv.f cd $(@D); $(F77) $(FFLAGS) -c $(?F);\ ar $(AKEY) libgq.a gh1d.o gh2d.o gha1.o ghb1.o ghc1.o \ ghab0.o ghmcb0.o ghcon.o ghcn48.o \ glcn48.o glcon.o glv.o;\ ranlib libgq.a $(ROOTLIB): $(ROOTDIR)/mrgfls.f $(ROOTDIR)/polint.f \ $(ROOTDIR)/zbrent1.f $(ROOTDIR)/zbrent2.f cd $(@D); $(F77) $(FFLAGS) -c $(?F);\ ar $(AKEY) libroot.a mrgfls.o zbrent1.o zbrent2.o polint.o;\ ranlib libroot.a $(SORTLIB): $(SORTDIR)/sort1.f $(SORTDIR)/sortb.f $(SORTDIR)/pointy.f cd $(@D); $(F77) $(FFLAGS) -c $(?F);\ ar $(AKEY) libsort.a sort1.o sortb.o pointy.o;\ ranlib libsort.a