#
# $Id: DEFS,v 1.119 2008-06-20 20:23:41 d3p307 Exp $
#
#======================================================================
#
# DISCLAIMER
#
# This material was prepared as an account of work sponsored by an
# agency of the United States Government.  Neither the United States
# Government nor the United States Department of Energy, nor Battelle,
# nor any of their employees, MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR
# ASSUMES ANY LEGAL LIABILITY OR RESPONSIBILITY FOR THE ACCURACY,
# COMPLETENESS, OR USEFULNESS OF ANY INFORMATION, APPARATUS, PRODUCT,
# SOFTWARE, OR PROCESS DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT
# INFRINGE PRIVATELY OWNED RIGHTS.
#
# ACKNOWLEDGMENT
#
# This software and its documentation were produced with Government
# support under Contract Number DE-AC06-76RLO-1830 awarded by the United
# States Department of Energy.  The Government retains a paid-up
# non-exclusive, irrevocable worldwide license to reproduce, prepare
# derivative works, perform publicly and display publicly by or for the
# Government, including the right to distribute to other Government
# contractors.
#
#======================================================================
#
#  -- PEIGS  routine (version 2.1) --
#     Pacific Northwest Laboratory
#     July 28, 1995
#
#======================================================================
#
# set the path to the "peigs" directory

peigs_SRC		= $(TOPDIR)/src
peigs_TARGET		= $(NWCHEM_TARGET)
peigs_CPU_TYPE          = $(NWCHEM_TARGET_CPU)

peigs_DIR	= $(peigs_SRC)/peigs
ifndef NWCHEM_TARGET_CPU
peigs_LIB	= $(TOPDIR)/lib/$(NWCHEM_TARGET)/libpeigs.a
else
peigs_LIB	= $(TOPDIR)/lib/$(NWCHEM_TARGET)_$(NWCHEM_TARGET_CPU)/libpeigs.a
endif

SHELL		= /bin/sh

peigs_OBJDIR	 = $(peigs_DIR)/o
peigs_HDIR	 = $(peigs_DIR)/h
peigs_CSRC	 = $(peigs_DIR)/src/c
peigs_F77SRC	 = $(peigs_DIR)/src/f77
peigs_COMMDIR	 = $(peigs_DIR)/comm
peigs_FTOC	 = $(peigs_DIR)/ctof
peigs_EXAMPLE_LIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) $(CORE_LIBS) $(EXTRA_LIBS) $(LIBS)

#==================================================
#  Machine specific definitions.
#==================================================
#
# generic definitions from nwchem makefile.h
#
peigs_AR = $(AR) $(ARFLAGS)
peigs_RANLIB = $(RANLIB)
peigs_FC = $(FC) $(FOPTIONS) $(FOPTIMIZE) -I$(peigs_HDIR)
#
# this is needed because -DCRAY-T3E cannot be a macro definition it should be -DCRAY_T3E
#
peigs_TARGET_definition = $(peigs_TARGET)
peigs_CC = $(CC) $(COPTIONS) -I$(peigs_HDIR) -D$(peigs_TARGET_definition) -D$(peigs_CPU)
peigs_LINK = $(FC) $(FOPTIONS) -I$(peigs_HDIR)
peigs_COMM = TCGMSG
peigs_CPP  = $(CPP) -I$(peigs_HDIR) -D$(peigs_CPU) -D$(peigs_COMM) -D$(peigs_TARGET_definition) -P

#ifdef EXPLICITF
peigs_FCONVERT = $(FCONVERT) -I${peigs_HDIR} -D${peigs_CPU} -D${peigs_COMM} -D${peigs_TARGET_definition}
#endif

# The following are customizations for each machine

ifeq ($(peigs_TARGET),CRAY-T3D)
#
# cray t3d at nersc
#
peigs_CPU = ALPHA
#
# 64 bit is single precision
#
peigs_TARGET_definition = CRAY_T3D
peigs_CODEOBJ = SINGLE
peigs_CC +=  -DSTD_DBL -DCRAY_T3D
peigs_NODE = uniproc
peigs_COMM = TCGMSG
peigs_CPP += -P
peigs_FC +=  -D$(peigs_COMM)
endif

