# This is not a standalone Makefile
# It is intended to be included in other Makefiles

# It defines these macros
# HAVEQDP HAVEQIO HAVEQMP          What we are compiling with
# LIBSCIDAC INCSCIDAC              The -L and -I compiler and linker lists
# SCIDAC_LIBRARIES SCIDAC_HEADERS  Lists for make dependencies

# Requires input macros
# MPP                     true if multiprocessor compilation
# QMPPAR                  Path to multiprocessor QMP
# QMPSNG                  Path to single processor QMP
# QIOPAR                  Path to the multiprocessor QIO package
# QIOSNG                  Path to the singleprocessor QIO package
# QLA                     Path to the QLA package
# QDP                     Path to the QDP package
# WANTQDP WANTQIO WANTQMP User requests (true or otherwise)
# LIBQOP INCQOP LIBDEPQOP INCDEPQOP Defined in Make_template_qop

HAVEQDP = ${WANTQDP}

ifeq ($(strip ${HAVEQDP}),true)
   HAVEQIO = true #
else
   HAVEQIO = ${WANTQIO}
endif

ifeq ($(strip ${HAVEQIO}),true)
   HAVEQMP = true
else
   HAVEQMP = ${WANTQMP}
endif

ifeq ($(strip ${MPP}),true)
   QMP = ${QMPPAR}
   QIO = ${QIOPAR}
else
   QMP = ${QMPSNG}
   QIO = ${QIOSNG}
endif

QMPINCDIR = $(strip ${QMP})/include

QIOINCDIR = $(strip ${QIO})/include
QIOLIBDIR = $(strip ${QIO})/lib

QLAINCDIR = $(strip ${QLA})/include
QLALIBDIR = $(strip ${QLA})/lib

QDPINCDIR = $(strip ${QDP})/include
QDPLIBDIR = $(strip ${QDP})/lib

# Allow for QCDOC nonstandard for now
ifeq ($(strip ${QCDOC}),true)
  QMPINCDIR = $(strip ${QOS})/quser/include
  IQMP = -I${QMPINCDIR}
  QMPLIBDIR = $(strip ${QOS})/quser/gcc-lib-user
  LQMP = -L${QMPLIBDIR} -lqmp
else
  IQMP = -I${QMPINCDIR}
  QMPLIBDIR = $(strip ${QMP})/lib
  LQMP = -L${QMPLIBDIR} -lqmp
endif

IQIO = -I${QIOINCDIR}
LQIO = -L${QIOLIBDIR} -lqio -llime 

IQLA = -I${QLAINCDIR}
LQLA = -L$(strip ${QLA})/lib \
          -lqla_int -lqla_f -lqla_f3 -lqla_df -lqla_d3 -lqla_df3 \
          -lqla_dq3 -lqla_q3 -lqla_d -lqla_dq -lqla_q -lqla_random

IQDP = -I$(strip ${QDP})/include
LQDP = -L$(strip ${QDP})/lib \
          -lqdp_int -lqdp_f -lqdp_f3 -lqdp_d -lqdp_d3 -lqdp_common

ifeq ($(strip ${HAVEQMP}),true)
  LIBQMP = ${LQMP}
  INCQMP = ${IQMP}
  INCDEPQMP = ${QMPINCDIR}
  LIBDEPQMP = ${QMPLIBDIR}
endif

ifeq ($(strip ${HAVEQIO}),true)
  LIBQIO = ${LQIO}
  INCQIO = ${IQIO}
  INCDEPQIO = ${QIOINCDIR}
  LIBDEPQIO = ${QIOLIBDIR}
endif

ifeq ($(strip ${HAVEQDP}),true)
  LIBQDP = ${LQDP} ${LQLA}
  INCQDP = ${IQDP} ${IQLA}
  INCDEPQDP = ${QDPINCDIR} ${QLAINCDIR}
  LIBDEPQDP = ${QDPLIBDIR} ${QLALIBDIR}
endif

LIBSCIDAC = ${LIBQOP} ${LIBQDP} ${LIBQIO} ${LIBQMP}
INCSCIDAC = ${INCQOP} ${INCQDP} ${INCQIO} ${INCQMP} 
SCIDAC_LIBRARIES = ${LIBDEPQDP} ${LIBDEPQIO} ${LIBDEPQMP} ${LIBDEPQOP}
SCIDAC_HEADERS = ${INCDEPQDP} ${INCDEPQIO} ${INCDEPQMP} ${INCDEPQOP}

