# Makefile for library - HSPF Version 11
#
# History:  95/12/05 kmflynn

# Usage:  make [libdir=path_to_install_to] [install] [| tee makeout]
#
# Examples:  make
#            make install libdir=/usr/lib
#            make install libdir=$HOME/lib

# Compiler flags (Fortran - Green Hills):
#    C - check subranges and array bounds
#    u - default data type for undeclareds is undefined
#    I - search for include files in directory indicated
#    g - generate source level symbolic debug information
#   OM - optimization
# (NOTE: set OpgDbg to: OptM to generate optimized code
#                       DbgF to generate debug code)
DbgF   = -g
OptM   = -OM
OptDbg =
FFLAGS = -u $(OptDbg) 

# Compiler names
F77    = f77

# symbol table for library archive may need to be explicitly built;
# System V ar does this automatically, BSD ar does not
BSD    = ranlib $@
SYS_V  =
SymTbl = $(SYS_V)

# library archive options
#    r - replace the named files in the archive file
#    v - give a verbose file-by-file description of the making
#    c - suppress the message that is produced by default when
#        the archive file is created
#    q - quickly append the named files to the end of the
#        archive file
ArOpt = rv

# this description file uses the Bourne shell
SHELL = /bin/sh

#*******************************************************************
#***** You should not need to modify anything below this line. *****
#*******************************************************************

library = hspflib.a
Objects = hosuper.o   hfiles.o     hdatut.o    hgenut.o    \
          himp.o      himpgas.o    himpqua.o   himpsld.o   \
          himpwat.o   hioosup.o    hioosv.o    hiotsin.o   \
          hiouci.o    hiowrk.o     hper.o      hperagut.o  \
          hperair.o   hpergas.o    hpermst.o   hperpes.o   \
          hperpho.o   hperqua.o    hpersed.o   hpertmp.o   \
          hpertra.o   hperwat.o    hpernit.o   hpersno.o   \
          hprbut.o    hrch.o       hrchaci.o   hrchcon.o   \
          hrchgqu.o   hrchhtr.o    hrchnut.o   hrchoxr.o   \
          hrchphc.o   hrchplk.o    hrchrq.o    hrchut.o    \
          hrchhyd.o   hrchsed.o    hringen.o   hringeut.o  \
          hrinoput.o  hrinseq.o    hrints.o    hrunut.o    \
          hruntsgp.o  hruntsgq.o   hruntsgt.o  hruntsgw.o  \
          hruntsut.o  hrintss.o    hrinwdm.o   hruntspt.o  \
          hruntspw.o  htsinsi.o    htsinsz.o   htssut.o    \
          hutop.o     hutopinp.o   hwdmut.o    hutdura.o   \
          specact.o   hspf.o       hspfec.o    hspfitab.o  \
          hrinopn.o   hextutil.o   

libdir  = ../../lib
binary  = ../../lib
libMake = $(binary)/$(library)
libInst = $(libdir)/$(library)

# Rules
all: $(binary) $(libMake) install
	@echo "\nDone making all for hspf, files are now up-to-date.\n"

# Library and utility dependencies:
$(libMake):   $(Objects)
	@echo "\n" making $(libMake)
	ar $(ArOpt) $@ $?
	$(SymTbl)
$(binary):
	@if [ ! -d $(binary) ]   ; then        \
	   mkdir $(binary)  ;                  \
	   echo Created directory $(binary) ;  \
        fi
install:
# Create directory for binary file, if necessary
	@if [ ! -d $(libdir) ]   ; then        \
	   mkdir $(libdir) ;                   \
	   echo  Created directory $(libdir) ; \
	fi
# Link executable to libdir if installing elsewhere
	@if [ ! -s $(libMake) ] ; then                              \
	   echo library $(libMake) does not exist, ;                \
	   echo use one of the following commands to generate it:;  \
	   echo "     make" ;  echo "     make all" ;               \
	else                                                   \
	   if [ $(libdir) != $(binary) ] ; then                \
	      rm -f $(libInst) ;                               \
	      cd ../..; ln -s `pwd`/lib/$(library) $(libInst); \
	      chmod 644 $(libInst) ;                           \
	      echo "\n"Library $(libInst) has been updated.;   \
	   fi ; \
	fi
clean:
	@if [ $(libdir) != $(binary) ] ; then rm -f $(libInst) ; fi
	rm -f *.o $(libMake)
	@echo Removed files generated by make."\n"

