##
# This file should modify the following variables
# as appropriate:
#   - CXXFLAGS
#   - GTEST_CXXFLAGS
#   - OPT
#   - EXE
#
# Additionally, set the following variables to build
# demo/lang using the Microsoft Visual Studio compiler.
#   - CC_STANC
#   - CFLAGS_STANC
#   - OUTPUT_OPTION_STANC
##

EXE = .exe
O_STANC = 3
GTEST_CXXFLAGS += -DGTEST_HAS_PTHREAD=0
PATH_SEPARATOR = '\'
## Detecting Process Bitness:
## http://blogs.msdn.com/b/david.wang/archive/2006/03/26/howto-detect-process-bitness.aspx
ifeq ($(PROCESSOR_ARCHITECTURE)$(PROCESSOR_ARCHITEW6432),x86)
  BIT?=32
else
  BIT?=64
endif
ifeq (gcc,$(CC_TYPE))
  CXXFLAGS += -m$(BIT)
  CXXFLAGS += -Wno-unused-but-set-variable
  LDLIBS += -static-libgcc
  LDLIBS += -static-libstdc++
  ifdef STAN_OPENCL
    LDFLAGS += -lOpenCL
  endif
endif
ifeq (mingw32-gcc,$(CC_TYPE))
  LDLIBS += -static-libgcc
#  LDLIBS += -static-libstdc++
  ifdef STAN_OPENCL
    LDFLAGS += -lOpenCL
  endif
endif

ifdef STAN_OPENCL
  LDFLAGS_OPENCL ?= -lOpenCL
  OPENCL_DEVICE_ID ?= 0
  OPENCL_PLATFORM_ID ?= 0
endif

ifdef STAN_MPI
  $(error MPI is not supported on Windows.)
endif