ifeq ($(peigs_TARGET),CRAY-T3E) #
# cray t3e at nersc
#
peigs_CPU = ALPHA
#
# 64 bit is single precision
#
peigs_TARGET_definition = CRAY_T3E
peigs_CODEOBJ = SINGLE
peigs_CC +=  -DSTD_DBL -DCRAY_T3D
peigs_NODE = uniproc
peigs_COMM = TCGMSG
peigs_FC += -DCRAY_T3D -DCRAY_T3E -D$(peigs_COMM) -D$(peigs_CPU) -e 0
peigs_FOPT += 
peigs_CPP += -DCRAY_T3E -DCRAY_T3D -P
endif

ifeq ($(peigs_TARGET),DELTA)
peigs_CPU	= i860
#
# Delta machine, compiled on sun3 (intelisc) or delilah
# 
peigs_CODEOBJ = DBLE
peigs_FC += -Mquad -Mr8  -D$(peigs_COMM)
peigs_CC += -Mquad -Mvect
peigs_FOPT =  -O3 -Minline=100
peigs_COPT =  -O3 -Mvect
#
# one has a choice of native ipsc or tcgmsg for message passing
#
# peigs_COMM = iPSC_NATIVE
#
peigs_CPU	= i860
peigs_CPP  += -P
peigs_CTOFLIB =  -l/usr/local/delta/LAPACK -llapack -lf -kmath -lm
endif

ifeq ($(peigs_TARGET),PARAGON)
#
# -Mvect at your own risk
peigs_CPU	= i860
peigs_FOPT	= -O3 -Knoieee -Mquad -Mr8 -Minline=100
peigs_COPT	= -O2 -Knoieee -Mquad -Minline=100
OPTC2	= -O3 -Knoieee -Mquad
peigs_FC +=  -D$(peigs_COMM)
peigs_CC = -DSTD_DBL -DSTD_INT
peigs_LINK += -nx
peigs_CODEOBJ = DBLE
peigs_CPP += -P
endif


ifeq ($(peigs_TARGET),iPSC_860)
#
peigs_CPU = i860
# peigs_COMM = iPSC_NATIVE
peigs_COMM = TCGMSG
peigs_COPT =-O3 -Knoieee -Mquad -Minline=100
peigs_CODEOBJ = DBLE
peigs_FOPT = -O4 -Knoieee -Mquad -Mr8 -Minline=100
peigs_FC += ${peigs_FOPT}  -D$(peigs_COMM)
peigs_CC +=  -DSTD_DBL -DSTD_INT -DIntel
endif

ifeq ($(peigs_TARGET),SUN)
# sun using
# SUN/TCGMSG
peigs_CC += -DSTD_DBL -DSTD_INT
peigs_FC += -Bstatic -O1 -dalign  -D$(peigs_COMM)
peigs_CODEOBJ   = DBLE
peigs_CPU = SPARC
peigs_COMM = TCGMSG
#
#	this is the worst to find for any machine
#	for the SUN we have c calling fortran library
#
peigs_CTOFLIB		=  /msrc/apps/lib/gcc-lib/sparc-sun-sunos4.1.3/2.4.3/libgcc.a -lF77 -lV77 -L/msrc/apps/f771.4/SC1.0
#
endif	

ifeq ($(peigs_TARGET),SOLARIS)
# sun using
#SUN/TCGMSG
peigs_CPU = SPARC
peigs_COMM = TCGMSG
peigs_CODEOBJ = DBLE
peigs_CC += -DSTD_DBL -DSTD_INT -O
ifeq ($(FC),frt)
#Fujitsu
 peigs_FC += -DSTD_INT -DSTD_DBL -D$(peigs_CPU) -Kfast  -D$(peigs_COMM)
else
 peigs_FC += -DSTD_INT -DSTD_DBL -dalign -D$(peigs_CPU) -O4  -D$(peigs_COMM)