# Define object file dependencies:
hfiles.o:   cfilbk.inc cifltb.inc fversn.inc
himp.o:     cilge.inc  cmpad.inc
himpgas.o:  cilig.inc  cmpad.inc
himpqua.o:  ciliq.inc  cmpad.inc
himpsld.o:  cilsl.inc  cmpad.inc
himpwat.o:  ciliw.inc  cmpad.inc
hioosup.o:  cosupm.inc crin1.inc  pmxftb.inc pmxmdt.inc pmxopn.inc
hioosv.o:   cosvm.inc  posvm.inc
hiotsin.o:  ctsgpm.inc
hiouci.o:   cucim.inc
hiowrk.o:   cmpad.inc  cwork.inc  pmxosv.inc
hosuper.o:  cmosv.inc  cmpad.inc  cosupm.inc pmxosv.inc
hper.o:     cmpad.inc  cplpg.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hperagut.o: cmpad.inc
hperair.o:  cmpad.inc  cplat.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hpergas.o:  cmpad.inc  cplps.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hpermst.o:  cmpad.inc  cplms.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hpernit.o:  cmpad.inc  cplni.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hperpes.o:  cmpad.inc  cplpe.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hperpho.o:  cmpad.inc  cplph.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hperqua.o:  cmpad.inc  cplpq.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hpersed.o:  cmpad.inc  cplse.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hpersno.o:  cmpad.inc  cplsn.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hpertmp.o:  cmpad.inc  cplst.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hpertra.o:  cmpad.inc  cpltr.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hperwat.o:  cmpad.inc  cplpw.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hprbut.o:   chmsg.inc  phmsg.inc
hrch.o:     cmpad.inc  crhge.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hrchaci.o:  cmpad.inc  crhac.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hrchcon.o:  cmpad.inc  crhco.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hrchgqu.o:  cmpad.inc  crhgq.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hrchhtr.o:  cmpad.inc  crhht.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hrchhyd.o:  chcat.inc  cmpad.inc  crhhd.inc  crin1.inc \
            crin2.inc  pmxexi.inc pmxftb.inc pmxmdt.inc \
            pmxopn.inc pmxtab.inc phcat.inc
hrchnut.o:  cmpad.inc  crhnu.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hrchoxr.o:  cmpad.inc  crhox.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hrchphc.o:  cmpad.inc  crhph.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hrchplk.o:  cmpad.inc  crhpl.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hrchrq.o:   cmpad.inc  crhrq.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hrchsed.o:  cmpad.inc  crhse.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hrchut.o:   cmpad.inc  crhad.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc pmxexi.inc
hringen.o:  chcat.inc  cifltb.inc cpthnm.inc phcat.inc
hringeut.o: chcat.inc  phcat.inc
hrinopn.o:  crin1.inc  pmxftb.inc pmxmdt.inc pmxopn.inc
hrinseq.o:  crin3.inc  crin3c.inc pmxopn.inc pmxrow.inc pmxttb.inc
hrints.o:   cmosv.inc  cmpad.inc  cpthnm.inc crin3.inc  crin3c.inc \
            crin4.inc  pmxopn.inc pmxosv.inc pmxrow.inc pmxttb.inc
hrintss.o:  crin3.inc  crin3c.inc crin4.inc  pmxopn.inc pmxrow.inc pmxttb.inc
hruntsgp.o: cmpad.inc  ctsbu.inc  ctsbx.inc  ctser.inc  ctsex.inc  ctsin.inc
hruntsgq.o: cmpad.inc  ctsbu.inc  ctsbx.inc  ctser.inc  ctsex.inc  ctsin.inc
hruntsgt.o: cmpad.inc  ctsbu.inc  ctsbx.inc  ctser.inc  ctsex.inc  ctsin.inc
hruntsgw.o: cmpad.inc  ctsbu.inc  ctsbx.inc  ctser.inc  ctsex.inc  ctsin.inc
hruntspt.o: cmpad.inc  ctsbu.inc  ctsbx.inc  ctser.inc  \
            ctsex.inc  ctsin.inc  ctslx.inc
hruntspw.o: cmpad.inc  ctsbu.inc  ctsbx.inc  ctser.inc  ctsex.inc  ctsin.inc
hruntsut.o: cmpad.inc  ctsbu.inc  ctsbx.inc  ctser.inc  ctsex.inc  ctsin.inc
hspf.o:     crin1.inc  crin2.inc  crin2c.inc pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxosv.inc pmxtab.inc
hspfec.o:   chcat.inc  crin3.inc  crin3c.inc pmxopn.inc \
            pmxrow.inc pmxttb.inc phcat.inc
hspfitab.o: crin1.inc  crin2.inc  crin2c.inc pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
htsinsi.o:  cmosv.inc  cmpad.inc  crin3.inc  crin3c.inc \
            pmxopn.inc pmxosv.inc pmxrow.inc pmxttb.inc
htsinsz.o:  crin4.inc  pmxopn.inc pmxrow.inc pmxttb.inc
htssut.o:   cmpad.inc  ctsbu.inc  ctsbx.inc  ctser.inc  ctsex.inc  ctsin.inc
hutdura.o:  cdura.inc  cmpad.inc  crin2.inc  pmxftb.inc \
            pmxmdt.inc pmxopn.inc pmxtab.inc
hutop.o:    ccopy.inc  cdisp.inc  cgene.inc  cmpad.inc  cmuts.inc  cpltg.inc
hutopinp.o: ccopy.inc  cdisp.inc  cgene.inc  cmpad.inc  cmuts.inc  cpltg.inc \
            crin2.inc  pmxftb.inc pmxmdt.inc pmxopn.inc pmxtab.inc
specact.o:  cmpad.inc  cspcnd.inc cspdst.inc cspec.inc  cspins.inc \
            cspuvr.inc cspvqd.inc pmxopn.inc pmxvnm.inc pspcnd.inc \
            pspdst.inc pspins.inc pspuvr.inc pspvqd.inc

# end of make
