# $Id: variables,v 1.3 2001/08/22 17:58:22 balay Exp $ 
#
# Regular petsc-makefile variables
#
WIN32FE          = ${PETSC_DIR}/bin/win32fe/win32fe.exe
AR               = ${WIN32FE} lib
AR_FLAGS         = 
LIB_SUFFIX       = lib
RM               = rm -f
OMAKE            = make --no-print-directory
RANLIB           = true
SHELL            = /bin/sh
SED              = sed
MKDIR            = mkdir -p
DIFF             = diff -w
INSTALL_DIR      = ${PETSC_DIR}
# ######################### C and Fortran compiler ########################
#
C_CC             = ${WIN32FE} cl
ifeq (${BLASLAPACK_TYPE},FBLASLAPACK)
C_FC           = ${WIN32FE} f90  -fpp:-m -iface:'(cref,nomixed_str_len_arg)'
else
C_FC             = ${WIN32FE} f90 -fpp:-m
endif
C_CLINKER_SLFLAG = -L
C_FLINKER_SLFLAG = -L
C_CLINKER        = ${WIN32FE} cl
C_FLINKER        = ${WIN32FE} f90
C_CCV            = ${WIN32FE} cl --version
C_FCV            = ${WIN32FE} f90 --version
C_SYS_LIB        =  kernel32.lib user32.lib  gdi32.lib advapi32.lib
# ---------------------------- BOPT=g options ----------------------------
G_COPTFLAGS      = -Z7 -W2
G_FOPTFLAGS      = -dbglibs -debug:full
# ----------------------------- BOPT=O options -----------------------------
O_COPTFLAGS      = -O2 -W2
O_FOPTFLAGS      = -optimize:5 -fast
# ########################## C++ compiler ##################################
#
CXX_CC           = ${WIN32FE} cl -TP -GX -GR
CXX_FC           = ${WIN32FE} f90 -fpp:-m
CXX_CLINKER_SLFLAG = -L
CXX_FLINKER_SLFLAG = -L
CXX_CLINKER      = ${WIN32FE} cl
CXX_FLINKER      = ${WIN32FE} f90
CXX_CCV          = ${WIN32FE} cl --version
CXX_FCV          = ${WIN32FE} f90 --version
CXX_SYS_LIB      = kernel32.lib user32.lib  gdi32.lib advapi32.lib
# ------------------------- BOPT=g_c++ options ------------------------------
GCXX_COPTFLAGS   = -Z7 -W2
GCXX_FOPTFLAGS   = -dbglibs -debug:full
# ------------------------- BOPT=O_c++ options ------------------------------
OCXX_COPTFLAGS   = -O2 -W2
OCXX_FOPTFLAGS   = -optimize:5 -fast
# -------------------------- BOPT=g_complex options ------------------------
GCOMP_COPTFLAGS  = -Z7 -W2 -Zm200
GCOMP_FOPTFLAGS  = -dbglibs -debug:full
# --------------------------- BOPT=O_complex options -------------------------
OCOMP_COPTFLAGS  = -O2 -W2 -Zm200
OCOMP_FOPTFLAGS  = -optimize:4
############################ PETSc install options ###########################
G_PETSCFLAGS     = -DPETSC_USE_DEBUG  -DPETSC_USE_LOG -DPETSC_USE_BOPT_g -DPETSC_USE_STACK
O_PETSCFLAGS     = -DPETSC_USE_DEBUG  -DPETSC_USE_BOPT_O -DPETSC_USE_LOG
GCXX_PETSCFLAGS  = -DPETSC_USE_DEBUG  -DPETSC_USE_LOG -DPETSC_USE_BOPT_g -DPETSC_USE_STACK
OCXX_PETSCFLAGS  = -DPETSC_USE_DEBUG  -DPETSC_USE_BOPT_O -DPETSC_USE_LOG
GCOMP_PETSCFLAGS = -DPETSC_USE_DEBUG  -DPETSC_USE_LOG -DPETSC_USE_BOPT_g \
	           -DPETSC_USE_STACK -DPETSC_USE_COMPLEX
OCOMP_PETSCFLAGS = -DPETSC_USE_DEBUG -DPETSC_USE_BOPT_O -DPETSC_USE_LOG -DPETSC_USE_COMPLEX 
##################################################################################
#
#   PETSc installers should very rarely ever need to edit anything below this 
#
##################################################################################

PARCH    = nt
LOCDIR   =

################################################################
# Notes:
#	MDd Multithread-DLL-debug (libraries)
#       MTd Multi-Thread-debug
#	MD  MultiThread-DLL
#	
#	/Z7 Debug
#	W2  Warnings at level 2
#	/Gz __stdcall calling convention. Required by the fortran interface
#	/Zl no default libs. useful for blaslapack..

# BOPT=O -> Multithread, DLL, Optimized.
# /fast - not used for f90 as it might change the way arithmetic is done
# giving incorrect results.