endif
peigs_CPP += -DSTD_INT -DSTD_DBL -P
peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg
#
#	this is the worst to find for any machine
#	for the SUN we have c calling fortran library
#
#local to pnnl
peigs_CTOFLIB = /msrc/apps/lib/gcc-lib/sparc-sun-sunos4.1.3/2.4.3/libgcc.a -lF77 -lV77 -L/msrc/apps/f771.4/SC1.0 -llapack -lblas -llapack -lm
#
#replace if you are on a machine with assembly BLAS library
#
endif	
ifeq ($(peigs_TARGET),SOLARIS64)
# sun using
#SUN/TCGMSG
peigs_CPU = SPARC64
peigs_COMM = TCGMSG
peigs_CODEOBJ = DBLE
peigs_CC += -DSTD_DBL -O -D$(peigs_CPU)
ifeq ($(FC),frt)
#Fujitsu
 peigs_FC += -DSTD_DBL -D$(peigs_CPU) -Kfast -KV9 -D$(peigs_COMM)
else
 peigs_FC += -DSTD_DBL -dalign -D$(peigs_CPU) -O4  -D$(peigs_COMM)
endif
peigs_CPP +=  -DSTD_DBL -P
peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg
ifdef USE_INTEGER4
     peigs_CPP += -DSTD_INT
     peigs_CC  += -DSTD_INT
     peigs_FC  += -DSTD_INT
endif
#
#	this is the worst to find for any machine
#	for the SUN we have c calling fortran library
#
#local to pnnl
peigs_CTOFLIB = /msrc/apps/lib/gcc-lib/sparc-sun-sunos4.1.3/2.4.3/libgcc.a -lF77 -lV77 -L/msrc/apps/f771.4/SC1.0 -llapack -lblas -llapack -lm
#
#replace if you are on a machine with assembly BLAS library
#
endif	

ifeq ($(peigs_TARGET),SGI)
#SGI/TCGMSG usually r4000

peigs_CPU = MIPS
peigs_COMM = TCGMSG
peigs_CODEOBJ = DBLE
peigs_CC += -DSTD_DBL -DSTD_INT
peigs_FC += -align64 -DSTD_INT -DSTD_DBL -D$(peigs_COMM) -D$(peigs_CPU)
peigs_CPP += -DSTD_INT -DSTD_DBL -P
peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg
peigs_CTOFLIB = -lftn -lm -lc /usr/lib/crtn.o
endif  

ifeq ($(peigs_TARGET),SGI_N32)
peigs_CPU = MIPS
peigs_COMM = TCGMSG
peigs_CODEOBJ = DBLE
peigs_CC += -DSTD_DBL -DSTD_INT -O3
peigs_FC += -align64  -D$(peigs_COMM) -DSTD_INT -DSTD_DBL -D$(peigs_CPU) -O3
peigs_CPP += -DSTD_INT -DSTD_DBL -D$(peigs_CPU) -P
peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg
peigs_CTOFLIB = -lftn -lm -lc /usr/lib/crtn.o
endif  


ifeq ($(peigs_TARGET),SGITFP)
#SGI/TCGMSG, r10000 cpu 7.x compilers
peigs_CPU = MIPS
peigs_COMM = TCGMSG
peigs_CODEOBJ = DBLE
peigs_CC += -DSTD_DBL -64 -O3
peigs_FC += -align64  -64 -DSTD_DBL  -D$(peigs_COMM) -D$(peigs_CPU) -O3
peigs_CPP += -DSTD_DBL -P
peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg
peigs_CTOFLIB = -lftn -lm -lc /usr/lib/crtn.o
peigs_COMM  = TCGMSG
peigs_CTOFLIB = -lftn -lm -lc /usr/lib/crtn.o
endif

ifeq ($(peigs_TARGET),CONVEX-SPP)
#
# Convex SPP-1200 running SPP-UX 3.2
#
peigs_CODEOBJ = DBLE
peigs_COMM = TCGMSG
peigs_CPU = HPPA
peigs_CC += -DSTD_DBL -DSTD_INT
peigs_FC += -DSTD_DBL -DSTD_INT  -D$(peigs_COMM)
endif

