XCOMM Copyright(C) 2009 Sandia Corporation. Under the terms of Contract
XCOMM DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
XCOMM certain rights in this software.
XCOMM         
XCOMM Redistribution and use in source and binary forms, with or without
XCOMM modification, are permitted provided that the following conditions are
XCOMM met:
XCOMM 
XCOMM     * Redistributions of source code must retain the above copyright
XCOMM       notice, this list of conditions and the following disclaimer.
XCOMM 
XCOMM     * Redistributions in binary form must reproduce the above
XCOMM       copyright notice, this list of conditions and the following
XCOMM       disclaimer in the documentation and/or other materials provided
XCOMM       with the distribution.
XCOMM     * Neither the name of Sandia Corporation nor the names of its
XCOMM       contributors may be used to endorse or promote products derived
XCOMM       from this software without specific prior written permission.
XCOMM 
XCOMM THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
XCOMM "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
XCOMM LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
XCOMM A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
XCOMM OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
XCOMM SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
XCOMM LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
XCOMM DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
XCOMM THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
XCOMM (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
XCOMM OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

STATICFLAGS = FortranStaticFlags

#if defined(HPArchitecture) || defined(CougarArchitecture)
.IGNORE: $(CODE3) 
#endif

#if defined(SunArchitecture)
#if HasGcc
EXTRA_LOAD_FLAGS =  -Wl,-z muldefs
#else
EXTRA_LOAD_FLAGS =  -z muldefs
#endif
#endif

#if NeedsDoubleEscape
STD_CPP_DEFINES = StandardCppDefines -DNeedsDoubleEscape
#endif

CODE  = blot
CODE1 =	blot.x11
CODE2 = blot.cps
CODE3 = blot.dual
CODE4 = blot.met
CODE5 = blot.xcps
OBJS =	blot.o 

SRCS1 = \
blot.f \
adjcon.f  adjlim.f  allal2.f  allal3.f  allcut.f  bcolor.f \
biomod.f  blkdat.f  caldis.f  calmag.f  caltim.f \
cenlab.f  cfmax.f   cfv2nv.f  cfvmax.f  chkerr.f \
chkvar.f  ckcntr.f  ckcros.f  claspt.f  cmdcon.f \
cmdcut.f  cmddea.f  cmddev.f  cmdelb.f  cmdleg.f  cmdmod.f \
cmdmsh.f  cmdmvw.f  cmdrot.f  cmdtim.f  cmdvar.f  cmdvwc.f \
cmdwhe.f  cmdzm.f   cntelb.f  cntlk3.f  cntlnk.f  cntri.f  \
cntvar.f  cnvmax.f  comand.f  conlab.f  conrng.f  contf.f  \
contor.f  cpymsh.f  crvlim.f  cutrot.f  dbieb1.f  dbielb.f \
dbinam.f  dbinm1.f  dbitim.f  dblist.f  dbsbel.f  dbsel.f  \
dbselb.f  deflim.f  defxyz.f  dispv.f   dtchk.f   dtcomd.f \
dtmain.f  dtplt1.f  dtread.f  dtshow.f  elecor.f  elesta.f \
elestf.f  epaint.f  evarok.f  explim.f  expmax.f  face3d.f \
facelb.f  ffnrng.f  filhnd.f  filnpf.f  fixal2.f  fixal3.f \
fixcut.f  fixelb.f  fnddis.f  fnde2f.f  fndpth.f  fndsel.f \
fnodes.f  gauss.f   gaussf.f  geom2d.f  geom3d.f  getalv.f \
getdst.f  getins.f  getvar.f  grabrt.f  graexp.f  grapar.f  graxes.f  grbox.f  \
grcaln.f  grcolr.f  grcolt.f  grcolu.f  grexit.f  grfneu.f \
grfont.f  grgpar.f  grikey.f  grinit.f  grlwid.f  grncrv.f

SRCS2 = \
grpbeg.f  grpend.f  grsdev.f  grsnap.f  grspar.f  grsymb.f \
grtexc.f  grtext.f  grview.f  grycen.f  gtmvar.f  hidcor.f \
hidden.f  hidedg.f  hidixf.f  hidmid.f  hidnod.f  hidpar.f \
hidset.f  hidzm.f   idedge.f  ininpf.f \
initim.f  inpcr.f   inpick.f  instr.f   interp.f \
ixvw.f    linthk.f  lnchk.f   lncomd.f  lnlab.f   lnmain.f \
lnplot.f  lnread.f  lnshow.f  lnstor.f  locrl.f   mainvw.f \
makd2b.f  make2b.f  makn2b.f  maksu2.f  maksur.f  matedg.f \
matfac.f  meshup.f  mschk.f   mscomd.f  msdone.f  msflag.f \
msgeom.f  mshcol.f  mslab.f   mslins.f  msmain.f  msmemy.f \
msplt1.f  msscal.f  msshow.f  msstep.f  mssurf.f  mxepn.f  \
ndefvw.f  number.f  nummod.f  nwhsel.f  nzaway.f  opnlog.f \
ord8np.f  outlin.f  pack.f    paint.f   paintf.f  matfat.f \
pick2d.f  pick3d.f  pickn2.f  pickn3.f  picknp.f  plcomd.f \
ploter.f  plshow.f  preb1.f   prelb.f   prelem.f \
preset.f  press.f   prglob.f  prhist.f  prinit.f  prmap.f  \
prname.f  prnode.f  prnps.f   prnsel.f  prnshd.f  prqa.f   \
prstep.f  prtdev.f  prtims.f  prxyz.f   ptsnrm.f  qalab.f   qepain.f  qnpick.f \
qpaint.f  qsolid.f  rainbow.f prochs.f

SRCS3 = \
rixid.f   rmixint.f rixint.f  rixwrd.f \
rndvar.f  rotxyz.f  rotzm.f   roteye.f \
rxinta.f  scacal.f  scaelb.f  scaele.f  scaglo.f  scahis.f \
scaini.f  scal3d.f  scalax.f  scaler.f  scanod.f  scaprt.f \
scolor.f  setbck.f  setcol.f  setfor.f  setmod.f  setmsh.f \
setup.f   setvw.f   shade.f   shaden.f  shdsph.f  shodev.f \
sholeg.f  shotsp.f  shptim.f  solid.f   solidf.f  sorlnk.f  sorlnx.f  spchk.f  \
spcomd.f  spdseg.f  spdsg1.f  splab.f   splabn.f  spmain.f \
spplot.f  spplt1.f  spread.f  spsegm.f  spshow.f  spstor.f \
sptrnd.f  sqrlim.f  sqzixv.f  sqzlgv.f  sqztpv.f  ssmemy.f \
stclst.f  surf2d.f  surf3d.f  symbol.f  textur.f  tnodes.f \
tpchk.f   tpcomd.f  tplab.f   tplabn.f  tplabv.f  tpmain.f \
tpplot.f  tpread.f  tpshow.f  ugrcol.f  unrot.f   upcase.f \
vec.f     vector.f  wrtneu.f  wrtray.f  xyaxis.f \
xycomd.f  xyshow.f  zaway.f   zmedge.f  zmset.f   zoomnd.f \
wrtcsv.f  getssn.f  bl_rotate.f bl_version.f   dbvini_bl.f

SRCSF = \
deadup.F  dtlab.F   mrkess.F  mrkfac.F  mrknod.F  mrknps.F  usrsym.F \
tplab.F   splab.F   mslab.F   symsph.F

SRCS  =  $(SRCS1) $(SRCS2) $(SRCS3) $(SRCSF)

SRCSf = ${SRCSF:.F=.f}
OBJS1 = ${SRCS1:.f=.o}
OBJS2 = ${SRCS2:.f=.o}
OBJS3 = ${SRCS3:.f=.o}
OBJSF = ${SRCSF:.F=.o}
OBJSf = $(OBJS1) $(OBJS2) $(OBJS3)

EXOLIBS  = $(EXOIIV2FOR) $(EXOIIV2C) $(NETCDF)
LIBS     = $(SUPLIB) $(SUPES) $(PLT) $(EXOLIBS) $(CGI) $(CDR) 
CGIOBJ   = $(LIBDIR)/vdicgi.o

XCOMM blot.x11 objects and libraries
OBJSX11  = $(LIBDIR)/cdrabc.o $(LIBDIR)/cgisx11.o $(CGIOBJ)
LIBS1    = $(LIBS) $(X11) $(EXTRA_LIBRARIES) 

XCOMM blot.cps objects and libraries
OBJSCPS  = $(LIBDIR)/vdicps.o 
LIBS2    = $(LIBS) $(EXTRA_LIBRARIES) 

XCOMM blot.dual objects and libraries
#if defined (__APPLE__)
OBJSDUAL = $(LIBDIR)/cdrabc.o $(LIBDIR)/vdx11met.o 
#else
OBJSDUAL = $(LIBDIR)/cdrabc.o $(LIBDIR)/vdx11met.o $(LIBDIR)/wmet.o
#endif
LIBS3    = $(LIBS) $(X11) $(EXTRA_LIBRARIES) 

XCOMM blot.met objects and libraries
OBJSMET  = $(LIBDIR)/cdrabc.o $(LIBDIR)/cgismet.o $(CGIOBJ)
LIBS4    = $(LIBS) $(EXTRA_LIBRARIES)

XCOMM blot.xcps objects and libraries
OBJSXCPS = $(LIBDIR)/cdrabc.o $(LIBDIR)/vdx11cps.o $(LIBDIR)/vdicps_dual.o
LIBS5    = $(LIBS) $(X11) $(EXTRA_LIBRARIES)


NormalLibraryTarget2($(CODE),$(OBJSF),$(OBJSf))
NormalFortranTarget($(CODE1),$(OBJS) $(OBJSX11), libblot.a,libblot.a,$(LIBS1))
NormalFortranTarget($(CODE2),$(OBJS) $(OBJSCPS), libblot.a,libblot.a,$(LIBS2))
NormalFortranTarget($(CODE3),$(OBJS) $(OBJSDUAL),libblot.a,libblot.a,$(LIBS3))
NormalFortranTarget($(CODE4),$(OBJS) $(OBJSMET), libblot.a,libblot.a,$(LIBS4))
NormalFortranTarget($(CODE5),$(OBJS) $(OBJSXCPS),libblot.a,libblot.a,$(LIBS5))

InstallLibrary($(CODE),$(LIBDIR))
InstallProgram($(OBJS),$(BINDIR))
InstallProgram($(CODE1),$(BINDIR))
InstallProgram($(CODE2),$(BINDIR))
InstallProgram($(CODE3),$(BINDIR))
InstallProgram($(CODE4),$(BINDIR))
InstallProgram($(CODE5),$(BINDIR))

CleanupCapF($(SRCSf))

DependTarget()

