Fixed some more BOOST_CHECK_CLOSE misuse
[libdai.git] / Makefile.WINDOWS
index 90a371e..a18001d 100644 (file)
@@ -1,10 +1,8 @@
 # This file is part of libDAI - http://www.libdai.org/
 #
-# libDAI is licensed under the terms of the GNU General Public License version
-# 2, or (at your option) any later version. libDAI is distributed without any
-# warranty. See the file COPYING for more details.
+# Copyright (c) 2006-2011, The libDAI authors. All rights reserved.
 #
-# Copyright (C) 2009-2010  Joris Mooij  [joris dot mooij at libdai dot org]
+# Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
 
 
 # This template contains configurations for compiling libDAI with Visual C++
@@ -26,7 +24,12 @@ OE=.obj
 # Binary executable
 EE=.exe
 # MatLab compiled MEX file
-ME=.mexglx
+ME=.mexw32
+
+# DIRECTORIES
+# Directories where third party libraries are located
+BOOSTDIR=E:\windows\boost_1_51_0
+MPIRDIR=E:\windows\mpir_251
 
 # COMPILER
 # Compile using Visual C++ Compiler
@@ -34,31 +37,42 @@ CC=cl
 # Output filename option of the compiler
 CCO=/Fe
 # Flags for the C++ compiler
-CCFLAGS=/EHsc -DWINDOWS -DNOMINMAX
+CCFLAGS=/EHac /GR /W3 /DWINDOWS /DNOMINMAX /MD
+# For MatLab R2008b, the following flag seems to be necessary: /D_SECURE_SCL=0
+# but it generates exceptions in normal executables... therefore, the MatLab 
+# interface is now built from source completely using mex
 # Flags to add in debugging mode (if DEBUG=true)
-CCDEBUGFLAGS=/Ox /Zi -DDAI_DEBUG
+CCDEBUGFLAGS=/Ox /Zi /DDAI_DEBUG
 # Flags to add in non-debugging mode (if DEBUG=false)
 CCNODEBUGFLAGS=/Ox
 # Standard include directories
-CCINC=/Iinclude /IE:\boost_1_42_0
+CCINC=-Iinclude -I$(BOOSTDIR) -I$(MPIRDIR)
 
 # LINKER
 # Standard libraries to include
 LIBS=/link $(LIB)/libdai$(LE)
 # For linking with BOOST libraries
-BOOSTLIBS_PO=/LIBPATH:E:\boost_1_42_0\stage\lib
-BOOSTLIBS_UTF=/LIBPATH:E:\boost_1_42_0\stage\lib
+BOOSTLIBS_PO=/LIBPATH:$(BOOSTDIR)\stage\lib
+BOOSTLIBS_UTF=/LIBPATH:$(BOOSTDIR)\stage\lib
 # Additional library search paths for linker
 # (For some reason, we have to add the VC library path, although it is in the environment)
-CCLIB=/LIBPATH:"C:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB" /LIBPATH:"C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB" /LIBPATH:"C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib"
+CCLIB=/LIBPATH:"C:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB" /LIBPATH:"C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB" /LIBPATH:"C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib" /LIBPATH:"$(MPIRDIR)" mpirxx.lib mpir.lib
 
 # MATLAB
+# MatLab version 7.3 (R2006b) or newer?
+NEW_MATLAB=true
 # Replace the following by the directory where MatLab has been installed
-MATLABDIR=c:\matlab
+MATLABDIR=c:\matlab\R2008b
 # The following should resolve to the MatLab mex compile command
 MEX=$(MATLABDIR)\bin\mex
-# Specify the same C++ compiler and flags to mex
-MEXFLAGS:=CXX\#$(CC) CXXFLAGS\#'$(CCFLAGS)'
+# Flags for MEX
+MEXFLAGS:=-DWINDOWS -DNOMINMAX
+# Standard include directories for MEX
+MEXINC:=$(CCINC)
+# Standard libraries to include
+MEXLIBS:=-lmpirxx -lmpir
+# Additional library search paths for MEX
+MEXLIB:=-L"$(BOOSTDIR)\stage\lib" -L"C:\Program Files\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB" -L"C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB" -L"C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib" -L"$(MPIRDIR)"
 
 # SWIG PYTHON INTERFACE
 # The following should resolve to the SWIG command
@@ -66,4 +80,12 @@ SWIG=swig
 # Location of Python header files
 INCLUDE_PYTHON=C:\python2.5
 # Location of Boost C++ library header files
-INCLUDE_BOOST=E:\boost_1_42_0
+INCLUDE_BOOST=$(BOOSTDIR)
+
+# CIMG
+# CImg version 1.3.0 or newer?
+NEW_CIMG=true
+# Include directory for image segmentation example
+CIMGINC=-IE:\windows\CImg-1.3.9
+# Libraries for image segmentation example
+CIMGLIBS=gdi32.lib user32.lib shell32.lib