ifeq ($(peigs_TARGET),HPUX)
#
# try for HP running HPUX11.00
#
peigs_CODEOBJ = DBLE
peigs_COMM = TCGMSG
peigs_CPU = HPPA
peigs_CC += -O -DSTD_DBL -DSTD_INT -D$(peigs_CPU)
peigs_FC += -O -DSTD_DBL -DSTD_INT  -D$(peigs_COMM) -D$(peigs_CPU)
endif

ifeq ($(peigs_TARGET),HPUX64)
#
# try for HP running HPUX11.00 64-bit
#
peigs_CODEOBJ = DBLE
peigs_COMM = TCGMSG
peigs_CPU = HPPA
peigs_CC += -O -DSTD_DBL  -D$(peigs_CPU)
peigs_FC += -O -DSTD_DBL  -D$(peigs_COMM) -D$(peigs_CPU)
ifdef USE_INTEGER4
     peigs_CPP += -DSTD_INT
     peigs_CC  += -DSTD_INT
     peigs_FC  += -DSTD_INT
endif
endif

ifeq ($(peigs_TARGET),IBM)
#
# IBM AIX
#
peigs_CODEOBJ = DBLE
peigs_CPU = RS6000
# -qarch=pwr (for peril) com (for any) , pwr2  or ppc
peigs_COMM =TCGMSG
peigs_CC  += -DSTD_INT -DSTD_DBL -DIBM  -DRS6000 -O -qinline
# -O3 -qstrict -qinline -qfloat=rsqrt:fltint -qinline

peigs_FC  += -d -I$(peigs_HDIR) -O3 -qstrict \
-WF,-Iinclude,-DIBM,-DSTD_INT,-DSTD_DBL,-I$(peigs_HDIR),-DRS6000,-D$(peigs_COMM) \
-qfloat=fltint -qinline
ifdef RSQRT
peigs_FC  += -qfloat=rsqrt:fltint
endif

peigs_CPP += -DRS6000 -DSTD_INT -DSTD_DBL -DIBM -I$(peigs_HDIR) -P
peigs_BLASLIB   = -lblas
peigs_LAPACKLIB = -llapack
peigs_PEIGSLIB  = -lpeigs
endif
ifeq ($(peigs_TARGET),IBM64)
#
# IBM AIX
#
peigs_CODEOBJ = DBLE
peigs_CPU = RS600064
peigs_COMM =TCGMSG
peigs_CC  += -D$(peigs_CPU) -DSTD_DBL -DIBM  -O -qinline -qmaxmem=8192
peigs_FC  += -d -I$(peigs_HDIR) -O3 -qstrict \
-qfloat=fltint -qinline
ifdef RSQRT
peigs_FC  += -qfloat=rsqrt:fltint
endif
peigs_CPP +=   -DSTD_DBL  -DIBM -I$(peigs_HDIR) -P
  ifdef USE_INTEGER4
     peigs_CPP += -DSTD_INT
     peigs_CC  += -DSTD_INT
     peigs_FC  += -WF,-Iinclude,-DIBM,-DSTD_DBL,-DSTD_INT,-I$(peigs_HDIR),-D$(peigs_CPU),-D$(peigs_COMM) 
  else
     peigs_FC  += -WF,-Iinclude,-DIBM,-DSTD_DBL,-I$(peigs_HDIR),-D$(peigs_CPU),-D$(peigs_COMM) 
  endif

peigs_BLASLIB   = -lblas
peigs_LAPACKLIB = -llapack
peigs_PEIGSLIB  = -lpeigs
endif

ifeq ($(peigs_TARGET),KSR8)
#
# real*8 and integer*8 VERSION FOR KSR
# using the crummy optimized ksrlapk.a ksrblas.a
#
# -xfpu3 generate suspect answers for choleski
#
# KSR/TCGMSG
	peigs_CC += -DSTD_DBL -DKSR8
	peigs_CODEOBJ = DBLE
	peigs_CPP += -P
	peigs_CPU =KSR
	peigs_COMM =TCGMSG
#
# peigs_BLASLIB         = -lksrblas
# peigs_LAPACKLIB       = -lksrlapk
	endif

ifeq ($(peigs_TARGET),KSR)
#
# "real*8" version of lapack and blas
# KSR/TCGMSG
#
# -xfpu3 generate suspect answers for choleski
#
	peigs_CODEOBJ	= DBLE
	peigs_CC += -DSTD_DBL -O2
	peigs_COPT = -O2
peigs_FC += -O2 -DSTD_DBL  -D$(peigs_COMM)
	peigs_CPP  += -P
	peigs_CPU  =KSR
	peigs_COMM =TCGMSG
#
#peigs_BLASLIB         = -lblas
#peigs_LAPACKLIB       = -llapack
	endif

	ifeq ($(peigs_TARGET),SP)
## IBM SP-1, sp-2 or cluster of rs6000 wt tcgmsg ( using xlf instead of mpxlf )
	peigs_COMM =TCGMSG
	peigs_CPU = RS6000
	peigs_CODEOBJ=DBLE
	peigs_CC  += -DSTD_INT -DSTD_DBL -DIBM  -DRS6000 -O3 -qstrict \
	-I$(HDIR) -qfloat=rsqrt:fltint 

	peigs_FC  += -I$(peigs_HDIR) -O3 -qstrict \
	-WF,-Iinclude,-DIBM,-DSTD_INT,-DSTD_DBL,-I$(peigs_HDIR),-DRS6000,-D$(peigs_COMM) \
	-qfloat=fltint -qinline -NQ40000 -NT80000
	ifdef RSQRT
	peigs_FC  += -qfloat=rsqrt:fltint
	endif

	peigs_CPP += -DRS6000 -DSTD_INT -DSTD_DBL -DSTD_INT -DSTD_DBL -DIBM -I$(peigs_HDIR) -P

ifeq ($(NWCHEM_TARGET_CPU),P2SC)
	peigs_FC += -qarch=p2sc -qtune=p2sc

# -qcache=type=d:level=1:size=128:line=256:assoc=4:cost=14 \
# -qcache=type=i:level=1:size=32:line=128 \


	peigs_CC += -qarch=p2sc -qtune=p2sc
	endif

ifeq ($(NWCHEM_TARGET_CPU),604)
	peigs_FC += -qarch=604 -qtune=604
	peigs_CC += -qarch=ppc -qtune=604
	endif
	endif


	ifeq ($(peigs_TARGET),LAPI)
## IBM SP-1, sp-2 or cluster of rs6000 wt tcgmsg ( using xlf instead of mpxlf )
	peigs_COMM =TCGMSG
	peigs_CPU = RS6000
	peigs_CODEOBJ=DBLE
	peigs_CC  += -DSTD_INT -DSTD_DBL -DIBM  -DRS6000 -O3 -qstrict \
	-I$(peigs_HDIR) -qfloat=fltint  -qinline

	peigs_FC  += -qthreaded -I$(peigs_HDIR) -O3 -qstrict \
	-WF,-Iinclude,-DIBM,-DSTD_INT,-DSTD_DBL,-I$(peigs_HDIR),-DRS6000,-D$(peigs_COMM) \
	-qfloat=fltint  -NQ40000 -NT80000 -qinline
	ifdef RSQRT
	peigs_FC  += -qfloat=rsqrt:fltint
	endif

	peigs_CPP += -DRS6000 -DSTD_INT -DSTD_DBL -DSTD_INT -DSTD_DBL -DIBM -I$(peigs_HDIR) -P
	peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg
	peigs_BLASLIB = -lesslp2_r
	peigs_LAPACKLIB = -lpeigs -lesslp2_r -llapack -lglobal -lutil

	endif
ifeq ($(peigs_TARGET),LAPI64)
#
# IBM AIX
#
	peigs_CODEOBJ = DBLE
	peigs_CPU = RS600064
	peigs_COMM =TCGMSG
	peigs_CC  += -D$(peigs_CPU) -DSTD_DBL -DIBM  -O -qinline -qmaxmem=8192
	-WF,-Iinclude,-DIBM,-DSTD_DBL,-I$(peigs_HDIR),-D$(peigs_CPU),-D$(peigs_COMM) \
	-qfloat=rsqrt:fltint -qinline
	peigs_CPP +=   -DSTD_DBL -DIBM -I$(peigs_HDIR) -P
	ifdef USE_INTEGER4
	peigs_CPP += -DSTD_INT
	peigs_CC  += -DSTD_INT
peigs_FC  += -WF,-Iinclude,-DIBM,-DSTD_DBL,-DSTD_INT,-I$(peigs_HDIR),-D$(peigs_CPU),-D$(peigs_COMM) 
	else
peigs_FC  += -WF,-Iinclude,-DIBM,-DSTD_DBL,-I$(peigs_HDIR),-D$(peigs_CPU),-D$(peigs_COMM) 
	endif

	peigs_BLASLIB   = -lessl_r
	peigs_LAPACKLIB = -llapack -lessl_r
	endif

ifeq ($(peigs_TARGET),DECOSF)
#alpha with /tcgmsg
	peigs_CPU  = ALPHA
	peigs_COMM = TCGMSG
	peigs_CPP = $(CPP) -D${CPU} -DSTD_DBL -P -DDECOSF
	peigs_CODEOBJ = DBLE
	peigs_CC  += -D${peigs_CPU}  -DSTD_DBL -O3 -DDECOSF -tune host -arch host
	peigs_FC += -O4  -DSTD_DBL -D_fastmath -O3 -D$(peigs_COMM) -DDECOSF -tune host -arch host
	ifdef USE_INTEGER4
	peigs_CPP += -DSTD_INT
	peigs_CC  += -DSTD_INT
	peigs_FC  += -DSTD_INT
	endif
	endif

ifeq ($(peigs_TARGET),MACX)
#MACOSX
ifeq ($(_CPU),i486)
	peigs_CPU  = PENTIUM
        peigs_COMM = TCGMSG
        peigs_CODEOBJ = DBLE
        peigs_CC += -DSTD_DBL -DSTD_INT
        peigs_FC += -D$(peigs_CPU) -DSTD_DBL -DSTD_INT -D$(peigs_COMM)
else
	peigs_CPU  = RS6000
	peigs_COMM = TCGMSG
	peigs_CODEOBJ = DBLE
	peigs_CC += -DSTD_DBL -DSTD_INT
peigs_FC += -D$(peigs_CPU) -DSTD_DBL -DSTD_INT -D$(peigs_COMM)
	peigs_CPP += -DSTD_INT -DSTD_DBL -P
#peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg
	peigs_CPP = /usr/bin/cpp -I${peigs_HDIR} -D${peigs_CPU} -D${peigs_COMM} \
	-D${peigs_TARGET_definition}
ifeq ($(FC),xlf)
	peigs_FC  = $(FC) -O3 -g -qextname -qstrict   -I$(peigs_HDIR)  \
-WF,-Iinclude,-DIBM,-DSTD_DBL,-DSTD_INT,-I$(peigs_HDIR),-DRS6000,-D$(peigs_COMM) 
	endif
endif
	endif
ifeq ($(peigs_TARGET),MACX64)
#MACOSX Snow Leopard
	peigs_CPU  = PENTIUM
        peigs_COMM = TCGMSG
        peigs_CODEOBJ = DBLE
        peigs_CC += -DSTD_DBL #-DSTD_INT
        peigs_FC += -D$(peigs_CPU) -DSTD_DBL  -D$(peigs_COMM)
endif

ifeq ($(peigs_TARGET),$(findstring $(peigs_TARGET),LINUX64 CATAMOUNT))
#alpha with /tcgmsg
_CPU = $(shell uname -m  )
	peigs_COMM = TCGMSG
	peigs_CODEOBJ = DBLE
	peigs_CPP = $(CPP) -D${CPU} -DSTD_DBL 
	ifdef USE_INTEGER4
	peigs_CPP += -DSTD_INT
	peigs_CC  += -DSTD_INT
	peigs_FC  += -DSTD_INT
	endif
	peigs_CC  += -DSTD_DBL 
	peigs_FC +=  -DSTD_DBL    -D$(peigs_COMM)  -D$(peigs_CPU)
ifeq ($(_CPU),alpha)
	peigs_CPU  = ALPHA
ifeq ($(CC),gcc)
	peigs_CC  += -O3  -mcpu=ev56
	else
	peigs_CC  += -O2  -fast -tune host -arch host 
	endif
	peigs_FC +=  -O1 -DLINUX64 -DLINUX -tune host -arch host
	endif

ifeq ($(_CPU),ia64)
#ia64 with /tcgmsg
	peigs_CPU  = PENTIUM
ifeq ($(FC),efc)
	peigs_FC  +=  -O3  -tpp2 -ftz 
	endif
ifeq ($(CC),ecc)
	peigs_CC  +=  -O3  -mp1 -ftz -hlo -unroll
	endif
	endif

ifeq ($(_CPU),x86_64)
#ia64 with /tcgmsg
	peigs_CPU  = PENTIUM
ifeq ($(FC),pgf90)
	peigs_FC  +=  -Kieee
	endif
	endif
ifeq ($(_CPU),ppc64)
#ppc64 with /tcgmsg
	peigs_CPU = RS6000
ifeq ($(FC),xlf)
	peigs_FC  = xlf -O3 -qstrict -qextname -q64 -I$(peigs_HDIR)
	peigs_FC += -WF,-Iinclude,-DIBM,-DSTD_DBL,-I$(peigs_HDIR),-DRS6000,-D$(peigs_COMM)
	peigs_FC += -qtune=auto -qarch=auto -qcache=auto 
	peigs_FC += -qnosave -qfloat=fltint
	ifdef USE_GPROF
	  peigs_FC += -pg
	endif
	peigs_CC += -DIBM -DSTD_DBL -I$(peigs_HDIR) -DRS6000 -D$(peigs_COMM)

        ifdef USE_INTEGER4
             peigs_CPP += -DSTD_INT
             peigs_CC += -DSTD_INT
             peigs_FC += -WF,-DSTD_INT -qintsize=4
        else
             peigs_FC += -qintsize=8
        endif
    endif
  endif

endif#end of LINUX64

ifeq ($(peigs_TARGET),cray-sv2)
peigs_COMM = TCGMSG
peigs_CPP = $(CPP) -DSTD_DBL 
peigs_CODEOBJ = DBLE
peigs_CC = $(CC) $(COPTIONS) -I$(peigs_HDIR) 
peigs_CC  +=  -DSTD_DBL -O
peigs_FC +=     -DSTD_DBL  -D$(peigs_COMM)  -Ovector2
  ifdef USE_INTEGER4
     peigs_CPP += -DSTD_INT
     peigs_CC  += -DSTD_INT
     peigs_FC  += -DSTD_INT
  endif
endif

ifeq ($(peigs_TARGET),$(findstring $(peigs_TARGET),LINUX INTERIX CYGWIN CYGNUS))
#
# Linux running on an x86 using f77 on f2c
#
peigs_COMM = TCGMSG
peigs_CODEOBJ = DBLE
peigs_CPU = PENTIUM

ifeq ($(peigs_TARGET), CYGNUS CYGWIN)
peigs_CC += -DLINUX
endif
peigs_CC += -DSTD_DBL -DSTD_INT
ifeq ($(CC),gcc)
	peigs_CC  +=  -O2  -g
endif
ifeq ($(CC),icc)
	peigs_CC  +=  -O3  -xW -hlo -unroll
endif
peigs_FC += -D$(peigs_CPU) -DSTD_DBL -DSTD_INT -D$(peigs_COMM)
peigs_CPP += -DSTD_INT -DSTD_DBL -P
peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg
#
# on the hpcc? laptops add /usr/lib/gcc-lib/i486-linux/2.7.0 to your path
# or make link from /usr/bin
#
# temporary slackware hack until george gets cpp/fconvert in the builds
#
peigs_CPP = /usr/bin/cpp -I${peigs_HDIR} -D${peigs_CPU} -D${peigs_COMM} \
-D${peigs_TARGET_definition}
    ifeq ($(FC),xlf)
      peigs_CPU = RS6000
      peigs_FC  = $(FC) -O3 -g -qextname -qstrict   -I$(peigs_HDIR)  \
      -WF,-Iinclude,-DIBM,-DSTD_DBL,-DSTD_INT,-I$(peigs_HDIR),-DRS6000,-D$(peigs_COMM) 
    endif
     ifeq ($(FC),blrts_xlf)
       peigs_CPU = RS6000
       peigs_FC  = $(FC) -O3 -g -qextname -qstrict   -I$(peigs_HDIR)  \
       -WF,-Iinclude,-DIBM,-DSTD_DBL,-DSTD_INT,-I$(peigs_HDIR),-DRS6000,-D$(peigs_COMM)
     endif
endif

ifeq ($(peigs_TARGET),PGLINUX)
#
# Linux running on an x86 using pgf77 and gcc
#
peigs_COMM = TCGMSG
peigs_CODEOBJ = DBLE
peigs_CPU = PENTIUM
peigs_CC += -DSTD_DBL -DSTD_INT
peigs_FC += -D$(peigs_CPU) -DSTD_DBL -DSTD_INT -D$(peigs_COMM)
peigs_CPP += -DSTD_INT -DSTD_DBL -P
peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg
peigs_CPP = /usr/bin/cpp -I${peigs_HDIR} -D${peigs_CPU} -D${peigs_COMM} \
-D${peigs_TARGET_definition}
endif

ifeq ($(peigs_TARGET),FUJITSU_VPP)
peigs_CODEOBJ = DBLE
peigs_CPU = VPP
endif

ifeq ($(peigs_TARGET),FUJITSU_VPP64)
peigs_CODEOBJ = DBLE
peigs_CPU = VPP
endif

ifeq ($(peigs_TARGET),BGL)
#bluegene
     peigs_COMM =TCGMSG
     peigs_CPU = RS6000
     peigs_CODEOBJ=DBLE
     peigs_CC += -DSTD_INT -DSTD_DBL -g -O3
     peigs_FC += -WF,-Iinclude,-DSTD_DBL,-DSTD_INT,-DRS6000,-D$(peigs_COMM)
     peigs_CPP += -DBGL -DRS6000 -DSTD_INT -DSTD_DBL -I$(peigs_HDIR) -P
     peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg
     peigs_BLASLIB   = -lesslbg
     peigs_LAPACKLIB = -llapack -lesslbg
endif

ifeq ($(peigs_TARGET),BGP)
#bluegene/p
     peigs_COMM =TCGMSG
     peigs_CPU = RS6000
     peigs_CODEOBJ=DBLE
     peigs_CC += -DSTD_INT -DSTD_DBL -g -O3 -qstrict -qarch=450d -qtune=450
     peigs_FC += -WF,-Iinclude,-DTCGMSG,-DSTD_DBL,-DSTD_INT,-DRS6000,-D$(peigs_COMM)
     peigs_CPP += -DDCMF -DMPI -DBGP -DRS6000 -DSTD_INT -DSTD_DBL -I$(peigs_HDIR) -P
     peigs_COMMLIB = -L$(TOPDIR)/lib/$(NWCHEM_TARGET) -ltcgmsg
     peigs_BLASLIB   = -lesslbg
     peigs_LAPACKLIB = -llapack -lesslbg
     #peigs_AR = powerpc-bgp-linux-ar -r
     #peigs_RANLIB = powerpc-bgp-linux-ranlib
endif



export peigs_COMM
export peigs_CC
export peigs_FC
export peigs_CODEOBJ
export peigs_FCONVERT
export peigs_TARGET
export peigs_NODE
export peigs_COMM
export peigs_CPP

